Rooch Network: 비트코인의 원주율 애플리케이션 레이어와 미래 생태계 구축자
저자: Rooch Network
Rooch Network란 무엇인가요?
Rooch Network는 비트코인의 원주율 애플리케이션 레이어로, 스택형 L2 솔루션을 기반으로 하여 사용자와 개발자에게 비트코인 자산의 시작 플랫폼과 비트코인 애플리케이션 인프라를 제공합니다.
왜 Rooch Network가 필요한가요?
2023년 비트코인 생태계에서는 다양한 새로운 자산 프로토콜이 등장했습니다. 이러한 새로운 자산의 특징은 비트코인에서만 자산의 소유권을 등록하고, 유효성을 체인 외부에서 검증하는 것으로, 클라이언트 검증 기반(Client side validation)의 자산으로 통칭할 수 있습니다. 이러한 새로운 자산 프로토콜이 암시하는 비트코인 생태계의 비전은 무엇일까요? 업계에서는 다양한 의견이 존재하지만, 우리는 비트코인 위의 새로운 자산 프로토콜이 새로운 애플리케이션 생태계 구축 패러다임을 암시한다고 생각합니다.
클라이언트 검증 자산은 자산의 유효성을 체인 외부에서 검증하므로, 자산의 체인 간 이동 프로토콜을 설계할 수 있습니다. 이를 통해 자산이 체인에서 체인 외부로 이동하는 것을 실현하고, 디지털 세계에서 "현금" 효과를 시뮬레이션할 수 있습니다. 이렇게 자산의 사용 시나리오는 더 이상 체인의 확장성 문제에 제한받지 않으며, 새로운 확장 솔루션이자 애플리케이션에 무한한 가능성을 제공합니다.
동시에 이러한 모델은 가능한 애플리케이션 생태계의 시작 모델을 암시합니다. 애플리케이션 내 자산을 통해 사용자 유치를 먼저 하고, 사용자 커뮤니티를 구축한 후, 커뮤니티 내에서 애플리케이션이 탄생하여 애플리케이션의 초기 시작 문제를 해결합니다.
그렇다면 이러한 모델을 지원하기 위해 어떤 인프라가 필요할까요?
- 우선, 체인 외부에서 확장 가능한 애플리케이션 환경이 필요합니다. 이 환경은 체인 상의 자산 프로토콜에 검증 서비스와 확장성을 제공할 수 있으며, 애플리케이션을 실행하고 자산에 애플리케이션 시나리오를 제공합니다.
- 둘째, 자산의 체인 간 이동을 위한 프로토콜이 필요합니다.
- 마지막으로, 체인 외부 애플리케이션을 서로 연결하는 네트워크가 필요하며, 애플리케이션 간의 상호 운용성을 보장해야 합니다.
이것이 Rooch Network가 탐색하고 시도할 방향입니다.
기술 솔루션 및 로드맵
검증 가능한 애플리케이션 컨테이너 (VApp Container)
체인 외부의 애플리케이션 환경은 우선 검증 가능성을 보장해야 하며, 검증 가능성은 탈중앙화의 전제 조건입니다. 우리는 검증 가능한 애플리케이션(Verifiable App)을 VApp로 줄여 부릅니다.
스마트 계약이 계산의 검증 가능성을 보장하고, 상태 트리가 상태의 검증 가능성을 보장하여 결합된 것이 검증 가능한 애플리케이션 컨테이너입니다.
Rooch 팀은 1년간의 개발 끝에 Move 언어의 VApp 컨테이너를 완성하였으며, 이는 다음 모듈을 포함합니다:
- MoveOS: MoveVM 및 스택 상태 트리를 포함하여 애플리케이션에 실행 환경을 제공하고, 애플리케이션의 상태를 저장하여 계산 및 상태의 검증 가능성을 보장합니다.
- Move 기본 라이브러리 및 프레임워크: Move Stdlib, MoveOS Stdlib, RoochFramework, BitcoinMove 등을 포함하여 애플리케이션에 계정 추상화, 자산 정의, 비트코인 프로토콜 실행 등의 기본 기능을 제공합니다.
- 기본 개발 도구, RPC 인터페이스, 인덱스 서비스 및 SDK.
이 애플리케이션 컨테이너를 기반으로 애플리케이션 개발자는 대부분의 Web2 애플리케이션을 Move 언어로 구현하여 검증 가능한 애플리케이션으로 변환할 수 있습니다. Rooch는 또한 WASM 가상 머신을 도입하여 Move 가상 머신이 애플리케이션 논리를 실행하고 상태를 관리하며, WASM 가상 머신이 확장 기능을 제공하여 개발자가 기존 프로그래밍 언어의 라이브러리를 재사용할 수 있도록 합니다.
Root에서 비트코인으로
VApp 컨테이너가 생긴 후, 우리는 비트코인과 결합할 필요가 있습니다. Rooch가 채택한 솔루션은 VApp 컨테이너 내에서 비트코인 네트워크의 모든 블록을 실행하고, UTXO 및 UTXO 위에 추가된 확장 프로토콜을 검증하여 Move의 객체로 변환하여 비트코인에 L1 상태를 포함하는 L2 솔루션을 제공합니다.
이 스마트 계약 레이어는 주로 세 가지 기능을 제공합니다:
- 비트코인 생태 애플리케이션에 비트코인의 상태 증명을 제공합니다. 비트코인 상의 상태, UTXO 및 Inscription 등이 상태 트리에 포함되므로, 상태 트리의 루트(Root)를 비트코인 네트워크에 기록하면 비트코인 생태 애플리케이션에 비트코인의 상태 증명을 제공할 수 있습니다. 특정 블록 높이에서 사용자가 특정 UTXO 또는 특정 Inscription을 소유하고 있는지를 증명할 수 있습니다.
- 비트코인 L1의 자산 프로토콜에 확장 기능을 제공합니다. 기존 자산 프로토콜을 기반으로 새로운 프로토콜을 확장하며, 주요 작업은 새로운 프로토콜의 검증 규칙을 정의하고 구현하는 것입니다. 이는 스마트 계약 프로토콜 플러그인을 통해 구현할 수 있습니다. 이렇게 하면 개발자는 새로운 인덱서를 구축할 필요가 없습니다.
- 비트코인 상의 모든 데이터 및 자산에 프로그래밍 기능을 제공하여 애플리케이션 시나리오를 창출합니다.
비트코인의 전체 상태를 확보한 후, 우리는 그 위에 L2 상태를 쌓아 비트코인 상의 데이터와 자산을 기반으로 애플리케이션 시나리오를 생성할 수 있습니다. 주요 몇 가지 솔루션은 다음과 같습니다:
비트코인 L1 자산으로 결제하기
주요한 세 가지 모델은 "원자 교환(opens in a new tab)", "PSBT(opens in a new tab)", "체인 상 결제가 체인 외 결제를 촉발하는" 것입니다. 이 세 가지 모델은 교환 또는 결제 시나리오에 적합하며, 비트코인에서 직접 결제할 수 있습니다. 개발자는 Rooch가 제공하는 스마트 계약을 활용하여 거래 주문의 표시, 중개 및 비트코인과의 결제를 간소화할 수 있습니다.
원자 바인딩
UTXO와 Move 객체의 원자 바인딩을 통해 L2 자산을 비트코인 L1 자산에 바인딩하여 L2의 자산 소유권이 비트코인 L1 자산의 이동에 따라 이동하도록 합니다. 예를 들어, L1에 토지를 표현하는 Inscription이 있을 때, L2에 집을 지으면 소유권이 L1의 땅에 바인딩되고, 토지가 이동할 때 집도 함께 이동합니다.
파생 자산
비트코인 L1 자산을 통해 새로운 자산을 파생시키는 것으로, 기존 자산을 기반으로 새로운 자산을 발행하는 모델입니다. 예를 들어, 특정 L1 자산을 보유하면 특정 L2 자산을 받을 수 있습니다.
소품 및 신원 표시
애플리케이션에서 비트코인 L1 자산을 소품이나 신원 표시로 사용합니다. 예를 들어, 특정 Inscription이 게임 내 장비를 나타내며, L2의 게임에서 직접 사용됩니다. 또는 L1 자산을 사용하여 투표 거버넌스를 진행합니다.
비트코인 스크립트 프로그래밍
스마트 계약 내에서 비트코인 스크립트 및 거래를 생성하고, L2에서 구축된 제약력(거버넌스 또는 담보)을 통해 사용자가 이 거래에 서명하고 L1 블록에 포함되도록 보장합니다. 그렇지 않으면 처벌을 받습니다. 이 특성을 통해 비트코인 상의 체인 상 다중 서명 지갑, DAO 및 다중 서명 브리지에 추가적인 보안을 제공할 수 있습니다.
더 많은 모델은 탐색이 필요하며, 우리는 이러한 모델을 "스택형" 애플리케이션 구축 모델이라고 부릅니다. 애플리케이션이 체인의 상태 위에 상태를 쌓아 기존 데이터와 자산의 재사용을 실현합니다. "스택형" 모델에 대한 자세한 내용은 Stackable L2를 참조하시기 바랍니다. 비트코인과 Move의 프로그래밍 문서 및 사례는 비트코인 확장을 참조하십시오.
분산 상태 트리 프로토콜 (Distributed State Tree Protocol - DSTP)
VApp 컨테이너는 독립적입니다. 어떻게 이들을 연결하여 네트워크를 형성하고 상태와 자산의 상호 통신을 실현할 수 있을까요? 이것이 분산 상태 트리 프로토콜이 해결해야 할 문제입니다.
분산 상태 트리 프로토콜의 아이디어는 스택 상태 트리의 서로 다른 서브 트리를 P2P 네트워크의 노드에 분산시켜 확장성과 병렬 계산을 실현하는 것입니다. 분산 상태 트리 프로토콜을 통해 전체 네트워크는 무한한 애플리케이션을 지원하고, 병렬 수평 확장을 실현할 수 있으며, 동시에 전역 상태를 통해 데이터와 자산을 공유하고 애플리케이션의 상호 운용성을 실현할 수 있습니다.
"스택형" 상태 모델을 기반으로 각 VApp 노드는 비트코인과 Rooch의 상태를 포함하며, 이는 전역 상태입니다. 애플리케이션의 상태는 전역 상태 트리의 서브 트리로, 특정 노드에만 존재할 수 있습니다. 만약 특정 거래가 애플리케이션의 상태만 수정하고 전역 상태를 수정하지 않는다면, 그 거래는 네트워크에 브로드캐스트할 필요가 없으며, 애플리케이션은 정기적으로 자신의 상태 루트를 전역 상태에 동기화하면 됩니다. 이는 애플리케이션 기반의 샤딩과 유사합니다.
이렇게 해서 비트코인 위에 루트가 있고, 데이터가 각 애플리케이션 노드에 분산된 분산 상태 트리가 형성됩니다. 애플리케이션 내 자산은 상태 트리 간에 이동할 수 있으며, 비트코인 상의 자산과도 상호 통신할 수 있습니다.
분산 상태 트리 프로토콜은 두 가지 방향으로 확장할 수 있습니다:
- 상태 채널 통합. 상태 채널은 생명 주기가 있는 특별한 상태 트리로 이해할 수 있습니다. 여러 참여자의 상태 채널이 열리면 상태 트리가 생성되고, 상태 채널이 정산될 때 애플리케이션은 상태 트리의 상태를 버리거나 이전 단계로 정산할 수 있습니다. 이러한 시나리오는 P2P 네트워크와 결합되어 다자간 즉각 상호작용 애플리케이션(게임)에 매우 적합합니다.
- 다른 형식의 상태 트리를 지원합니다. 이론적으로 기존의 상태 트리는 모두 서브 트리로 분산 상태 트리에 마운트될 수 있으며, 예를 들어 git 저장소와 같은 것입니다. 이렇게 하면 애플리케이션은 git 저장소의 파일을 직접 읽을 수 있습니다.
자산 도약 프로토콜 (Asset Leap Protocol)
비트코인 L1에서 직접 결제하는 것은 여전히 거래 비용이 높고 확인 대기 시간이 긴 사용자 경험 문제를 가지고 있습니다. 비트코인 상의 자산을 L2로 이동시키는 방법에는 현재 몇 가지 솔루션이 있습니다:
- 관리형 크로스 체인 브리지 모델. 이 모델은 널리 사용되며, 비트코인을 활용하여 브리지의 안전성과 탈중앙화를 보장하는 방법은 여전히 탐색 중입니다. Rooch는 전문 크로스 체인 브리지 프로젝트와 협력하여 자산의 브리지를 실현하고, Rooch가 제공하는 프로그래밍 기능을 통해 브리지의 안전성을 강화할 것입니다.
- 비관리형 모델: 이는 Rooch가 주로 탐색하는 방향으로, statechains(opens in a new tab)와 유사합니다.
비트코인 상의 새로운 프로토콜 자산을 위해 우리는 자산 도약 프로토콜을 시도할 것입니다. 만약 미래에 대량의 새로운 자산이 비트코인에서 발행된다면, 자산이 비트코인 네트워크와 L2 간의 이동을 실현하는 프로토콜이 필요하며, 비트코인 상의 상태 저장 압력을 줄여야 합니다. 동시에 L2의 새로운 자산도 비트코인으로 이동할 수 있어야 하며, 이를 통해 더 높은 안전성과 더 넓은 유통 능력을 확보할 수 있습니다.
자산 도약 프로토콜의 핵심 아이디어
RGB/Ordinals와 같은 클라이언트 검증(Client side validation) 기반의 자산은 비트코인을 통해 자산의 소유권을 등록하지만, 그 유효성은 클라이언트에서 검증됩니다. 만약 우리가 프로토콜 레이어에서 leap
명령어를 정의하여 자산을 L1에서 L2로 이동하거나 L2에서 L1으로 이동하는 것을 표현한다면, 클라이언트는 두 레이어에서 동시에 검증할 수 있습니다. 이를 통해 자산의 체인 간 이동을 실현할 수 있습니다.
이 프로토콜은 현재의 브리지 모델에 비해 몇 가지 장점이 있습니다:
- 브리지에 대량의 자산이 집중되지 않아 집중 위험을 피할 수 있으며, 자산 이동 모델의 위험이 분산됩니다. 자산의 이동 및 입금은 모두 사용자가 트리거하며, 클라이언트는 소유권을 추적합니다. 이동 시의 파괴 작업과 입금 시의 재발행 작업이 일치하기만 하면 자산은 안전합니다.
- 자산은 "현금"처럼 다양한 네트워크 간에 이동할 수 있습니다. 자산의 저장과 자산의 애플리케이션 시나리오를 분리하여 상태 폭발 문제와 새로운 자산의 대규모 발행 문제를 해결할 수 있습니다.
- 이 모델은 지갑이 중요한 역할을 수행해야 하며, 현재의 RPC를 단순히 신뢰하는 "어리석은" 지갑이 아니라 더 "스마트"해야 합니다.
이를 위해 Rooch 팀은 Ordinals 기반의 SFT 프로토콜 Bitseed(opens in a new tab)를 설계하였으며, 향후 Bitseed 프로토콜을 기반으로 자산 이동 프로토콜을 탐색할 것입니다. 더 자세한 내용은 클라이언트 검증 프로토콜 내 자산 도약 프로토콜 부분을 참조하십시오.
보안 문제
앞서 설명한 솔루션에서는 보안 솔루션이 언급되지 않았습니다. Rooch 네트워크에서 보안은 주로 두 가지 측면을 포함합니다:
- 애플리케이션 측의 보안 솔루션, 주로 애플리케이션 상태 루트의 업데이트 권한입니다.
- 클라이언트 측의 보안 솔루션, 클라이언트는 상태 검증 능력을 가져야 합니다.
애플리케이션 측의 보안은 애플리케이션이 상황 및 발전 단계에 따라 사용자 정의해야 하며, 주요 옵션은 다음과 같습니다:
- 비트코인 기반의 시간 조각 순환 노드 + 데이터 가용성 레이어 + 사기 증명: 시간 조각 순환을 통해 다중 노드 전환을 실현하여 애플리케이션의 높은 가용성과 탈중앙화를 보장하며, 사기 증명은 악의적인 노드를 처벌하는 데 사용됩니다. 이는 Rooch Network가 채택할 솔루션이며, 우리는 파트너와 함께 비트코인을 안전한 출처로 활용하는 방법을 탐색할 것입니다.
- PoA 노드 + 데이터 가용성 레이어: 이 유형의 애플리케이션은 데이터의 검증 가능성을 보장할 수 있으며, 누구나 독립적인 노드를 실행하여 데이터를 검증할 수 있습니다.
- PoA 노드: 이 유형의 애플리케이션은 외부에 상태 증명을 제공할 수 있으며, 사용자 지갑은 자신의 데이터를 검증할 수 있지만 데이터 가용성 레이어가 없으므로 거래의 가용성을 보장하지 않으며, 데이터 숨김 위험이 존재합니다. 이는 Web2 애플리케이션에서 Web3 애플리케이션으로의 중간 전환으로 사용할 수 있습니다.
- 모든 참여자의 다중 서명: 상태 채널 유형의 애플리케이션에 적합합니다.
클라이언트 검증 자산은 지갑이 RPC 노드를 완전히 신뢰하지 않고, 일정한 검증 능력을 갖추도록 요구합니다. 이를 스마트 지갑이라고 부를 수 있습니다.
- 클라이언트 지갑은 P2P 네트워크에 접속하여 네트워크 내 애플리케이션 노드를 발견하고, 무작위 샘플링 메커니즘을 통해 애플리케이션의 상태 트리 루트를 검증하며, 심지어 로컬에서 스마트 계약 가상 머신을 실행하여 자신의 거래를 검증할 수 있어야 합니다.
- 클라이언트 지갑은 자산의 이동을 추적할 수 있어야 하며, 최소한 자산 이동의 유효성을 검증해야 합니다.
이렇게 해서 인프라, 애플리케이션, 사용자 간의 게임 메커니즘이 형성되어 확장성과 보안성 간의 균형을 추구합니다. 애플리케이션은 우선 반중앙화된 솔루션을 통해 시장을 검증한 후, 점진적으로 권한을 양도하여 점진적인 탈중앙화 경로를 취할 수 있습니다.
단계적 로드맵
Rooch VApp 컨테이너의 개발은 새로운 안정 버전을 출시할 예정이며, 우리는 이 버전을 기반으로 Rooch Network의 선행 네트워크를 시작할 것입니다.
선행 네트워크에서는 먼저 체인 간 자산 프로토콜의 설계를 시도할 것이며, 주로 두 가지 방향을 포함합니다:
- 자가 잠금 창고 파생 자산 모델을 통해 체인 외부의 새로운 자산을 발행하고, 체인 외부에서 체인으로 이동하는 것을 시도합니다.
- Bitseed 자산을 기반으로 체인에서 체인 외부로의 이동을 시도합니다. NFT 및 FT 두 가지 유형의 Bitseed SFT 표준으로 발행된 자산을 포함합니다.
동시에 우리는 비트코인 자산 기반의 게임을 시도하고, 개발자들이 게임 및 애플리케이션을 구축하도록 장려하여 VApp 모델의 애플리케이션 생태계를 구축하고, 게임 및 애플리케이션을 통해 사용자에게 Rooch Network 메인넷 토큰의 옵션 자산을 분배할 것입니다. 향후 메인넷 토큰으로 교환할 수 있습니다.
그 후 우리는 P2P 네트워크에 접속하고 데이터 가용성 레이어를 통합하여 노드의 탈중앙화를 실현하고, 파트너와 함께 비트코인 기반의 보안 솔루션을 개발하여 선행 네트워크를 메인넷으로 업그레이드할 것입니다. 자세한 로드맵은 로드맵을 참조하십시오.
요약
이 글에서는 Rooch Network의 청사진과 목표, 그리고 검증을 시도하는 경로를 소개했습니다. 이는 완전한 백서가 아닙니다.
VApp은 애플리케이션에 실행 환경을 제공하고, 분산 상태 트리 프로토콜은 P2P 네트워크를 통해 애플리케이션을 연결하며, 자산 이동 프로토콜은 비트코인과 애플리케이션 간의 자산 흐름을 가능하게 합니다. 우리는 완전한 비트코인 애플리케이션 레이어 청사진을 갖추게 됩니다.
물론 이 청사진의 구현까지는 해결해야 할 많은 문제가 남아 있지만, 우리는 많은 기술 솔루션이 실천을 통해 진화해온 것이라고 믿습니다. 우리는 대항해 시대의 탐험가처럼 보물의 방향과 가치를 대략적으로 알고 있지만, 구체적인 경로는 찾아야 하고 탐색해야 합니다. 우리는 먼저 몇 가지 가정을 하고, 최소화된 프로토콜과 제품을 설계하여 시장에서 검증하고, 문제를 해결하고 방향을 조정하며, 지속적으로 순환하여 결국 One Piece를 찾을 것입니다.