ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 블록체인의 기술, 구조, 작동 메커니즘
    산업 - ICT and more 2022. 5. 10. 17:12

     

    블록체인(block chain)이란 정보를 블록이라는 단위로 암호화해 저장해 연결하는 저장기술이다. 은행에서와 같이 중앙집중형 서버에 기록을 보관하는 기존방식과 달리 네트워크 참여자 모두가 동일한 장부를 가지고 거래정보를 확인하고 검증과 합의과정을 거쳐 기록하고 공유하는 분산형 디지털 공개 장부이다. 그래서 공인된  3 거래 중재자 없이도 거래 기록의 무결성과 신뢰성을 확보해 당사자 간의 거래가 가능한 시스템이다. 이게 블록체인의 개념이다. 뭔지머리속에 그려지는가? 블록체인을 본질까지 제대로 이해하는 데는 이런 개념 정의만으로는 턱없이 부족하다. 하나씩 차근히 머리속에 그림을 그려보면서 전체를 파악해보자. 

    블록체인의 기술과 구조와, 작동 메커니즘

    어떤 기술을 이해하기 위해서는  기술을 구성하는 요소와 그것이 얽혀 있는 구조, 그리고 작동 메커니즘을 파악해야 한다. 이것이 머리속에 그려질   기술의 본질과 잠재력을 가늠할  있다.

    블록이란 무엇인가?    특정 시간  비트코인은  10  동안 거래된 내역과 관련 정보를 묶어 만든 파일이다. 블록에는 블록 크기, 담긴 거래의 , 거래정보, 버전, 직전 블록 암호(해시), 거래정보 암호(merkle root), 생성 시간(timestamp), 작업증명의 난이도, 작업증명을 해서 찾은 (nonce) 등이 담긴다. 

    블록은 어떻게 암호화할까?    블록에 담기는  거래정보는 암호해시함수(cryptographic hash function) 이용해 16진수 64자리 숫자로 암호화된다.[1](여건이 허락되면 검색창에서 ‘SHA-256 해시 생성기 검색해서 암호생성기 창에 직접 문자를 입력해보면 이해가 쉽다.) 암호해시함수는 역함수가존재하지 않는 단방향함수(one-way function)라하고 한다. 따라서 암호값으로부터 원본값을 역으로 찾아가는 해법이 존재하지 않는다.  자료의 아주조그마한 변화도 암호문에서는 완전히 다른 결과를 가지게끔 설계되어 있어 해시값으로는 원본 자료를 짐작 조차 하기 어렵다. 완전해독에는 2 256승의시간(사실상 무한대의 시간이다) 걸려 정보의 무결성을 보장해줄  있다.

    블록은 어떻게 연결되는가?    100번째 블록을 만들 때는 99번째 블록의 해시값도 함께 담아두기 때문에  블록이 연결되어 있다고 한다. 누군가 자신의거래가 담긴 100번째 블록의 거래정보를 조작하면 101번째 블록에 담겨있는 100번째 블록의 해시값과 차이가 난다. 그래서  100번째 블록 뒤에 연결된모든 블록을 새로 만들어야 한다. 타임머신을 타고 가서 과거의  사건을 바꾸면  시간 이후의 미래도 함께 바뀌는 것과 같다. 그래서 블록체인은 블록하나만 슬쩍 바꿔치기   없어 해킹이  어렵다. 

    분산장부(distributed ledger)    블록체인에서는 모든 네트워크 참여자(node라고 한다)들이 똑같은 장부를 저장한다. 엄밀히 말하면 분산이 아니라 중복저장이다. 장부의 변조나 왜곡을 막기 위해서다. 마치 조선왕조실록을 5부를 간행해서 5군데 사고에서 똑같은 실록을  부씩 보관한 것과 비슷하다. 어느 노드에서 장부가 업데이트 되면 다른 노드도 동기화되어 장부를 똑같이 업데이트한다. 암호화되어 장부에 조작이 없다는 것을 믿을  있으니 은행과 같은공신력 있는 중개기관 없이 장부를 믿고 개인간 직접 거래가 가능하다. 이것을 탈중앙화(decentralization)라고 한다. 

    블록체인은 어떤 과정을 거쳐 만들어질까  작업증명(PoW: Proof of Work) 합의 알고리즘    블록체인이 형성되는 과정은 크게 예비블록을 만들어 봉인하는 과정과  예비블록의 유효성을 검증해서  블록과 연결하는 과정으로 나눌  있다.  번째 단계는 하자가 없는,  이중지불[2] 위험이 없는 거래정보나 기록을 모아 유효한 개별 블록을 형성하는 채굴(Mining)’ 혹은 작업증명이라고 불리는 과정이다. 네트워크 참여자들 가운데 일부가 채굴자로 활동한다. 채굴은 만들고 있는 블록을 대표하는 해시값이 어떤 크기의  이하가 되는 어떤 (nonce) 찾는 것이다. 해시함수는 단방향함수이기 때문에 해법은 없다. 블록에 담겨야 하는 다른 정보들(이미 주어져 있다)에다 임의의 논스(nonce) 값을 대입해서 해시함수를 돌려보고 목표해시값의 조건과 비교한다. 조건을만족시킬 때까지 논스값을 변경하면서 해싱을 반복한다. 비트코인에서는 논스를 찾는데 평균 10 정도의 걸리도록 난이도를 매번 조정한다. 채굴자들은 수를 찾기 위해 경쟁하고 가장 먼저 찾는 채굴자가 블록을 형성하고  댓가로 코인을 받는다. 남들과 경쟁해서 가장 먼저 찾았다는 것은 한편으로는 블록을연결할 채굴자가 블록을 임의조작하는데 컴퓨팅 자원을 사용하지 않았다는 알리바이를 입증하는 역할도 한다. 이전에 탄생했다 실패한 다른 전자화폐와 비트코인이 다른 점이 작업증명이다[3].

    맥직넘버 논스를 찾아 블록을 봉인하면 블록이 유효한지 검증하고  블록과 연결하는 다음 단계로 넘어간다. 생성된 후보 블록은  노드에 전달된다.  노드는 블록에 담긴 정보가 자신이 가진 정보와 같은지, 논스값이 목표해시값의 조건을 만족하는지 확인해서  블록의 유효성을 검증한다. 50% 이상 참여자들의 동의를 거쳐 유효성이 확인되면 비로소 후보 블록은 이전 블록과 체인으로 연결되어 블록체인으로 완성된다. 이것이 블록체인의 합의 알고리즘이다. 

    스마트계약(Smart Contract)    블록체인에 스마트계약이 가능한 기술이 이더리움(Ethereum) 처음으로 탑재되면서 블록체인 2.0 탄생했다. 특정 거래 조건을 사전에 입력해두고  조건이 만족되면 계약 내용이 자동적으로, ‘무조건 실행되는 시스템이다. 돈을 넣으면(조건 충족) 물건이 나오는(계약 이행) 자판기와 비슷하다. 스마트계약은 프로그래밍 코드로 블록체인 위에 기록된다. 따라서 처음에 계약조건이 명시되면 누구도 바꿀  없다. 계약 조건에 의해거래가 자동으로 수행되므로 거래 당사자가 서로 믿지 못하는 경우에도 계약이 수행되도록 보장하게 해준다. 결제와 송금만 되던 암호화폐에 비즈니스가 꽃필  있는 ‘자동계약’이 더해진 것이다. 예를 들어, 건물 임대차계약을 스마트계약으로 만들  있다. 임대인이 프로그램 코드로 계약 조건을 설계하여 플랫폼에 공개하고 임차인이  조건에 따른 보증금과 월세를 암호화폐로 지불하면 자동적으로 임차인의 스마트폰으로 건물 열쇠가 발급되어 임차인이 즉시 건물을이용할  있게 되는 것이다. 이렇게 스마트계약에서는 중개인이 필요 없다. 

    이상의 내용들을 모두 종합해보면, 다음과 같은 블록체인의 본질과 잠재력 드러난다. 

      암호화 기술을 통해 익명성을 확보하고 정보를 온전하게 보존하는(무결성) 한편, 한번 기록된 정보를 되돌리지 못하게(비가역성) 만들었다. 데이터가새로운 자원이 되는 디지털경제 시대(Data is the new oil of the digital economy)에서 정보를 기록하고 관리해야 하는 공공기관이나 비지니스에서는 블록체인이 중요한 역할을  것이다.

      모든 거래 내용을  장부에 기록함으로써 디지털 파일의 무한 복제를 통한 이중지불문제를 원천적으로 차단할  있다. 나아가 파일에 고유 정보를 기록하고 암호화하면 디지털 파일에도 실물자산이 가지는 유일함의 가치를 창조할  있다. 

      분산컴퓨팅기술을 이용함으로써 탈중앙화와 정보의 민주화와 투명성 확보의 가능성을 열었다. 이는 사회구조와 조직구조, 의사결정구조에 변화를 야기할 가능성이 있다. 

      스마트계약을 통해 공신력 있는 중개기관의 개입을 필요성을 없애고 거래비용을 감소시키며, 사람을 배제하고 기계와 기계간(M2M) 거래를 만들  있다. 이는 중앙집권화된 상태에서 이루어지는 대부분의 현재 비지니스 구조에 변혁을 초래할 잠재성을 가진다. 

    비트코인을 넘어 진짜 블록체인으로

    비트코인으로 대표되는 블록체인 1세대는 화폐에 충실한 코인이 등장하여 지급수단 기능에 대한 검증을 시도하던 시기였다. 2세대 블록체인은 스마트계약을도입하면서 인터넷 위의 경제’ (Internet with Economy) 만들고 있다. 다양한 영역에서  사물, 그리고 수많은 주체들과 계약을 만들어서 자동화된 경제활동을   있게 되었다. 암호화폐의 시세에만 열광하던 시기를 지나 점차 블록체인의 본질이 가지는 가능성을 활용하는 진짜 블록체인으로 옮겨가고 있는모양세다. 여기에는 이더리움과 같은 블록체인 플랫폼과  위에서 작동하는 DApp(Decentralized Application: 탈중앙앱) 역할이 크다. 

    DApp 토큰(Token)[4]이라고 부르기도 하는데 이더리움이나 이오스(EOS) 같은 플랫폼화  블록체인 위에서 중앙서버 없이 P2P 방식으로 운영되는탈중앙앱을 말한다. 다른 블록체인에서 일종의 전세살이하는 앱이다. 애플 앱스토어나 구글 플레이 스토어에 앱이 있듯이 블록체인 이더리움이나 이오스에있는 앱이다. 그래서 블록체인 네트워크에  데이터가 분산 저장된다. NFT DeFi 서비스도 모두 DApp 포함된다. DApp 자체 토큰을 발행할  있어독자적인 토큰 생태계를 만드는 것도 가능하다. 이더리움이 국가라면 각각의 디앱은 작은 도시국가라고   있다. 시중에 나와있는 DApp 3000  정도 된다고 한다. 애플 앱스토어에 220 개가 넘는 앱이 존재하는데 비하면 아주 적은 숫자다. 하지만 애플이나 구글의 앱이 세상에 가져온 변화를 생각해보면 DApp 잠재력에 대해서도 기대를 안고있어야 한다. 

    크립토키티(CryptoKitties) 대표적인 DApp 성공사례로, 2017 12 액시엄 (Axiom Zen)이라는 개발사에서 출시한 게임이다. 개인이 키운 디지털고양이를 가상자산(암호화폐) 통해 사고파는 방식이다. ​출시한지 2주만에 150만명의 사용자와 1500만달러 규모의 거래를 달성해 가장 성공한 DApp 하나로 평가된다.  

    블록체인의 미래

    초기 인터넷은 메일 송수신 위한 인프라 역할만 했다. 블록체인 역시 초창기엔 비트코인과 같은 암호화폐시스템의 인프라 역할 하고 있지만 기술의 역사에서 경험한 것처럼 결국엔 NFT 같은  많은 쓰임새를 찾아 세상의 많은 부분을 바꾸게  가능성이 있다. 불록체인 플랫폼이 만들어지면서 NFT 같은 다양한 비즈니스가 블록체인 생태계 위에 태어날  있는 토양이 생겼다. 블록체인은 이제부터가 시작이다.



    [1] 보안을 뚫기 어렵다는 아이폰도 해시함수를 이용해 암호화한다.

    [2] 이중지불(double spending)이란 화폐 환경에서 동일한 금액을   지불할  있는 리스크를 말한다. , 잔액 100원을 가진 A B에게 100원을 보내고 잔액 100 파일을 복제해 C 에게도 100원을 보내는 것을 말한다. 무한 복제가 가능한 디지털 자산의 태생적 한계에서 발생한다. 그러나 하나의 장부에거래를 기록한다면 이중지불 문제를 방지할  있다. 

    [3] 작업증명은 엄청난 컴퓨팅 자원을 소모한다는 비난을 받고 있다. 그래서 후속으로 나온 블록체인은 지분증명(PoS: Proof of Stake)이나 Pratical Byzantine Fault Tolerance(PBFT) 같은 다른 방식들을 채택하고 있다. 

    [4] 블록체인에서 토큰은 어떠한 권익과 가치를 대변하는 것이다. 토큰이 대변 가능한 것은 일체의 권익 증명으로, 주주권, 판권, 투표권, 특허권과 같이 가치있는 모든 것을 대표할  있다. 쓰레기를 버릴 권리를 가진 종량제 쓰레봉투도 일종의 토큰으로   있다. 

Designed by Tistory.