블록 체인의 기본적인 구조의 의미정리
블록 체인에는 여러 종류가 있지만 기본적인 컨셉은 다음과 같은 것이 됩니다.
거래는 거래 정보를 이용자가 발신하는 것으로 시작
이용자는 거래 정보에 암호로 서명하고 그것을 네트워크에 유포
거래 정보는 동시에 분산 데이터베이스에도 보낸다
각 분산 데이터베이스는 받은 거래 정보를 자신의 데이터베이스에 글을 썼다
데이터베이스에 대한 거래 정보의 글은 분산 데이터베이스 간에 정합성이 지게 특정 합의 형성 원리로 진행되는(마이닝이라고도 불린다)
적힌 거래 정보는 과거 이력을 포함한 참조 가능하다(참조 권한은 설정 가능)
한편 블록 체인의 구조에 대한 기존의 중앙 관리형 데이터베이스는 다음과 같은 형태로 표현할 수 있습니다.
이용자는 중앙 관리자 거래 신청을 보내
중앙 관리자는 신청자와 내용을 확인하는 부정이 있으면 배제한다
중앙 관리자는 자기의 데이터베이스에 거래 정보를 쓴다
중앙 관리자는 거래 상대의 이용자에게 거래 정보를 통지하는
데이터베이스의 직접 참조 권한은 기본 관리자밖에 없다
※관리자에게 조작되자 외부에서는 모른다
블록 체인 체계에서 먼저 잘 알 수 없는 점은 분산 데이터베이스와 합의 형성이 됩니다. 중앙 관리형 데이터베이스는 1개의 데이터베이스로 관리를 실시합니다만, 분산 데이터베이스는 같은 데이터를 기록한 데이터베이스가 복수 존재하는 것이 됩니다.
같은 게 들어 있는 데이타베이스를 왜 여러개 만들 필요가 있느냐는 이유로는 그것으로 1개의 데이터베이스가 부서져도 다른 데이터베이스에서 구조를 지탱할 수 있으며 전체에서 시스템을 뒷받침하는 것으로 1개 1개의 데이터베이스의 성능은 그리 높지 않아도 된다 등의 메리트가 있습니다. 특히 비트 코인과 같이 관리자가 없는 형태로 시스템을 유지할 경우 어딘가에 1개의 데이터베이스를 놓으면 그것을 조작될 가능성이 생겨나기 때문에, 분산시키고 상호 점검을 걸거나 다수결로 진정을 판단할 수 있는 이점도 있습니다.
다음에 합의 형성인데, 중앙 관리형 데이터베이스에서는 관리자가 잘못되지 않는 한 데이터는 정합성을 가지고 갱신됩니다. 또 1개의 데이터베이스의 갱신만을 하기 때문에 대량 거래를 고속으로 처리할 수 있습니다.
한편 블록 체인은 거래 정보는 데이터는 1곳이 아니라 분산된 데이터베이스에 동시에 다수 존재합니다. 이 때문에 적절하게 동기를 취하고 갱신 작업을 하지 않으면 이 데이터베이스에서는 거래 정보가 갱신되어 저쪽의 데이터베이스에서는 갱신이 생겨 나왔다, 그런 일이 발생합니다. 이 동기를 확보하고, 각 데이터베이스를 정합적으로 갱신하기 위한 작업이 "합의 형성"이라 불리는 것이 됩니다.("마이닝"라고 불리는 일도 있습니다.)
간단히 말하면"합의 형성"는 "다음에 데이터베이스에 써넣을 정보는 이거다!"로 정하는 것을 의미합니다. 데이터를 그대로 데이터베이스에 쓰는 것이 아니라, 1단계"합의 형성"라고 하는, 참가하는 각각의 데이터베이스가 다음에 올리는 데이터를 "이거다!"라고 결정하는 순서가 들기 때문에 블록 체인이 속도 면에서 중앙 관리형 데이터베이스에 떨어지게 됩니다. 특히 비트 코인은 오픈에 누구도 분산 데이터베이스 유지 관리 작업 참여가 되어 악의 있는 사람(조작된 데이터를 기록하려는 사람 등)도 들어옵니다.그래서 그런 사람이 참가해도 데이터 기록이 적절히 이루어지도록 합의 형성에 10분 이상의 시간을 요구 합니다.이 점, 분산 데이터베이스 유지 관리 작업에 참가자를 한정적으로 하되, 합의 형성의 방법을 시간을 필요로 하지 않는 방법으로 하면 상당한 고속화가 실현 가능하게 됩니다.(비트 코인의 개방형 대비 폐쇄형이나 사모형으로 불립니다). 또 비트 코인 자체에 대한 개선도 계속 이뤄지고 있어 페인트 채널 등의 새로운 기능에서는 고속 거래가 가능하게 될 예정입니다.
→블록과 개별 거래 관계
블록 체인이라는 이름부터 왠지 데이터가 블록화된 이미지를 든다고 생각합니다만, 여기에서는 그 구조를 해설합니다.
우선 중앙 관리형 데이터베이스에서는 개개의 송금 거래가 이뤄지면 각각의 거래를 직접 데이터베이스에 기록합니다.
한편 블록 체인에서는 각각의 거래를 직접 데이터베이스에 쓰는 것이 아니라 여러 개별 거래를 마무리 짓고 1세트로 그 세트마다 데이터베이스에 기록합니다. 이 복수의 거래의 세트의 일을 "블록"이라고 부릅니다. 그리고 안으로 들어간 개별 거래의 일을 "트랜잭션"이라고 부릅니다.
블록 체인, 왜, 각각의 거래(트랜잭션)을 직접 데이터베이스에 올리지 않느냐는 점인데 이것은 블록 체인이 분산 데이터베이스를 채택하고 있다는 사실에 이유가 있습니다.
분산 데이터베이스에서는 데이터가 정합성을 가지고 갱신되기 때문에 합의 형성이라는 작업이 이루어지는 것, 그리고 특히 비트 코인에서는 조작 등에 대항하기로 합의 형성에 10분 이상의 시간이 필요하다 구조는 전항에서 설명하였습니다. 이 작업이 있기 때문에 대량의 개별 거래(트랜잭션)을 직접 분산 데이터베이스에 올리면 같은 수만 합의 형성 작업도 발생하기 때문에 시스템 부하가 커지고 버립니다. 거기에서 어느 정도의 수의 개별 거래(트랜잭션)을 만들어 블록화하고, 그 블록 단위로 합의 형성을 실시하는 분산 데이터베이스에 올리는 구조로서 있습니다.함께 블록 안에, 변조 방지용으로 과거의 블록 정보를 섞어서거나 분산 데이터베이스 유지 관리자에 대한 수수료 지불 정보를 포함하기도 하고요.
합의 형성 마이닝에 대해서
블록 체인은 분산되어 존재하는 데이터베이스를 정합적으로 갱신하기 때문에,"다음에 기록하는 데이터(블록)을 이것으로 한다"합의를 데이터베이스 유지 관리 작업에 참가자(마이너라고 부릅니다)에서 실시할 필요가 있습니다.
데이터의 기록 작업은 "마이닝"이라고도 불리며 특히 합의 형성의 엔진 부분의 구조를 비트 코인에서는 Proof of Work(POW)라고 합니다. 합의 형성의 구조는 POW이외에도 여러가지 방법이 있습니다.
마이닝 작업은 단순하게 말하면 분산하고 복수 존재하는 데이터베이스에 대해서 갱신 권한자를 데이터 갱신(블록 추가)마다 특정 합의 형성으로 1명으로 압축, 그 갱신권자의 업데이트 내용을 다 같이 자신의 보유하는 데이터베이스에 올림으로써 분산되어 존재하고 있는 데이터베이스를 정합적으로 갱신하는 것이 됩니다.
그럼 김씨에서 이씨에게 비트 코인을 보내는 거래를 예로 이 마이닝 작업을 봅니다.(단순한 설명 때문에 블록에는 김씨에서 이씨에게 보내는 것을 1거래만 들고 있다고 믿습니다.)
※신규 거래가 인터넷을 통해서 통보된다
※참가자가 자기의 가진 거래 이력 데이터베이스를 참조하고 신규 거래 내용에 부정이 없는지 확인한다
※전체 참가자 중에서 유일한 데이터베이스의 갱신 권한을 부여하기 때문에 합의 형성 프로세스가 실행된다.
※특히 비트 코인이 합의 형성의 방법으로 계산 부하가 높은 수학적 문제를 푸는 경쟁이 실시된다(Proof of orrk)
※처음에 문제의 해답을 발견한 참가자는 다른 참가자에게 통보를 하는 다른 참가자는 그런
다른 참가자는 받은 내용에서 각자가 가진 데이터베이스를 갱신하고 분산되어 존재하고 있는 거래 이력 데이터베이스가 정합성을 갖고 유일하게 유지된다
※비트 코인에서는 문제의 해답을 발견한 참가자는 수수료를 받는다
비트 코인은 합의 형성, 갱신 권한자를 1명으로 압축한 경쟁을 "Proof of Work"이라는 컴퓨터에 의한 부하가 높은 수학적 문제를 풀것으로 갔고 최초에 답을 찾은 사람이 갱신 권한을 얻게 되고 있습니다. 이는 고성능 기계 정도로 유리한 구조가 되고 있어 고성능 기계 정도 전기 요금도 걸려서 환경 부하가 높다는 비판도 있지만, 머신의 성능에만 의존하므로 참가자의 의도 등에 좌우되지 않는다는 이점이 있습니다.
다른 블록 체인에서는 "이 합의 형성, 갱신 권한자를 어떻게 정할까"의 구조에 변화가 있고, 컨셉은 커밋이 큰 사람일수록 구조가 고장 나는(부정 및 조작)일은 하지 않을 것으로 갱신 권한자를 결정하도록 되어 있습니다.
■Proof of Work컴퓨터에 의한 부하가 높은 수학적 문제를 풀것으로 갔고 최초에 답을 찾은 사람이 갱신 권한을 얻는 구조
■Proof of Importance과거의 거래 정보로부터 데이터를 주고받는 허브로서의 중요성이 더 높은 사람(더 많은 거래를 하는 사람 등)이 경신 권한자가 되는 구조
■Proof of Stake더 많은 동전을 갖고 있는 사람이 갱신 권한자가 되는 구조
※특히 합의 형성의 세부 구조는 이해가 어렵기 때문에 IT기술자 이외의 분은 이 정도 이해에서 충분하다고 생각합니다.
여러 블록 체인
블록 체인은 처음에는 비트 코인부터 시작이었지만 비트 코인의 블록 체인의 파라미터를 조금 변경한 사본적인 것에서 신규로 개발된 것까지 여러가지가 등장하고 있습니다.
Ethereum
비트 코인의 블록 체인은 보안을 우선한 결과 복잡한 거래 기록이 없는 듯 구조로 되어 있습니다. 한편, 복잡한 조건을 블록 체인 자체의 조건이 충족되면 다른 거래가 자동 실행하는 등의 프로그래밍이 되는 것이 응용 범위는 넓어지로 비트 코인과 전혀 다르게 스마트 콘트랙트 등으로의 활용을 염두에 제로 베이스에서 신규로 개발된 것이 Ethereum입니다.
Ethereum은 기반이 되는 블록 체인과 동전(토큰)이 준비되어 있을 뿐 나머지는 이용자가 자유롭게 이용하게 됩니다만, 기대가 매우 큰 선행하고 어떤 실제 서비스에 이용 가능한지, 원래 거기에 이용자 수요는 어떤 것이 있는지 Ethereum을 이용한 The DAO의 트러블(2016/6)도 있고 향후 전개가 주시되고 있습니다.
NEM
NEM도 Ethereum 같은 독자적으로 개발되고 있는 블록 체인지만 페인트나 메세지, 에셋 교환, 스마트 콘트랙트 등을 구축하고 싶은 사람에게 더 편리 플랫폼을 지향한 것이 됩니다. 또, 합의 형성의 구조로 Proof of Importance를 채용하고 있는 점도 특징입니다. NEM은 블록 체인을 기업용 솔루션으로서 제공하고 있는 일본의 mijin(http://mijin.io/ja/)가 베이스 기술로서 이용하고 있는 것(NEM자체는 공적인 플랫폼을 지향)도 있고 우리 나라의 블록 체인 기술 발전의 중심으로 큰 기대가 되고 있습니다.
Hyperledger Project(하이퍼 레저)
Linux Foundation이 개발하고 있는 블록 체인에서 표준화를 지향하고 있으며 IBM이 크게 관여하고 있습니다.
기업용 블록 체인 솔루션, IoT의 이용 등이 검토되고 있습니다.
블록 체인의 유형
블록 체인은 관리자의 존재에서 참가자 제한, 데이터 참조 권한 등 설정에 다양한 변화가 생각됩니다. 그리고 비트 코인과 같이 반드시 동전(토큰)이 필요하지 않을 것도 있습니다.
또 금융 컨소시엄에서 블록 체인의 활용을 생각하면 보안이나 문제 발생 시 대응력 확보를 위해서 비트 코인과 같이 개방적인 형태를 취할 것을 피하고 예를 들면 허가형에서 참가 범위를 압축한 대응이 이뤄질 가능성이 있습니다.이 경우 데이터베이스의 갱신자의 결정 방법의 점에서는 비트 코인과 같이 불특정 다수 중에서 부정을 물리치면서 경쟁을 벌이는 Proof of Work 같은 마이닝은 불필요하고 신뢰할 수 있는 참가자 간의 간략화된 합의 형성의 방법으로 데이터 갱신자를 결정하면 좋다, 데이터 갱신 빈도도 현격히 고속화할 수 있습니다.
블록 체인의 분류로 자주 듣는 Permissioned(허가 타입)(≒ 폐쇄형 사모형이라고도 불린다)은 관리자가 있어 데이터 기록 작업 참여자가 한정적이라는 의미로 이용되는 경우가 많습니다. 한편, Permission-less(허가 불요 타입)(≒ 오픈형)은 특정 관리자가 없는 데이터 기록 작업 참여가 자유롭게 해방되고 있다는 의미로 이용되는 경우가 많습니다.
어쨌든 블록 체인점에 대해서 말할 때면 어떤 타입의 것을 상정하고 있는지 먼저 설명하는 것이 중요합니다.
■"블록 체인의 충격"금융 서비스에의 응용 보충 설명 ■
"블록 체인의 충격" 제3장-3"금융 서비스에의 응용"부분에서는 블록 체인을 금융업에서 이용할 경우의 기본적인 사례를 소개했지만 여기에서는 서적에는 사정상 기재하지 않은 아이디어를 몇가지 소개하고 있습니다.
주식 공개의 이용
주식 공개에 블록 체인을 이용하는 사례에서는 최대 장점은 증권 소유권 이전이 매우 쉽게 하는 점입니다. 증권 결제 기관 명의 개서 부분의 층이 통째로 블록 체인으로 전환됨으로써 정보 전달, 콤화ー 메이션 비용 등이 크게 줄일 수 있습니다.
또한 이 경우 DVP결제(자금과 증권의 동시 교환)이 실현되지 못하자 증권 결제와 자금 결제에 차이가 생기게 되지만 자금 결제의 블록 체인화를 기다리지 않아도 에스크로의 구조를 이용함으로써 DVP결제는 실현 가능하다고 생각됩니다.
리테일 국제 송금의 이용
가상 화폐 비트 코인을 이용한 국제 송금 서비스도 등장하고 있습니다
가상 화폐를 이용하면 송금 정보 이외"가치 자체를 보내" 수 있어 은행 국제 송금을 이용할 필요가 없어 비용 삭감 효과가 크다고 합니다. 한편, 송금인과 수취인이 가상 화폐를 그대로 보유한다면 그 사이에 일체의 중간 업자가 필요 없고, 블록 체인 상에서 상대(P2P)에서 거래는 완료하고 국경이라는 개념을 신경 쓸 필요가 없어지는데 여기에는 가상 통화가 양국에서 어느 정도 일반적으로 유통되게 될 필요가 있다.
상황에서는 가상 화폐는 그대로 보유하는 것이 아니라 법정 통화로 교환할 필요가 있어 송금 전 부분에서 현금을 가상 화폐로 교환하고 받는 곳의 부분에서 가상 화폐를 현지 통화로 교환할 필요가 생기고, 이것이 가상 화폐 송금 비용 요인이 됩니다. 게다가, 주요국에서는 가상 화폐와 현지 통화의 교환 시장이 형성되고 있지만 이것이 없는 나라에서는 다른 나라로 가상 화폐를 유동성이 높은 달러 등에 한번 교환하고 다시 현지 마이너 통화로 교환할 필요가 생겨나기 때문에, 수수료는 그만큼 싸지 않을 수 있습니다.