프로그래밍/블록체인

[해석서]Bitcoin: A Peer-to-Peer Electronic Cash System - 5. 네트워크

산을좋아한라쯔 2018. 3. 30. 12:35
반응형

이번 장은 거래들이 발생해서, 각 노드들로 구성된 블록체인 네트워크에 전달되서, 어떻게 블록이 생성되는 지에 대한 설명입니다.

논문 본문을 보겠습니다.

 

5. 네트워크

네트워크의 동작은 다음과 같은 과정으로 이루어진다:

1) 새로운 거래들은 모든 노드에 브로드캐스트된다.

2) 각 노드는 새로운 거래들을 모아 블록에 넣는다.

3) 각 노드는 해당 블록에 대한 작업증명을 찾는 과정을 수행한다.

4) 어떤 노드가 작업증명을 찾았다면, 해당 블록을 모든 노드에게 브로드캐스트한다.

5) 노드들은, 브로드캐스트 받은 블록에 대해서, 블록 내 모든 거래가 유효하고 중복 사용되지 않았을 때, 해당 블록을 승인한다.

6) 노드들은, 그들이 해당 블록을 승인했다는 것을, 해당 블록의 해시를 이용해서 그다음 블록생성을 시작함으로써 암묵적으로 나타낸다.

 

노드들은 항상 최장길이 체인을 옳은 것으로 간주하며, 그 체인을 대상으로 확장하는 작업을 수행한다. 만약 두 개의 노드가, 다음 블록(next block)에 대해서 서로 다른 버전을 동시에 전파한 경우, 노드들은 둘 중 하나를 먼저 받을 것이다. 이 경우, 먼저 받은 블록을 기준으로 작업을 수행하지만, 다른 갈래의 체인이 더 길어질 경우를 대비하여 다른 갈래도 저장해 둔다. 이후에 체인의 어느 한쪽 갈래가 더 길게 되는 작업증명이 발견되면 두 갈래의 체인은 더는 동등하지 않게 되고, 짧은 쪽 갈래를 기준으로 작업하던 노드들은 더 긴 다른 갈래로 작업을 전환한다.

새로운 거래에 대한 브로드캐스트가, 반드시 모든 노드에게 이루어질 필요는 없다. 가능한 많은 노드들에게 전파되기만 하면, 그 거래들은 머지않아 블록 안에 포함될 것이다. 블록 브로드캐스트 또한 누락 메시지에 대한 내성이 있다. 만약 한 노드가 특정 블록을 못 받았다 하더라고, 그다음 블록을 받았을 때 블록 누락을 인식해서 누락 블록을 요청해서 받는다.

 

-계속-

 

[전체 목차]

1. 서론  
2. 거래(1/2)  
2. 거래 (2/2)
3. 타임스탬프 서버 
4. 작업 증명 
5. 네트워크 
6. 인센티브 
7. 디스크공간 회수 
8. 지불 입증 간소화 
9. 금액의 결합과 분할 
반응형