비트코인 백서 - BITCOIN ( BTC ) 
 ₩ 12 , 850 , 000 ( - 1 . 15 %) 
 비트코인 백서 
 최초 작성 : 1 주 전 / 최종 수정 : 5 일 전 / 번역자 : misskiwi 
 역자 의 말 . Satoshi Nakamoto 의 비트코인 백서 는 암호 화 화폐 를 공부 하 는 이 들 에게 바이블 이 라 할 수 있 습니다 . 하지만 , 기술 적 인 용어 가 많이 사용 된 터 라 , 짤막 한 단문 을 그대로 우리말 로 옮기 면 내용 의 전달 이 어려운 경우 가 많 습니다 . 이 번역본 은 이러 한 점 을 최대한 해소 하 고자 필요 에 의해 내용 을 길 게 풀 어 쓴 경우 가 있 습니다 . 평역 ( 評譯 ) 에 가까운 것 은 아니 지만 , 역자 의 해설 이 중간중간 들어갔 음 을 감안 하 여 읽 어 주 시 기 바랍니다 . 
 비트코인 : P 2 P 전자 화폐 시스템 
 초록 . 완전 한 P 2 P 방식 의 전자 화폐 는 금융 기관 을 통하 지 않 고 한쪽 에서 다른 쪽 으로 온라인 송금 이 가능 하 다 . 전자 서명 이 일반 적 인 해결책 이 지만 이중 지불 ( double - spending ) 을 막 기 위해 신뢰 받 는 제 3 자 의 개입 을 필요 로 한다면 우리 가 여기 서 원 하 는 바 와 벗어나 게 된다 . 이 문서 를 통해 P 2 P 네트워크 를 이용 하 여 이중 지불 을 막 는 해결책 을 제시 하 고자 한다 . 이 네트워크 는 암호 화 함수 를 실행 하 는 해싱 ( hashing ) 작업 을 통해 해시 기반 작업 증명 ( proof - of - work ) 체인 ( chain ) 에 시간 을 기록 하 는 타임스탬프 ( timestamp ) 를 기록 하 는데 , 이 는 작업 증명 을 다시 수행 하 지 않 고서 는 변경 할 수 없 는 기록 을 생성 한다 . 가장 긴 체인 은 네트워크 에 의해 검증 된 거래 의 연속 적 인 기록 일 뿐 만 아니 라 가장 큰 연산 능력 ( CPU power ) 의 결과물 이 기 도 하 다 . 다수 의 연산 능력 이 네트워크 를 공격 하 는 데 동조 하 지 않 는 한 , 가장 긴 체인 을 만들 면 공격자 는 무력 화 된다 . 또한 , 네트워크 의 는 최소한 의 구조 를 필요 로 한다 . 메시지 는 최선 의 노력 을 다 하 는 것 을 근간 으로 삼 아 네트워크 에 전파 되 고 , 노드 는 네트워크 에서 언제 든 이탈 했 다가 재 접속 할 수 있 으며 , 이탈 한 기간 동안 에 있 던 가장 긴 작업 증명 체인 을 근거 로 채택 한다 . 
 인터넷 상거래 는 대부분 금융 기관 을 신뢰 받 는 제 3 자 의 역할 로 사용 하 는 전자 지불 방식 에 의존 하 고 있 다 . 이 시스템 은 일상 의 대부분 의 거래 에 무리 없이 작동 하 지만 , 신뢰 를 기반 으로 한 구조 라는 원천 적 인 약점 을 가지 고 있 다 . 금융 기관 의 형태 는 중재 를 위한 분쟁 을 피할 수 없 어 , 완벽 하 게 취소 불 가능 한 거래 를 보장 하 기 어렵 다 . 게다가 중재 에 사용 되 는 비용 은 거래 비용 의 상승 , 가능 한 최소 거래량 의 제한 , 작 고 간단 한 거래 의 원천 적 인 봉쇄 와 같 은 문제 를 야기 하 고 , 취소 불 가능 한 서비스 가 필요 로 하 는 지불 방식 을 만들 지 못해 결국 더 많 은 비용 을 소진 하 게 된다 . 거래 의 취소 가 가능 한 구조 는 일반 적 으로 더 많 은 신뢰 를 필요 로 한다 . 판매자 는 고객 을 더 경계 하 게 되 어 별로 필요 하 지 않 은 정보 들 도 귀찮 게 요구 할 것 이 다 . 그럼에도 불구 하 고 일정 수준 의 사기 가 발생 하 는 것 은 감내 할 수 밖 에 없 다 . 이러 한 비용 의 증가 와 지불 의 불 확실 성 증가 는 사람 이 직접 실물 화폐 를 사용 하 여 거래 하 면 해결 될 문제 지만 이렇게 처리 해 버리 면 신뢰 기관 없이 통신 채널 만 을 통해 지불 하 는 방법 이 없 다는 것 과 같 다 . 
 신용 기반 이 아닌 암호 화 기술 에 기반 한 전자 지불 시스템 을 이용 하 면 , 신뢰 받 는 제 3 자 없이 당사자 간 직접 거래 가 가능 해진다 . 전산 을 통해 취소 가 불 가능 한 거 래는 판매자 를 사기 로부터 보호 할 수 있 고 , 에스크로 방식 을 통해 구매자 도 보호 할 수 있 다 . 이 문서 에서 P 2 P 타임스탬프 서버 를 이용 하 여 거래 의 시간 순서 를 전산 을 통해 증명 하 는 방식 으로 이중 지불 을 해결 할 수 있 는 방안 을 제시 하 고자 한다 . 이 시스템 은 공격자 그룹 의 연산 능력 보다 정직 한 노드 가 더 많 은 연산 능력 을 보유 하 고 있 는 한 안전 하 다 . 
 2 . 거래 ( Transactions ) 
 전자 화폐 를 디지털 서명 이 연결 된 것 으로 정의 하 도록 하 자 . 소유자 들 은 이전 거래 와 다음 소유자 의 공개 키를 해시 하 여 전자 서명 하 고 이 를 코인 의 뒤 에 붙이 는 형태 로 전송 한다 . 수취인 은 체인 의 소유 권 을 확인 하 는 것 으로 서명 을 검증 할 수 있 다 . 
 문제 는 수취인 의 입장 에서 원 소유주 가 이중 지불 을 하 지 않 았 는지 검증 하 지 못한다는 것 이 다 . 보편 적 인 해결책 은 거래 가 이중 지불 이 되 었 는지 확인 하 는 신뢰 할 수 있 는 중앙 기관 혹은 조폐국 을 두 는 것 이 다 . 거래 가 발생 하 면 모든 코인 은 조폐국 으로 들어가 새 코인 이 발행 되 도록 하 고 조폐국 을 거친 거래 만 을 유효 한 것 으로 인정 하 면 이중 지불 의 위험 에서 벗어날 수 있 다 . 이 방식 의 문제 는 전체 시스템 의 운명 이 모든 거래 에 개입 하 는 조폐국 을 운영 하 는 주체 에 달려 있 다는 점 이 다 . 
 수취인 의 입장 에서 이전 소유자 가 어떤 거래 에 도 ( 기존 코인 의 잔액 을 이용한 ) 서명 을 사용 하 지 않 았 다는 것 을 확인 할 방법 이 필요 하 다 . 이 를 위해서 는 해당 서명 을 사용 한 가장 최초 의 거래 만 계산 하 면 뒤이 어 이어지 는 거래 에 이중 지불 이 있 는지 는 굳이 확인 할 필요 가 없 다 . 누락 된 거래 가 있 는지 확인 하 는 유일 한 방법 은 모든 거래 를 확인 하 는 것 이 다 . 조폐국 을 기반 으로 한 모델 에서 는 조폐국 이 모든 거래 를 확인 하 여 어떤 거래 가 먼저 이루어진 것 인지 결정 을 해 주 면 된다 . 이 를 조폐국 처럼 신뢰 받 는 주체 가 없 는 상태 에서 해결 하 고자 한다면 , 거래 는 공개 적 으로 알려져야 하 며 [ 1 ] , 참가자 들 이 그 들 이 받 은 것 을 순서 대로 정리 한 단일 한 이력 을 사용 하 는 시스템 이 필요 하 다 . 수취인 은 거래 가 발생 하 면 노드 의 대다수 가 이중 수취 가 아닌 최초 의 수취 라고 인정 하 는 증명 을 필요 로 한다 . 
 3 . 타임스탬프 서버 ( Timestamp Server ) 
 제시 하 려는 해결책 은 타임스탬프 서버 에서 시작 된다 . 타임스탬프 서버 는 시간 순 으로 기록 된 블록 들 의 해시 를 취하 고 , 신문 이나 유즈넷 포스트 [ 2 - 5 ] 처럼 해시 를 발행 하 는 역할 을 한다 . 타임스탬프 는 해시 의 형태 로 취합 되 기 위해 해당 시간 에 그 데이터 가 존재 했 음 을 증명 해야 한다 . 각각 의 타임스탬프 는 이전 타임스탬프 를 해시 의 형태 로 포함 하 는 구조 로 결국 , 각 타임스탬프 는 이전 타임스탬프 를 강화 하 는 형태 로 체인 을 형성 한다 . 
 P 2 P 를 기반 으로 한 분산 형 타임스탬프 서버 를 실현 하 기 위해서 는 유즈넷 이나 신문 등 의 방식 이 아니 라 , Adam Back 의 Hashcash [ 6 ] 와 유사 한 작업 증명 시스템 을 이용 해야 한다 . 작업 증명 방식 은 SHA - 256 같 은 알고리즘 을 통해 해시 되 었 을 때 0 ( zero ) 으로 시작 되 는 값 들 을 찾 는 과정 을 수반 한다 . 해시 를 한번 수행 하 는 것 으로 확인 하 는 이 작업 의 소요 시간 은 어떠 한 평균치 에 수렴 하 며 , 요구 하 는 0 의 숫자 가 많 을수록 소요 시간 이 지수 의 형태 로 늘어나 는 특성 을 가진다 . 
 타임스탬프 네트워크 는 블록 해시 를 수행 한 결과 만족 하 는 0 비트 를 가질 때 까지 임의 의 값 인 논 스 ( nonce ) 를 증가 시키 는 방식 으로 작업 증명 을 구현 한다 . CPU 가 노력 한 결과 가 작업 증명 조건 을 충족 하 게 되 면 , 이 블록 은 수행 한 작업 증명 과 같 은 노력 의 일 을 반복 하 지 않 는 한 변경 할 수 없 다 . 하나 의 블록 을 변경 하 려면 해당 블록 에 연결 된 모든 블록 에 작업 증명 을 다시 진행 해야 한다 . 
 또한 , 작업 증명 방식 은 다수결 의사 결정 에서 대의 ( 代議 ) 의 문제 를 해결 한다 . 만약 , IP 주소 당 하나 의 투표 권 을 부여 하 게 되 면 누구 나 IP 주소 를 많이 확보 하 는 것 만 으로 시스템 을 전복 시킬 수 있 다 . 이 에 반해 , 작업 증명 은 연산 능력 에 비례 하 여 투표 권 을 주 는 것 이 다 . 가장 긴 체인 은 가장 많 은 연산 능력 ( 작업 증명 ) 을 포함 하 고 있 으므로 이것 이 곧 다수 의 결정 이 된다 . 정직 한 노드 들 이 연산 능력 의 대부분 을 차지 하 고 있 다면 , 정직 한 체인 이 가장 빠르 게 늘어나 여타 경쟁 체인 을 압도 할 것 이 다 . 과거 의 블록 한 개 를 수정 하 려면 공격자 는 해당 블록 과 이후 의 모든 블록 에 작업 증명 을 과정 을 수행 하 여 정직 한 노드 의 블록 길이 를 추월 해야 한다 . 느린 공격자 가 블록 을 따라잡 을 가능 성 은 뒤 에 추가 로 언급 하 겠 다 . 
 증가 하 는 하드웨어 속도 와 노드 를 실행 하 는 동기 를 보상 하 기 위해 작업 증명 의 난이도 는 시간 당 생성 되 는 블록 의 이동 평균 을 통해 정해진다 . 만약 블록 이 빠르 게 생성 되 면 , 난이도 는 증가 한다 . 
 5 . 네트워크 ( Network ) 
 네트워크 는 아래 와 같 은 과정 으로 동작 한다 . 
 새로운 거래 들 이 전체 노드 들 에게 전파 된다 . 
 각 노드 들 은 새 거래 들 을 블록 에 취합 한다 . 
 각 노드 들 은 블록 에 가장 어려운 난이도 로 행해진 작업 증명 을 찾 는다 . 
 노드 가 새로운 작업 증명 을 발견 하 면 해당 블록 을 전체 노드 에 전파 한다 . 
 노드 들 은 모든 거래 가 유효 하 고 , 이미 사용 되 지 않 은 경우 에 만 블록 을 받아들인다 . 
 노드 들 은 체인 위 의 다음 블록 에 이전 블록 을 해시 형태 로 추가 하 는 것 으로 해당 블록 을 받아들였 다는 의사 를 표시 한다 . 
 노드 들 은 항상 가장 긴 체인 을 옳 은 것 으로 간주 하 고 인증 된 체인 을 이 어 간다 . 만일 두 개 의 노드 가 각기 다른 버전 의 다음 블록 을 동시 에 전파 하 는 경우 , 다른 버전 의 블록 을 전달 받 는 노드 들 이 발생 한다 . 이 경우 , 먼저 전달 받 은 블록 을 기준 으로 작업 을 수행 하 지만 , 다른 갈래 의 블록 도 저장 하 여 해당 블록 이 더 길 어 질 것 에 대비 한다 . 다음 작업 증명 이 완료 되 어 둘 중 하나 가 더 긴 체인 이 되 는 경우 더 이상 두 블록 은 대등 하 지 않 고 긴 체인 을 형성 한 블록 을 기준 으로 작업 한다 . 
 새로운 거 래는 꼭 모든 노드 에 전파 될 필요 는 없 다 . 최대한 많 은 노드 에 도달 한다면 이 거 래는 블록 이 길 어 지 기 전 에 포함 될 것 이 다 . 블록 의 전파 가 누락 되 는 경우 에 도 크 게 걱정 할 필요 가 없 다 . 만약 노드 가 중간 블록 을 전달 받 지 못하 더라도 , 이 를 요청 하 여 받 게 되 면 정상 적 인 체인 을 만들 수 있 다 . 
 블록 의 첫 거 래는 블록 의 생성자 에게 새로운 코인 을 보내 는 특별 한 거래 가 된다 . 이 는 네트워크 를 유지 하 는 노드 들 에게 보상 이 되 고 , 중앙 관리 기구 없이 분산 된 형태 로 유통 되 는 구조 를 만들 수 있 다 . 새로운 코인 이 지속 적 으로 공급 되 는 것 은 흡사 금광 을 캐 는 광부 들 이 자원 을 소진 하 여 금 의 순환 구조 를 만드 는 것 과 비슷 하 다 . CPU 사용 시간 과 전력 이 소비 되 는 자원 에 해당 한다 . 
 거래 수수료 도 보상 중 하나 다 . 거래 에서 출력 되 는 돈 보다 입력 되 는 금액 이 작 다면 그 차이 는 거래 수수료 의 형태 로 블록 을 생성 하 는 보상 으로 추가 된다 . 초기 예상 발 행량 의 전부 가 발행 된 이후 에 는 거래 수수료 만 보상 으로 주어지 며 , 인플레이션 에서 벗어날 수 있 다 . 
 이러 한 보상 체계 는 노드 들 이 선의 의 행동 을 하 도록 독려 한다 . 만약 이기 적 인 공격자 가 선의 의 노드 보다 많 은 연산 능력 을 끌 어 모을 수 있 다면 , 다른 이 의 지불 을 갈취 하 거나 , 새로운 코인 을 생성 하 여 사 적 인 이익 을 취하 려 할 것 이 다 . 하지만 이러 한 방법 보다 정해진 규칙 에 순응 하 는 것 이 더 많 은 코인 을 가져다 주 기 때문 에 공격자 가 굳이 공격 을 해야 할 이유 는 없 다 . 
 7 . 저장 공간 의 재사용 ( Reclaiming Disk Space ) 
 코인 을 기준 으로 충분히 많 은 블록 이어지 게 되 면 지난 거래 내역 은 저장 공간 의 확보 를 위해 폐기 해도 된다 . 블록 해시 를 깨 지 않 고 이 를 가능 하 게 하 려면 거래 가 머 클 트리 ( Merkle Tree ) [ 7 ] [ 2 ] [ 5 ] 안 에 해시 되 고 , 머 클 트리 의 루트 부분 만 블록 해시 에 포함 되 면 된다 . 오래 된 블록 은 나무 의 가지 를 친 것 처럼 최소 화 할 수 있 다 . 내부 의 해시 는 저장 될 필요 가 없 다 . 
 8 . 지불 검증 의 간소 화 ( Simplified Payment Verification ) 
 풀 노드 ( full network node ) 를 운용 하 지 않 더라도 지불 을 검증 하 는 것 은 가능 하 다 . 사용자 가 자신 이 가장 긴 체 인임 을 확인 할 수 있 을 때 까지 네트워크 노드 들 에게 요청 하 여 가장 긴 작업 증명 체인 의 블록 헤더 의 사본 ( copy ) 을 가지 고 있 으면 해당 거래 가 포함 된 블록 의 머 클 트리 의 가지 ( branch ) 를 얻 어 올 수 있 다 . 사용자 스스로 거래 의 유효 성 을 체크 할 수 는 없 으나 , 체인 에 연결 된 것 을 확인 하 고 , 네트워크 노드 들 이 이 를 받아들이 는지 확인 한 뒤 , 블록 이 뒤 에 연결 되 는지 확인 하 면 할 수록 네트워크 가 이 를 유효 한 것 으로 인식 하 는지 확신 할 수 있 다 . 
 정직 한 노드 들 이 네트워크 를 제어 하 는 상태 에서 이뤄지는 검증 작업 은 신뢰 할 수 있 으나 , 공격자 의 힘 이 강한 네트워크 에서 는 신뢰 가 어렵 다 . 네트워크 노드 들 이 검증 절차 를 가지 고 있 다 하 더라도 , 공격자 가 지속 적 으로 네트워크 에서 힘 을 유지 하 고 기록 을 날조 하 여 잘못 된 거래 내역 을 퍼뜨리 면 속 을 수 밖 에 없 다 . 이러 한 문제 를 막 기 위한 하나 의 방편 은 , 사용 자 의 소프트웨어 가 블록 전체 를 다운로드 받 아 모 순점 이 있 는지 확인 할 수 있 도록 하 고 , 유효 하 지 않 은 블록 을 발견 했 을 때 네트워크 노드 들 에 경고 성 알림 을 보내 는 것 이 다 . 이런 면 에서 , 잦 은 거래 를 필요 로 하 는 사업 분야 에서 는 빠른 검증 과 독립 적 인 보안 체계 를 유지 하 기 위해 자신 의 노드 를 직접 운용 하 는 것 을 원할 것 이 다 . 
 9 . 가치 의 병합 과 분할 ( Combining and Splitting Value ) 
 코인 을 중심 으로 개별 적 관리 하 는 것 도 가능 하 지만 , 이 는 작 은 단위 의 거래 를 하 기 에 는 불편 하 다 . 가치 가 나누 고 합쳐질 수 있 도록 하 기 위해 다수 의 입력 과 다수 의 출력 을 허용 한다 . 보통 , 큰 규모 의 단일 입력 이 거나 다수 의 소액 을 합친 입력 일 것 이 며 , 출력 은 지불 을 위한 것 하나 와 남 는 잔액 을 송금 자 에게 돌려주 는 출력 두 개 일 것 이 다 . 
 하나 의 거래 가 여러 거래 들 로부터 비롯 되 고 , 이 거래 들 은 더 많 은 거래 들 로부터 비롯 되 는 팬 아웃 ( fan - out ) 형태 는 여기 서 문제 가 되 지 않 는다 . 거래 기록 의 완전 한 독립 사본 을 추출 할 필요 가 없 기 때문 이 다 . 
 10 . 프라이버시 ( Privacy ) 
 기존 의 은행 구조 는 담당 하 는 그룹 과 신뢰 받 는 제 3 자 의 정보 접근 권한 을 제한 하 는 방식 으로 프라이버시 를 보호 한다 . 모든 거래 를 공개 하 는 방식 에서 은행 형태 의 모델 을 차용 할 수 는 없 지만 프라이버시 를 유지 하 면서 모든 거래 를 공유 하 는 것 이 불 가능 한 것 은 아니 다 : 공개 키 들 을 익명 으로 사용 하 면 된다 . 참 여자 누구 나 어떤 이 가 다른 이 에게 얼마 를 보냈 는지 확인 할 수 있 지만 , 정작 거래 가 누구 에 귀속 되 는지 에 대한 정보 는 공개 하 지 않 는 방식 이 다 . 이 는 증권 거래소 에서 정보 를 공개 하 는 것 과 비슷 하 다 . 시간 과 거래량 은 공개 되 지만 누구 의 거래 인지 알 수 없 는 것 처럼 말 이 다 . 
 추가 적 인 방화벽 으로서 , 매 거래 마다 새로운 키 를 사용 하 도록 하 여 소유자 분별 이 어렵 도록 한다 . 다수 의 입력 이 존재 하 는 거래일 경우 입력 들 이 동일 한 소유자 에서 온 것 이 밝혀질 수 도 있 다 . 만약 소유자 의 키 가 공개 되 면 , 다른 거래 의 것 도 동일 한 소유자 라는 것 이 밝혀질 수 있 다는 위험 성 이 있 으므로 새로운 거래 를 수행 시 매번 새로운 키 를 사용 하 도록 권장 한다 . 
 11 . 계산 ( Calculations ) 
 공격자 가 정직 한 체인 보다 빠르 게 체인 을 이 어 가 려는 경우 를 생각 해 보 자 . 이 공격 이 성공 한다 해도 시스템 에 없 던 돈 을 새로 만들 어 내 거나 하 는 식 의 제멋 대로 인 상태 로 망가뜨릴 수 는 없 다 . 노드 들 은 유효 하 지 않 은 거 래는 받아들이 지 않 을 것 이 고 , 정직 한 노드 는 아예 해당 내용 을 블록 에 포함 하 는 것 조차 허용 하 지 않 는다 . 공격자 는 오직 자신 이 행한 거래 의 돈 을 되찾 는 공격 만 가능 하 다 . 
 정직 한 체인 과 공격자 체인 의 경쟁 은 이항 무작위 행보 ( Binomial Random Walk ) 의 특성 을 지닌다 . 정직 한 체인 이 블록 한 개 를 성공 적 으로 생성 하 는 사건 에 + 1 을 부여 하 고 , 공격자 체인 이 블록 한 개 를 성공 적 으로 생성 하 는 사건 에 - 1 을 부여 한다고 하 자 . 
 공격자 가 적자 의 상태 에서 시작 하 여 선의 의 체인 을 따라잡 을 가능 성 은 도박사 의 파산 문제 ( Gambler ' s Ruin problem ) 와 유사 하 다 . 적자 상태 의 도박사 가 무제한 의 신용 을 바탕 으로 무한대 로 게임 을 시도 하 여 손익 분기점 에 도달 했 다고 하 자 . 그 가 손익 분기점 에 도달 할 확률 , 혹은 공격자 가 정직 한 체인 을 따라잡 을 확률 은 다음 과 같이 계산 할 수 있 다 . [ 8 ] 
 p > q 라 가정 한다면 , 공격자 가 블록 을 따라잡 을 확률 은 블록 수 의 증가 분 에 지수 로 감소 한다 . 공격자 가 가능 한 빨리 시도 하 여 운 좋 게 성공 하 지 못한다면 , 가능 성 은 뒤 로 갈수록 희박 해진다 . 
 수신자 의 입장 에서 송금 자 가 거래 를 변조 하 지 못할 거 라 판단 되 는 충분 한 기간 은 얼마 인지 고려 해 보 자 . 공격자 인 송금 자 가 수신자 로 하여금 일정 기간 동안 자신 은 돈 을 받 았 다고 믿 도록 하 다가 다시 돈 을 자신 에게 되돌리 는 시도 를 할 것 이 다 . 수신자 는 이 에 대한 경고 를 받 겠 지만 공격자 는 이미 늦 은 상태 에서 알림 을 받 게 하 길 원한다 . 
 수신자 는 새로운 키 쌍 을 생성 하 여 송금 자 에게 공개 키를 보낸다 . 이 는 공격자 가 미리 멀리 달아나 기 충분 한 만큼 블록 을 체인 의 형태 로 만들 어 두 는 것 을 방지 한다 . 거래 가 전송 되 면 , 정직 하 지 않 은 송금 자 는 비밀리 에 다른 거래 내역 을 포함 하 는 체인 의 생 성 을 시작 할 것 이 다 . 
 수신자 는 거래 가 블록 에 포함 되 고 z 개 의 블록 만큼 이 추가 되 길 기다린다 . 그 는 공격자 가 어느 정도 의 작업 을 진행 했 는지 는 모르 지만 , 정직 한 블록 들 은 평균 블록 생성 시간 에 따라 생성 될 것 으로 유추 할 수 있 다 . 공격자 의 잠재 적 진행 률 은 포아 송 분포 의 기대 값 인 다음 과 같 다 . 
 공격자 가 해당 시점 에 도 따라잡 을 수 있 는 확률 을 계산 하 기 위해 , 포아 송 분포 를 공격자 가 따라잡 을 매 진행 률 에 곱 한다 . 
 분포 상 의 무한 소수 를 더 하 지 않 기 위해 식 을 정리 하 면 . .. 
 이 를 C 언어 코드 로 구현 하 면 . .. 
 실행 결과 를 보 면 z 의 증가 에 따라 , 지수 형태 로 확률 이 감소 하 는 것 을 확인 할 수 있 다 . 
 P 가 0 . 1 % 보다 작 은 경우 를 계산 하 면 . .. 
 12 . 결론 ( Conclusion ) 
 지금 까지 신뢰 에 기반 하 지 않 은 전자 거래 시스템 을 제안 하 였 다 . 전자 서명 으로 이뤄진 일반 적 인 형태 는 소유 권 에 대한 강한 통제 권 을 제공 하 지만 이중 지불 을 막 지 못하 면 불완전 할 수 밖 에 없 다 . 이 를 해결 하 기 위해 작업 증명 을 이용 하 여 공개 적 으로 거래 를 기록 하 는 P 2 P 네트워크 를 제안 하 였 다 . 이 방식 은 정직 한 노드 들 이 다수 의 연산 능력 을 확보 하 고 있 다면 공격자 가 쉽 게 조작 하 는 것 이 불 가능 하 다 . 이 네트워크 는 간결 함 을 기반 으로 함 에 도 견고 하 다 . 노드 들 은 약간 의 협력 만 으로 합일 이 가능 하 다 . 특정 한 위치 까지 메시지 가 전달 되 지 않 더라도 최선 을 다 하 는 것 을 기반 으로 전달 되 기 만 하 면 되 기 때문 에 , 굳이 신원 을 밝힐 필요 도 없 다 . 노드 들 은 언제 든지 네트워크 에서 이탈 했 다가 재 접속 할 수 있 으며 , 그 들 이 이탈 한 동안 이뤄진 작업 증명 의 체인 을 받아들이 기 만 하 면 된다 . 유효 한 블록 의 뒤 에 는 블록 을 연장 하 고 , 유효 하 지 않 은 블록 은 거부 하 는 행위 를 통해 작업 증명 연산 능력 은 참 여자 들 의 의사 표현 의 수단 이 된다 . 이러 한 합의 구조 는 규칙 이나 보상 과 함께 제시 된다 .