보통 논문과 동일한 양식으로 작성 (작성자, abstract 초록, 서론, 관련 연구, 제안 방식, 계산(수학적으로 시스템이 안정하다는 것을 검증), 결론9
비트코인 : 개인 대 개인 전자화폐 시스템
초록 살펴보기 (어떤 방식으로 비트코인이 작동하는지.)
(서론) 순수한 개인 대 개인 버전 전자 화폐는 금융기관을 거치지 않고 한쪽에서 다른 쪽으로 직접 전달되는 온라인 결제(payments)를 실현한다.
중앙 기관없이, 자산을 전달할 수 있는 시스템을 구성.
(문제점과 제안하는 내용) 전자 서명은 부분적인 솔루션을 제공하지만, 만일 이중 지불을 막기 위해 여전히 신뢰받는 제 3자를 필요로 한다면 그 주된 이점을 잃게 된다. 우리는 개인 대 개인 네트워크를 사용해 이중지불 문제를 해결하는 솔루션을 제안한다.
이중지불 : 기프티콘을 판매를 위해 다른 사람한테 전달할 때, 이미 사용해버렸을 때. 중간 업체가 확인. 개인 대 개인 거래에서는 확인 불가.
(방법) 이 네트워크는 거래를 해싱해 타임스탬프를 찍어서 해시 기반 작업증명(proof-of-work)을 연결한 사슬로 만들고, 작업 증명을 재수행하지 않고 서는 변경할 수 없는 기록을 생성한다.
블록체인의 개념이 여기서 나옴. 연결한 체인 ⇒ 블록체인
어떻게 안전하게 보관? 해시기반 작업증명
(longest chain rule)가장 긴 사슬은 목격된 사건의 순서를 증명할 뿐아니라, 그게 가장 광대한 CPU 파워 풀에서 비롯했음을 증명하기도 한다.
본문에 나오는 longest Chain rule에대한 설명. 개인대 개인 거래에서 여러개의 Chain이 발생되는 데, 그중에 가장 긴 체인을 인정하겠다.
처음 고안될때 개인 컴퓨터에서 거래가 기록 될 것으로 생각해 CPU 파워라고 명시. 지금은 채굴 풀이 생기고 그 규모가 커짐에 따라 해시 rate가 표현.
과반의 CPU 파워가 네트워크 공격에 협력하지 않는 노드에 통제되는 한, 그 힘은 가장 긴 사슬을 만들어내며 공격자를 압도한다. 이 네트워크 스스로는 최소한의 구조만을 요구한다. 메시지는 최선의 노력을 다해(on a best effort basis) 퍼져나가고, 노드는 자기가 빠진 사이에 벌어진 거래의 증명으로 가장 긴 작업 증명 사슬을 채택함으롰 ㅓ뜻대로 네트워크를 떠났다가 재합류할 수 있다.
서론
인터넷 기반 상거래는 전자 결제를 처리할 신뢰받는 제 3자 역할을 거의 전적으로 금융기관에 의존해왔다. 이 시스템은 대다수 거래에 충분히 잘 작동하지만~ 신뢰 결핍(the need for trust)이 퍼진다.
기존 은행 시스템의 문제점.
저축은행과 같이 평소에는 정상적으로 작동하지만, 금융위기가 발생했을 때 붕괴 될 수있기 때문.(역사적으로) 완전한 신뢰를 제공하지 못하고 있다.
은행원 등 시스템 운영에 따른 수수료를 제공하고 있다. 현재에는 소액 송금 수수료가 거의 없지만 해당 백서가 쓰인 2009년에는 소액에도 수수료가 많이 발생했다. 개인 대 개인 거래에서 더 적은 수수료로 거래를 증명하는 것이 비트코인.
상거래자는 많은 정보를 요구하지 않을 경우보다 더 그를 괴롭히는 고객을 경계해야한다. 사기의 일정 비율은 불가피한 것으로 간주된다. 이런 비용과 결제 불확실성은 대면 거래에 물리적 통화(currency)를 사용해 피할 수 있지만, 통신 채널로 신뢰(받는 제3)자 없이 결제를 수행할 방법은 존재하지 않는다.
필요한 것은 신뢰 대신 암호학적 증명에 기반해, 거래 의사가 있는 두 당사자가 신뢰받는 제 3자를 필요로 하지 않고 서로 직접 거래하게 해주는 전자 화폐 시스템이다.
비트코인이 나오게된 배경 = 금융 시스템을 암호학적인 신뢰에 기반한 가상 금융 시스템
거래
우리는 디지털 서명의 사슬로써 전자적 화폐를 정의한다. 각 소유자는 화폐를 송금할 때 먼젓번 거래 내역 및 다음 소유자 공개키의 해시값에 전자적으로 서명을 하고 이 정보를 이 화폐의 끝에 첨가한다. 수금자는 그 소유권의 사슬을 검증할 서명을 검증할 수 있다.
거래 : 소유자의 자산
소유자의 공개키 → 해시 → 전자서명(돈을 보낸 사람의)
개인키 : 공인인증서 역할
이 과정상 문제는 수금자가 소유자 가운데 누군가 화폐를 이중지불하지 않았는지 검증할수 없다는 점이다. 통상적인 해법은 신뢰 받는 중앙 통제기관이나 조폐국을 세우고 모든 거래마다 이중지불 여부를 점검하는 것이다. 거래를 마칠 때마다 이화폐는 조폐국으로 회수돼 새로운 화폐로 발행돼야 하고, 조폐국에서 직접 발행된 화폐만이 이중지불 되지 않았다는 신뢰를 받는다. 이 해법을 적용시 문제는 전체 통화체계가, 은행처럼 모든 거래가 거쳐가야하는, 조폐꾹을 운영하는 회사에 의존한다는 점이다.
금융 시스템에서 이중지불에 대한 문제해결
~노드 다수가 동의했다는 증명을 요한다.
개인과 개인간 거래에서 이중지물 문제 해결
타임스탬프 서버
우리가 제안하는 해법은~
모든 거래는 시간 순서대로 기록.
작업증명
개인 대 개인 기반을 분산 타임 스탬프 서버를 구현하기 위해 우리는 신문이나 유즈넷 게시물 대신 애덤 백의 해시캐시와 유사한 작업증명 시스템을 사용할 필요가 있다. 작업 증명은 SHA-256같은 걸로 해시 연산을 거친 결과가 0 비트 여러개로 시작할, 특정 값을 찾는 작업을 수반한다. 여기에 평균적으로 필요한 연산 작업은 겨로가값에 필요한 0비트 개수에 따라 지수적으로 달라지며 해시 연산을 한 번에 실행하는 걸로 검증 될 수 있다.
POW의 개념은 기존에 이미 있었던 개념.
~cpu 동작이 한 번 작업증명을 ~
블록을 기반으로 기록할때 Pow를 통해 기록. 기록에 대한 증명값을 블록에 기록.
작업증명은 다수결의 대표성 문제도 해결한다. IP 주소당 1표에 기반한 다수 조건이라면 누구든지 많은 IP를 할당할 수 있는 이에 의해 장학될 수 있다. 작업증명은 기본적으로 CPU 당 1표 ~
⇒ 비트코인 동작 방식에 대한 내용
네트워크
네트워크를 실행하는 단계는 다음과 같다.
1)새로운 거래가 모든 노드에 브로드캐스트된다.
2) 각 노드가 새로운 거래를 블록에 수집한다.
3) 각 노드가 그 블록에 맞는 나도의 작업증명을 찾아 나선다.
4) 노드가 작업증명을 찾은 시점에, 거기서 모든 노드로 그 블록을 브로드캐스트한다.
5) 노드는 모든 거래가 유효하며 아직 지불되지 않았다는 조건에 맞을 경우에만 그 블록을 승인한다. ⇒ 이중지불해결
6) 노드는 블록 승인을 표현하기 위해 먼젓번 해시로 승인된 블록의 해시를 사용해 사슬 안에 다음 블록을 생성한다.
노드는 항상 가장 긴 사슬을 정확한 것으로 간주하고 그걸 잇는 작업을 지속한다.
체인이 여러개 생겼을 수도 있음. 이때에 가장 긴 체인
인센티브
관례상 블록 안의 첫 거래는 블록을 만든 이의 몫이 될 새 화폐로 시작하는 특별한 거래다. 이는 화폐를 발행하는 중앙기관 없이, 노드가 네트워크를 지원할 인센티브를 더해 주며 초기에 발행한 화폐를 유통할 방법을 제공한다. ~
비트코인 보상을 제공. 초기에는 10 비트코인. 현재에는 6.25개. 비트코인 네트워크를 운영하지 않지만 비트코인 송금이 이중지불 되지않았다는 것을 증명해줄 사람이 필요한데, 기존의 은행에 지불하던 수수료를 이런 블록을 생성하는 채굴자에게 지급
디스크 공간 회수
화폐 안의 최종거래가 충분한 블록에 묻히면, 그 전에 지불된 거래는 디스크 공간을 절약하기 위해 폐기될 수 있다.~
모든 참여자가 모든 데이터를 가지고 있어야하기 때문에 부담감이 증가. 이로인해 네트워크에 참여가 점점 줄어듦
블록체인은 모든 거래를 기록하는 것이 아니라. 해시화해서 루트 해시를 비교해 내용을 비교.
간소화한 결제 검증
결제 검증은 전체 네트워크 노드를 구동하지 않고도 가능하다.
싱크를 진행해야 결제 내용을 확인할수 있지만. 이러면 아무도 사용하지 않을것.
SPB와 머클. 전자 지갑을 사용해서 이과정을 생략
가치 합치기와 나누기
화폐를 독립적으로 다루는 것은 가능하더라도 ~
거래안에는 여러개의 입출금으로 기록.
출금 여러개 : 잔돈, 입금 여러개: 동전 여러개
프라이버시
전통적인 은행 모델은 참여 당사자와 신뢰받는 제 3자에게 정보 접근을 제한함으로써~
기존의 은행 거래에서는 신원은 공개. 해당 사람이 어떤 거래를 했는지는 비공개.
블록체인에서는 어떤 거래를 했는지 모두 공개. 하지만 신원을 비공개. ⇒ 개인 정보를 보호. 또한 계좌를 여러개 생성할 수 있기 때문에 자신의 개인 정보를 숨길수 있음.
계산
정직한 사슬보다 더 빨리 대체 사슬을 만들어내려는 공격자의 시나리오를 고려해보자.~
double spending attack을 수학적으로 계산. 공격자는 위변조하기위해서는 가장 긴 블록체인을 먼저 만들면 된다.
공격자가 가장 긴체인보다 더 긴 체인을 만들수 있는 확률을 계산
푸아송 분포를 통해서 계산.
수학적인 문제 뿐아니라 경제적으로도 공격에 따른 이득보다 공격을 위한 비용(51%의 채굴을 확보)이 더 크다는 점에서 안정성 보장.