비트코인 블록체인 동작원리 및 진화 ⭐

>

>

블록체인은 2016년 WEF(세계경제포럼)에서 제4차 산업혁명의 차세대 10대 핵심기술로 선정되었습니다.또한 가트너는 2018년 10대 기술 중 하나로 선정되었습니다. 향후 전세계 금융기관 중 80%가 도입 의사를 밝히고 있으며, 2025년까지 블록체인을 통한 경제 규모가 전세계 GDP의 약 10%에 이를 것으로 기대됩니다.

비트코인코어를 기반으로 개발된 비트코인 클라이언트는 인터넷에 연결된 누구라도 내려받아 비트코인을 송금하거나 채굴(마이닝)할 수 있으며 거래소를 통해 법정화폐로 환전도 가능합니다. 비트코인 거래 과정을 살펴보면 은행과 같은 신뢰할 수 있는 제3자 기관이 없이 거래가 가능한 혁신적인 시스템입니다.

>

전자지갑에서 수신인의 공용키를 계좌번호로 이용하여 비트코인을 전송할 수 있는데, 여기서 공용키는 송/수신 시 활용되는 계좌번호 역할을 합니다. 개인키(비밀키)는 본인임을 증명하는 전자서명을 수행할 때 사용되며, 전자서명은 트랜잭션의 타당성을 증명하는 것이지만 트랜잭션 데이터를 발송하는 사람이 서명을 생성하고 수신하는 자가 그 서명을 발신자의 공개키로 검증하여 타인에 의한 위/조작의 존재 여부를 확인할 수 있습니다.

각 노드의 메모리 상에 존재하는 일시적 풀(Temporary Pool)에 검증된 트랜잭션이 축적되고 그 트랜잭션 중에서 채굴(Mining)을 위해 후보블록(Candidate Block)을 구성하게 됩니다.비트코인블럭은 헤더와 바디로 구성되며 헤더는 80바이트로 구성되어 있으며 전체블록의 크기는 1Mbyte로 제한되어 있습니다. 비트코인 노드는 전송된 트랜잭션을 검증한 후 트랜잭션을 임시 풀에 계속 추가합니다. 트랜잭션 풀에 있는 거래 중에서 후보블록을 작성하고 그 다음 트랜잭션의 확대를 위해 채굴되기를 기다립니다.채굴의 시작은 노드로 후보 블록을 생성하는 것으로 비트코인의 경우 약 10분마다 새로운 블록이 생성되도록 프로그램되었으며 후보 블록에서는 헤더 값이 정해져 있으며, 변경 가능한 난수의 값을 초기 0부터 시작해서 1씩 증가하여 해시함수를 2회 적용하여 블록헤더의 해시 값이 특정 숫자보다 작은 값을 찾으면 채굴에 성공합니다.

비트코인의 합의 알고리즘 중 하나로 비트코인 네트워크에 접속된 각 노드는 각각 새롭게 생성된 블록에 대해 독립적으로 검증합니다. 새로 생성된 블록 데이터 구조가 적정한지, 블록 헤더 해시 값이 난이도 목표치보다 작은지, 블록 사이즈가 시스템에서 정의된 1Mbyte보다 작은지 등을 검증합니다. 블록이 정당하면 그 노드는 “success message”를 블록 생성한 노드로 보내고 블록이 정당하지 않으면 “reject message”를 생성한 노드로 보냅니다.

1. 오프체인 비트코인 결제는 블록체인에 트랜잭션을 기록할 때마다 수수료가 발생합니다. 소액 결제를 반복할 경우 수수료가 계속 발생하고, 이 문제를 해결하는 방법으로 마이크로 페이먼트 채널이라는 기술이 있습니다. 이는 트랜잭션의 일부를 블록체인 외부에서 처리하는 기술로, 최초의 트랜잭션과 마지막 트랜잭션만 블록체인에 기록하고 중간 트랜잭션은 기록을 생략하여 수수료가 부과되지 않도록 하는 것입니다.현재 비트코인 블록체인은 블록 크기가 제한되어 있어 블록에 포함된 거래량의 상한이 낮은 점이 문제가 되고 있습니다. 마이크로 페이먼트 채널을 이용해 블록체인 외부에서 대량의 트랜잭션을 고속으로 처리할 수 있는 만큼 이 기술은 블록체인의 용량 문제를 해결할 수 있는 하나의 수단으로 주목받고 있습니다.2. 세그윗 세그윗이란 비트코인 블록에 저장된 서명과 공개키 등을 분리하여 다른 영역에 수납하는 방법입니다. 원래 스크립트 시그(거래 서명이나 공개 키 등으로 구성된 프로그램)에 포함된 데이터를 분리하여 다른 영역에 수납하는데, 이 별도의 데이터 영역을 위트니스라고 부릅니다. 세그잇은 프로그램의 내용을 스크립트 시그 안에 서명이 포함되어야 한다에서 위트니스 안에 서명이 포함되어야 한다로 바꾸고 이는 블록사이즈의 실질적인 확장을 의미합니다. 블록에서 데이터를 뺀 만큼 블록 용량이 늘어나기 때문입니다.