[Xangle Digest]
※해당 컨텐츠는 2022년 12월 24일 외부에서 기발간 된 컨텐츠입니다. 컨텐츠에 대한 추가적인 주의사항은 본문 하단에서 확인해주세요.
작성자 : 이동규 (블록체인 밸리 2기), 김희지 (블록체인앳연세 9기), 이승아 (하이블록 1기), 고준호 (디사이퍼 8기), 박근영 (블록체인 밸리 1기), 윤태웅 (블록체인앳연세 8기)
목차
1. 실생활 속의 블록체인
2. 블록체인이란?
3. 암호화폐의 역사
4. 블록체인의 요소
5. 마무리
1. 실생활 속의 블록체인
방역패스 COOV앱에 블록체인 기술이 쓰였다고?
지난해 2월까지만 해도 코로나19 사태로 인해 식당이나 카페 등에 출입할 때 QR코드 인증은 자연스러운 일상이었는데요, 우리가 사용한 방역 패스 중 블록체인 기술을 활용한 앱이 있다는 거 아셨나요? 바로 COOV입니다!
COOV는 국내 블록체인 기업 블록체인랩스에서 전 세계 최초로 블록체인 및 분산신원인증(DID) 기술을 모두 적용한 코로나19 예방 접종 인증 시스템이에요. COOV는 DID를 통해서 접종 이력의 위변조를 불가능하게 하고 인증할 수 있도록 했고, 암호화를 통해 익명성까지 확보했어요.
내 붕붕이가 어디서 만들어졌는지 볼 수 있다고?
벤츠 공식 딜러인 한성자동차에서 2022년 7월 7일부터 인증 중고차 고객을 대상으로 NFT 제도를 도입했어요. 해당 NFT는 소비자가 구매한 인증 중고차의 디지털 보증서에 대한 소유권을 나타내는 용도로 사용되고 있어요. NFT는 소유권과 판매 이력 등의 관련 정보를 담고 있고, 이를 블록체인에 저장함으로써 판매자와 구매자 모두 투명하게 정보를 열람할 수 있다는 장점을 갖게 됩니다.
럭셔리 브랜드들 역시 블록체인 기술이 가져다주는 투명성의 중요성을 인지하고, 각 브랜드 자산의 고유성과 창의성을 인증할 수 있는 NFT 기술에 적극 투자하기 시작했어요. 대표적으로 글로벌 럭셔리 그룹 LVMH, 까르띠에, 프라다는 2019년 블록체인 컨소시엄 'AURA'를 공동으로 출범시키기도 했답니다!
COOV와 벤츠 NFT, 위 두 가지 예시에는 공통점이 있는데, 그것은 바로 블록체인 기술을 근간으로 만들어졌다는 것이에요. 우리 생활에 알게 모르게 녹아 있는 블록체인이 무엇인지 정확하게 짚어보아요!
2. 블록체인이란?
블록체인은 네트워크 참여자가 생산하는 정보 및 가치를 공동으로 기록하고 저장하는 분산화된 공개 장부 관리 기술이에요. 블록체인에 저장된 정보는 주로 ‘탈중앙성’과 ‘투명성’이라는 가치를 지니게 되는데, 이는 모두가 동일한 정보를 공동으로 저장하고, 이러한 정보를 모두가 공개적으로 접근할 수 있음을 의미합니다. 기존의 중앙화된 데이터 센터와 달리 공동으로 관리하는 만큼 함부로 데이터를 위조하는 것이 어렵겠죠? 게다가 블록체인 상에 저장되는 데이터는 일정 시간이 지난 후에 확정되며 완결성을 가지게 되는데, 완결된 데이터는 이후 수정이 불가하여 데이터의 안정성 또한 보장돼요.
블록체인을 만든 사람은 누구일까요?
사토시 나카모토?
정답은 바로, 컴퓨터 과학 박사 **스콧 스토르네타(Scott Stornetta)**와 물리학 박사 **스튜어트 하버(Stuart Haber)**입니다! ****그들은 종이 문서를 디지털 기록으로 전환하고 해당 기록의 진위를 증명하고 싶어 했는데요, 그래서 이 둘은 기록의 무결성과 불변성을 보장하기 위해 1991년, 블록체인을 발명하게 됐어요. 그들은 산타 바바라에서 열린 제 10회 연례 국제 암호 회의인 ‘Crypto 1990’에서 솔루션을 발표했고, 1년 만에 현재 블록체인이라고 불리는 알고리즘을 개발했어요. 그리고 그들의 논문은 2009년 비트코인 백서에 직접 인용되기도 했다는 사실!
3. 암호화폐의 역사
암호화폐가 나오게 된 배경을 이해하려면, 먼저 사이퍼펑크(Cypherpunk)에 대해 알아야 해요. 사이퍼펑크란 다국적 기업과 정부 권력의 대규모 감시와 검열에 맞서 정보의 자유로운 흐름을 지키기 위해 강력한 암호 기술이 필요하다고 강력하게 주장한 사회운동가 세력이에요. 사이퍼펑크는 운동을 펼치며 중앙집권화된 국가와 기업이 개인의 사적인 정보에 접근하지 못하도록 암호 체계를 개발하고 사용해야 한다고 주장하며 여러 암호화폐와 전자 화폐 시스템을 제안했어요. 이들의 신념에 영향을 받은 컴퓨터 과학자 및 암호학자들은 정부나 중앙은행과 같은 중앙 관리체계에서 벗어난 분산 환경에서 거래될 수 있는 디지털 화폐에 대한 연구를 시작하게 됐어요.
1994년에는 데이빗 차움(David Chaum)이 세계 최초의 상업적 암호화폐 ‘ecash’ 만들었고, 1997년에는 아담 백(Adam Back)이 익명성을 보장하고 이중지불을 방지할 수 있는 ‘Hashcash’라는 암호화폐를 만들었어요. 1998년, 웨이 다이(Wei Dai)가 익명성과 분산된 전자 현금 시스템을 위한 ‘B-money’를, 그리고 같은 해 Nick Szabo는 스마트 계약 기반의 암호화폐인 bit gold를 고안했지만 당시의 기술적 한계로 인해 실제 개발이 어려웠으며, 널리 사용되지도 못했어요.
위에서 언급한 전자화폐들과 비슷하게 비트코인은 암호 기술을 활용하여 검열에 맞서기 위한 시도로 탄생했어요.
비트코인의 탄생
개개인에게 금융 자주권을 주기 위해 등장한 비트코인
1938년 대공황이후 1990년대 미국 정부가 경기부양 및 주택 공급을 위해 은행 채권을 보증하면서 모기지(주택담보대출)가 확대되었어요. 2000년대에는 초반 저금리 정책에 따라 서브 프라임 등급의 대출 수요가 증가했고, 부동산 버블이 발생했죠. 이에 금융회사들이 뛰어들어 MBS, CDO, CDS 등 파생상품을 만들어 금융버블을 만들었어요. 2004년 FRB(미국 연방준비제도이사회)의 정책금리 인상으로 대부분의 금융기관이 파산 위기에 처하는 서브 프라임 모기지 사태가 발생했답니다. 2008년 미국의 투자은행 리먼브러더스가 파산하면서 글로벌 금융위기가 시작되었고, 정부는 위기를 극복하기 위해 구제금융과 양적 완화 정책을 실시했고, 납세자들의 세금은 이 기업들을 구제하는 데에 사용되었어요. 다만 일부 국민들은 금융위기의 원인이었던 기업들을 구제함과 동시에 본인들은 심각한 인플레이션과 자산 가격의 상승으로 인한 빈부격차 및 실업 문제 등을 겪어야 한다는 점에 불만을 가지게 되었죠. 이런 불만은 그 당시 법정화폐 시스템과 미국 달러화가 기축통화로 기능하는 국제 금융 시스템에 대한 회의로 이어지게 되었어요.
혼란스러운 기조 속에 중앙화된 금융 시스템의 문제점을 해결할 수 있는 탈중앙화된 디지털 결제 시스템이자 암호화폐, 비트코인이 등장했어요! 비트코인은 2009년 1월 Satoshi Nakamoto라는 가명의 개발자에 의해 개발되었으며, 비트코인은 중개자 없이 사용자 간의 직접적인 교환이 이루어지는 P2P(Peer to peer)형식의 분산원장 시스템이에요. 비트코인은 블록체인 분산원장을 통해 채굴되고, 거래 내역을 모든 노드에 분산하여 기록하기 때문에 위·변조가 사실상 불가능해요. 비트코인 블록체인으로 개개인은 화폐를 발행하고 자산을 온전히 소유하고 통제할 수 있으며 중개자를 거치지 않고 안전한 거래를 할 수 있다는 점이 특징이에요!
4. 블록체인의 요소
노드(node)란?
블록체인 상의 거래, 즉 정보 공유는 전세계에 분포된 노드들을 통해 이루어져요. 여기서 노드는 간단히 말해서 네트워크에 연결된 컴퓨터(기기)라고 생각해주세요.
각 컴퓨터는 거래 내역의 복사본을 저장하고, 거래가 발생하면 이를 토대로 거래 내용을 검토하고 승인하게 돼요. 거래가 체결 된 후에는 거래 내역에 대한 메시지를 다른 컴퓨터들에게 전달하고, 메시지를 전달 받은 컴퓨터는 이를 저장하고 다음에 자신이 거래를 검토할 때 사용해요. 이러한 방식을 통해 네트워크에 참여하는 컴퓨터들은 모든 거래 내역의 검토, 승인, 저장 과정에 참여하게 되는 거죠.
분산 네트워크
이렇게 전세계의 수많은 노드가 기여하기 때문에 블록체인은 분산원장 역할을 할 수 있게 돼요. 분산원장은 쉽게 말해 가족 모두가 검사하는 가계부라고 할 수 있어요! 가계부를 쓸 때 가족 모두가 보는 앞에서 쓴다면 지출 내역을 거짓으로 적을 수 없는 것처럼, 블록체인의 분산원장 또한 수많은 노드들이 함께 참여하기 때문에 현실적으로 변조나 사기 행위를 하기 힘든 구조에요. 실제로 위 특징이 갖는 중요성은 현대 금융 시스템에서 더욱 부각되고 있고, 또 그만큼 블록체인 기술도 많은 주목을 받고 있답니다! (노드와 분산원장기술에 대해 간단하게 알아보았는데요, 이후 글에서 더 자세하게 다루도록 할게요)
합의 알고리즘
무엇인지?
앞서 설명했듯이 블록체인 네트워크는 트랜잭션을 검증 및 관리해줄 중개자 없이 노드들이 네트워크에서 발생하는 트랜잭션을 검토하고 승인하는 방식으로 돌아갑니다. 그러나 노드들끼리 담합해 검증 방식을 조작하면 본인들의 이득을 취하면서 네트워크의 무결성을 헤칠 수도 있어요.
특히나 서로 신뢰관계가 없고 이들의 검증 절차를 관장하는 존재도 없는 상황이라면 악의적으로 이득을 취하기 더 쉬운 상황이 돼요. 그래서 위와 같은 상황을 방지하고 네트워크 참여자들이 시스템에 따라 통일된 의사결정을 내리게 하는 것이 바로 “합의 알고리즘”이랍니다!
이더리움, 코스모스 등 많은 블록체인 네트워크들은 각기 상황과 수요에 따라 다른 합의 알고리즘을 적용했으며, 그 중 비트코인 네트워크는 비잔틴 장애 허용(BFT, Byzantine Fault Tolerance) 시스템과 작업증명(PoW, Proof of Work) 합의 알고리즘을 통해 노드들이 네트워크 규율에 따르도록 환경을 구축했어요.
여기서 비잔틴 장애 허용이란 무엇이며, 작업증명은 어떤 원리로 돌아가는지에 대해 자세히 설명해보도록 할게요!
비잔틴 장애 허용이란?
BFT(비잔틴 장애 허용)란 시스템 내부에 장애가 있더라도 문제가 되는 부분이 전체의 3분의 1을 넘지 않는다면, 시스템이 정상 작동하도록 허용되어 있는 합의 구조를 의미해요.
계속해서 실시간으로 거래 정보가 갱신되는 블록체인 네트워크 특성상 여러 개의 노드(기기)가 동일한 장부를 유지하는 데에 정보의 누락이나 오입력 혹은 악의적인 공격을 피하기란 어려워요. 따라서 장부를 유지하는 노드 가운데 2/3 이상의 장부가 동일하다면 나머지 1/3의 장부가 일치하지 않더라도 2/3이 합의한 장부 내용을 공식적으로 인정한다는 개념이 바로 비잔틴 장애 허용이에요.
그러면 비트코인 네트워크는 어떻게 비잔틴 장애 허용 시스템을 구축했는지 **작업증명(PoW)**이란 개념을 통해 설명해보도록 할게요.
작업증명이란?
작업증명(PoW)이란 비트코인 네트워크에서 사용되는 합의 알고리즘으로, 풀기 어려운 문제를 가장 빨리 해결한 사람에게 블록을 생성할 수 있는 권한을 주고 그 보상으로 코인을 제공하는 방식을 의미해요. 여기서 어려운 문제란 고도의 수학능력을 요구하기 보다 1부터 1억까지 숫자 하나를 맞춰야 하는 문제에 가까우며, 이를 풀려고 하는 사람들을 ‘채굴자(Miner)’라고 불러요.
즉, 작업증명 방식에서는 비트코인 네트워크에서 코인을 송금하는 거래자와 채굴자로 네트워크 참여자들을 구분할 수 있는데요: 예를 들어, A가 B에게 10 BTC 송금을 하고 싶다면, 채굴자들이 성능 좋은 기계를 이용해 어려운 문제를 풀어 송금 내역을 검증한 후 블록에 거래 내역을 기록 및 봉쇄하며 거래가 성사되게 하고, A는 거래가 성공적으로 완료되게 도와준 채굴자들에게 수수료를 지급하게 되는 구조에요.
비트코인 네트워크는 작업증명 방식을 채택함으로써 네트워크 내 노드들은 거래를 승인하거나 검증하기 위해 많은 노력을 들여야 해요. 이러한 과정에서 해커(악의적인 노드)가 데이터를 위조하거나 변경시키고 싶어도 거래 정보가 포함된 블록부터 그 이후의 모든 블록을 순서대로 채굴해야 하는, 사실상 해킹이 불가능한 환경을 구축하게 된 셈이에요. 또한, 시간과 노력을 투자해 코인을 캐냈음이 네트워크 참여자들에게 증명됨으로써 채굴해낸 코인 역시 최소한의 가치를 지니게 되겠죠.
물론 이러한 장점들만 보면 작업증명 방식이 효과적인 합의 알고리즘으로 비칠 수도 있지만, 극명한 단점 역시 존재해요. 모든 노드들이 하나의 블록을 생성하기 위해 많은 노력을 필요로 하기 때문에 블록 생성 속도 면에서는 매우 비효율적이에요. 게다가 채굴을 빠르게 해낼 수 있는 GPU, CPU와 같은 기계들은 엄청난 양의 전기를 소모하기 때문에 환경에 악영향을 끼친다는 점 또한 큰 단점이에요.
5. 마무리
이번 글을 통해 블록체인이란 무엇인지, 어떻게 탄생했는지, 블록체인은 어떻게 구성되고 운영되는지 간단하게 짚어봤습니다! 스콧 스토르네타와 스튜어트 하버에 의해 처음 등장하게 된 블록체인은 네트워크 참여자 모두가 데이터를 공동으로 저장하고 관리하는 분산형 기술이에요. 참여자들은 노드, 즉 컴퓨터와 같은 기기를 활용해 거래 내역을 검토하고 다른 기기들과 해당 정보를 공유하고 상호 검증하여 정보의 무결성을 보장해요. 혹시나 노드들끼리 담합해 악의적으로 정보를 조작할 것을 염두해 블록체인 네트워크는 합의 알고리즘을 적용하며, 비트코인 네트워크는 대표적으로 비잔틴 장애 허용(BFT)과 작업증명(PoW) 구조를 통해 노드들끼리 통일된 의사결정을 내리게 한답니다.
여기서 노드들끼리 저장하고 관리하는 거래 내역은 “A가 B한테 얼마를 보냈다”와 같은 단순한 내역에 불과할까요? 채굴자들은 블록 생성 권한을 얻기 위해 어려운 문제를 푼다고 했는데, 여기서 블록에는 어떤 내용들이 들어갈까요? 노드들끼리는 어떻게 정보를 전파하고 서로 정보를 검증할까요? 위에 대한 질문들에 답하기 위해서는 블록체인이 어떻게 돌아가는지에 대한 원리를 이해할 필요가 있어요. 블록체인의 원리에 대한 내용은 다음 글에서 확인할 수 있습니다!