본문 바로가기

책, 영화

블록체인 펼쳐보기 - 거래의 기록




만원을 내서 삼천원짜리 커피를 사면 원래 만원짜리 비트코인은 사라지고 카페에 삼천원짜리 비트코인이 새로 생긴다. 손님의 비트코인 지갑에는 만원어치 비트코인이 사라진 대신 칠천원짜리 비트코인이 새로 생긴다. 


현실세계의 화폐 흐름과는 다른 점인데, 사용된 비트코인은 폐기되고 다시 분기되어 2개가 새로 생긴다는 이야기다. 


 유일한 예외는 채굴에 의해 생기는 채굴보상금이다. 이것만이 무에서 새로운 코인이 생겨나는 경우다.


이것 외에는 주고 받는것이라는 이야기.


거래기록에는 내가 사용하는 비트코인이 과거 어느 거래를 통해 내게로 넘어왔는지, 상대방 목적지와 지불 금액, 거래가 일어난 후에 남은 잔액이 적히면 된다.


누가 누구에게 얼마를 보냈고, 잔액이 얼마인지가 기록된다. 


거래 과정에서 내 정체나 상대방의 정체는 필요 없다. 나는 오직 판매자로부터 지불해야 하는 목적지 정보를 받아서 코인을 지불하고 이 코인은 그 정보를 보내 준 판매자만 꺼내 쓸 수 있다. 


어느 사람에게 돈을 보낸다라는 개념이 없다. 그저 목적지 주소만 받아서 그 주소로 기록만 하면 그뿐. 이래서 비트코인의 익명성이 보장되나 보다. 


물건을 넣을 때 한쪽 키로 잠그면 꺼낼 때는 다른 키로 열어야 하는 상자를 생각하면 된다. 중요한 점은 넣을 때 잠근 키로는 꺼낼 수 없다는 것이다.


비대칭키 방식을 설명하는 문구이다. 자세한 원리는 모르겠지만, 어쨌거나 잠그는 키와 여는 키가 다르다는 원리만 이해하자. 


공인인증서와 인터넷에서 자주 보는 https로 시작하는 웹페이지도 모두 이 방식을 이요하여 보안을 제공하고 있다.


비대칭키 방식이 여러곳에서 활용되는구나...


나에게 메시지를 보내려는 사람은 나만 봐야 하는 비밀 메시지를 내 공개키로 암호화하여 나에게 보낸다. 그럼 나는 그 메시지를 내 개인키로 풀어야만 비밀 메시지를 볼 수 있다.


훌륭한 방식이군. 나에게만 보내고 싶다면 공개된 나의 공개키로 암호화하여 보내기만 하면 된다. 그럼 그걸 풀수 있는 사람은 나의 개인키를 소유하고 있는 즉, 나만 할 수 있게 되는 것이다. 


내 개인키를 써야 이런 암호문을 만들어 낼 수 있기 때문에 이 암호문을 만들 수 있는 사람은 나뿐이다. 개인키를 써서 암호화함으로써 이렇게 이걸 쓴 사람이 나라는 것을 증명할 수 있다.


즉 반대로 이용하면 내 신분을 증명하는데 비대칭키 방식을 활용할 수 있다는 이야기이다. 


비밀키를 공유한 사람만 비밀키를 알고 있도록 보장하기가 어렵다는 점이 비밀키 방식의 근본적 약점이다. 


대칭키 방식의 근본적 약점.


어떤 공개키에 코인이 얼마 지불됐다고 기록해두고 이 코인을 쓸 때 이 공개키와 한 쌍인 개인키로 서명한 사람만 쓸 수 있도록 하면 안전한 거래를 보장할 수 있다. 즉 공개키를 목적지 주소로 쓰고 개인키로 만든 디지털 서명을 소유의 증거로 이용하는 방식이다. 이것은 비트코인 거래기록의 핵심 아이디어다.


완벽히 이해되지는 않지만, 대충 이해는 된다. 공개키가 목적지 주소고 개인키로 본인 인증을 하는 것이다. 


한번도 사용되지 않은 코인을 UTXO 라고 한다.


Unspent Transaction Output


수수료는 이 거래가 블록에 포함돼 블록체인에 연결됐을 때 채굴보상금과 함께 채굴자에게 상금으로 지불된다. 


거래가 일어날때 수수료를 거래당사자가 자유롭게 지급한다. 왜냐? 그래야 유리하기 때문이다.


동일한 조건에게 거래 수수료가 있는 거래를 먼저 블록에 포함하면 채굴이 성공하여 블록체인에 쌓이게 됐을때 받는 수수료가 더 많을 것이다. 


같은 값이면 수수료가 높은 거래를 나의 블록에 포함시키는 이유.


Only I can change me life, no one can do it for me. – Carol Burnett