요약: 제타체인(ZetaChain)의 혁신적인 트랜잭션 모델로 인해 계좌 기반의 표현력이 UTXO의 간결성 및 보안성과 결합됩니다. 하이브리드 디자인으로 인해 체인간 메시지 전달과 외부 체인의 상태와 직접 상호 작용할 수 있는 네이티브 옴니체인(Omnichain) 스마트 계약이 가능해집니다.
저희의 대규모 [블록체인 상호운용성 시장 분석] 결과를 보면(https://beincrypto.com/better-blockchain-interoperability-will-attract-users-developers-traders/), 일반 프로그램 작동 가능성 달성을 목표로 하는 몇몇 블록체인 프로젝트와 제안을 확인할 수 있습니다. 문제는, 이러한 프로젝트가 다양한 규모로 중앙화되어있거나 의심스러운 트러스트 모델을 사용한다는 것이죠. 이는 옴니체인 상호운용성에 대한 대중적이고 무허가적이며 탈중앙화된 접근법을 위한 암호화폐 생태계에 심각한 틈을 발생시키게 됩니다. 제타체인은 초기 인센티브화 공영 블록체인 및 범용 크로스체인 스마트 계약 플랫폼의 선구자입니다. 이러한 자신감 넘치는 주장은 크로스체인 디앱과 비동시성 문제를 지원하는 블록체인 "부기(bookkeeping)" 매커니즘의 한계에 대한 여러 커다란 궁금증을 제기하기도 하죠. 이번 글에서 제타 버추얼 머신(Zeta Virtual Machine, ZVM)에 의해 구동되는 제타체인의 하이브리드 트랜잭션 모델 디자인을 낱낱이 살펴보면서 두 가지 주제를 다뤄보도록 하겠습니다.
일반 옴니체인 스마트 계약 지원을 위해 몇 가지 주요 문제를 해결해야 합니다. 첫 번째는, 다른 종류의 체인들과의 대화가 기본적으로 실시간으로 이뤄지지 않는다는 점입니다. 이더리움 버추얼 머신(Ethereum Virtual Machine, EVM)과 같은 단일 체인에서의 스마트 계약과는 달리, 다른 체인의 상태 문의 또는 변경이 외부 체인의 메시지(관측)에 의해 이루어집니다. 이러한 종류의 크로스체인 스마트 계약 트랜잭션 모델은 유한 상태 기계로 가장 많이 간주합니다.
두 번째는, 스마트 계약이 메시지, 데이터, 가치를 전송하는 방식에 영향을 미치는 블록체인 프로그래밍 모델입니다. 역사적으로 블록체인의 상태 기록 및 변경에는 두 가지 주요 "부기" 모델이 존재해왔죠. 하나는 UTXO(미사용 트랜잭션 출력값)이며 비트코인, 에르고, 카르다노 등에서 사용되었습니다. 다른 하나는 *계좌 기반(account-based)*으로 EVM에서 사용되었죠. 아래는 이 둘의 간략한 개요입니다.
Figure 1: UTXO vs. Account-based models: network state visualization
이 모델들 간의 주요 차이점은 그들의 표현 능력입니다. 계좌 기반 모델의 계산적인 특성은 UTXO 기반 스크립트의 표현력보다 더 높으며, 이는 검증 모델에 더 가깝다고 할 수 있습니다. 그러나 UTXO 기반의 스마트 계약은 일반적으로 더 간소하며, 더욱 탄탄하고, 저장 및 계산에 효율적이며, UTXO의 제한으로 인해 더 적은 타격면을 가지고 있습니다. 예를 들면, 실지로 비트코인 스크립트는 의도되지 않은 보안 버그가 발견된 경우가 극히 드문 반면 이더리움 스마트 계약은 수백만 달러 손실로 유명해졌죠. 또한 비트코인의 경우, UTXO가 주요 불변량을 암묵적으로 시행하여, 트랜잭션 총 입력량 = 총 출력량이라는 이중 지불 문제를 해결하였습니다. 그리하여 계좌 기반 프로그래밍의 표현력은 복잡한 디앱(AMM, ICOs 등)을 쉽게 만들 수 있지만 보안성은 낮아집니다.
만약 탈중앙화한 범용 크로스체인 스마트 계약 플랫폼을 제안하고자 한다면, 해결해야 할 문제가 있습니다. 그 문제란, 'Uniswap-style AMM DEX와 같은 인기 있는 디앱을 지원할 수 있는 충분한 표현력을 갖추면서, 그와 동시에 간결성과 안전성을 유지하려면 어떤 식으로 UTXO 모델을 확장해야 하는가?'입니다.
몇몇 혁신적인 프로젝트들이 이러한 딜레마를 해결하기 위해 노력하고 있습니다. 에르고는 카르도나에 이어 확장형 UTXO(eUTXO) 모델을 개척했습니다. 이러한 eUTXO 플랫폼에서 AMM 페어의 상태를 UTXO에 유지하여 어느 정도는 AMM DEX를 시행할 수 있지만, 심각한 문제가 없는 것은 아니죠. 하나의 트랜잭션만이 해당 UTXO를 소비하고 블록에 새 UTXO를 생성할 수 있으므로, 오직 하나의 트랜잭션만이 블록을 성공할 수 있습니다. 그 결과 UTXO 정체 현상이 발생하여 같은 UTXO를 사용하려는 완료된 트랜잭션이 실패하고, 한 블록을 기다린 후 새 UTXO를 사용해야 할 것입니다. 그렇게 적절한 방법은 아니죠.
제타체인은 각각의 장점을 결함한 하이브리드 UTXO 및 계정 기반 접근법을 도입합니다. 기본적으로 UTXO를 사용하여 외부 블록체인 트랜잭션을 표시하고 추적하며(종합 UTXO로 취급), 로직용으로 계좌 기반 스마트 계약을 사용하여 공유된 글로벌 상태를 관리합니다. UTXO는 제타 코인 총액(소각된 코인), 다른 코인의 총액(예, 제타 코인의 발행이 불가능한 비트코인 네트워크의 BTC), 스크립트 메시지(이더리움의 메시지나 함수 호출과 대략 동일)을 포함합니다. 종합 UTXO 모델로 인해 제타체인이 계좌 책임성, 간결성 및 확장성의 이점을 경험하면서 스크립팅의 표현력인 UTXO의 주요 제한과 특정 주요 응용 프로그램에서 곤란함을 피할 수 있게 됩니다 (즉, AMM에서 블록당 하나의 트랜잭션).
제타체인의 하이브리드 UTXO 계좌 흐름을 살펴봅시다(그림 2).