1.합의 계층
실제 이더리움 네트워크에
연결되어 있는 모든 노드는 블록체인을 로컬 컴퓨터에 복제하고 이를 다른 노드들과 공유한다.
그렇기 떄문에 나온
Consensus Algorism
PoW
작업 증명
트랜잭션을 승인하고 블록을 생성할 때 어려운 계산 문제를
수행하게 함으로 써 악의적으로 블록을 위변조하고 블록체인을 임의로 조작하는 것을 막을 수 있다.
블록을 생성하는 일련의 과정을 마이닝(mining, 채굴)이라고 하고,
이러한 역할을 하는 노드를 마이너(miner, 채굴자)
블록생성시간을 조절하는 방법
N+1블록 등록을 위해N번째 블록 헤더의 해시값과 트랜잭션 머클 트리의 루트, 임의의 값 을 갖는 넌스를 함께 암호 해시한다.
목푯값(Target Threshold)보다 작거나 같은 값이 나오는 암호 해시 결괏값을 만드는 넌스값을 찾을 때까지 넌스값을 변경하면서 계산한다
넌스값은 임의의 값을 지정하여 사용하는데,
일반적으로 가장 적은 수부터 순차적으로 넌스값을 반복 입력하여 해당 목푯값을 찾는
무작위 대입(Brute- Force 일일이 하나씩 대입해보는 방법) 방식을 사용한다.
브루트 포스
거의 완벽하게 병렬 작업이 가능하다는 점이다.
이 때문에 병렬 프로그래밍 기법을 사용하거나
,GPGPU를 이용하기도 하며, 여러 대의 컴퓨터를
연결해서 동시에 작업할 수도 있다.
이렇게 하면 투자 자원에 비례해서 문제를 해결하는 시간을 줄일 수 있다.
즉, 컴퓨터를 10대 쓰면 10일 걸릴 작업을 1일 만에 끝낼 수 있다는 이야기
~91p
'블록체인 > 코어 이더리움' 카테고리의 다른 글
코어 이더리움 9 [ 컴퓨팅파워가 높은 컴퓨터들의 독점을 막기위한 방법들중..] (0) | 2022.05.23 |
---|---|
코어이더리움8[블록전파와 포크] (0) | 2022.05.20 |
[코어 이더리움 6]가스비,전자서명,트랜잭션 처리과정 (0) | 2022.05.19 |
[코어 이더리움5]머클 상태 전이증명 (0) | 2022.05.13 |
[코어 이더리움4] 머클트리, 패트리샤 트리 (0) | 2022.05.12 |