블록체인 관련 논문들을 정리중에 있습니다. 핵심적인 부분에 한하여 개조식으로 정리하려 합니다. 궁금한 점이 있으시거나 틀린 부분이 있다면 가감없이 댓글 부탁드립니다.
Nakamoto, S., 2008. Bitcoin: A peer-to-peer electronic cash system.
- 신뢰할 수 있는 제3자 (Trusted Third Party) 없는 P2P 네트워크로 통화 거래를 가능하게 함
- 네트워크 및 거래를 암호화 -> 작업 증명(Proof-Of-Work)으로 기록 -> 체인으로 연결 -> 가장 긴 체인만 유지하여 이중지불 문제를 해결함
전자화폐 : 디지털 서명의 연속
- 함의되어 있는 뜻은 다음과 같다. 화폐의 경우 신뢰를 기반으로 가치가 부여된다. (예: 금->런던 금 거래소, 달러->연준위, 원->한국 정부) 디지털 자산의 신뢰는 '불변성(immutable)'으로부터 발생할 것이다. 디지털 서명의 연속으로 불변성을 충분히 유지할 수 있다. 그러므로 디지털 서명의 연속으로 전자화폐를 정의 가능하다.
이중지불이 없음을 어떻게 검증할 것인가?
- 중앙기관을 두는건 촌스럽고 문제가 좀 많음
- 간단함. 거래마다 자신의 자산에 서명을 하게 함. 그리고 모든 거래를 뒤져서 이전에 그 자산에 서명한적이 없는지 확인함
- 이렇게 확인하기 위해서는 모든 거래 기록이 공개되어야 함. 그래야 함
- 공개 장부에 타임스탬프 서버와 작업증명을 섞으면?
타임스탬프 서버
- 거래가 특정 시점에 이루어짐을 인증하는 서버. 거래를 블록에 넣으면 특정 기간에 발생함을 증명할 수 있음
작업증명
- 누군가 장부를 기록해야 한다. 기록하는 권한을 누구한테 줄 것인가?
- 작업증명
- 채굴꾼들로 하여금 간단한 수학문제를 풀게 함. 간단하지만 정답이 될 수 있는 후보가 넘나 많은 문제임. 예컨데 단방향 해시 함수
- SHA256(SHA256(prev_hash + merkle_root + nonce))
- 이전블록해시+머클루트(거래의 해시)+임시값(nonce)를 해싱 -> 목표치(target)에 적합한 해싱값이 나오면 성공
- 성공한 노드는 장부를 블록 단위로 기록
- 많은 계산량을 보유한 노드가 블록을 만들 수 있음
- 전체 계산량의 50%(혹은 25%)를 독점하지 않는 이상 이중거래 조작은 불가능에 가까움 (논문의 후반부에 확률적 증명이 있음)
네트워크
- P2P로 장부 관리자(노드)를 엮음
- 거래를 일으키면 인접 노드한테 알려줌
- 그러면 노드끼리 서로 전파
- 노드는 블록 크기를 넘지않게 거래를 모아서 블록을 만듦
- 작업증명 ㄱㄱ
- 성공하면 블록을 전파
- 받은 노드들은 블록을 검사해서 거래들의 무결성이 입증되면 블록체인에 블록을 추가
- 가장 긴 체인이 왕, 그러므로 포크가 발생해도 금방 돌아옴
보상
- 블록 만들면 돈줌
- 수수료도 언져줌
저장공간 재확보
- 소비되었으며 오래된 거래는 제거할 수 있음
- 그래도 머클트리는 유지해야지
지불입증 간소화
- 머클 트리 쓰면 됨
금액의 결합과 분할
- 하나의 거래에 대하여 [입력-출력]을 [n-m] degree로 할 수 있음
- 돈을 쪼갤 수도 있고..
- 여러개를 합칠 수도 있고..
개인 정보 보호
- 제3자 신용기관이 없음요
- 그래도 지갑 ID(공개키)를 알면 개인 신상이 노출될 수 있으니
- 거래마다 지갑 ID(공개키)를 새로 파는 것도 좋음
결론
- 컴퓨팅 파워를 통해 의사결정으로 하고, 유효한 블록에 대해서만 작업을 수행
nice
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
요약본 잘 읽고 갑니다
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit