계정 추상화 개념은 이더리움 커뮤니티에서 AA 이야기가 불붙은 2022년 이후 웹3.0 커뮤니티에서 인기를 끌었습니다. 이는 계정 시스템에 대한 설계 철학으로, 더 높은 수준의 표준을 확립하고 계정의 기능을 향상시키는 것을 목표로 합니다. 이더와 같은 주류 블록체인에서 계정 시스템은 고정된 규칙의 한계로 인해 유연성과 활용도가 매우 낮습니다.
계정에 이더리움과 같은 가스 토큰이 미리 있어야 하며, 그렇지 않으면 거래를 시작할 수 없어 신규 계정에 매우 비우호적입니다.
EVM 시스템으로 대표되는 비즈니스 체인은 단일 계정 시스템만 지원하며 다른 비즈니스 체인이나 Web2 사용자들은 새로운 계정 도구 및 포털을 사용해야 합니다.
이전에는 이더리움 커뮤니티에서 큰 이슈가 되었던 EIP-4337 제안이 위의 문제를 해결할 것으로 여겨졌지만, 기술 모델, 역사적 부담과 생태계의 발전, 개발자들의 인식 등으로 인해 EIP-4337의 패치 솔루션은 패치 수준에 가깝다고 할 수 있습니다. EVM에 새로운 옵코드를 추가하려는 EIP-3074는 오래된 문제를 해결하면서 새로운 문제를 야기하는 보안 위험으로 간주되며, 그 타당성에 대해 논란이 많습니다.
이더리움의 창립팀은 여러 가지 이유로 메인 네트워크 출시 초기에 계정 시스템을 충분히 고려하지 않았고, 이로 인해 EOA 계정과 컨트랙트 계정의 분리, 무가스 거래 지원 부족, 다양한 암호화 프리미티브 지원 부족 등 많은 짐을 남겼습니다. 이러한 역사적 과제는 이더리움의 AA 로드맵 구현에 명백한 장애물이 되었으며, 심지어 이더리움의 AA 솔루션은 계정 시스템이 이후 새로운 퍼블릭 체인을 능가하지 못하고 둘 사이의 간극을 메울 뿐이라는 주장도 제기될 수 있습니다. 퍼블릭 체인이 처음부터 계정 설계를 염두에 두고 설계되었다면 이더가 취한 우회로를 택할 필요가 없었을 것입니다.
EVM 체인과 달리 Nervos는 계정 시스템을 염두에 두고 설계되었으며, 연구 결과 Nervos의 계정 시스템이 AA의 기반과 본질에 더 부합하는 것으로 판단했습니다. 다양한 인증 방법을 지원하는 UTXO 계정 모델과 옴니락은 처음부터 끝까지 AA의 목표와 깊이 일치하며, 과거에 대한 부담 없이 본질적으로 BTC, ETH, 심지어 솔라나와 같은 다른 퍼블릭 체인의 계정 시스템도 지원합니다.
또한 최근 인기를 끌고 있는 BTCFi의 경우, BTC에 네이티브하도록 설계되어 있습니다. 그 자체로 네이티브 비트코인 자산에 대한 디파이와 같은 시나리오를 도입하고 있기 때문에 비트코인 보유자는 주류 비트코인 지갑 및 기타 주변기기와 호환되는 원활한 제품 경험이 필요하며, 이는 CKB의 네이티브 AA 솔루션을 통해 자연스럽게 달성되어 BTCFi의 대량 채택에 필요한 조건이 만들어집니다.
아래에서는 디자인 철학, 시스템 아키텍처, 애플리케이션, 생태학 등 다양한 관점에서 Nervos의 계정 추상화 시스템을 설명하겠습니다.
비트코인의 UTXO와 Nervos의 셀 모델
대부분의 사람들은 UTXO 모델을 기반으로 한다는 것을 알고 있습니다. 데이터 저장 구조는 '계정 잔액' 시스템을 기반으로 하지 않고 독특한 형태를 채택하고 있습니다. 구체적으로 UTXO는 금처럼 녹이거나 주조할 수 있으며, 거래할 때마다 오래된 UTXO는 소멸되고 새로운 UTXO가 탄생합니다. 또한 UTXO 데이터는 중앙화된 주소에 저장되는 것이 아니라 UTXO를 생성한 트랜잭션에 흩어져 있으며, 과거 블록의 기록을 읽어야만 찾을 수 있습니다.
권장 읽기: "BTC에 접근하기: BitVM을 이해하는 데 필요한 배경 지식(1)"
비트코인은 기존 웹2 플랫폼의 '계정 메시지' 시스템과는 차별화된 스토리지 패러다임을 만들어냈다고 해도 과언이 아닐 정도로 상태 폭발과 데이터의 비효율적인 읽기 및 쓰기 문제를 해결합니다, 이는 상태 폭증, 비효율적인 데이터 읽기 및 쓰기, 소유권 모호성 문제를 해결할 수 있습니다. UTXO 모델에서는 다른 사람의 자산 데이터의 저장 위치와 소유권이 매우 명확하고 병렬성/동시성에 더 친화적이며 스토리지 임대 및 기타 기능도 쉽게 지원할 수 있으므로 기존 계정 시스템의 많은 구멍을 피할 수 있습니다.
Nervos 퍼블릭 체인의 계정 시스템은 설계 초기부터 비트코인 UTXO의 장점을 완전히 흡수했으며, 셀 모델은 실제로 튜링 수준의 완벽한 프로그래밍 기능을 제공하는 비트코인 UTXO의 업그레이드된 버전입니다. 또한 CKB와 기타 자산은 모두 일류 자산이며, EVM 퍼블릭 체인처럼 네이티브 자산을 ERC-20과 다르게 취급하지 않습니다.
CKB의 셀은 "잠금 스크립트"와 "잠금 해제 스크립트"로 구동되는 비트코인의 UTXO와 거의 동일한 방식으로 작동합니다. 각 UTXO/셀은 조합 잠금장치와 같은 "잠금 스크립트"와 잠금 스크립트의 잠금을 해제하는 해당 키인 "잠금 해제 스크립트"로 생성됩니다. 잠금 해제 스크립트'는 '잠금 스크립트'의 잠금을 해제하는 해당 키입니다. 잠금 스크립트에 키를 제출할 수 있는 한, 연결된 UTXO를 마음대로 사용할 수 있습니다.
하지만 비트코인의 UTXO와 달리 Cell에는 잠금 스크립트가 있습니다. strong>Cell은 잠금 스크립트 위에 "TypeScript" 필드를 추가합니다. 잠금 스크립트가 셀을 다시 쓸 수 있는 자격이 있는지 여부를 결정하는 인증자라면, TypeScript는 셀에 첨부된 스마트 컨트랙트이며, 대출 프로토콜인 DEX의 코드는 TypeScript 내에 배포할 수 있습니다.
개발자가 CKB와 유사한 유동성 풀을 구현하려는 경우 AMM 유동성 풀을 구현하려면 전용 셀에 대한 컨트랙트 코드를 타입스크립트로 작성한 다음, 이 셀의 데이터 필드에 유동성 풀의 상태 정보(예: 풀 내 다양한 유형의 자산 잔액)를 저장하고 사용자가 타입스크립트의 코드와 상호작용하기만 하면 됩니다.
이러한 CKB의 설계는 비트코인의 UTXO 모델을 확장하여 훨씬 더 프로그래밍 가능한 풍부한 시나리오를 포함하며, CKB 자체가 다양한 프로그래밍 언어로 작성된 프로그램을 지원하는 RISC-V 가상 머신을 사용하므로 비트코인보다 훨씬 더 강력한 다양한 로직을 지원할 수 있습니다.
셀의 잠금 스크립트인 LockScript는 오늘 중심 주제인 AA와 직접적인 관련이 있습니다. AA가 지지하는 주요 기능 중 하나는 온체인 계정이 유연하고 다양한 인증 방법을 지원할 수 있도록 하는 것이기 때문입니다. UTXO의 경우, 이는 인증자 역할을 하는 락스크립트 작업을 통해 이루어지며, CKB는 이를 위해 특별히 여러 인증 체계를 지원하는 OmniLock 스크립트를 도입했습니다.
옴니락의 디자인을 살펴봅시다.
옴니락과 계정 추상화
앞서 언급했듯이 CKB의 셀은 비트코인 UTXO와 함께 잠금 스크립트로 정의되는 접근 권한을 가지고 있습니다. 잠금 스크립트는 누가 셀을 다시 쓸 수 있는지 결정하며, 이는 인증 역할을 합니다. 여러 인증 방법을 지원하기 위해 CKB는 다양한 서명 알고리즘 및 검증 메커니즘과 호환되는 범용 잠금 스크립트인 OmniLock을 제공합니다.
OmniLock 다양한 검증 로직이 모듈화되어 있어 다양한 매개변수를 설정하여 다양한 검증 알고리즘을 유연하게 구성할 수 있습니다. 사용자는 계정, 지갑/인증 방법(예: 비트코인, 이더리움, 웹오토큰)을 사용하여 CKB 체인에서 자산을 직접 조작할 수 있습니다.
옴니락은 정확히 어떻게 구현되고 사용되나요? 쉽게 설명하자면, 옴니락은 Nervos가 CKB 체인에 직접 배치한 코드 조각으로, 특정 셀에 작성되어 다른 셀에서 사용할 수 있는 EVM 퍼블릭 체인의 "시스템 컨트랙트"와 같은 것입니다. 셀이 OmniLock을 사용하려면 자체 잠금 스크립트에 OmniLock에 대한 참조를 선언하면 됩니다.
잠금 스크립트와 OmniLock의 작동 방식을 이해하기 위한 의사 코드는 다음과 같습니다.
CKB의 잠금 스크립트에는 Code 해시, 해시 유형 및 Args 필드가 포함되어 있지만 이 섹션과 큰 관련이 없으므로 여기서는 설명하지 않습니다. 이제는 OmniLock에 정의된 다양한 인증 알고리즘을 사용하도록 유연하게 구성할 수 있는 Args 필드에 중점을 두겠습니다. .
Args 필드는 두 부분으로 나눌 수 있습니다. 하나는 인증 전용으로, 1바이트 플래그 식별자와 20바이트의 인증 데이터를 포함하는 21바이트 길이의 auth입니다. <인증 데이터에는 미리 정의된 공개키 해시가 포함되어 있으며, 공개키 해시에 해당하는 공개키의 소유자만 인증할 수 있으며, 셀에 데이터를 다시 쓸 수 있습니다.
인증의 플래그는 다양한 인증 방법을 선택하는 데 사용되는 식별자로, 암호화 서명 검증을 나타낼 뿐만 아니라 메시지 처리와 같은 포괄적인 프로세스도 포함합니다(예: 0x01 플래그는 이더셀의 외부 메시지 인증 방법을 나타냅니다.) . 인증 방법. OmniLock은 이더 외에도 비트코인, 도지코인, 트론, 다중 서명 및 기타 다양한 형태의 메시지 인증도 지원합니다.
또 다른 부분은 Omnilock 인수라고 하며, 이는 OmniLock의 사전 정의된 기능 모드 중에서 선택하는 버튼과 같은 역할을 합니다. 소액 결제를 위한 누구나 결제 가능 모드(소액 기부용), 시간 잠금 모드 등. 어쨌든 Omnilock의 인수를 조정하는 것만으로 OmniLock에 미리 작성된 다양한 기능을 사용할 수 있습니다.
요약하자면, 셀 잠금 스크립트의 Auth 및 Omnilock 인수 필드에 다양한 파라미터를 입력하여 다양한 퍼블릭 체인이나 플랫폼의 인증 방법을 선택할 수 있으며, 이를 통해 CKB에 다양한 인증 방법을 도입할 수 있습니다. 물론 OmniLock에 사전 정의된 인증 방법 외에도 개발자는 자체 인증 체계를 정의할 수도 있습니다.
Nervos 계정 추상화 생태계: CCC, 모빗, 조이아이디
위에서 우리는 OmniLock이 Nervos의 계정 추상화 구현의 기초이며, 모빗, .bit, 오미가, 미들웨어와 같은 OmniLock 기반 지갑이 있다는 것을 배웠습니다. CCC(커먼 체인 커넥터) 등은 안전한 개인 정보 보호 및 신원 관리 서비스를 제공하는 DID 플랫폼인 Did.id와 탈중앙화 도브 자산 거래 플랫폼인 도비 외에도 Nervos의 풍부한 BTCFi 계정 추상화 생태계를 구성하고 있습니다.
AA의 좋은 기능은 BTCFi 생태계 앱에도 큰 편의를 제공하며, CKB 생태계 내 프로젝트가 BTC 지갑 상호 작용을 직접 지원하여 사용 문턱을 낮출 수 있게 해줍니다. 이번 글에서는 구체적인 사례 컷을 통해 CKB의 AA 생태계를 살펴보겠습니다.
커먼 체인 커넥터(CCC)
먼저 지갑과 디앱에 다양한 퍼블릭 체인의 운영성을 CKB에 제공하는 지갑 연결 미들웨어인 CCC를 예로 들어보겠습니다.
아래 이미지는 CCC의 연결 창을 보여줍니다. 여기서는 이더 계정이 있는 경우 해당 계정을 CKB 체인에서 작동하는 방법을 예로 들어 메타마스크를 사용합니다.
CCC를 사용하여 CKB 체인에서 트랜잭션을 만들 때 데모는 메타마스크 지갑의 personal_sign 메서드를 호출하여 직접 온체인에 있지 않은 문자 메시지에 서명하는 데 사용됩니다.
메시지에는 CKB 트랜잭션에 대한 일련의 16진수 코드가 포함되어 있음을 확인할 수 있습니다. 메타마스크에 의해 서명된 후, 메시지는 Nervos CKB 체인에 제출되고 OmniLock과 같은 메커니즘을 통해 검증됩니다.
그리고 앞서 언급했듯이, Nervos 자체가 이더리움 메시지 포맷 검증을 지원하고 있기 때문에 CKB는 다른 퍼블릭 체인 생태계의 도킹을 밑에서부터 고려했다고 할 수 있습니다. 사용자 입장에서는 이미 확립되고 익숙한 입구와 도구를 통해 CKB 생태계에 진입할 수 있으며,
개발자 입장에서는 Nervos가 하단에 OmniLock 표준을 정의하고 CCC를 통해 멀티체인 지갑의 구현 내용을 추상화하여 개발의 어려움을 크게 줄였습니다. 이를 통해 개발자는 기본 세부 사항에 너무 많은 주의를 기울이지 않고도 비즈니스 로직의 상위 계층에 더 쉽게 집중할 수 있습니다.
모빗
모빗은 Nervos 기반 DID 및 자산 관리 플랫폼입니다. 모빗은 네르보스 생태계의 관문으로, 장벽이 매우 낮은 게이트입니다. 모빗을 사용하면 사용자는 사전 지식이 거의 또는 전혀 필요하지 않으며, 몇 가지 간단한 조치만 취하면 다른 퍼블릭 체인의 계정과 네르보스 생태계에서 상호 작용할 수 있습니다.
아래 이미지는 모빗 연결 창을 보여줍니다. 모빗은 현재 여러 주요 퍼블릭 체인의 계정 시스템을 지원하고 있으며, 그 목록은 계속 늘어나고 있습니다.
예시로 메타마스크 지갑을 사용하고 있습니다. 연결 후 인터페이스에는 사용자의 EVM과 CKB 주소가 표시되며, 해당 주소가 보유한 토큰과 DOB 자산이 CKB 체인에 표시됩니다.
DOB에 대해 몇 가지 말씀드리자면, Nervos의 고유한 생태학에 특화된 NFT와 유사한 자산이지만, DOB는 NFT와 근본적으로 다릅니다. 우선, 많은 이더리움 NFT가 체인 전체에 데이터가 저장되지 않는 반면, DOB는 체인 전체에 데이터가 저장되며 "풀 체인 NFT"라고 생각할 수 있습니다.
또한 각 DOB는 대화 및 기타 상호작용을 통해 보유자와 상호작용할 수 있는 챗봇을 설정할 수 있습니다. 홀더와의 대화와 같은 상호작용 시나리오를 수행할 수 있으며, 홀더마다 육성 경로가 다양하기 때문에 각 DOB는 기존 NFT에 비해 더 큰 개인차를 가질 것입니다.
Nervos 생태계의 DOB 거래 플랫폼인 Omiga의 경우, 사용자는 모빗의 앱 인터페이스에서 클릭 한 번으로 바로 이동할 수 있습니다.
오미가는 또한 Nervos의 계정 추상화 기능을 활용합니다.
모빗의 단순성과 포괄적인 기능은 다음과 같습니다. BTCFi의 제품 본질은 네이티브 비트코인 자산에 대한 다양한 디파이 경험을 제공하는 것이며, 주류 비트코인 지갑과의 호환성은 BTCFi 주변기기에서 중요한 고려사항이 될 것이며, CKB는 현재 이에 대한 준비가 되어 있습니다.
WebAuthn
WebAuthn은 월드와이드웹 컨소시엄(W3C)과 FIDO(Fast IDentifier)에서 개발한 기술입니다. WebAuthn은 사용자 인증의 보안을 개선하고 로그온 프로세스를 간소화하며 기존 비밀번호나 개인 키에 대한 의존도를 낮추는 것을 목표로 W3C(월드와이드웹 컨소시엄)와 FIDO(Fast IDentity Online) 컨소시엄에서 개발한 웹 표준 입니다.
iOS 및 Android와 같은 일부 주요 데스크톱 또는 모바일 운영 체제에는 로컬 보안 모듈 또는 클라우드 스토리지를 사용하여 키를 저장하고 서명할 수 있는 키 관리 소프트웨어가 내장되어 있습니다. 현재 WebAuthn의 주류 관행은 일반적으로 P-256, P-384, P-521 등을 지원합니다. Nervos의 OmniLock은 사용자 지정 암호화 기본 요소를 지원하므로 이러한 기본 요소도 재정의할 수 있습니다.
WebAuthn에서 지원하는 클라이언트는 다음과 같습니다:
CKB 에코 월렛 JoyID는 WebAuthn 기술을 사용하여 구현된 애플리케이션입니다. JoyID를 사용하면 사용자는 생체인식(예: 지문 또는 안면 인식)을 통해 직접 자신을 인증하여 원활하고 매우 안전한 로그인 및 신원 관리를 할 수 있습니다.
Nervos 생태계의 .bit 또한 Apple의 WebAuthn 구현을 활용하여 블록체인을 로그인하고 사용하는 시나리오입니다.
위 예시에서 볼 수 있듯이 CKB의 AA 체계는 본질적으로 다른 퍼블릭 체인과 웹2.0 사용자를 지원합니다. 대다수의 웹2.0 사용자에게는 개인 키와 니모닉 관리의 번거로움을 없애고 사용 문턱을 크게 낮추기 때문에 WebAuthn에 대한 지원이 매우 중요합니다. 이러한 방향으로 나아가는 퍼블릭 체인 생태계가 빠를수록 향후에 더 유리할 것입니다.
요약
이더리움은 백지화 역사로 인한 제약이 있고 기존 AA 솔루션은 기본적으로 증상을 치료할 뿐 문제의 근본 원인을 해결하지 못하는 반면 Nervos는 성공을 거둔 바 있습니다. 강력한>Nervos는 메인 네트워크 출시 초기부터 계정 시스템 설계에 만전을 기해 모든 형태의 인증 방법을 지원할 수 있는 옴니락 기능을 제공했습니다.
Nervos의 셀 모델은 본질적으로 다양한 서명 검증 알고리즘을 지원하는 잠금 스크립트와 함께 비트코인 UTXO 기능의 확장이며, 시스템 계약과 유사한 OmniLock은 잠금 스크립트에서 직접 호출되는 모든 셀을 지원하여 개발자와 사용자에게 웹2.0 플랫폼을 제공합니다.
CCC, 모빗, 조이아이디 및 기타 제품은 이미 Nervos 계정 추상화 생태계에서 사용할 수 있으며 기본적으로 완성되었습니다.
Nervos 생태계에서 이미 계정 추상화 생태계를 사용할 수 있습니다. align: left;">비티씨파이의 본질은 네이티브 비트코인 자산에 대한 다양한 디파이 경험을 제공하는 것이며, 주류 비트코인 지갑과 호환될 수 있는지 여부는 BTC파이 주변 시설에서 고려해야 할 중요한 요소이며, CKB는 BTC파이 생태계의 중요한 시설로서 개발자 측과 사용자 측에서 가능한 한 BTC파이의 대량 채택에 필요한 조건을 만들기 위해 포괄적인 접근 방식을 채택하고 있습니다. 대량 채택.