2016년 12월 2일 금요일

Satoshi Nakamoto의 비트코인 논문 번역 및 주석(Bitcoin: A Peer-to-Peer Electronic Cash System) - 5. 네트워크

지금부터 사토시 나카모토의 논문을 번역하고 나름대로 어려운 부분에 대해서는 해설을 붙여보도록 하겠다. 나의 이 노력이 Bitcoin 에 대해 알고싶어 하는 사람들에게 도움이 되었으면 좋겠다.

(*밑줄 표시가 되어있는 단어에 마우스를 대면 해당 용어의 설명 혹은 이해를 위한 주석이 나타납니다.)
(**아래 번역된 논문은, 번역을 자연스럽게 하기 위해 의역한 부분이 많으며, 주석은 이해를 쉽게 하기 위해 덧붙인 100% 제 의견입니다.)

<목차>
9. 값의 결합과 분리 (작성중)
10. 개인정보 (작성중)
11. 계산 (작성중)
12. 결론 및 참고문헌(작성중)

-----------------------------------------------------------------

비트코인: P2P 전자화폐 시스템

Satoshi Nakamoto
satoshin@gmx.com
www.bitcoin.org

5. 네트워크

  네트워크를 작동시키기 위한 단계는 아래와 같다.
  1. 새로운 트랜잭션들은 모든 노드들에게 전달된다.
  2. 각 노드는 새로운 트랜잭션들을 블록에 모은다.
  3. 각 노드들은 블록을 생성하기 위해 작업증명 작업을 수행한다.
  4. 한 노드가 작업증명에 대한 해답을 찾으면, 그 블록은 모든 노드들에게 전달된다.
  5. 노드들은 작업증명이 끝난 블록의 트랜잭션 정보가 모두 유효하고, 중복사용되지 않았다면, 블록을 받아들인다.
  6. 노드들은 이렇게 받아들인 블록을 체인에 연결하고 그 다음 블록을 생성하는 작업으로 이행함으로써, 정상적으로 블록을 받아들였음을 암묵적으로 표현한다.
  노드들은 항상 가장 긴 체인을 올바른 체인으로 생각하고, 그 가장 긴 체인을 확장하기 위해 작업한다. 만약 두 노드가 동시에 작업증명의 해답을 찾아서, 그 두 블록을 다른 모든 노드들에게 전달했다면, 노드들은 둘 중에 한 블록을 먼저 받게되고, 각 노드의 먼저 받게 되는 블록이 서로 다르게 될 것이다. 이러한 경우 노드는 먼저 받은 노드를 가장 긴 체인으로 받아들여 작업하고, 다른 블록은 그 쪽이 더 길어질 경우를 대비하여 보관해 놓는다. 이렇게 두 갈래로 갈라진 체인은, 다음 작업증명 해답이 발견되면서 한 쪽 가지의 길이가 더 길어지게 된다. 그렇게 되면 다른 쪽 노드에서 작업하고 있던 노드들은 자신의 작업하려는 체인을 더 긴 체인쪽으로 변경한다.
  새로운 트랜잭션은 반드시 모든 노드에 전달 될 필요는 없다. 새로운 트랜잭션은 보다 많은 노드에 전달되는 한, 길어지기 전에 블록에 들어가게 될 것이다. 즉, 이러한 블록 전달 방식은 메세지 손실에도 강하다는 것을 알 수 있다. 만약 노드가 블록을 전달 받지 못하면, 다음 블록을 받았을 때, 해당 노드는 이전의 블록이 손실 됬음을 알 수 있고, 받지 못한 블록을 요청할 것이다.


-----------------------------------------------------------------

<목차>
9. 값의 결합과 분리 (작성중)
10. 개인정보 (작성중)
11. 계산 (작성중)
12. 결론 및 참고문헌(작성중)