안녕하세요. 오늘은 비트코인 백서에 관한 두번째 내용입니다.
만약 어제 1편을 보지 않으셨다면 1편부터 보고 오시는 걸 추천드릴게요.
https://rkzhfn.tistory.com/158
1편의 내용은 간단히 말해서 비트코인 창시자가 비트코인을 만들어낸 이유에 관한 내용이었습니다. 그 이유는 기존 통화 시스템의 문제점 때문이었죠. 오늘 살펴볼 내용은 트랜잭션(거래)에 대한 내용입니다. 이 내용은 많이 복잡합니다. 최대한 쉽게 설명드려볼게요. 이해 안되시는 부분 있으시면 말씀해주세요.
"We define an electronic coin as a chain of digital signatures. Each owner transfers the coin to the next by digitally signing a hash of the previous transaction and the public key of the next owner and adding these to the end of the coin. A payee can verify the signatures to verify the chain of ownership.
The problem of course is the payee can't verify that one of the owners did not double-spend the coin. A common solution is to introduce a trusted central authority, or mint, that checks every transaction for double spending. After each transaction, the coin must be returned to the mint to issue a new coin, and only coins issued directly from the mint are trusted not to be double-spent. The problem with this solution is that the fate of the entire money system depends on the company running the mint, with every transaction having to go through them, just like a bank.
We need a way for the payee to know that the previous owners did not sign any earlier transactions. For our purposes, the earliest transaction is the one that counts, so we don't care about later attempts to double-spend. The only way to confirm the absence of a transaction is to be aware of all transactions. In the mint based model, the mint was aware of all transactions and decided which arrived first. To accomplish this without a trusted party, transactions must be publicly announced [1], and we need a system for participants to agree on a single history of the order in which they were received. The payee needs proof that at the time of each transaction, the majority of nodes agreed it was the first received."
여기 비트코인 백서의 원문을 그대로 가져왔습니다. 번역하면
"우리는 전자 코인을 디지털 서명 체인으로 정의합니다. 각 소유자는 이전 트랜잭션의 해시와 다음 소유자의 공개 키에 디지털 서명하여 코인을 다음 소유자에게 이전합니다. 그리고 동전 끝에 이것들을 추가한다. 수취인은 서명 확인을 통해 소유권 체인을 확인할 수 있습니다.
물론 문제는 수취인이 주인 중 한 명이 동전을 이중으로 쓰지 않았다는 것을 확인할 수 없다는 것이다. 일반적인 해결책은 이중 지출을 위해 모든 거래를 확인하는 신뢰할 수 있는 중앙 기관, 즉 조폐국을 도입하는 것이다. 거래가 끝날 때마다 새 동전을 발행하려면 조폐국에 반환해야 하며, 조폐국에서 직접 발행되는 동전만 이중으로 사용되지 않도록 신뢰한다. 이 해결책의 문제는 모든 거래가 은행처럼 조폐국을 운영하는 회사에 달려 있다는 것이다.
수취인이 이전 주인들이 어떠한 이전 거래도 하지 않았다는 것을 알 수 있는 방법이 필요합니다. 우리의 목적상 가장 빠른 거래는 중요한 거래이기 때문에, 우리는 나중에 이중으로 지출하는 시도에 신경 쓰지 않습니다. 거래가 없음을 확인하는 유일한 방법은 모든 거래를 인지하는 것이다. 조폐국 기반 모형에서 조폐국은 모든 거래를 알고 있었고 어떤 것이 먼저 도착하는지 결정했다. 신뢰할 수 있는 당사자 없이 이를 달성하려면 트랜잭션을 공개적으로 발표해야 하며[1], 참가자가 해당 트랜잭션을 수신한 순서에 대한 단일 이력에 합의할 수 있는 시스템이 필요합니다. 수취인은 각 거래의 시점에 노드 대다수가 최초 수취인이라는 데 동의했다는 증거가 필요하다."
번역해도 무슨 말인지 알아먹지를 못하겠습니다. 빨간색, 파란색, 회색 3가지 부분으로 나누어서 설명드릴게요.
우리는 전자 코인을 디지털 서명 체인으로 정의합니다. 각 소유자는 이전 트랜잭션의 해시와 다음 소유자의 공개 키에 디지털 서명하여 코인을 다음 소유자에게 이전합니다. 그리고 동전 끝에 이것들을 추가한다. 수취인은 서명 확인을 통해 소유권 체인을 확인할 수 있습니다.
여기서 '전자 코인'은 그냥 코인을 의미합니다. '디지털 서명'은 전자서명으로 바꿀게요. '트랜잭션'은 거래로, '해시'는 기록으로 바꿉니다. '공개키'는 계좌번호로 바꿔볼게요. 그리고 몇가지 의역을 하면 말이 쉽게 바뀝니다.
우리는 코인을 "전자서명으로 이루어지는 물건"이라고 말할게요. 이 물건의 소유자는 이전에 이루어졌던 거래기록들로 자신의 잔고를 확인할 수 있습니다. 나한테 물건이 보내진 기록들을 다 보면, 내가 이 물건을 몇 개 가졌는지를 확인할 수 있는 것이죠. 이 거래기록들과 다른 사람의 계좌번호를 이용해서 전자서명을 하면 다른 사람에게 넘어갑니다. 그리고 이러한 전달을 따로 기록해둡니다. 물건을 받는 사람은 물건을 준 사람의 전자서명을 보고 자신에게 물건이 넘어온 것을 확인할 수 있습니다.
물론 문제는 수취인이 주인 중 한 명이 동전을 이중으로 쓰지 않았다는 것을 확인할 수 없다는 것이다. 일반적인 해결책은 이중 지출을 위해 모든 거래를 확인하는 신뢰할 수 있는 중앙 기관, 즉 조폐국을 도입하는 것이다. 거래가 끝날 때마다 새 동전을 발행하려면 조폐국에 반환해야 하며, 조폐국에서 직접 발행되는 동전만 이중으로 사용되지 않도록 신뢰한다. 이 해결책의 문제는 모든 거래가 은행처럼 조폐국을 운영하는 회사에 달려 있다는 것이다.
이 말은 어려운 단어가 없으니 바로 쉽게 풀어서 써볼게요.
이 시스템의 문제점은 물건을 건네준 사람이 이 물건을 나에게만 주었는지, 혹은 나 말고 다른 사람에게도 주었는지(물건은 1개인데, 다른 두 사람에게 각각 준다고 서명했는지) 알 수가 없다는 것이다. 보통은 믿을 수 있는 은행같은 기관(조폐국)을 중재자로 넣는 것이다. 이체가 끝나면 그 금액만큼 내 통장에서 빠져나가며, 통장에 적혀있는 금액은 은행이 사기치지 않는다고 믿는다. 이런 믿고 안 믿고의 문제는 은행의 신뢰도에 달려 있는 것이다.
수취인이 이전 주인들이 어떠한 이전 거래도 하지 않았다는 것을 알 수 있는 방법이 필요합니다. 우리의 목적상 가장 빠른 거래는 중요한 거래이기 때문에, 우리는 나중에 이중으로 지출하는 시도에 신경 쓰지 않습니다. 거래가 없음을 확인하는 유일한 방법은 모든 거래를 인지하는 것이다. 조폐국 기반 모형에서 조폐국은 모든 거래를 알고 있었고 어떤 것이 먼저 도착하는지 결정했다. 신뢰할 수 있는 당사자 없이 이를 달성하려면 트랜잭션을 공개적으로 발표해야 하며[1], 참가자가 해당 트랜잭션을 수신한 순서에 대한 단일 이력에 합의할 수 있는 시스템이 필요합니다. 수취인은 각 거래의 시점에 노드 대다수가 최초 수취인이라는 데 동의했다는 증거가 필요하다.
물건을 받는 사람은 이 물건이 다른사람과 이미 계약된 물건이 아니라는 것을 확인할 방법이 필요합니다. 우리는 , 나와 먼저 계약했다면 뒤에 다른 계약을 하든 신경쓸 필요가 없습니다. 먼저 나랑 계약을 먼저 했다면 우선권은 나에게 있기 때문이죠. 우리가 이것을 알기 위해서는 세상의 모든 계약을 알아야 하는데 이는 은행이 있을 경우는 가능하다. 은행이 없으려면 세상의 모든 거래내역(전자서명 기록)을 공개해두어야 한다. 그리고 먼저 계약한 것만 인정받는 시스템이 필요합니다. 물건 거래를 할 때 해당 거래가 첫번째 거래라는 것을 다른 사람들도 인정해야하고, 그 인정했다는 것을 알 수 있는 방법(증거)이 필요하다.
오늘 역시 제 긴 글을 읽어주셔서 너무너무 감사합니다. 혹시 제 글이 마음에 드셨다면 아래 구독하기 그리고 하트 눌러주세요~! 또 제가 작성했던 글들도 달아드리니 관심 있으시면 읽어주세요~!
아래 전자책은 그동안 제가 코인에 대해 공부한 핵심 내용을 정리해 둔 책이니 많은 관심 부탁드릴게요~!
nft 뜻은? 제발 쉽게 설명 좀~ (14) | 2021.11.25 |
---|---|
플레이댑 코인(PLA) 한국 최초 코인베이스 입성, 바이낸스까지 (7) | 2021.11.24 |
비트코인 백서(White Paper)란? 살펴보기 -1 (4) | 2021.11.22 |
디센트럴랜드(MANA)코인 분석 및 전망 (13) | 2021.11.21 |
NFT 코인 종류 정리 (35) | 2021.11.20 |
댓글 영역