- Published on
Bitcoin) 비트코인 백본 프로토콜, 분석과 애플리케이션
- Author
- Name
- yceffort
비트코인 백본 프로토콜
비트코인은 분산 환경에서 공공원장 시스템을 유지 하기 위한 탈중앙화 시스템으로 나카시 사카모토에 의해 처음 소개 되었다. 원장은 miner라고 불리우는 익명의 참여자들에 의해 유지되는데, 이들은 블록체인이라고 불리우는 분산 데이터 구조에서의 프로토콜을 실행하는 일을 담당하고 있다. 이 프로토콜은 Miner들로 하여금 'Proof-of-work (aka 암호화된 퍼즐)'을 하게 만드는데, 이 작업은 블록체인에서 새로운 블록을 만들기 위해 SHA-256으로 암호화된 해쉬의 원본 값을 brute-forcing방법을 통해 무작위로 찾아내는 과정이다. 블록은 비트코인 소유자들로 부터 만들어진 일련의 거래내역을 포함하고 있으며, 비트 코인으로 지불을 수락하는 임의의 엔티티를 신용하는 트랜잭션을 발행한다. 지불한사람은 이 거래내역을 브로드 캐스팅하고, Miner는 그들이 발행하는 블록에 이러한 거래내역을 포함시킨다. Miner들은 이렇게 블록체인을 유지시키는 대가로 비트코인을 받게 된다.
비트코인의 가장 중요한 부분은 이중 지불 공격을 막는 것이다. 비트코인의 맥락에서는, 공격자가 최초에 account를 신용하여 account holder에게 상품이나 서비스를 제공받은 다음, 거래원장을 재구성하여 이러한 신용거래를 되돌릴때 이중지불 공격이 가능해진다. 이 경우, 공격자는 서비스를 받을 때까지 비트코인을 소유하게 되므로 다른 곳에다 이 비트코인을 다시 쓸 수 있게 된다.
이를 방지하기위하여, 사토시는 비트코인 시스템에 이중지불공격을 막을 수 있는 방법을 제시하였다. 특히, 수신자 (돈을 받는 사람)가 해당 거래이 포함된 불록이 k개 생성될때 까지 기다린다면, 공격자가 이러한 신용거래가 포함된 다른 블록체인을 만들어 퍼블릭 블록체인을 재구성하는 것이 성공할 확률이 k만큼 기하 급수적으로 떨어진다고 하였다. Nakamoto는 이렇게 k 블록 만큼 기다리는 것이 공격자가 정직한 참여자를 따라잡을 수 있는 확률을 희석시키는데 충분하다고 주장하였다.
그럼에도 불구하고, 이러한 분석은 과하게 생략된 경향이 있다. 특히, 비트코인의 탈중화된 설정이, 공격자가 정직한 Miner들 사이에 불일치를 삽입하여 그들의 hashing power를 감소시킬수도 있다는 사실에 대해 충분히 설명하지 않았다. (올바르지 않은 거래를 삽입하여, miner들이 이러한 거래를 블록으로 만드는데 자원을 낭비하게 할 수 있다는 뜻) 그러나 Bitcoin 시스템의 정확한 보안 특성을 확립하는 철저한 분석은 아직 까지 연구되지 않았다.
이 논문에서는 , 비트코인 백본이라고 불리우는, 공공 거래 원장 관련 문제를 해결하는 것 뿐 만 아니라 다재다능하고 확장가능한 프로토콜을 설명하고 있다. 비트코인백본은 블록체인을 만들기 위해 비트코인 소스 코드 기반을로 실행되며, 일련의 참여자들이 분산화된 환경에서 블록체인을 유지할 수 있게 끔 해준다. 이 프로토콜은 content validation predicate
, input contribution function
, chain reading function
이라고 하는 함수로 구성되어 있다.
- (V) Content Validation predicate: 블록체인 내에서 정보가 적절한 구조로 저장될 수 있게 하는 역할
- (I) Input Contribution Function: 블록의 내용이 어떻게 구성되어 있는지
- (R) Chain Reading Function: 블록체인이 애플리케이션 단에서 어떻게 보여지는지
참여자들은 서로의 신원을 인증하지 않으므로 메시지의 원출처를 알수가 없다. 대신 참여자들이 상대방에게 전달된 메시지의 원본주소를 "spoof (도용?)"하게 함으로써 메시지가 어디서 부터 배달된지 알 수 있게 해준다. 결국 이러한 메시지가 전달되어 네트워크 내에 모든 당사자들이 이러한 "라운드" 과정에서 동기화 될 수 있다고 가정한다. 이러한 "라운드" 라는 개념은 백본 프로토콜에는 중요하지 않지만, 참여자들이 작업증명을 생산하는 능력을 가정하는데에서 중요하게 작용한다.
작업중...