- Published on
블록체인: 원리와 응용 (1)
- Author
- Name
- yceffort
Blockchain Technology: Principles and Applications
블록체인이 나타나기전에, 이중 지출을 막기 위해 신뢰도 있는 중앙서버가 있는 환경에서 사용되는 디지털 현금이 개념화 된 바 있다. 암호화가 향상되다 하더라도, 중앙 집중화, 익명성, 이중 지출 방지 등의 문제를 해결하지 못하면 새로운 혀태의 돈의 생존 가능성에는 의구심이 생길 수 밖에 없다. 30년 후, 비트코인은 중앙서버의 업무를 작업 증명에 기초한 합의 메커니즘으로 대체함으로써 세계적인 평판을 얻었다. 기존의 디지털 통화의 실험에 대한 참신함과 비트코인에 의해 허용되는 지불 시스템의 분산된 특성으로, 글로벌을 넘어 기업 지배구조, 사회제도, 민주적 참여 등에 이르는 새로운 시대를 열었다.
블록체인 기술의 입문
암호화 경제 (크립토 이코노미)
암호화 기술은 암호화를 활용하여 저장 또는 통신에서 중요한 정보를 보호할 수 있다. 처음에는 정보 보안 시스템을 위해 고안되었지만, 다른 용도에서도 널리 사용 중이다.
크립토 이코노미는 지리적 위치, 정치 구조 또는 법률 시스템에 의해 정의된 바 없지만, '신뢰할 수 있는 제3자를 사용하는 대신 행동을 제한하는 암호화 기술을 사용하는 경제시스템'(economic system, which is not defined by geographic location, political structure, or legal system, but which uses cryptographic techniques to constrain behaviour in place of using trusted third parties) 으로 정의내릴 수 있다. 경제의 새로운 하위 개념인 '크립토 이코노미'는 '분권화된 디지털 경제에서 재화외 서비스의 생산, 유통 및 소비를 교율하는 프로토콜" 로 정의 될 수 있다.
블록체인
블록체인은 공개키 암호화를 바탕으로 이중 지출 문제를 제거하여 각 에이전트의 프라이빗키와 다른 모든 에이전트와 공유되는 공개키가 할당된다. 거래는 디지털 화폐의 다음 소유자가 자신의 공개키를 원 소유자에게 보낼 때 시작된다. 화폐는 해쉬된 디지털 서명에 의해 전송된다. 여기서 공개 키는 블록체인에 저장된 암호화로 생성된 주소다. 모든 화폐는 주소와 관련이 있으며, 크립토 이코노미에서 거래는 단순히 한 주소에서 다른 주소로 화폐를 이동하는 것이다. 블록체인의 두드러진 특징은 공개키가 실제 신원과 연결되지 않는 다는 점이다. 거래는 추적가능하지만 신원을 밝히지 않고도 가능하다. 이것은 추적이 불가능한 현금 거래를 제외하고는 법적 성격을 가진 특정 경제 주체자 (물리/사법적)와 관련 이 있는 화폐통화 거래와 큰 차이가 있다.
지불의 최종성
지불의 최종성은 '자금 이전 및 취소할 수없고 무조건적인 이전에 의한 의무 이행' 이다. 명목화폐에서, 지불 최종성은 지불인, 수취인 및 중개자 역할을 하는 은행과 관련된 삼자 지불 구조내에서 은행돈과 관련하여 개념화된다. 여기에서 중개자란 암호화폐가 나타나기전까지는, 모든 지불에서 요구되는 신뢰할 수 있는 제 3자를 의미했다. 그러나 암호화폐는 신뢰할 수 있는 제 3자를 배제할 수 있는 프로토콜이다. 크립토 이코노미에서 지불 최종성에 부여되는 의미는 전통적인 은행 시스템과 다르다. 블록체인에 포함되면 거래가 최종적으로 이루어지므로 여기에서 동시에 검증 될 수 있다.
마이너와 컴퓨팅 문제 풀이
블록체인은 네트워크 참여자 (마이너)의 집합이 어려운 연산을 해결함으로써 연결되는 거래 기록의 사슬이다. 마이너들은 가장 효율적인 방법으로 수학적 문제를 해결하기 위해서 네트워크에서 치열하게 익명으로 경쟁하여 블록체인에 다음 블록을 추가한다. 블록보상은 마이너의 주소로 보내지며, 이 화폐를 쓰고 싶다면 마이너의 개인 키로 서명해야 한다. 시스템 전체의 채광력이 증가하면 블록 계산 난이도가 장그한다. 현재는 약 10분 에 한번꼴로 나올 수 있도록 일정하게 유지되고 있다. 초기에는 채굴이 주로 중앙/그래픽 처리 장치를 통해 개인용 PC에서 이루어졌지만, 복잡도가 증가함에 따라서 강력한 마이닝 기술을 요구하고 있다.
해시와 해시 함수
블록체인은 해시와 해시함수에 광범위하게 의존한다. 해시(출력)은 원래 정보(입력)을 변환한 결과다. 해시 함수는 입력을 취하여 출력으로 변환하는 수학적인 알고리즘이다. 암호화 해시 함수는 출력값을 입력값으로 바꾸는 것은 극단적으로 어려우며, 이를 다시 말하면 입력 값은 거의 하나의 단일한 출력값이다. 이를 충돌저항성이라고 부른다
지분 증명과 작업 증명
작업 증명은 비트코인 프로토콜 블록생성의 핵임이다. 새로운 블록을 허용하려면 암호화된 증명이 필요하다. 트랜잭션을 확인하고 작업 증명을 계산하기 위헤 비트코인이라는 이중 SHA256 해싱 알고리즘이라고 하는 암호화 해시 함수에 의존한다. 목표값이 낮을 수록 새로운 블록을 생성하는 것이 어려워지고, 시간이 많이 소모 된다. 블록이 유효하려면 현재 대상 보다 작은 값으로 해시해야 한다. 새로 생산된 각 블록은 작업을 수행하여 생성되었음을 인정한다.
지분증명은 특정 알트코인에 의해 만들어진 작업 증명의 대안이다. 마이너의 상대적인 해시 속도에 비례하여 블록을 분할하는 대신, 지분 증명은 현재 마이너의 지분에 비례하여 지분 블록을 분할한다. 이더리움의 개발자는 지분 증명이 작업증명보다 더 많은 장점을 가지고 있다고 주장한다.
블록체인 기술의 전체 적인 관점
비탈릭 부테린 (이더리움 최고 개발자)의 블록체인 정의
비탈릭 부테린은 블록체인에 대해 다음과 같이 정의하였다.
블록체인은 누구나 스스로 실행되는 프로그램을 자유롭게 업로드하고 내릴 수 있는 매직 컴퓨터이며, 현재와 이전의 프로그램의 모든 상태가 공개되어 있고, 체인상에서 컴퓨터 프로그램의 실행이 암호경제학적으로 강력하게 보안이 유지되며, 블록체인 프로토콜이 정의한 바 대로 정확하게 실행된다.
the blockchain is a magic computer that anyone can upload programs to and leave the programs to self-execute, where the current and all previous states of every program are always publicly visible, and which carries a very strong cryptoeconomically secured guarantee that programs running on the chain will continue to execute in exactly the way that the blockchain protocol specifies.
여기서 '매직 컴퓨터'라는 말은 논쟁의 여지가 있지만, '원장', '돈', '거래' 라는 언어를 언급하지 않음으로써 블록체인의 본질이 통화영역과 직접적으로 관련이 없다는 점을 지적한다. 그런 의미에서 블록체인은 토큰이 없는 상태로 존재할 수 있다.
블록체인이 통화가 아닌 여러 자산을 나타낼 수있도록 '데이터베이스 스키마'를 수정한다면, 해당 화폐를 완전히 없앨 수 있다. 이로 인해 어떤 종류의 자산에 대해서도 P2P 금융 애플리케이션에서 합의와 보안을 달성할 수 있는 블록체인을 만들어낼 수 있다.
그러나 이 개념은 모든 전문가가 동의하는 바는 아니다. 화폐는 보안 유지를 위한 네트워크 인센티브 매커니즈의 필수적인 요소라고 보는 이들도 있다.
부테린은 개념적인 정의를 특정 합의 알고리즘 또는 블록체인의 기술적 특성에 연결하지 않았다. 비트코인 알고리즘은 블록체인의 특징이 아니라, 블록체인을 응용한 프로그램에 불과하다. 부테린의 정의가 이전에 언급한 핵심 개념 중 '크립토 이코노미'와 '지불최종성' 이 특징이 아니라, 금전적 / 경제적 영역으로 확대된 블록체인 응용의 기본적인 특성이라는 점에서 눈여겨 볼만 한다.
프라이빗, 퍼블릭 블록체인
공공 분산 원장은 모든 인터넷 사용자가 접근할 수 있다. 공공이라는 특성은 체인에 어떤 블록이 추가되는지, 현재 상태가 무엇인지 결정하는 과정에서 모든 사람들이 자유롭고 무조건적으로 참여하는데 기인한다. 이러한 완전히 분산된 블록체인은 검증을 위한 합의 메커니즘에 달려 있다. 비트코인의 경우 가장 많은 증명으르 가진, 가장 긴 체인에서 기록이 가능하다.
프라이빗 블록체인은 허가가 필요한 원장에 해당되므로, 조직 프로세스를 통해 사용자를 정의 내릴 수 있다. 퍼블릭 과 다른 점이라고 한다면, 분산되거나 익명성을 보장하는 정도에 있다. 두 극단 사이에는 부분적으로 분산된 블록체인이 목적과 필요에 따라서 존재한다.
분산 공개 원장 플랫폼의 기능
전송, 수신, 가치 기록을 위한 프로토콜
비자와 같은 대부분의 지불 플랫폼은, 인터넷에 연결되어 있다하더라도 비자의 보안 통신 네트워크에 의존한다. 이는 중앙 집중식 특성을 가지고 있다는 것을 의미한다. 그러나 블록체인은 순수하게 인터넷 기반이고 비트코인의 블록체인은 분산되어 있다. 인터넷의 엄청난 네트워크 효과 덕분에 블록체인에서 분산의 수준은 단순히 가치를 전송하는 시스템에 비해 훨씬 크다.
인터넷 기반 가치 저장고: 동전 또는 토큰
암호화폐 블록체인은 공개 원장에 값을 보내고 수신하며 기록하는 프로토콜이다. 이러한 가치를 전달하는 컨테이너가 없이는 가치 전달이 불가능하라 것이다. 이것이 바로 경제학자들이 '돈'이라고 부르는 것이다.
돈을 사용한다는 것은 반드시 금속통화의 물리적인 존재 여부, 또는 금속물질의 가치 기준의 존재를 의미하지 않는다. 예를 들어 태평양 섬에서 화폐도구로 사용되는 직격 3.6미터 짜리의 라이라는 돌 동전과 블록체인의 원리를 비교해 보자. 돌은 비록 거대하지만, 그것이 중요하지는 않다. 중요한것은 동전의 합법적인 소유자가 누구인지에 대한 것을 정확한 순간에 결정할 수 있는 소유권 및 거래의 지속적인 기록이다. 오늘날 블록체인의 공개원장이나 데이터베이스는 단순히 암호화폐의 전송및 소유권을 매핑하는 현대적인 방법이다. 가치 컨테이너는 '동전'이라고 불리며, 이 동전의 목적은 지불 커뮤니티 구성원 간에 가치를 전달하는 것이다. 이러한 가치 컨테이너에는 또다른 화폐, 또는 금융상품이 포함될 수 있으며, 이는 가상화폐의 상태를 약화 시킨다. 엄밀히 말하자면, 가치 컨테이너 (토큰)과 통화는 동의어가 아니다.
협력적인 노력의 인센티브
비트코인의 생태계는 합리성, 자기 이익과 같은 주류 가정에서 출발한다. 암호화폐의 생존 가능성은 마이너들 사이에서 이타주의를 유지하는 것을 의미하며, 개인 및 체계적인 인센티브가 존재할 때 보장된다. 비트코인 생테계에서 분산된 공공 원장은 노동과 컴퓨터 처리시간에 집중되어 마이너들이 어떻게 보상받는지를 반영한다.
오픈소스 라이선스와 거버넌스 메커니즘
부테린이 강조한 핵심 기능은 공개 원장 통화 플랫폼 또는 토큰이 없는 블록체인 응용프로그램의 소프트웨어 변경을 허용하는 라이센스 모델이다. 표준 오픈 소스 라이센스는 사용자가 공동작업 방식으로 플랫폼을 수정할 수 있도록 하는 중요한 요소다.
오픈소스는 소프트웨어가 프로세스의 투명성의 힘을 얻을 수 있는 개발방법이다. open development method (ODM), 또는 community-led development는 이 새로운 협업 방식의 거버넌스를 설명하기 위해 만들어 졌으며, 주로 협업 및 사용자 커뮤니티에 중점을 둔다.
시스템의 불변성
불변성은 블록체인의 기술적인 특징이다. 전세계적으로 권위적인 중심이이 아닌 곳에서 진실을 선포할 수 있는 능력 덕분에 불변성 또는 변조에 대한 저항이 암호화폐에 내재적인 가치를 부여하는 것이다. 블록체인의 특정 개념은 완화될 수 있지만, 불변성은 그렇지 않다. 불변성이 암호화폐를 본질적으로 거래할 수 있는 가치를 만드는 것이라면, 이는 모든 것의 필수적인 가치가 되어야 한다.