초등학생들도 이해할 수 있는 블록체인 합의(도전! 불가능은 없다)
안녕하세요. @yellowboy1010 입니다.
오늘은 블록체인 합의에 대해 다룰텐데요.
많은 분들이 합의의 중요성을 알면서도 용어 때문인지 어려워 하시는 것 같습니다.
그래서 이야기를 하나 만들어서 합의가 뭔지에 대해 대략 컨셉이라도 이해할 수 있도록 하려 합니다.
여기서 대상은 거의 초보자 분들을 대상으로 하니, 실제 비트코인 또는 다른 코인의 합의 과정 중 생략된 것이 있습니다.
원래 기초 수학에서 고등 수학으로 갈수록 우리가 알고 있는 것들 중 다른 것이 있는 법이죠.
이야기를 이해하면서 왜 합의를 하는 것인지, 합의란 대략 이런 것이라고 알게 되면 좋을 것 같습니다.
그럼 시작합니다.
<분산 은행의 시작>
때는 2300년. 북한 김정응과 중국 시징핑 일본 아벵은 중대한 결심을 내렸다. 기존에 독일 히틀러가 제공했던 금융 시스템을 더이상 이용하지 않기로 한 것이다. 독일 히틀러 은행은 전쟁 자금을 유치하기 위해 자기 마음대로 김정응 계좌와 시징핑 계좌를 조작해 자기 전쟁 계좌로 넣기 시작했다. 김정응, 시징핑, 아벵은 더이상 이런 독재 시스템을 이용할 수가 없었다. 대신, 자신들이 힘을 합쳐 동아시아 달러 시스템을 만들기로 했다. 이런 독재 정권에서 운영하는 시스템을 이용하지 않고, 동등한 관계에서 화폐를 발행하고, 저축하고, 이용할 수 있도록 시스템을 만들기로 했다.
->분산 시스템은 기존 중앙 시스템의 횡포로 부터 탄생
<합의의 필요성 제기>
초반에는 동아시아 달러를 '양심'에 맞춰 발행하고, 각 국에서 이용할 수 있도록 했다. 초반엔 정말 양심껏 시스템이 운영되는 것 같았다. 그런데... 김정응이 딴 맘을 품기 시작했다. 김정응은 이러한 시스템에 헛점을 발견하여, 남 몰래 동아시아 달러를 더 많이 만들어 핵무기를 더 만들 수 있을 것 같았다. 그래서 동아시아 달러를 마구 발행해서 이용하기로 했다. 시징핑과 아벵은 이러한 사실을 몰랐지만, 이상하게 동아시아 달러 가치가 매우 떨어지는 것을 느꼈다. 그래서 방북을 하여 김정응의 동태를 살펴보기로 했다.
그런데... 김정응은 시징핑과 아벵이 방문한 그 때 몰래 불장난을 하다가 걸렸다.
시징핑 : 아니, 김정응 동무 지금 이기 무슨 짓이오 ? 이 거대한 폭죽들은 어디서 났소 ?
김정응 : 고조... 저희 욘뵨에서는... 그게...
아벵 : 이런 갓나 새끼.. 날래 손가락 가져오라우...
손가락을 받는 대신 시징핑과 아벵은 '양심'에 기반한 시스템은 의미가 없는 것으로 느끼고, 모두가 동일한 장부를 공유하여, 조금 불편하더라도 남들이 쓰고 있는 돈이 제대로 발행된 돈이고, 조작되지 않았는 지 검증을 하기로 했다. 김정응은 손가락이 잘리지 않은 데 대해 안도감을 느끼고 그들의 말에 따르기로 했다.
합의의 개요는 이렇다. 각국에서 화폐를 발행하고, 그게 어디다 쓰였는지를 모두 모아 각자 우편으로 공유를 하자는 것이었다. 하루, 이틀이 지났다. 자국에서 일어나는 모든 거래들, 타국 거래들까지 모두 모아 검증을 한다는 것이 너무나도 힘들었다. 시징핑, 김정응, 아벵은 도무지 이러한 작업들을 왜 해야 하는 지 회의감이 들었다. 아무 대가도 없이 이렇게 고생만 하다가는 말라죽게 생겼다는 생각을 하게 됐다.
고민을 하다 이런 검증 작업을 하면 '보상'을 주는 것이 좋겠다는 결론을 갖게 됐다.
->분산 시스템은 보상이 있어야지 참여자들이 참가할 수 있음. 아무 대가 없이 자신의 재능을 기부하는 자는 찾기 어려움
<POW - Proof Of sWeat 땀의 증명의 탄생>
'보상'을 주는 아이디어는 좋아 보였다. 그런데 문제가 하나 발생했다. 평소 자기 떡도 자기 것, 남의 떡도 자기 것이라고 우겼던 아벵이 이 '보상'에 눈이 멀어 미친듯이 거래를 만들었다. 자기 친구 이또 히로부밍이랑 100 달러씩을 계속 주고 받은 다음 이 거래내역들을 증명하고, 보상을 받아가는 것이었다. 시징핑과 김정응은 너무 열이 받았다. 그래서 적절한 패널티를 부과해야겠다는 생각을 했다. 그래서 함부로 행동을 못 하게 제어를 해야했다. 아벵은 달리기를 쥐약먹는 것 보다 싫어했다. 그래서 시징핑과 김정응은 운동장을 뛰어 땀을 '100ml' 받아오고, 이것과 함께 검증할 장부를 제출하라고 했다. 아벵은 충격이었지만 잘못한 것이 있기에 그냥 따랐다. 땀 흘리는 정도가 달라서 어떨땐 운동장 10바퀴 정도 뛰면 '100ml'를 받을 수 있지만, 어떨 땐 20바퀴를 뛰어 겨우 '100ml'를 받았다. 그래도 아벵은 운동장 10바퀴 뛴 결과로 아무 보상을 받지 못하면 안되기에 이전보다 정직하게 움직였다.
이 시스템은 상당히 정착이 잘 됐다. 그래서 아벵과 시징핑과 김정응은 동아시아 달러 시스템을 다른 나라에도 전파하기로 했다. 푸팅과 마가렛도 참여하는 등 여러 나라의 사람들이 이 시스템에 들어와서 누구나 '100ml'의 땀을 먼저 흘리면 장부 검증에 대가로 보상을 받을 수 있었다.
그런데... 큰일이 났다.
스트리트 파이터의 혼다가 이 시스템에 들어온 것이었다.
->합의 과정은 보상과 패널티의 성격을 모두 가짐. 정직하게 행동하지 않으면 패널티를 받음. 마이닝은 물리력을 제공하는 패널티를 부여함. 단, 그 물리력은 어떠한 가치가 있는 것은 아님. 무의미한 연산 작용.
<POS, Proof Of Stake - 보증금 제도 실시>
혼다는 운동장 반바퀴만 뛰어도 폭포수 처럼 땀을 흘리는 능력을 갖고 있었다. 남들 10바퀴 뛰었을 때의 땀을 합한것보다 더 많았다. 당연히 보상은 혼다의 것이었다. 혼다는 이 뿐만이 아니다. 자기 형동생 주변 친구들을 모아 모든 보상을 싹쓸어갔다. 이 때문에 동아시아 달러 시스템을 더이상 이용하지 않겠다는 사람이 많았다. 푸팅도 탈퇴를 했다.
아벵과 시징핑, 김정응은 이래서는 안 되었다. 뭔가 다른 대안을 만들어야 했다. 한 명에게 보상이 다 치우치면 안 되고, 물리적인 능력의 차이가 이런 보상을 독점하면 안 된다고 생각했다. 그래서 패널티 방식을 바꿨다. 동아시아 달러를 보증금으로 내는 것이다. 그래서 장부를 잘못 만들면 자기가 낸 보증금을 깎고, 제대로 만들면 보증금을 준 사람들에게 이자를 지급하자는 아이디어 였다.
->POW의 보상이 특정 집단에게 집중되는 것을 보고 POS 방식으로 바꿈. 모든 사람들에게 보상의 혜택이 돌아감
<마윙의 등장>
POS로 바꾸면서 이 시스템이 좀더 합리적일 거라는 생각을 했다. 그런데, 문제가 생겼다. 마윙이라는 자가 갑자기 들어온 것이다. 마윙이라는 자는 동아시아 달러의 90%정도를 소유하고 있었다. 이를 보증금으로 넣었다. 그랬더니, 거의 모든 보상이 마윙에게로 돌아가게 된 것이다. 또다시 참여자들은 흔들리게 되었다.
->POS 방식도 고래의 등장으로 인해 합리적이지 못하다는 비판이 제기됨
<DPOS 체계 - 증인의 등장>
POS나 POW의 방식이 가진 공통점은 속도가 느리다는 점이다. 장부들을 모든 사람들이 검증해야 하니, 일일이 확인하는 데 너무 오래걸렸다. 시징핑과 김정응과 아벵은 좀더 효율적인 방법이 없을까 고민을 했다. 그래서 세계에서 제일 똑똑한 뤠리 페이지, 마커 주커버그, 스티븡 잡스, 송정의 등 믿을만한 사람들만 장부를 확인하면 모두가 동의한 걸로 하는 시스템을 만들었다. 그래서 자기가 좋아하는 인물들에게 보증금을 걸면 그에 비례해서 보상을 받게 되는 것이다. 이 시스템도 매우 좋아 보였다. 일단 무지 빨랐다.
그런데 문제가 또 생기고 말았다 . . . 돈이 고픈 IS 집단들이 이 소수의 사람들을 납치해 버린 것이다. 몇 사람 되지도 않은 사람인지라 금방 납치를 해버렸다. 시스템은 마비가 되었다.
시징핑과 아벵과 김정응은 도대체 어떤 방식으로 시스템을 운영해야 할지 난감했다.
어떻게 잘 이해가 되셨는지는 모르겠네요 ㅎㅎ
다만, 합의라는 것도요. 거래 검증, 보상, 패널티의 성격을 포함하는 것입니다.
기존 중앙 기관에서는 제재할 수 있는 권한이 중앙에 집권해 있는데,
수평적인 관계에서는 아무렇게나 행동하는 참여자에게 제재를 할 수 없잖아요.
그래서 모두가 동의하는 패널티를 부여하는 것입니다.
POW는 연산작용 때발생하는 전기료, POS는 보증금 이런 방식인거죠.
그래서 합의가 무조건 보상을 위한 것이라고만 생각하면 안 됩니다. 그럼 보상과 패널티는 함께 가야합니다.
또한, 빠르다고 해서 무조건 좋은 것이 아니라 집중 공격을 받을 수 있는 여지가 생깁니다.
비트코인은 전세계 6000개 넘는 노드가 있어서 몇 개가 죽더라도 계속 시스템은 유지되는데,
중앙에서 합의를 해버리면 시스템이 다운되어 버리죠. ㅎㅎ
세상에 완벽한 시스템은 없습니다. 어떤 것을 얻으면 어떤 것을 잃는 법이지요.
목적이 무엇인가에 따라 다르게 동작할 것입니다.
그래도 뭔가 어려운 것들이 좀 있는 것 같은데, 그건 차차 또 설명드리겠습니다.
또, 이 글이 완벽한 게 아니니 좀더 전문적인 내용의 글도 찾아보면 좋을 것 같습니다!
궁금하신 것 있으시면 댓글 달아주세요 ~^^
오늘도 좋은하루되세요!
평소 약간의 이해로 버티고 있었는데
오늘 옐로보이님 덕분에 200%의 이해도로 습득할 수 있었습니다.
감사드리며
다음에 시간이 되시면 노드와 마노 그리고 이렇게 되는과정에 대해 알려주시면 더 큰 도움이 될 수 있을듯 함에 부탁드려봅니다~
오~ 도움이 되었다니 감사드립니다. ㅎㅎ (사실 오프라인 주변인들에게 어렵다는 애길 많이 들어서 ㅜㅜ)
네 당연히 노드에 대한 부분도 다뤄야죠. 제가 아무래도 스토리를 만들어 공유를 하는 중이라 시간은 며칠 걸릴 것 같습니다. ㅎㅎ (사실 이 글도 별 내용 없어 보여도 이틀은 꼬박 고민해서 만들어낸 것이라서 ...ㅜㅜ )
언제든지 궁금하신 것 있으시면 알려주세요~ 저야 글 쓸 소재 거리 찾고 더 좋습니다 ~^^
매번 이렇게 관심 가져 주셔서 감사합니다!!
좋은 글 감사합니다 굿모닝입니다 :)
감사합니다!ㅎㅎ 고민해서 써봤는데 좀 애매한 부분도 있는듯 하고...ㅎㅎ 좋은 하루 되세요!
저는 "때는 2300년. 북한 김정응과" 이부분이 있어서 미래에 대한 이야기인가 했는데...아직 저한테는 어려운 개념이지만 계속 보다보면 이해가 될듯 합니다. 아침부터 좋은글 감사합니다~ 정말 오래 쓰셨겠어요 ^^;;;
구상은 어제부터 했는데...ㅜㅜ 쉽게 쓰여지지가 않네요ㅎㅎ 뭔가 재밌는 요소들을 넣어보려고하는데 본질을 헤칠까봐걱정되고... 본질에 충실하자니 점점 어려워지고... 이해도 어렵고 설명도 어렵네요ㅜㅜ 이를 계기로 담엔 더 좋은 글을 써야죠!ㅎㅎ
오늘도 유익한 정보 감사합니다!!
읽어주셔서 감사합니다!!