
CKB 계정 추상화 생태계 해석: BTC 대중화의 디딤돌
글: 안개달, 극객 web3
편집: Faust
2022년 이더리움 커뮤니티에서 AA 서사가 뜨거워진 이후, 계정 추상화(Account Abstraction) 개념은 Web3 커뮤니티 전반에 퍼졌다. 사실상 이는 계정 체계 설계를 위한 일종의 철학으로, 더 높은 수준에서 표준을 구축하고 계정 기능성을 강화하는 것을 목표로 한다. 그러나 이더리움 등 주류 블록체인에서는 고정된 규칙의 제약 때문에 계정 체계의 유연성과 범용성이 매우 낮다. 예를 들어:
-
거래를 시작하려면 계정에 반드시 ETH 등의 가스 토큰이 있어야 하며, 그렇지 않으면 거래를 실행할 수 없다. 이는 신규 사용자에게 매우 불편하다;
-
EVM 계열 공용 블록체인은 단일 계정 체계만 지원하며, 다른 블록체인 또는 Web2 사용자는 새로운 계정 도구와 진입 방식을 사용해야 한다.
지난 이더리움 커뮤니티에서 인기를 끌었던 EIP-4337 제안은 위 문제들을 해결할 수 있을 것으로 여겨졌지만, 기술적 모델, 역사적 부담, 생태계 발전, 개발자 인식 등의 요인에 의해 EIP-4337의 보완 방안은 본질적인 해결이라기보다 패치에 가깝고, EVM에 새로운 오퍼코드를 추가하려는 EIP-3074은 보안상 위험이 있다고 여겨져 기존 문제를 해결하면서도 새로운 문제를 야기하며 실현 가능성에 논란이 있다.
여러 이유로 인해 이더리움 창립팀은 메인넷 출시 초기 계정 체계를 충분히 고려하지 못했고, 많은 과제를 남겼다. 예를 들어 EOA 계정과 컨트랙트 계정의 분리, 무가스 거래 미지원, 다양한 암호 원시 기능 미지원 등이다. 이러한 역사적 부담은 이더리움의 AA 로드맵 시행에 명백한 장애가 되었으며, 사실상 이더리움의 AA 솔루션은 자사 계정 체계를 차세대 신생 공용 블록체인보다 우월하게 만들기보다는 격차를 만회하는 데 그친다고 볼 수 있다. 공용 블록체인이 처음 설계할 때부터 계정 설계를 충분히 고려했다면 이더리움처럼 우회로를 걷지 않아도 된다.
EVM 계열 공용 블록체인과 달리, Nervos는 설계 초기부터 계정 체계 문제를 깊이 있게 고려했으며, 조사를 통해 우리는 Nervos의 계정 체계가 AA의 근본과 본질에 더 가까우며, UTXO 계정 모델과 다양한 검증 방식을 지원하는 OmniLock은 처음부터 끝까지 AA의 목표와 깊이 부합한다고 판단했다. 또한 역사적 부담이 없어 BTC, ETH, Solana 등 타 공용 블록체인의 계정 체계를 자연스럽게 지원한다.

또한 최근 각광받는 BTCFi 측면에서 보면, BTCFi 자체가 비트코인 원생 자산에 DeFi 등을 도입하는 것이므로 비트코인 소유자가 매끄러운 제품 경험을 얻으려면 주류 비트코인 지갑 등의 주변 시설과 호환되어야 하며, CKB의 원생 AA 솔루션은 이를 자연스럽게 구현하여 BTCFi의 대규모 채택을 위한 필수 조건을 마련한다.
아래에서는 설계 철학, 시스템 아키텍처, 응용, 생태계 등 여러 각도에서 Nervos의 계정 추상화 체계를 살펴보겠다.
비트코인 UTXO와 Nervos의 Cell 모델
대부분의 사람들이 알고 있듯이, UTXO 모델 기반 공용 블록체인의 데이터 저장 구조는 '계정-잔액' 체계를 따르지 않고 독특한 형태를 취한다. 구체적으로 말하면, UTXO는 금처럼 녹거나 주조될 수 있으며, 매번 거래마다 오래된 UTXO가 소각되고 새로운 UTXO가 생성된다. 게다가 UTXO 데이터는 특정 집중형 주소에 저장되지 않고, UTXO를 생성한 해당 트랜잭션 내에 분산 저장되며, 과거 블록 기록을 조회해야만 찾을 수 있다.
추천 읽기: 『BTC 이해하기: BitVM을 이해하기 위한 배경 지식(1)』

과장이 아니라, 비트코인은 전통적인 Web2 플랫폼의 '계정 - 정보' 체계와 다른 저장 패러다임을 개척했다. 이는 상태 폭증, 데이터 읽기/쓰기 효율 저하, 소유권 모호화 문제를 해결할 수 있다. UTXO 모델 하에서는 서로 다른 사람들의 자산 데이터 저장 위치와 소유권 구분이 매우 명확하며, 병렬/동시 처리에 적합하고 저장 임대 기능 지원에도 용이하여 전통적 계정 체계의 많은 함정을 피할 수 있다.
Nervos 공용 블록체인의 계정 체계는 설계 초기부터 비트코인 UTXO의 장점을 충분히 반영했다. Cell 모델은 실질적으로 비트코인 UTXO의 업그레이드 버전이며, 튜링 완전한 프로그래밍 가능성을 제공한다. 또한 CKB뿐 아니라 다른 자산도 일등급 자산이며, EVM 공용 블록체인처럼 네이티브 자산과 ERC-20을 구분하지 않는다.
CKB의 Cell 작동 원리는 비트코인 UTXO와 거의 동일하다: 모두 '잠금 스크립트(LockScript)'와 '해제 스크립트(UnlockScript)'에 의해 구동된다. 각 UTXO/Cell 생성 시에는 '잠금 스크립트'가 설정되며, 마치 비밀번호 자물쇠와 같다. 그리고 '해제 스크립트'는 해당 열쇠로서 '잠금 스크립트'를 해제할 수 있다. 당신이 해당 '자물쇠'의 '열쇠'를 제출할 수 있다면 관련 UTXO는 마음대로 사용할 수 있다.

그러나 비트코인 UTXO와 다른 점은 Cell이 잠금 스크립트 위에 'TypeScript' 필드를 추가했다는 점이다. 만약 LockScript가 신원 검증기라면, 누가 이 Cell을 수정할 자격이 있는지를 결정하며, TypeScript는 Cell에 부착된 스마트 컨트랙트라고 할 수 있다. DEX, 대출 프로토콜 코드 등은 모두 TypeScript 내에 배포할 수 있다.

개발자가 CKB 상에서 AMM 유사 유동성 풀을 구현하려면 전용 Cell의 TypeScript에 컨트랙트 코드를 작성하고, Cell의 Data 필드에 유동성 풀 상태 정보(예: 풀 내 각종 자산 잔액)를 저장한 후, 사용자는 TypeScript 내 코드와 상호작용하면 된다.
CKB의 이러한 설계는 비트코인 UTXO 모델을 기반으로 더욱 풍부한 시나리오를 확장하였으며, 프로그래밍 가능성이 훨씬 뛰어나고, CKB 자체가 RISC-V 가상 머신을 채택하여 여러 프로그래밍 언어로 작성된 프로그램을 지원하므로 비트코인보다 훨씬 강력한 다양한 로직을 지원할 수 있다.
한편 Cell의 잠금 스크립트 LockScript는 오늘날 우리가 다루는 핵심 주제인 AA와 직접 관련이 있다. 왜냐하면 AA가 주장하는 주요 특징 중 하나가 체인상 계정이 다양한 신원 검증 방식을 지원하도록 하기 때문이다. UTXO 입장에서 이를 실현하려면 신원 검증기 역할을 하는 LockScript에 공을 들여야 하며, CKB는 이를 위해 다양한 신원 검증 방안을 지원하는 OmniLock 스크립트를 출시했다.
다음으로 OmniLock의 구체적 설계를 알아보자.
OmniLock과 계정 추상화
앞서 언급했듯이 CKB의 Cell과 비트코인 UTXO는 모두 잠금 스크립트에 의해 사용 권한이 정의되며, LockScript는 누구에게 이 Cell을 수정할 권한이 있는지를 결정하여 신원 검증 기능을 수행한다. 다양한 인증 방법을 지원하기 위해 CKB는 OmniLock이라는 범용 잠금 스크립트를 제공하여 다양한 서명 알고리즘과 검증 메커니즘을 호환한다.

OmniLock은 다양한 검증 로직을 모듈화하여, 파라미터만 다르게 설정하면 다양한 검증 알고리즘을 유연하게 구성할 수 있다. 사용자는 BTC, ETH, 심지어 WebAuthn 등 다양한 계정, 지갑/인증 방식을 사용하여 CKB 체인 상 자산을 직접 조작할 수 있다.
그렇다면 OmniLock은 어떻게 구현되고 사용되는가? 쉽게 설명하자면, OmniLock은 Nervos 공식이 CKB 체인 상에 미리 배치한 코드 조각이며, 특정 Cell에 작성되어 다른 Cell에서 사용할 수 있도록 하며, 마치 EVM 공용 블록체인의 '시스템 컨트랙트'와 같다. 어떤 Cell이 OmniLock을 사용하려면 자신의 잠금 스크립트에서 OmniLock 참조를 선언하면 된다.
다음은 의사 코드를 통해 잠금 스크립트와 OmniLock의 작동 원리를 이해해보자.
CKB의 잠금 스크립트는 Code hash, hash type, Args 세 가지 필드로 구성되며, Code hash와 hash type은 본 절 내용과 연관성이 낮아 설명을 생략하겠다. 다음은 Args 필드에 대해 중점적으로 소개하는데, Args를 유연하게 구성함으로써 OmniLock에서 정의된 다양한 검증 알고리즘을 사용할 수 있다.

Args 필드의 내용은 두 부분으로 나눌 수 있는데, 하나는 신원 검증용 auth로, 길이는 21바이트이며, 1바이트 flag 식별자와 20바이트 인증 데이터로 구성된다. auth의 인증 데이터에는 사전 설정된 공개키 해시가 포함되어 있으며, 해당 공개키 해시에 대응하는 공개키 주인만이 신원 검증을 통과하고 Cell 데이터를 수정할 수 있는 자격을 갖는다.
auth의 flag는 인증 방식을 선택하는 식별자로, 여기서 말하는 인증 방식은 암호학적 서명 검증뿐만 아니라 정보 처리 등 종합 프로세스를 포함한다. 예를 들어 flag가 0x01이면 이더리움 외부 메시지 인증 방식을 의미한다. 이더리움 외에도 OmniLock은 Bitcoin, Dogecoin, Tron, 멀티시그 등 다양한 메시지 검증 형식을 지원한다.
Args의 또 다른 부분은 Omnilock args라고 하며, 마치 버튼처럼 OmniLock이 사전 설정한 기능 모드 중 선택할 수 있다. 예를 들어 관리자 모드(USDT 관리자의 동결 기능), 소액 결제용 anyone-can-pay 모드(소액 기부 사용), 시간 잠금 모드 등이다. 어쨌든 Omnilock args를 조정함으로써 OmniLock에 미리 작성된 다양한 기능을 사용할 수 있다.
요약하면, Cell 잠금 스크립트의 auth와 Omnilock args 필드에 다른 파라미터를 입력하여 다양한 공용 블록체인 또는 플랫폼의 신원 검증 방법을 선택함으로써 CKB에 다양한 신원 검증 방식을 도입할 수 있다. 물론 OmniLock에 미리 정의된 몇 가지 인증 방식 외에도 개발자는 자체적으로 신원 검증 방안을 정의할 수도 있다.

Nervos 계정 추상화 생태계: CCC, Mobit 및 JoyID
위에서 이미 알 수 있듯이, OmniLock은 Nervos가 계정 추상화를 실현하는 기반이며, OmniLock 기반 지갑인 Mobit, .bit, Omiga 및 미들웨어 CCC(Common Chains Connector) 등은 Nervos의 풍부한 BTCFi 계정 추상화 생태계를 구성한다. 또한 보안 및 개인정보 보호, 신원 관리 서비스를 제공하는 DID 플랫폼 Did.id, 탈중앙화 Dobs 자산 거래 플랫폼 Dobby 등도 포함된다.
AA의 우수한 특성은 BTCFi 생태 애플리케이션에도 큰 편의를 제공하여 CKB 생태 프로젝트가 직접 BTC 지갑과 상호작용할 수 있도록 하여 사용 장벽을 낮춘다. 다음에서는 구체적인 사례를 통해 CKB의 AA 생태계를 살펴보겠다.

Common Chains Connector(CCC)
먼저 CCC를 예로 들면, 이는 지갑과 dApp에 다양한 공용 블록체인이 CKB를 조작할 수 있도록 하는 지갑 연결 미들웨어이다.
아래는 CCC의 연결 창이다. 여기서 MetaMask를 예로 들면, 이더리움 계정을 보유하고 있다면 CKB 체인 상 해당 계정을 어떻게 조작하는지 보여준다.

CCC를 사용하여 CKB 체인 상 거래를 할 때, 이 데모는 MetaMask 지갑의 personal_sign 메서드를 호출하여 서명하며, 이 방법은 체인에 직접 올라가지 않는 문자 메시지를 서명하는 데 사용된다.
이 정보는 CKB transaction의 일련의 16진수 코드로 구성되어 있음을 알 수 있다. MetaMask로 서명된 메시지는 Nervos CKB 체인에 제출되며, OmniLock 등의 메커니즘을 통해 검증된다.

앞서 언급했듯이 Nervos는 기본적으로 이더리움 메시지 형식 검증을 지원하며, CKB는 바닥부터 다른 공용 블록체인 생태계와 연결을 고려했다고 할 수 있다. 사용자 입장에서는 기존에 익숙한 진입점과 도구를 통해 CKB 생태계에 접근할 수 있다.
개발자 입장에서는 Nervos가 바닥에서 OmniLock 표준을 정의하고 CCC를 통해 멀티체인 지갑의 구현 세부사항을 추상화함으로써 개발 난이도를 크게 낮추었으며, 상위 계층 애플리케이션 개발자가 상위 계층 비즈니스 로직 개발에 더 집중할 수 있도록 하여 하위 계층 세부사항에 과도하게 주목할 필요가 없다.
Mobit
Mobit은 Nervos 기반 DID 및 자산 관리 플랫폼으로, 비유하자면 Mobit은 외부가 Nervos 생태계에 진입하는 문과 같으며, 이 문턱은 매우 낮다. Mobit을 활용하면 사용자는 거의 사전 지식 없이 간단한 조작만으로도 다른 공용 블록체인의 계정을 사용하여 Nervos 생태계에서 상호작용할 수 있다.
아래는 Mobit의 연결 창이다. 현재 Mobit은 이미 여러 주류 공용 블록체인의 계정 체계를 지원하며, 이 리스트는 계속 확장 중이다.

여전히 MetaMask 지갑을 예로 들면, 연결 후 화면에서도 사용자의 EVM 및 CKB 주소를 확인할 수 있으며, 해당 주소가 CKB 체인에서 보유한 토큰과 DOBs 자산도 표시된다.

여기서 DOBs에 대해 설명하자면, 이는 Nervos 생태계에서 특유한 NFT와 유사한 자산이지만, DOB는 NFT와 본질적으로 다르다. 우선 DOBs의 데이터는 체인에 완전히 저장되며 '전체 체인 NFT'라고 볼 수 있으며, 많은 이더리움 NFT는 데이터를 체인에 완전히 저장하지 않는다.
또한 각 DOBs는 Chatbot을 설정할 수 있어 보유자와 대화 등의 상호작용 시나리오를 제공할 수 있으며, 서로 다른 보유자의 다양한 성장 경로에 따라 전통적인 NFT보다 각 DOBs가 더욱 뚜렷한 개별성을 갖게 된다.
Omiga는 Nervos 생태계 내 DOBs의 거래 플랫폼이며, 사용자는 Mobit의 Apps 화면에서 한 번 클릭으로 바로 이동할 수 있다.

Omiga 역시 Nervos의 계정 추상화 기능을 활용한다.

Mobit은 조작이 간단하고 기능이 포괄적이어서 BTCFi 상호작용에 도움이 된다. BTCFi 제품의 본질은 원생 비트코인 자산에 다양한 DeFi 경험을 제공하는 것이며, 주류 비트코인 지갑과 호환 가능한지 여부는 BTCFi 주변 시설이 고려해야 할 중요한 요소이며, CKB는 현재 이미 준비를 마쳤다.
WebAuthn의 채택
WebAuthn은 세계 최대 망(W3C)과 FIDO(Fast IDentity Online) 연합이 공동 개발한 웹 표준으로, 사용자 신원 검증의 보안성을 높이고 로그인 과정을 간소화하며 전통적인 비밀번호나 개인키 의존도를 줄이는 것을 목표로 한다.
iOS 및 Android와 같은 일부 주류 데스크톱 또는 모바일 운영체제에 내장된 키 관리 소프트웨어는 로컬 보안 모듈이나 클라우드 저장소를 사용하여 키를 저장하고 서명을 수행할 수 있다. 현재 WebAuthn의 주류 실천에서는 일반적으로 P-256, P-384, P-521 등을 지원하며, Nervos의 OmniLock은 사용자 정의 암호학 원시 기능을 지원하므로 이것들을 포함할 수 있다.
다음은 WebAuthn을 지원하는 일부 클라이언트이다:
-
Apple KeyChain:
-
Security Enclave: 애플 기기는 Secure Enclave를 사용하여 중요한 암호화 작업을 처리하며, 개인키 저장 및 서명을 포함한다.
-
iOS 및 macOS: 애플 시스템은 키체인 API를 사용하여 인증 및 서명 작업을 수행하거나 Face ID 또는 Touch ID를 통해 사용자 인증을 할 수 있다.
-
Windows Hello:
-
TPM(Trusted Platform Module): Windows 기기는 Windows Hello를 통해 TPM을 이용하여 개인키 생성 및 서명을 수행할 수 있다.
-
생체 인식: Windows Hello는 지문 인식 및 얼굴 인식을 지원하여 사용자 신원을 확인한다.
-
Android Keystore:Android 기기는 하드웨어 보안 모듈을 활용하여 키 저장 및 서명을 수행하며, 생체 특징(지문 또는 얼굴 인식)을 통해 인증한다.
-
Ubisoft Security Keys: YubiKey와 같은 보안 키 하드웨어 장치는 USB 또는 NFC를 통해 안전한 인증 및 서명 작업을 지원한다.
CKB 생태 지갑 JoyID는 WebAuthn 기술을 활용하여 구현된 애플리케이션이다. JoyID를 통해 사용자는 생체 인식(지문 또는 얼굴 인식)을 직접 사용하여 신원 검증을 수행하고 매끄럽고 높은 보안성을 갖춘 로그인 및 신원 관리를 실현할 수 있다.

Nervos 생태계의 .bit 역시 Apple의 WebAuthn 구현을 활용하여 블록체인에 로그인하고 사용하는 사례이다.

위 사례들로부터 CKB의 AA 솔루션이 타 공용 블록체인과 Web2 사용자를 자연스럽게 지원한다는 것을 알 수 있다. 광범위한 Web2 사용자에게 WebAuthn 지원은 매우 중요하며, 개인키와 복구 문구 관리의 부담을 벗어나 사용 장벽을 크게 낮춘다. 이런 방향에 더 빨리 힘을 쏟는 공용 블록체인 생태계일수록 미래에 더 큰 우위를 가질 것이다.
결론
이더리움은 역사적 부담 문제로 인해 기존 AA 솔루션은 대부분 증상 치료에 그치며 근본적인 해결이 어렵다. 반면 Nervos는 메인넷 출시 초기부터 계정 체계 설계를 충분히 고려했으며, OmniLock 기능을 제공하여 임의 형태의 신원 검증 방식을 지원한다.
Nervos의 Cell 모델은 실질적으로 비트코인 UTXO의 기능 확장이며, 잠금 스크립트는 다양한 서명 검증 알고리즘을 지원하고, OmniLock은 시스템 컨트랙트와 유사한 방식으로 모든 Cell이 잠금 스크립트에서 직접 호출할 수 있도록 하여 광범위한 개발자와 사용자에게 Web2 수준의 경험을 제공한다.
현재 Nervos 계정 추상화 생태계에는 이미 CCC, Mobit, Joyid 등의 제품이 있으며, 기본적으로 비교적 완비되었다.
BTCFi의 본질은 원생 비트코인 자산에 다양한 DeFi 경험을 제공하는 것이며, 주류 비트코인 지갑과 호환 가능한지 여부는 BTCFi 주변 시설이 고려해야 할 중요한 요소이며, CKB는 BTCFi 생태계의 중요한 인프라로서 포괄적이고 수용적인 접근을 취하며 개발자와 사용자 양측에서 BTCFi의 대규모 채택을 위한 필수 조건을 창출하고 있다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














