블록체인이란 비트코인, 이더리움, 에이다 등등을 돌아가게 하는 기반입니다.
블록체인이 뭐냐?
블록들이 모여있는 체인입니다...;;
블록체인의 특징은 Append(더하기)만 가능합니다! 이 데이터베이스는 추가만 가능하고 삭제는 안됩니다.
편집도 안되고 오로지 추가만 가능합니다.
예를들어 대학교 학위의 블록체인이라고 가정했을 때 학위는 블록체인에 추가만 되고 절대 편집 또는 삭제가 되지 않습니다.
또한 정부는 국가자격증이나 지원금 사용 내역들을 기록할 수 있습니다. 어떤 계약서를 예를 들면 누구도 삭제할 수 없고 잘 보관할 수 있을 것입니다.
또한 블록체인은 '탈중앙화'(Decentralization)가 가능한데 특정 개인이 데이터베이스를 관리할 수 없다는 뜻입니다.
모두가 데이터베이스의 복제본을 가지고 있습니다. 그래서 내가 만약 3천만 비트코인을 갖고 있다고 사기를 치면 다들 데이터베이스 복제본을 가지고 있기 때문에 이 사기는 통할 수가 없습니다. 즉 이것은 분산된 데이터베이스인 것입니다.
그래서 크립토를 감시하거나 통제하기가 힘이 듭니다. 너무 많은 사람들이 비트코인 노드를 돌리고 있고, 우리 모두가 정확하게 동일한 데이터베이스 복제본을 갖고 있기 때문에 우리 모두가 컴퓨터를 몽땅 꺼야 비트코인이 죽을? 수 있습니다.
그런 일은 있을 수가 없습니다. 왜냐면 우리 모두가 동시에 그렇게 행동할 수가 없으니까요.(하지만 전 세계가 동시에 정전이 된다면..;;)
덕분에 크립토커런시들이 정부의 감시나 통제에 대응할 수 있는 것입니다.
어쨌든 바로 그 이유 덕분에 매력적인 데이터베이스입니다.
이번엔 '블록'에 대해 알아봅시다.
블록이 정보를 데이터베이스에 추가하는 방법은 데이터를 그냥 적어서 추가하는 것이 아니라 블록이라는 것으로 추가합니다.
비트코인의 경우 10분마다 '블록'이 생성되고 있습니다. 이 블록에는 중요한 정보들이 많은데 예를 들면 '블록 해시' '이전 블록 해시' 그리고 '데이터'입니다. 뭔 말이냐, 데이터는 블록체인이 무언가의 데이터베이스입니다. 예를 들면 운전면허증, 대학교 학위, 혼인 증명서 등등 '데이터'라고 말한 부분에 요 내용을 넣는 것입니다. 비트코인의 경우 그 데이터는 '트랜잭션(거래내역)'들입니다. 누가 얼마 갖고 있고, 누가 누구에게 얼마를 보냈고.. 등등 그 내용이 비트코인 '데이터' 부분에 저장되어 있는 것입니다.
그럼 '해시(hash)'는 뭘까요. 이건 수학 함수인데, 한개의 인풋을 받으면 아웃풋을 줍니다. 여기서 포인트는 이건 '일방향 함수'이고 '결정론적'이라는 것입니다. 결정론적이라는 것은 인풋 망고의 아웃풋은 항상 같은 것으로 정해져 있다는 것입니다. 망고주스 말이죠. 만약 인풋인 망고에 딸기를 섞는다면 아웃풋은 망고주스가 아니라 망고 딸기주스가 되겠지요. 일방향 함수는 아웃풋인 망고주스를 가지고 망고를 얻을 수는 없습니다. 한 방향으로만 진행하는 거지요. 망고를 믹서기에 갈면 망고주스가 나오지만 망고주스를 다시 믹서기에 넣는다고 해서 망고를 얻을 수 없으니까요. 즉 이렇게 망고주스 만드는 과정이 해시하는 거랑 비슷합니다. 둘 다 일방향 함수입니다.
이 내용들이 왜 중요할까요? 왜냐면 이것이 블록들이 서로 연결된 방법이고 이것이 블록의 '체인'을 만드는 것이니까요.
내가 만약 블록이고 비트코인 블록체인에 추가되고 싶다고 하면 첫째로 비트코인의 결제내역들을 모으면 됩니다. '데이터'부분이지요. 이렇게 데이터를 모아서 주머니에 넣었습니다. 이제 이전 블록의 '해시'가 필요한데 그것도 모아서 내 주머니에 넣었습니다. 이전 나의 데이터와 이전 블록의 해시를 합쳐서 다시 해시해야합니다.(해시포테이토를 떠올려보세요!) 요렇게 해시(다져 넣기)하면 드디어 나만의 해시가 생기는 것입니다. 바로 이렇게 하면 블록체인에 블록을 추가할 수가 있습니다.
말하자면 나에게 블록체인에 올리고 싶은 데이터와 이전 블록의 해시가 있는데 두 개를 가져와서 해시를 하면 나만의 해시가 생기는 것입니다. 그러면 블록체인에 합류할 수 있는 것입니다. 왜냐면 이전 블록의 해시를 가져와서 내 거랑 결합했으니까요. 당신도 블록체인에 추가되고 싶다면 내 블록 해시를 가져다가 당신의 데이터랑 같이 결합해야 합니다. 그러니까 블록체인이 되려면 모두 이전 해시랑 같이 결합을 해야 하는 것입니다. 바로 이와 같은 방법으로 체인이 결성되는 것입니다. 만약 나의 블록체인이 무려 천만 개의 블록을 갖고 있는데 누군가 1번 블록에서 1과 0을 바꾸면 또는 0과 1을 바꾸든 우리의 해시들도 몽땅 바뀐다는 뜻입니다. 위에서 설명했듯 아주 작은 인풋의 변화도 아웃풋은 정말 달라지니까요. 바로 이 방법으로 체인이 연결되고 덕분에 누구도 블록체인 변경을 할 수 없는 것입니다.
-계속-
'Tomorrow > NFT' 카테고리의 다른 글
NFT가 뭔지 알고싶을 때 보는 글, 가상자산, ERC-721, 대체불가능 (0) | 2021.11.04 |
---|---|
NFT를 내 지갑에 (0) | 2021.10.05 |
NFT, 쉽게 알려드림 (0) | 2021.10.02 |
NFT가 머꼬? 게임체인저? (NFT를 팔고싶다 3) (0) | 2021.09.29 |
비트코인 채굴? 그래픽카드는 왜? (NFT를 팔고싶다 2) (0) | 2021.09.27 |
댓글