비트코인과 싸이월드 도토리가 다른게 뭔가요?

비트코인과 싸이월드 도토리가 다른게 뭔가요?

운영자 0 03.15 09:48

[한때 대한민국의 강타했던 싸이월드 열풍]


img.pngㄴ ㅏ 는 ㄱ ㅏ 끔.. 눈물을 흘린다 ★  수많은 흑역사를 배출해낸 싸이월드


안녕하세요. 고드락의 가상화폐 연구소 입니다.


한때 과거 대한민국에서는 싸이월드 열풍이 불었던적이 있습니다.


친구끼리 일촌이라는 관계를 맺고 

(요즘으로 치면 맞팔 정도겠네요)


서로 일촌평도 남기고 방명록에 가서 쓸데없는 하루 인사도 하고


참 유행했었습니다.


2000년 중반정도가 가장 호황이었떤것 같은데


당시 얼짱 스타들도 여기서 많이 배출됐고 사람들은 


도토리라는것을 싸이월드로부터 구매해서 그걸로 미니홈피도 꾸미고


음악도 달고 친구한테 선물도 보내고 이것저것 마니 사용했던것 같아요.


어떻게 보면 페이스북보다 더 먼저 나온 훌륭한 SNS 플랫폼인데 지금은


완전히 역사의 뒤안길로 사라졌다는게 씁씁합니다.



여튼 이런 시시콜콜한 이야기를 하려고 한게 아니라 


가상화폐, 암호화폐, 비트코인등이 화제로 떠오르자 


과거 싸이월드 시절을 살았던 사람들은 이런 의문을 가지게 되었습니다.


img.png당시 1개 100원에 팔았던 싸이월드 도토리...


"아니. 이게 싸이월드 도토리랑 다른게 뭐야? 운영자가 마음대로 찍어낼수 있는거 아니야?"


"이딴거를 왜 돈을 주고사? 차라리 싸이월드 도토리는 싸이월드에서 보증이라도 해주지 비트코인은 누가 보증해줘?"


둘다 어떻게 보면 네트워크에서 발행된 가상화폐인점 에서는


비슷하지만 사실은 완전히 다릅니다. 


 

[컴퓨터의 개념중 전달 이라는것은 존재하지 않는다]


우리는 흔히 컴퓨터를 하면서 사진을 보내고 문서파일을 전달하곤 합니다.

근데 정말로 컴퓨터 개념중 전달이라는 개념이 존재할까요?

아닙니다. 


컴퓨터에서는 복제라는 개념은 존재하지만 전달이라는 개념은 존재하지 않습니다.
 

사실은 원본 파일의 1과 0으로 이루어진


원본파일 비트들의 순서(설계도)들을


인터넷 네트워크를 통해서 상대방에게 보내고


상대방은 받았던 순서 그대로 본인의


하드디스크의 자유공간(free섹터)에 새로운 파일의 내용을 만드는 것입니다.



다시말하면 파일을 보낸다라기 보다는 내 컴퓨터에 들어있는 파일의 설계도를(0과 1)


상대방 pc 또는 스마트폰에게 알려주고 상대방은 그 설계도대로 


파일을 만드는것뿐입니다. 


동영상도 마찬가지고 음악도 마찬가지고 컴퓨터 파일로 존재하는 모든것이 마찬가지입니다.


컴퓨터의 하드디스크는 0과1로만 이루어져 있기 때문에 이 순서만 알려주면


어떤 파일도 복제할수가 있습니다.  


img.png


"아닌데요? 윈도우10에서 파일을 다른 폴더로 드래그하면 복사가 아니라 이동이 되는데요?" 



라고 반문하실수도 있겠지만 


A폴더에서 B폴더로 파일을 이동시키는것은 


정말로 파일이 이동 되는것이 아니라

A폴더에 있는 파일의 내용(0과 1의 순서)을


B폴더의 빈공간에 새롭게 작성하고 


기존 A폴더에 있는 원본파일을 삭제시키는것입니다. 
(사실 이것도 진짜로 삭제하는것도 아닙니다.

원본파일을 탐색기에서 볼수 없도록 숨기는것 뿐이며 실제원본파일의 내용은 남아있습니다.

그렇기 때문에 복구업체에서 삭제 파일을 복구가 가능한것입니다. .)


'그거랑 그거랑 뭐가 달라? 그게 이동 아니야?' 

img.png


달라달라, 명백히 다릅니다.

컴퓨터 개념에서는 그 어떤것을 복사, 이동한다고 해도 원본이 남아있게 됩니다. 

친구에게 내 사진을 보내준다고 해서 그 사진이 내 컴퓨터에서 지워지나요?



즉, 컴퓨터 파일은 빈공간에 새로운 파일을 작성하는 reWrite의 개념밖에 없습니다.


추후복구가 불가능하게 파일을 완전삭제 한다고 해도


기존파일이 차지하고 있던 공간(블록)에 그냥 0을 쭉 도배(reWrite)를 하는것입니다. 




다시 정리하면, 


컴퓨터는 하드디스크의 블록(공간)에 0과 1의 비트를 reWrite 하는것밖에 못합니다. 




파일생성,변경 = 하드디스크 사용가능공간에 파일내용에 따라 0과 1로 rewrite


파일복제 = 하드디스크 사용가능공간에 원본파일과 똑같은 구조로 0과 1로 rewrite


파일삭제 = 하드디스크 원본파일공간 전체를 0으로 rewrite




 

[싸이월드에서의 도토리 이체]


다시 싸이월드로 돌아와서 


만약 제가 싸이월드에 1만원을 내고 도토리를 100개 산다고 하면 


그냥 위와 같은 과정을 거쳐 싸이월드 본사 DB의 제계정의 도토리잔고 컬럼에


도토리 수량은 0개에서 100개라는 데이터가 reWrite 되는것 뿐입니다. 



제가 가지고 있는도토리 50개를 친구에게 보낸다면?


똑같습니다.


제 계정 도토리 잔고컬럼에는 기존 100개였던것을 50개로 reWrite 하고 


친구 계정 도토리 잔고컬럼에는 기존도토리에 50개를 더한 수치만큼을 reWrite 하는 것입니다.





좀 충격적인걸수도 있는것이 현재 금융시스템도 위와 똑같은 


방식으로 운영되고 있습니다.(DB는 오라클을 사용)


atm기를 통해 친구에게 돈을 보내면 위와같은 프로세스 대로 그저 


은행 원장의 잔고 컬럼에 잔액이 reWrite 되는 겁니다. 

(참고로 저는 과거 금융권 본사 전산팀에서 5년간 근무경력이 있습니다.)



 

[그럼 도대체 블록체인은 뭐가 다른데?]


블록체인의 개념에서는 reWrite 라는것을 하지 않습니다.


블록체인은 무조건 새로운 내용을 insert 하기만 합니다.


무엇을 insert 할까요? 


바로 거래내역입니다.


어디에?


전세계에 분산되어 있는 비트코인 채굴기 컴퓨터의 하드디스크에 기록 합니다.



이와동시에 기존 컴퓨터 파일디스크 시스템에서 구현하기 어려웠던 


"전달"이라는 개념이 드디어 가능해지는 겁니다. 



이것은 진정한 의미에서 이체가 되는것이지요. 


비트코인의 계좌에 잔고라는 컬럼은 존재 하지 않습니다.


해당 계좌의 거래내역중


출금, 입금을 계산한 현재 금액만을 보여줄 뿐입니다. 



만약 제 A라는 비트코인 지갑에 10개의 비트코인이 있는데


또다른 지갑 B로 1개의 비트코인을 보냈다?



아마 현실세계의 은행이라면 하단의 4개 코드가 실행될 가능성이 높습니다.


1. 지갑 A에 잔고컬럼에 비트코인 1개 차감한 갯수만큼 update


2. 지갑 B에 잔고컬럼에 비트코인 1개 증가한 갯수만큼 update


3. 지갑 A거래 내역에 비트코인 1개 출금 거래내역 데이터 insert


4. 지갑 B거래 내역에 비트코인 1개 입금 거래내역 데이터 insert



하지만 비트코인은 다릅니다.


전세계에서 돌아가고 있는 비트코인 채굴기들의 하드디스크에 딱 한줄만 insert 되면 됩니다.


"지갑A에서 지갑B로 1비트코인 이동"



얼마나 효율적입니까?


또한 저렇게 한번 입력된 데이터는 절대로 수정이 불가능합니다.


위에 이미 설명했듯이 비트코인 블록체인 시스템은 update나 delete 개념은 없습니다.


오직 거래내역 데이터를 insert 할뿐입니다. 



그리고 이러한 기록방식에서 블록체인의 또다른 강점이 생겨납니다. 


그것은 바로 위조불가능한 "보안성" 입니다. 



 

[비트코인 해킹하기]


만약 해커가 위에서 한 지갑 A에서 B로 1비트코인이 이동한 내역을 삭제하고 싶다?


불가능합니다.



최소 전세계 채굴기 51퍼센트의 하드디스크를


같은날 같은 시간 같은 초 같은 밀리세컨드에 장악해서 


삭제명령을 내리면 가능할지도 모르겠습니다.


불가능에 가깝다라는 사실이 여러분들도 감이 오실꺼라 믿습니다.







 

[미래에 금융권은 블록체인을 쓸수 밖에 없는 이유]

만약 현실세계에서 옆에 앉은 친구에게 1만원을 현금으로 준다고 해보죠. 


프로세스


1. 내 지갑에서 1만원을 꺼내서 친구에게 준다.


2. 친구는 그 1만원을 받아서 본인 지갑에 넣는다.



자 1만원짜리 지폐 한장이 실제로 내지갑에서 친구지갑으로 이동이 되었습니다. 





만약 옆에 앉은 친구에게 은행뱅킹앱을 이용해서 1만원을 송금하면?


프로세스


1. 내 계좌 잔액에서 1만원 차감


2. 친구 계좌 잔액에서 1만원 증감 



똑같은거 같죠?


근데 똑같지 않습니다. 


현재의 금융시스템에서는 돈을 전달한것이 아니라


복사해서 준것이나 마찬가지 입니다. 


왜냐하면 저 1,2번 프로세스가 동시에 일어나지 않고


분명히 아주 약간이지만 둘사이의 시차가 발생하기 때문이죠.


내 계좌에서 1만원을 차감하고 친구 계좌에서 1만원이 증감되기까지 걸린시간이 


0.0000000001초라고 해도 그 시간동안은 현실세계에서 1만원은 사라진 상태인것입니다. 


만약 2번 프로세스부터 실행됐다면 그 짧은시간동안 1만원이 추가로 복사된 상태인것이죠.



사실상 너무 짧은시간이어서 평소에 절대 느낄수 없는것이지만 


이러한 문제들로 인해서 온라인게임에서는 아이템 복사, 돈복사등의 사태가 발생하기도 합니다.


게임상에서 아이템을 다른사람에게 전달하는 행위가


사실 이건 전달한게 아니라


상대방에게 아이템이 새로운 복사되어서 들어간거고


기존 전달자는 그후에 기존 아이템이 사라진것뿐입니다. 


프로그램 버그로 인해 1, 2번 프로세스중에


한개만 실행이 되고 나머지는 실행이 안될경우 심각한 문제가 발생하겠죠?

(아이템이 완전 사라지든 1개가 더 복사되든)



 

[친구에게 1만원 주는것을 현실 시스템으로 재현]


돌아와서 만약 현재 금융시스템으로 친구에게 1만원을 주는것을 재현해보면


1. 내 지갑을 꺼낸다.


2. 초능력을 부려서 지갑속에 만원짜리 한장을 지갑 밖으로 복사해낸다. 

(내지갑속에는 여전히 만원짜리가 들어있는 상태)


3. 친구가 빠르게 복사된 만원짜리를 본인 지갑에 넣는다.


4. 넣는거를 확인하자마자 초능력으로 내 지갑속에 원본 만원짜리를 없앤다.





마치 영화 크리스토퍼놀란 감독의 프레스티지에서 나오는 장면 같기도 합니다. 


img.png영화 프레스티지의 한 장면... 


조금 어이없을수도 있겠지만 논리상으로는 이렇게 진행이 되고 있는겁니다. 


그렇기 때문에 사실 중앙은행이나 금융권에서도


조작같은 행위가 일어나기는 힘들지만


관리자급에서 정말로 감옥갈 각오하고 한다면 못할것도 없는것입니다.




확률은 낮지만 마음만 먹으면 할수 있는것(현재 금융시스템)이랑


구조적으로 불가능한것(블록체인시스템)이랑은


아주 큰 차이가 있습니다.




사실 블록체인의 이러한 보안성과 투명성등을 인정하여


최근 금융권이나 민간 업체에서도 블록체인을 활용하려는 추세입니다.




여기까지 비트코인이 싸이월드 도토리 또는 아프리카 별풍선과 다른점에 대해서 알아봤습니다. 


감사합니다. 

Comments