
AVM을 이해하는 방법: 동적 '상태 머신'을 가능하게 하는 튜링 완전 가상 머신인 BTC용 AVM
글: Haotian
@atomicalsxyz가 최근 발표한 AVM 가상 머신 백서를 어떻게 이해해야 할까? 간단히 말해, 비트코인 가상 머신을 시뮬레이션하여 원래 '상태 없음(stateless)' 구조인 비트코인 메인넷이 스마트 계약 시스템을 탑재할 수 있게 되는 것으로, BTC 자산 외에도 더 복잡한 자산의 상태 기록 및 처리 기능을 가능하게 한다. 이는 마치 튜링 완전성(Turing completeness)을 갖춘 스마트 계약과 유사하다. 다음은 나의 해석이다.
1) 비트코인은 본래 P2P 전자 현금 시스템으로 설계되었으며, 일정한 Script 스크립트 데이터 저장 기능과 기본적인 OP 코드(Opcode), UTXO 기반 시간 잠금 및 사용 조건에 따른 자산 검증 로직을 갖추고 있다.
따라서 비트코인 네트워크는 '상태 없음' 상태에서 BTC 자산의 기록과 전송이 가능한 자산 관리를 수행할 수 있다. 그러나 UTXO의 단순 모델과 사전 정의된 상태 전이 규칙의 제한 때문에 이러한 상태 없는 모델은 BTC 단일 자산의 제한된 관리만 가능하다.
BRC20, ARC20, Runes 등 새로운 자산을 비트코인 네트워크 위에 추가하려면, 이러한 자산들의 저장, 거래, 상태 변화 등을 기록하기 위한 보다 복잡한 동적 '상태 기계(state machine)' 모델이 필요하다. 이를 어떻게 실현할 수 있을까?
첫 번째 방법은 외부 프로토콜이나 레이어2(L2) 솔루션을 사용해 체인 외부에서 '상태 기계' 모델을 구성하고 확장 처리하는 방식으로, @NervosNetwork, @RoochNetwork 등의 우수한 레이어2 확장 솔루션이나 RGB, 라이트닝 네트워크 등의 네이티브(Native) 솔루션이 이 범주에 속한다.
두 번째 방법은 Script 스크립트 기능 자체를 확장하여 새로운 연산 명령이나 저장 공간을 추가함으로써 복잡한 자산 생성 및 이전을 처리하는 것으로, BIP 제안 승인을 기반으로 하는 Covenant, OP_CAT 등의 방식이 여기에 해당한다.
위 두 가지 방법은 각각 너무 '능동적'이라 단기간 내 합의 도출이 어렵거나, 혹은 너무 '수동적'이라 큰 불확실성을 지닌다. AVM 가상 머신은 이 두 가지 사이에 위치하며, 비트코인 메인넷 상에서 직접 가상 머신 실행 환경을 구축하는 특수한 처리 방안을 제시한다.
2) 구체적으로 어떻게 작동하는가? AVM의 주요 원리는 세 부분으로 구성된다:
1. 비트코인 스크립트 시뮬레이션: 사실상 비트코인 명령어 집합으로, 이중 스택 PDA(푸시다운 오토마타)를 통해 튜링 완전성 속성을 달성한다.
2. 샌드박스 실행 환경: 전체 시뮬레이터가 제어된 격리 환경 내에 존재하여, 샌드박스 내외부의 실행이 서로 간섭하지 않는다.
3. 상태 해시(State Hash): 참여자가 자신의 인덱서 상태가 올바르게 동기화되었는지 검증할 수 있도록 하여, 상태 불일치로 인한 공격 가능성을 방지한다.
간단히 말해, AVM은 현재 BTC가 지닌 제한된 저장 공간과 OP 코드 처리 구조를 직접 활용하여, 각 BTC 메인넷 거래에 특수한 인코딩 및 디코딩 방식(샌드박스 환경)을 도입한다.
이 샌드박스는 자체 인덱서, 샌드박스 파서(명령어 집합), 글로벌 데이터베이스 등을 포함하여, 자산 저장, 거래 상태 기록 등 일련의 관리 작업을 독립적으로 수행할 수 있으며, 결과적으로 BTC 메인넷 내부에 동적 '상태 기계'를 내장하는 것과 같다. 이를 통해 복잡한 스마트 계약 처리와 상태 동기화 및 검증이 가능해진다.
3) AVM 가상 머신을 통해 이론적으로 비트코인 메인넷이 기본적인 스마트 계약 기능을 갖추게 되며, 다중 복잡 자산 및 복잡한 상태 로직을 지닌 DApp 구현 가능성도 열린다. 즉, 비트코인 네트워크가 자체 생태계를 구성할 수 있는 능력을 갖추게 되는 것이다.
이것은 분명 위대한 진보이며, 적어도 RGB, 라이트닝 네트워크, 그 외 우수한 레이어2 프로토콜들과 동등한 수준의 BTC 확장 기술 혁신이라고 볼 수 있다. 심지어 네이티브 측면에서는 다른 솔루션보다 우수할 수도 있다.
다만 AVM은 비트코인 Script 스크립트를 통한 인코딩 저장과 OP 코드를 통한 거래 실행에 의존하므로, 전체적으로 BTC 메인넷 성능에 제약을 받는다. 예를 들어 블록 저장 용량, 생성 속도 등이 그것이다.
AVM 기반 DeFi 프로젝트가 매분 7건의 거래만 처리 가능하고, 두 상태 전환 사이에 10분의 대기 시간이 필요한 상황을 상상해보라. 이런 경우 이론적으로는 완전하더라도 실제로는 기능이 크게 제한된다. 게다가 비트코인 Script 명령어 집합을 이용해 복잡한 계약 기능을 개발하는 것은 이더리움의 Solidity 등과 같은 언어보다 훨씬 더 복잡하고 난이도가 높다.
또한 AVM 백서는 개념적으로 타당한 내장형 가상 머신 실행 방식을 정리했을 뿐이며, 실제 배포 후 애플리케이션 환경에서 어떻게 운영되고 안정적인 실행이 가능한지는 여전히 미지수이다.
이상
종합적으로, 나는 AVM의 개발 및 구현을 BTC 메인넷 Script 스크립트 확장을 위한 유의미한 능동적 탐색으로 보며, 실제로 간소한 스마트 계약들이 BTC 메인넷 위에 구현될 수 있도록 촉진할 수 있고, 비트코인 메인넷이 레이어2 생태계 구축뿐 아니라 BitVM과 같은 체인 내외 조합 생태에서도 더 큰 비중과 가치를 발휘할 수 있게 될 것이다.
그러나 다른 모든 BTC 확장 솔루션들과 마찬가지로 AVM 역시 장단점을 가지고 있으며, 구현 이후의 생태계 발전 정도에 따라 스스로의 '정통성'과 매력을 확대해야 한다. 따라서 이에 대해 이성적이고 신중한 낙관적 태도를 유지할 것을 권장한다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News












