본문 바로가기

암호화폐 이론, 탈중앙화, 블록체인 원리 미래

Libra, Diem 암호화폐의 특징

Libra, Diem 암호화폐의 특징

Libra, Diem 암호화폐의 특징
Libra, Diem 암호화폐의 특징

2020년 12월 Libra는 Diem이라는 새로운 이름으로 변경되었고, 2021년에 새로운 화폐를 발행하는 것을 계획하고 있습니다. 프로젝트의 이름을 Diem으로 바꾼 것은 과거 세계 여러 규제 기관들로부터 뭇매를 맞았던 Libra 프로젝트가 많은 변화들을 통해 완전히 새롭게 바뀌었다고 보여주기 위한 것이라 생각됩니다. 그동안 페이스북이 Libra 협회의 구성과 블록체인 출범에 핵심적인 역할을 했고 협회 내에서도 주도적인 역할을 수행할 예정이었던 반면, Diem 프로젝트로 변화한 현재는 협회 내에서 페이스북의 특별한 권한은 없어지고 모든 구성원이 동등한 권한을 갖게 되었습니다. 이에 따라 Diem 구성원들은 규제 기관들이 프로젝트의 이러한 변화를 우호적으로 받아들일 것이라 기대하고 있습니다. Diem 블록체인은 암호화폐를 발행하고 송금하는 것을 지원하는 지불 시스템의 기술적인 뼈대 역할을 합니다. 앞서 설명드렸던 것처럼 Diem 협회의 기업들이 각각 하나의 검증 노드 역할을 수행하는 블록체인 네트워크입니다. 이 시스템은 Diem 프로토콜에 의해서 관리 및 운영됩니다. 즉, Diem 프로토콜에 따라 Diem 코인과 같은 자원에 대한 데이터가 알맞게 저장됩니다.

Diem 프로토콜

Diem 프로토콜에 대해 간단히 설명하겠습니다. 검증 노드들은 Diem 협회 참여 기업들의 블록체인 노드이고, 왼쪽의 클라이언트는 단순히 트랜잭션을 발생시키는 일반 사용자입니다. 검증 노드들은 원장을 유지하고, 클라이언트들로부터 받은 트랜잭션들을 처리해야 합니다. 검증 노드들 간의 합의 프로토콜을 통해서 각 트랜잭션마다 어떤 리더 검증 노드가 다른 검증 노드들에게 이를 제안하고, 모두가 실행해봄으로써 투표를 통해 이 트랜잭션의 기록 여부를 판단하게 됩니다. Diem 블록체인에서는 Move라는 새로운 프로그래밍 언어를 사용합니다. 이를 이용해서 트랜잭션이나 스마트 컨트랙트를 작성하게 됩니다. Diem의 최종적인 목표는 전 세계 많은 사람들을 대상으로 서비스를 제공하는 것이기 때문에, Move는 보안성과 안정성에 중점을 두고 개발되었습니다. 사용자의 의도를 쉽고 명확하게 표현할 수 있다는 특징 덕분에 예기치 못한 에러나 보안 사고를 방지할 수 있다 얘기하고 있습니다. Move 프로그래밍 언어를 통해 정의된 디지털 자산은 실물 자산의 성격을 부여해서 소유자를 한 명으로 규정하고 동일한 자산을 생성하는 복제를 막을 수 있게 됩니다. Diem 블록체인은 합의 알고리즘으로 DiemBFT라는 비잔틴 장애 허용(BFT) 방식을 기반으로 한 새로운 합의 알고리즘을 사용합니다. 앞서 Diem 프로토콜의 동작 과정에 대해 설명했던 것처럼 분산 시스템인 Diem 블록체인에서 검증 노드들이 합의를 통해 트랜잭션을 처리하고 원장을 관리합니다. 이런 방식은 합의 과정에서 악의적인 노드가 일부 존재하더라도 시스템이 정상적으로 합의에 도달할 수 있는 것을 목표로 합니다. 블록체인 네트워크 상의 검증 노드들 중 최대 3분의 1까지 악의적인 노드가 된다고 하더라도 이 합의 프로토콜은 정상적으로 동작하는 것이 가능합니다. 또한 이런 방식은 기존 블록체인들에서 흔히 활용되는 작업 증명 방식에 비해 거래 처리 속도와 지연 시간, 에너지 효율성 측면에서 우수한 성능을 가지게 되고, 거래의 완결성을 확실하게 보장할 수 있습니다.

거래의 완결성 유지

거래의 완결성이란 블록체인에 기록된 거래가 취소되는 일 없이 완전히 체인에 포함되었음을 나타냅니다. 작업증명 방식을 사용하는 비트코인의 경우 어떤 거래가 포함된 블록 이후로 6개의 블록이 체인에 더 연결되었을 때 99%의 거래 완결 가능성을 보장합니다. 하지만 DiemBFT에서는 합의 과정 이후 체인에 연결된 블록이 포함하고 있는 모든 거래들의 완결성을 완전히 보장해줍니다. 거래의 완결성 보장 여부는 해당 통화의 상용화에 아주 중요한 역할을 합니다. 거래의 완결이 빨리 보장될수록 거래 처리 속도가 빠르기 때문에 해당 통화를 지불 수단으로 사용할 수 있게 됩니다. 따라서 전 세계 사람들이 Diem라는 화폐로 금융 서비스를 이용할 수 있도록 하려는 프로젝트의 목표에 알맞은 합의 알고리즘이라고 볼 수 있습니다.

머클 트리 구조 활용

거래 데이터의 효율적이고 안전한 보관을 위해서 Diem 블록체인은 머클 트리 구조를 활용합니다. 머클 트리는 이진트리 형태로 각 리프 노드가 하나의 트랜잭션에 대한 정보를 나타내고, 내부 노드들은 두 개의 자식 노드가 가지는 값을 함께 해시한 값을 가집니다. 루트 노드가 가지는 값을 루트 해시라 부르고, 이 값은 원장 전체 상태에 대한 정보를 나타냅니다. 만약 어떤 변화가 발생한다면 해당 지점부터 루트 해시까지 모든 값이 바뀌기 때문에 기존 저장된 데이터를 효율적이고 안전하게 검증할 수 있습니다. 또한 만들어진 머클트리를 두 가지 최적화 방안을 이용해서 더욱 효율적이고 간단한 형태로 바꾸는 것이 가능합니다. 시간이 지날수록 블록체인 원장의 사이즈는 점점 커지게 되는데, 더 이상 변경되지 않는 오래된 데이터를 가지치기 (pruning)를 통해 정리할 수 있게 되는 것입니다. Diem 블록체인에서 검증 노드 역할을 수행하는 Diem 협회에는 2020년 12월을 기준으로 이와 같은 27개 기업들이 소속되어 있습니다. 블록체인 네트워크의 검증 노드로써 Diem 블록체인의 운영을 관리하는 것뿐만 아니라, 다른 참여자들 간의 협조와 합의 형성을 촉진하고, Diem Reserve를 관리하는 역할을 수행합니다. 앞으로 Diem 협회는 시스템의 초기 정착을 위해 많은 활동들을 수행하고, 점차 Diem 시스템의 Diem 협회에 대한 의존도를 낮추는 방향으로 프로젝트를 이끌 것이라 예상됩니다. 페이스북에서 발행하려고 하는 기업형 암호화폐인 Diem (Libra)에 대해 설명해드렸습니다.