블록체인 기술의 장단점과 가능성
샤딩Sharding 조각내다라는 뜻을 가지고 있고 규모가 큰 데이터베이스 혹은 네트워크에서 여러개의 작은 조각으로 쪼개어 분포 저장관리하는 방법을 의미합니다. 작은 조각으로 쪼갠 블록들의 구간Epoch를 샤드shard라고 부릅니다. 블록체인에서 각 노드들은 체인의 사본을 저장하는데, 만약 데이터의 규모가 큰 경우 샤딩을 통해 빠르게 데이터 검증이 가능하고 결과적으로 트랜잭션의 속도를 향상시키게 됩니다. 이전 데이터베이스에서 샤딩sharding은 수평 분할의 일반적인 방법입니다.
블록체인에서의 샤딩은 전체 블록체인 네트워크를 분배하고 트랜잭션을 영역별로 저장하게 됩니다. 병렬적으로 트랜잭션을 처리하면서 블록체인이 해결해야할 확장성을 부여하는 온체인 솔루션으로 각광받고 있습니다.
퍼블릭프라이빗 블록체인의 특징
블록체인은 퍼블릭 블록체인과 프라이빗 블록체인으로 구분할 수 있습니다. 퍼블릭 블록체인은 참여자의 확대가 전제가 되어 거래 교환 수단 및 투자 자산으로 활용이 많이 되고 있습니다. 대표적으로 비트코인은 투자 자산으로 자리를 잡았으며 카지노 산업에서 빠르게 성장 중에 있습니다. 프라이빗 블록체인은 제한된 참가자들 간의 효과적으로 운영되기 위함을 목적으로 기업 간의 보안상 정보 교환을 목적으로 진행이 됩니다.
블록체인 거래 과정
A가 B에게 송금을 하는 경우 해당 거래 정보가 담긴 블록이 생성되고 네트워크상에 있는 모든 참여자에게 전송되어 참여자들이 거래 정보가 유효한지에 대한 검증을 하게 됩니다. 이때 참여자 절반 이상의 데이터와 일치하는 거래 내역은 정상 장부로 판단되고 이 과정에서 검증이 완전한 블록은 기존에 있던 블록과 부착되어 체인을 이루게 됩니다. 블록의 복사본들은 모든 참여자의 컴퓨터에 동일하게 분산되어 저장되며 이렇게 블록체인은 거래 하나하나가 이루어질 때마다.
참여자들끼리 정보를 공유하기 때문에 이를 대조하면서 데이터의 위조나 변조가 불가능하도록 합니다.
이렇게 끊임없이 참조해 이어나가는 방식의 구조를 가지고 있고 거래에 참가하는 사람들에게 해시Hash 값을 대조하게 만들며 검증 작업에 참가하는 사람들에게 일정 수준의 가상화폐를 보상으로 지급하고 이 보상을 받는 행위를 가상화폐 채굴Mining이라고 합니다.
제네시스 블록은 뭐예요?
블록체인에서는 블록 하나가 가득 차면 다음 블록이 새로 생성된다고 언급했는데요, 그렇다면 이렇게 연결된 블록 중 맨 처음에 개발된 블록도 있겠죠? 블록체인 내부에 첫 번째로 만들어진 블록을 제네시스 블록Genesis Block이라고 합니다. 제네시스 블록이 생성되었다는 것은 특정 블록체인 네트워크가 시작되었다는 대표적인 의미를 가지고 있는데요, 그렇기 때문에 제네시스 블록의 트랜잭션은 실제 트랜잭션으로 처리하지 않고, 특별한 메모를 넣어 보존하고 있어요. 잘 보고된 예로, 비트코인의 제네시스 블록에는 아래와 같은 문구가 새겨져 있습니다.
채굴 과정 및 암호화폐 보상
암호화폐 채굴 과정에서 하드웨어는 비트코인, 이더리움 아니면 다른 유형의 암호화폐와 같은 암호화폐 네트워크 서비스에 배치됩니다. 이 하드웨어가 하는 일은 사용자가 네트워크에서 수행한 거래가 유효한지 확인하는 권한을 제공되는 것입니다. 이러한 거래의 유효성 검사가 완료되면 블록으로 그룹화됩니다. 그런 다음 이러한 블록이 블록체인에 추가됩니다. 이것은 기본적으로 암호화폐 채굴 과정입니다.
새로운 블록이 체인에 추가될 때마다.
보상이 생성됩니다. 이 보상은 새로 추가된 블록을 구성하는 거래에 참가하는 사용자가 지불하는 수수료와 유통되는 새로운 디지털 코인의 두 부분으로 구성됩니다. 이것이 채굴자들이 암호화폐 채굴을 위해 기계와 시스템에 거대한 투자를 하는 것이 매력적인 이유입니다. 현재 각 비트코인 채굴자는 완전한 각 블록에 대해 6.25 BTC를 받는다.
이더리움 샤딩 적용
이더리움 샤딩은 메인 체인에서 처리하는 블록들을 쪼개 샤드라 불리는 오프 체인에 할당합니다. 오프 체인들은 주어진 샤드에 대해서만 유효성을 검증하게 됩니다. 각각의 샤드들이 할당된 조각들의 검증을 마치고 난 후 다시 샤드들을 묶다 블록을 심사숙고하는 시간을 단축하게 됩니다. 샤드별로 Merkel Patricia Tree를 생성해 해당 샤드의 Root들로 만드러진 MPT Root만 블록체인에 올리기 때문에 채굴자들은 모든 트랜잭션을 실행하지 않고 샤드별로 채굴자들을 분산시키게 됩니다.
덕분에 이전 이더리움 블록생성 시간은 13초 이상 소요되었지만 샤딩이 도입되면 약 28초 사이로 블록 생성시간이 단축되게 됩니다. 이더리움에 샤딩을 적용하기에는 문제점들이 아직 존재합니다.
난수 생성 문제 난수를 생성해 검증자를 샤드에 배정하는 과정에서 공격자가 난수를 예측하거나 조작할 수 있습니다.
자주 묻는 질문
퍼블릭프라이빗 블록체인의
블록체인은 퍼블릭 블록체인과 프라이빗 블록체인으로 구분할 수 있습니다. 좀 더 자세한 사항은 본문을 참고하시기 바랍니다.
블록체인 거래 과정
A가 B에게 송금을 하는 경우 해당 거래 정보가 담긴 블록이 생성되고 네트워크상에 있는 모든 참여자에게 전송되어 참여자들이 거래 정보가 유효한지에 대한 검증을 하게 됩니다. 자세한 내용은 본문을 참고 해주시기 바랍니다.
제네시스 블록은 뭐예요?
블록체인에서는 블록 하나가 가득 차면 다음 블록이 새로 생성된다고 언급했는데요, 그렇다면 이렇게 연결된 블록 중 맨 처음에 개발된 블록도 있겠죠? 블록체인 내부에 첫 번째로 만들어진 블록을 제네시스 블록Genesis Block이라고 합니다. 좀 더 자세한 사항은 본문을 참고해 주세요.