알기 쉬운 블록체인

IT 2018. 4. 7. 17:23
- 분산식 공유장부의 3가지 특징
(1) 무한대로 증가할 수 있는 초대형 장부. 각 블록은 장부 한 페이지로 볼 수 있는데, 한 블록이 증가할 때마다 장부도 한 페이지 많아지고 이 페이지에는 하나의 혹은 여러개의 기록정보가 포함될 수 있다
(2) 암호와 순서가 있는 장부. 장부정보는 하나의 블록으로 구성되어 있어서 암호가 깨질 수 있는 동시에 타임스탬프를 덮을수도 있다. 각각의 블록은 타임스탬프 순서에 따라 체인으로 연결되어 하나의 전체적인 장부로 형성됨
(3) 분산식 장부. 네트워크내의 고객이 공동 보호되는 것으로 탈 중앙화된 것.
- 블록체인의 공신력에 대한 특징
(1) 블록체인은 분산식이다. 블록체인의 공신력은 네트워크 상에서 많은 독립적 노드를 갖고 있으며, 노드마다 백업 정보를 가짐. 권한을 부여받은 사람들은 모두 하나의 임의 노드로부터 전체 정보를 다운받을 수 있고, 동시에 그 흐름을 살펴볼 수 있다. 동시에 블록체인의 공신력 있는 인터넷 역시 왜곡될 수 없다. 만약 임의의 노드가 의도적으로 정보를 왜곡하더라도 기타 노드에 의해 발견될 수 밖에 없다. 그런데 수정된 노드를 확인할 수 없다면 공신력은 즉시 상실하게 될 것이다.
(2) 블록체인의 공신력 모형 중에 블록체인은 정책을 제정할 수 없는데, 그것은 단지 공증인의 역할을 할 뿐이며, 정부가 구축하고 집행하는 정책의 도구다. 블록체인의 작용은 정부를 도와 더욱 빠르고 정확하게 전 국민이 정부의 정책을 받아들이고 인정하게 하는 것. 동시에 블록체인은 불변의 것이자 복제될 수 있는 데이터베이스이기 때문에 정부의 정책이 공개적이고 투명하게 바뀌게 됨
- 비트코인의 기본원칙
(1) 단순한 P2P의 전자현금 시스템으로 온라인 지급에서 직접 한쪽이 제의하면 다른 사람이 지급할 수 있어서 중간에 어떤 금융기구를 통할 필요가 없다
(2) 신용제공이 필요없는 제3자가 지급하여 이중지급을 방지할 수 있고, P2P인 인터넷 환경이 이중지급을 해결하는 하나의 방안이다.
(3) 전체거래에 대해 타임스탬프를 더하여 그들을 끊임없이 확장하고 편입시켜서 해시 계산법의 작업량을 기초로 증명된 체인이 거래기록이 됨. 오직 새로운 완전한 전체작업량을 증명하는 것을 제외하고는 형성된 거래 기록은 수정할 수 없다.
(4) 가장 긴 체인은 관찰된 일련의 사건의 증명으로 삼고, 중앙처리기의 계산능력이 최대치로 간주함. 대다수 CPU의 계산능력은 협력공격을 받지 않은 노드로 제어하고, 그렇게 되면서 공격자의 체인을 초과하는 가장 긴 길이를 생성하게 될 것이다.
(5) 이런 시스템 자체가 필요로 하는 기초시설은 매우 적어서 노드는 최대한의 노력으로 전국망에 정보를 전파하게 되고, 노드는 잠시 벗어났다가 다시 인터넷에 가입할 수 있으며, 최장의 작업략은 이 노드가 오픈라인 기간에 발생한 거래를 증명함으로써 입증됨
- 용어해설
(1) 블록
* 블록은 블록체인의 기본구조단위이고, 소스 데이터가 포함된 블록헤드와 거래데이터가 포함된 블록보디로 구성됨
* 블록헤드는 3그룹의 소스데이터가 포함됨
1) 연결 앞면에 사용한 블록, 인덱스 블록 해시값의 데이터
2) 채굴난이도, Nonce(random number), 작업량 증명 알고리즘에 사용되는 카운터, 타임스탬프
3) 총결산이 가능하고 빠른 귀납 검증블록의 모든 거래 데이터의 머클 크리 루트데이터
* 블록체인 시스템은 대략 10분마다 하나의 블록을 만들어내는데, 그중 이 시간안에 전체 망 범위내에서 발생하는 모든 거래를 포함. 각 블록에는 앞 블록의 ID도 포함되어 있어서 모든 블록에서 앞 노드를 찾을 수 있게 되어 있다. 이렇게 하여 완전한 거래 체인을 형성. 탄생초기부터 운영하는 지금까지 전체망은 유일한 메인 블록체인을 형성하였다.
(2) 해시 알고리즘
* 해시 알고리즘은 블록체인 중에서 정보가 왜곡되지 않도록 보증하는 단방향 암호제도. 해시 알고리즘이 명문(clear text)을 접수한 후에 되돌릴 수 없는 방식으로 길이가 비교적 짧고 바이트가 고정된 해시 데이터를 전환하며, 다음 두가지 특징이 있다
1) 암호과정이 불가역적으로 우리가 출력한 해시데이터를 통해서 원본의 명문이 무엇인지를 역추적할 방법이 없음을 의미
2) 입력한 명문과 출력한 해시 데이터를 어떠한 출력정보의 변화가 최종 출력된 해시 데이터의 변화를 가져오는지 하나하나 대응한다
* 블록체인에서 통상적으로 사용하는 SHA-256(안전해시 알고리즘)은 블록의 암호설정을 진행. 이러한 알고리즘의 입력길이는 256바이트이며, 출력의 전체길이는 32비트 무작위 해시 데이터로 구성됨. 블록체인은 해시 알고리즘을 통해 거래 블록에서의 거래 정보에 대해 암호화 설정을 진행하고 정보를 한 묶음의 숫자와 자모 조합의 해시 문자열로 압축. 블록체인의 해시값은 유일하고 정확하게 하나의 블록을 표시할 수 있어서 블록체인에서는 임의의 노드가 간단한 해시계산을 통해서 이 블록의 해시값을 얻을 수 있고, 계산된 해시값의 변화가 없어도 블록안의 정보가 왜곡되지 않음을 의미
(3) 공개키와 개인키
* 이는 속칭 비대칭 암호화 설정방식으로, 이전의 대칭적 암호화 설정방식(유저명과 암호사용)에서 한단계 업그레이드 된 것
* 우리는 암호가 설정된 이메일의 모형을 가지고 간단하게 소개하고자 한다. 공개키는 모두에게 사용되는 것으로 메일을 통해서 만들수도 있고 사이트를 통해서 다른 사람에게 다운로드할 수도 있다. 공개키는 사실 암호화 설정/인증을 거친다. 개인키는 자신의 것으로 반드시 조심해서 보존해야 하는데 가장 좋은 것은 비밀번호를 설정하는 것. 개인키는 암호해제/서명날인하여 사용하고 개인키는 개인이 소유.
* 비트코인 시스템에서 개인키는 본질적으로 32바이트로 구성된 숫자조합이며, 공개키와 주소의 생성 역시 개인키에 의존하는 것으로 개인키가 있으면 공개키와 주소를 생성할수도 있고 대응주소에서 비트코인을 사용할수도 있음. 개인키로 비트코인을 사용하는 방식은 개인키로 대응한 사용하지 않는 거래에 대해 서명을 진행함
* 블록체인에서 공개키과 개인키를 사용하는 것은 신분을 식별하는 것. 우리는 블록체인 안의 두사람을 가설하고 A와 B로 구분해보자. A는 B에게 자기가 진짜 A임을 증명하고 싶어함. 그러면 A는 개인키를 사용해서 문서에 대해 서명을 진행하고 B에게 발송. B는 A의 공개키를 사용하여 문서에 대해 서명검증을 진행. 만일 검증이 성공한다면 이 문서는 A가 개인키를 사용해 암호화 설정을 한 것이라는 것이 증명됨. A의 개인키는 오직 A만이 가질 수 있는 것이므로 A가 진짜 A임을 증명할 수 있다. 블록체인의 시스템에서 공개키와 개인키는 분산식 네트워크의 P2P정보전달의 안전을 보증할 수 있다. 블록체인의 정보전달중에 정보전달이 양측의 공개키와 개인키의 암호화 설정과 암호해제가 종종 쌍을 이루지 않고 출현하기도 함.
* 정보발송자 : 개인키를 사용하여 정보에 대해 서명을 진행하고 정보접수측의 공개키를 사용하여 정보에 대해 암호를 설정
* 정보접수측 : 정보발송자의 공개키로 정보발송자의 신분을 검증하고 개인키를 사용하여 암호화 설정된 정보에 대해 암호해제를 함
(4) 타임스탬프
* 블록체인내의 타임스탬프는 블록에서 생성된 짧은 시간부터 블록에 존재하고 있으며, 그것이 대응하는 것은 매번 거래기록의 인증으로 거래기록의 진실성을 증명함. 타임스탬프는 일단 왜곡되면 생성된 해시값이 변화되고 무효한 데이터로 바뀌므로 직접 블록체인중에 쓰이는 것으로 블록체인안에 이미 생성된 블록은 왜곡될 수 없다.
* 각 타임스탬프의 앞부분 타임스탬프 역시 임의의 해시값 안에 포함되고, 이 과정이 끊임없이 중복되고 서로 연결되어 결국엔 완전한 체인이 생성될 수 있다.
(5) 머클트리 구조
* 블록체인은 머클 트리의 데이터 구조를 이용한 모든 리프 노드의 가치를 지니고 있으며, 이를 기초로 통일된 해시값을 생성함. 머클 트리의 리프 노드가 저장하는 것은 데이터 정보의 해시값이고 리프가 아닌 노드가 저장하는 것은 아래의 모든 리프 노드의 조합에 대해 해시값을 계산한 후에 얻게 되는 해시값이다.
* 동일하게 블록에서 임의의 데이터 변경은 머클 트리 구조의 발생변화를 일으킬 것이며, 거래정보검증의 비교과정에서 머클트리구조는 데이터 계산량의 대폭적 감소가 가능할 것이며, 어쨌든 우리는 머크릍리 구조가 생성한 통일된 해시값을 검증하기만 하면 된다.
- 사토시 나카모토가 비트코인을 설계한 때가 09년이다. 그때의 데이터는 얼마나 있었을까? 하물며 비트코인을 사용하는 사람도 많지 않았다. 그래서 그는 아이디어를 내어, 비트코인 안의 블록 용량을 1M로 결정. 한번의 거래는 250바이트였고, 더 많기도 했느데, 현재 거래는 기본적으로 500바이트까지 도달. 용량이 그리 많이 쓰이지 않는다. 우리가 결산한다고 해보자. 비트코인 블록 하나의 용량은 1M이다.
1메가는 1,048,576바이트
그러면 하나의 블록이 포함하고 있는 거래총수는
1,048,576/250=4,194건
비트코인 하나의 블록이 확인되는 시간은 10분이다.
그러면 하나의 블록이 매초 처리하는 거래수는
4,194/600=7건
* 만일 하나의 블록이 매초 7건의 거래만을 처리할 수 있다면, 거래 데이터는 더 커야 하고 7건조차 도달하지 못함. 이러면 비트코인의 거래가 막히고 느려지는 결과를 초래.
* 한번의 거래가 발생한 후에 앞에서는 더 많은 거래가 줄을 서서 확인을 기다리고 있는데, 도대체 얼마나 더 기다려야 할까? 하루에 일정 정도가 막히게 되어 용량이 한계를 초과한 후에는 붕괴된다
- 용량확장에 대한 다양한 의견
(1) 비트코인 클래식 : 필드의 최대값을 2M으로 조정해야 하고, 이후에 2016개 블록의 크기 중앙값을 다시 약속된 배수로 하여 한 로트의 블록크기로 제한하는 것으로 결정함
(2) 비트코인 XT(비트코인 뉴버전) : 20M로 수정해서 2년마다 뒤이어서 8.3G까지 상한치를 끌어올리는 것
(3) 비트코인 무한판(비트코인 Unlimited) : 얼마여도 상관없이 무한대일 수 있음.
- 하드포크의 특징
(1) 이후 겸용성이 없어, 이전버전은 다시 사용불가, 강제 업그레이드 필요.
(2) 블록체인의 층면에 두 갈래로 분기된 체인이 있다. 하나는 구체인이고, 하나는 새로운 체인의 포크다
(3) 어느 시간 포인트에 전체가 포크의 업그레이드하는 것에 동의해야 하고 동의하지 않는 것은 구체인으로 들어갈 것이다.
- 소프트 포크의 특징
(1) 비교적 유효한 겸용성. 이전버전의 부분기능을 사용할 수 있고, 업그레이드하지 않을 수 있다
(2) 블록체인 층면에 포크체인이 없고 단지 완성된 포크의 블록은 새로운 블록과 옛 블록의 구분이 있다
(3) 상당히 긴 시간 안에 업그레이드를 진행하지 않고 계속 오리지널 버전에서 생성한 블록을 사용하더라도 새로운 블록과 함께 공존
- 포크의 영향
* 16년 7월 이더리움 개발팀은 소프트웨어의 코드를 수정하여 19만 2000번째 블록에서 DAO(분산식 자율조직)와 DAO의 모든 자금을 특정 반환계약 주소로 옮김으로써 해커가 통제하는 DAO계약서의 ETH를 되찾았다. 그후 2개의 체인을 형성하는데, 이더리움이 성공적으로 하드포크함으로써 하나는 ETC(오리지널체인)이 되고, 하나는 새로운 ETH(포크체인)이 되었다.
* 비트코인 채굴자에게 미치는 영향 : 하드포크는 번거로워질 수 있는데 채굴자의 큰 힘이 절대적으로 필요. 일단 포크 채굴자가 간단하게 파면 더 많은 화폐를 채굴할 수 있으니 이 얼마나 기쁜가? 그러나 그가 채굴한 화폐가치는 살 사람이 없을 정도로 돈의 가치가 없고 결국에 시장에서 가격을 결정한다.
* 비트코인 산업에 미치는 영향 : 기술적으로 보면 하드포크의 주요문제는 그것이 모든 사용자가 다른 규칙을 가진 새로운 블록체인으로 옮겨야 한다는 데 있다. 비트코인의 브랜드 가치를 유지하고 비트코인에 대한 신뢰를 유지하기 위해 비트코인의 지지자는 하드포크 되는 것을 반대. 진짜 하드포크라면 철저한 인터넷 전쟁과 여론전을 불러일으킬 수 있을 것이다.
- 퍼블릭 블록체인의 특징
(1) 사용자를 보호하여 개발자의 영항을 받는 것을 피하도록 함. 퍼블릭 블록체인의 프로세스 개발자가 권한없이 사용자를 간섭할 때, 블록체인은 그 사용자를 보호할 수 있음.
(2) 방문문턱이 낮다. 어떤 사람도 방문가능하고 인터넷을 할 수 있는 컴퓨터 한대만 있으면 기본방문조건 만족됨
(3) 소유데이터의 암묵적 공개. 퍼블릭 블록체인 안에서 각 참여자는 전체 분산식 장부안의 모든 거래기록을 볼 수 있다
- 프라이빗 블록체인
* 프라이빗 블록체인은 그룹 안의 블록체인에만 권한을 기입하는 것으로, 목적은 읽기권한 혹은 대외적으로 개방된 권한에 대해 제한을 진행함
(1) 거래속도가 매우 빠름. 프라이빗 블록체인안의 소량의 노드는 매우 높은 신뢰도를 가지고 있어서 각 노드가 모두 거래를 검증할 필요가 없음. 따라서 거래속도는 퍼블릭 블록체인보다 매우 빠름
(2) 프라이버시 보장. 데이터가 공개되지 않으므로 네트워크에 연결된 모든 사람이 얻을 수는 없다.
(3) 거래원가가 크게 절감되고 심지어 0이 된다. 전부 무료거나 최소한 매우 염가로 거래 가능. 만일 실체적 기관이 컨트롤하고 처리하는 모든 거래가 작업을 하는데 돈의 지급이 필요없다
(4) 기본제품이 파손되지 않도록 보호한다. 은행과 전통적 금융회사는 프라이빗 블록체인을 사용하여 원래의 생태 체계를 파괴하지 않으면서 그들의 이익을 보증할 수 있음.
- 컨소시움 블록체인
* 합의 과정에서 노드 제어를 받은 블록체인을 의미. 예를 들어 15개 금융기관으로 구성된 공동체에 대해 말하자면, 각각의 기관은 각자의 노드를 운영. 각 블록이 유효하게 그중 반수 이상을 획득하기 윟 8개기관의 확인이 필요함. 블록체인은 사람마다 읽을 수 있고, 참여자가 섞인 노선을 걸어갈 수도 있다.
* 컨소시움 블록체인은 부분적 탈중앙화라고 볼 수 있는데, 블록체인 프로젝트인 R3 CEV는 컨소시움 블록체인의 한 형태
- 기타 블록체인
* 허가형 블록체인은 노드마다 허가를 해야만 블록체인 시스템에 가입가능. 프라이빗 블록체인과 컨소시움 블록체인이 모두 허가형 블록체인에 속함. 블록체인 기술은 나날이 발전함에 따라 블록체인 기술의 구조는 더 이상 단순하게 프라이빗 블록체인과 퍼블릭 블록체인으로 분류할 수 없으며, 그들 사이의 경계는 갈수록 모호해지고 있어서 복잡 블록체인과 혼합 블록체인의 개념은 점점 사람들에게 제기될 것이다.
- 블록체인 발전단계
(1) 블록체인 1.0 : 비트코인으로 대표되는 프로그램 가능 화폐로서 화폐전이, 지급, 결제시스템 등 디지털 화폐분야의 혁신을 의미
(2) 블록체인 2.0 : 블록체인에 기반한 프로그램 가능 금융으로 주식, 증권, 선물, 대출, 결산, 스마트 계약 등 계약의 혁신(특별히 비즈니스 계약 및 거래의 혁신을 포함)
(3) 블록체인 3.0 : 다른 산업에서의 블록체인 응용으로 건강, 과학, 문화와 블록체인을 기반으로 하는 사법, 투표 등을 포함하여, 인류의 조직형태의 변혁에 대응
- 스마트 계약은 컴퓨터 프로그래밍이며, 어떤 사람도 사용할 수 있는, 어떠한 중개기관도 필요없는 탈중앙화 시스템. 그것은 다음과 같은 조건이 있다
(1) 반드시 화폐참여가 있어야 함. 화폐없는 모든 거래는 무효한 것이고, 법정화폐든지 암호화된 디지털 화폐든지 상관없음.
(2) 자산이 디지털되어야 함. 어떤 차량한대를 디지털화 한다면? 답은 그것을 암호를 채우는 것이다. 우리가 사용하고 있는 차량은 물리적으로 채우는 것이어서, 차를 잠글때는 실제 자동차 키로 잠근다. 어느날 차의 자물쇠가 암호화된 공개키로 바뀌고, 개인키만을 갖고 있는 사람이 차를 열 수 있다고 상상해보자. 매우 몽상적이지 않은가? 그러나 실현되고 있다.
(3) 자산은 반드시 네트워크와 연결되어야 하고, 어떤 데이터베이스라도 절대적으로 신뢰해야 한다.
- 에너지 전송 프로젝트 TransActive Grid
* 뉴욕 블록체인 창업기업인 LO3와 과학기술의 선도기업인 지멘스가 협력하여 트랜스액티브 그리드 프로젝트를 진행. 이는 이더리움의 에너지 전송 프로젝트를 기반으로 한 것으로 이 프로젝트에 참여하는 고객은 남은 전력을 다른 사람에게 팔 수 있음. 이전에 LO3회사는 미국 특허상표국이 수여한 탈중앙화 에너지 전송 특허를 취득했다.
* 지멘스 에너지관리부 CEO인 랄프 크리스티안은 "우리는 우리의 나노전력망 제어와 자동화 해결방안이 협력사인 LO3 회사의 블록체인 기술과 다시 결합되어 우리의 공용사업 영역의 고객을 위해 더 많은 부가가치를 제공할 것이라고 믿는다"라고 말함. 두 회사는 공동으로 뉴욕과 세계 다른 지역의 테스트한 블록체인 전력공급의 나노형 전력망이 미래에 세계 각지로 확대되기를 희망했다.
- 에너지 블록체인 실험실
* 16년 5월, 전 세계에서 처음으로 에너지 블록체인 실험실이 정식으로 설립. 에너지 블록체인 실험실은 4명의 공동창업자가 창립. 이 실험실의 주요 업무는 자주적 블록체인 플랫폼 연구개발로, 에너지 금융상품의 개발, 평가, 등기, 거래를 위한 전 프로세스의 협력도구를 제공하는 것.
* 실험실 창업자 중 한 사람으로 신다증권의 에너지 인터넷 수석 연구원인 챠오인은 미디어 인터뷰에서 다음과 같이 말했다. "미래의 저장 에너지는 경제의 저장에너지를 함께 나누는 것을 기본으로 할 것이다. 저장 에너지의 이용률은 단일 기업이 구매하는 저장에너지의 이용률로 사실 매우 낮다. 매일 24시간 동안 모두 저장에너지를 사용할 수 없기 때문이지만, 블록체인 기술에서의 저장에너지는 마치 디디와 우버택시와 같다. 주변의 고객이 사용권을 함깨 나누는 것을 통해 어느 고객 이름의 저장에너지를 사용한 후 저장에너지 수익을 기초로 저장에너지를 소유한 사람에게 사용료를 지급
- IBM과 삼성
* IBM은 삼성과 협력하여 ADEPT(탈중앙화된 P2P자동원격측정) 시스템을 개발했다고 발표. 이 시스템은 비트코인 기반 기술을 사용하여 분산식 설비의 인터넷을 구축하여 탈중앙화된 사물 인터넷. IBM과 삼성은 비트토렌트(문서공유), 이더리움(스마트계약), 텔레해시(P2P발송취소 시스템) 등 3개의 협의 지원인 ADEPT시스템을 선택했다.
- 이미 공표한 프로젝트의 초안을 근거로 "블록체인 개념의 응용은 사물인터넷 세계에서 무한한 가능성을 창조할 것이다. 일단 제품이 설치되면 제조상은 블록체인에 통용되어 등록될 것이고, 제품 생명라인의 시작을 표시. 일단 생산되어 팔리면, 판매상 혹은 소비자가 구역의 블록체인에 이 제품을 등록가능. 초안을 기획한 사람은 우리에게 어떻게 ADEPT 시스템을 사용할 것인지를 시연해 주었다. "보통 이 세탁기가 반자동의 스마트 설비가 될 수 있어서 스스로 소모품 공급 등을 관리할 수 있어서 셀프 서비스를 제공하고 스스로 유지보수를 진행할 뿐만 아니라, 심지어 다른 가정과 외부의 대등한 설비끼리 소통을 진행할 수도 있어서 자동으로 우수한 환경에서 운행할 수 있다. 모든 것이 설비 중앙 컨트롤로 프로그램 혹은 조정된 상황하에서 진행되는 것이다."

 

'IT' 카테고리의 다른 글

플랫폼 시장의 지배자  (0) 2018.05.19
이더리움과 솔리디티 입문  (0) 2018.04.21
핀테크 세상을 열다  (0) 2018.02.11
비트코인이란 무엇인가  (2) 2018.02.11
카오스 멍키  (0) 2018.02.06
Posted by dalai
,