블록 격자 (Block Lattice)
블록 격자(block-lattice)는 Nano 암호화폐(옛 RaiBlocks)가 처음 도입한 원장 구조로, DAG(Directed Acyclic Graph)의 한 유형입니다. 모든 거래를 하나의 체인에 순서대로 쌓는 기존 블록체인과 달리, 각 계정이 계정의 개인 키로만 제어되는 자기 전용 체인을 갖고, 각 체인은 네트워크의 모든 피어에 복제됩니다. 계정별 체인들이 거래로 서로 연결된 모습이 격자를 닮았기 때문에 블록 격자라고 합니다.
작동 방식
- 계정별 체인: 각 계정은 자체 블록체인을 유지하며, 그 체인에는 계정 소유자만 개인 키로 서명한 블록을 추가할 수 있습니다.
- 송금 블록과 수신 블록: 하나의 송금은 두 체인을 업데이트합니다. 보내는 사람이 자기 체인에 송금(send) 블록을 추가하고, 받는 사람이 자기 체인에 수신(receive) 블록을 추가하면 거래가 완료됩니다. 두 단계는 서로 기다리지 않고 비동기적으로 처리될 수 있습니다.
- 잔액 기록: 각 블록에는 그 시점의 계정 잔액이 기록되므로 노드는 계정별 최신 블록만으로 잔액을 확인할 수 있습니다.
- 충돌 해결: 같은 계정에서 서로 충돌하는 블록(이중 지불 시도)이 나오면, 계정 보유자들이 위임한 대표 노드(representative)들의 지분 가중 투표로 어느 블록을 남길지 정합니다. Nano는 이 방식을 Open Representative Voting(ORV)이라고 부릅니다.
- 스팸 방지: 채굴자와 거래 수수료가 없는 대신, 각 블록을 만들 때 작은 작업 증명을 계산하게 해 대량의 스팸 거래를 어렵게 합니다.
쉽게 이해하기
블록 격자는 개인 일기 네트워크에 비유할 수 있습니다. 각 개인(계정)은 자기 일기(블록체인)를 가지고 있고, 고유한 키(개인 키)가 있는 본인만 일기에 쓸 수 있습니다. 모든 일기의 사본은 커뮤니티 도서관(네트워크의 피어)에 보관되어 누구나 읽을 수 있지만, 다른 사람의 일기를 고쳐 쓸 수는 없습니다. 앨리스가 밥에게 돈을 보내면 앨리스의 일기에는 “보냄”, 밥의 일기에는 “받음”이 각각 기록됩니다.
장점으로 거론되는 점
- 속도: 각 계정이 자체 거래를 독립적으로 처리하므로 거래가 빠르게 확인될 수 있습니다.
- 수수료 없음: 거래를 검증하는 채굴자가 없으므로 사용자는 수수료 없이 전송할 수 있습니다.
- 확장성: 서로 다른 계정의 거래는 병렬로 처리될 수 있어, 하나의 체인에서 순차적으로 처리하는 구조보다 많은 거래를 동시에 다룰 수 있도록 설계되었습니다.
- 낮은 에너지 소비: 블록 생산 경쟁이 없어 작업 증명 블록체인보다 계산 자원이 적게 듭니다.
한계
- 복잡성: 계정별 체인과 투표 방식은 기존 블록체인보다 개발과 유지 관리가 복잡할 수 있습니다.
- 보안 고려 사항: 고유한 구조는 대표 노드로의 투표권 집중 같은 새로운 위험을 낳을 수 있으며, 모든 공격에 대한 내성을 뜻하지는 않습니다.
- 혼잡 시 지연: 거래가 한꺼번에 몰리면 확인이 지연될 수 있습니다.
- 제한된 스마트 컨트랙트 기능: 단순 송금에 맞춘 구조라 복잡한 스마트 컨트랙트에는 적합하지 않습니다.
정리하면, 블록 격자는 계정별 제어와 네트워크 전체의 검증을 결합한 원장 설계입니다. 확장성·속도·효율성 측면의 장점이 거론되지만, 실제 사용 사례는 아직 Nano 등 일부 프로젝트에 한정됩니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.