2022년 이더리움 커뮤니티에서 AA 내러티브가 인기를 얻은 이후 Web3 커뮤니티에서는 계정 추상화 개념이 대중화되었습니다. 실제로는 더 높은 수준의 표준을 확립하고 계정의 기능을 향상시키는 것을 목표로 하는 계정 시스템의 설계 개념입니다. 이더리움과 같은 주류 블록체인에서는 고정된 규칙의 한계로 인해 계정 시스템의 유연성과 다양성이 매우 열악합니다. 예:
이전 이더리움 커뮤니티에서 유행했던 EIP-4337 제안은 위의 문제를 해결할 수 있다고 여겨졌습니다. 그러나 기술 모델, 역사적 수하물, 생태적 발전, 개발자 인식 및 기타 요인으로 인해 EIP-4337은 패치 솔루션은 문제를 근본적으로 해결하기보다는 패치에 가깝습니다. EVM에 새로운 opcode를 추가하려고 시도하는 EIP-3074는 새로운 문제를 생성하면서 오래된 문제를 해결한다는 점에서 타당성이 높습니다. 논란이 많은.
여러 가지 이유로 이더리움 창립팀은 메인넷 런칭 초기에 계정 시스템을 충분히 고려하지 않아 EOA 계정과 컨트랙트 계정이 분리되어 있고 가스 거래가 지원되지 않으며, 가스 거래는 지원되지 않습니다. 여러 암호화 기본 요소 등을 지원합니다. 이러한 역사적 수하물은 이더리움의 AA 로드맵 구현에 명백한 장애물을 야기했습니다. 이더리움의 AA 계획은 계정 시스템이 이후의 새로운 퍼블릭 체인을 능가하는 것을 허용하지 않고 둘 사이의 격차를 해소할 뿐입니다. 퍼블릭 체인이 처음 설계될 때 계정 설계를 충분히 고려한다면 이더리움처럼 우회할 필요가 없을 것입니다.
EVM 퍼블릭 체인과 달리 Nervos는 설계 초기에 계정 시스템의 문제를 깊이 고려한 후 연구를 수행한 결과 Nervos 계정 시스템이 AA의 하위 계층과 본질에 더 편향되어 있다고 믿습니다. 다양한 검증 방법을 지원하는 계정 모델과 OmniLock은 처음부터 끝까지 AA의 목표와 깊이 일치하며, BTC, ETH, 심지어 Solana와 같은 다른 퍼블릭 체인의 계정 시스템도 자연스럽게 지원합니다.
또한 최근 인기를 끌고 있는 BTCFi의 경우 자체적으로 네이티브 비트코인 자산에 대한 Defi 및 기타 시나리오를 도입하기 때문에 비트코인 보유자가 원활한 제품 경험을 얻을 수 있도록 주류 비트코인 주변 장치와 호환되어야 합니다. 지갑 등 CKB의 기본 AA 솔루션은 이를 자연스럽게 실현하여 BTCFi의 대규모 채택에 필요한 조건을 만듭니다.
아래에서는 디자인 컨셉, 시스템 아키텍처, 애플리케이션, 생태계 등 다양한 관점에서 Nervos의 계정 추상화 시스템을 해석해 보겠습니다.
UTXO 모델을 기반으로 하는 퍼블릭 체인의 데이터 저장 구조는 "계정-잔액" 시스템을 기반으로 하지 않고 고유한 형태를 채택한다는 것을 대부분의 사람들이 알고 있습니다. 구체적으로 UTXO는 금처럼 녹거나 주조될 수 있습니다. 모든 거래에서 오래된 UTXO는 파괴되고 새로운 UTXO가 탄생합니다. 또한, UTXO 데이터는 중앙화된 주소에 저장되지 않고, UTXO를 생성한 트랜잭션에 분산되어 저장되며, 과거 블록의 기록을 읽어야만 찾을 수 있다.
비트코인은 상태 폭발 문제, 낮은 데이터 읽기 및 쓰기 효율성, 그리고 소유권이 흐릿해졌습니다. UTXO 모델에서는 다양한 사람들의 자산 데이터에 대한 저장 위치와 소유권이 매우 명확하고 병렬성/동시성에 친화적이며 저장 임대와 같은 기능을 지원하기 쉽고 기존 계정의 많은 함정을 피할 수 있습니다. 체계.
Nervos 퍼블릭 체인의 계정 시스템은 설계 초기부터 비트코인 UTXO의 장점을 완전히 흡수했습니다. 셀 모델은 실제로 비트코인 UTXO의 업그레이드 버전으로 Turing 완전한 프로그래밍 기능을 제공합니다. 또한 CKB와 기타 자산은 모두 일류 자산이며 EVM 퍼블릭 체인처럼 ERC-20과 다르게 기본 자산을 취급하지 않습니다.
CKB Cell의 작동 메커니즘은 Bitcoin UTXO의 작동 메커니즘과 거의 동일합니다. 둘 다 "잠금 스크립트"와 "잠금 해제 스크립트"에 의해 구동됩니다. 각 UTXO/Cell이 생성되면 "잠금 스크립트"가 있게 됩니다. 비밀번호 잠금과 유사하며 "잠금 해제 스크립트"는 "잠금 스크립트"를 잠금 해제할 수 있는 해당 키입니다. "잠금"에 해당하는 "키"를 제출할 수 있는 한 관련 UTXO는 귀하가 사용할 수 있습니다.
그러나 Bitcoin UTXO와 달리 Cell은 잠금 스크립트 위에 "TypeScript" 필드를 추가합니다. LockScript가 이 셀을 다시 작성할 자격이 있는지 여부를 결정하는 ID 인증자라면 TypeScript는 셀에 연결된 스마트 계약이며 DEX 코드와 대출 프로토콜을 TypeScript에 배포할 수 있습니다.
개발자가 CKB에서 AMM과 유사한 유동성 풀을 구현하려는 경우 전용 셀의 TypeScript에 계약 코드를 작성한 다음 유동성 풀(예: 풀)의 상태 정보를 데이터 필드에 저장하기만 하면 됩니다. 이 셀에 포함된 다양한 자산의 잔액) 사용자는 TypeScript의 코드와 상호 작용할 수 있습니다.
CKB의 이 디자인은 비트코인 UTXO 모델을 기반으로 더욱 풍부한 시나리오를 확장하고 훨씬 더 프로그래밍 가능합니다. 게다가 CKB 자체는 RISC-V 가상 머신을 사용하기 때문에 여러 프로그래밍 언어로 작성된 프로그램을 지원하며 다양한 로직을 지원할 수 있습니다. 비트코인보다 훨씬 더 강력합니다.
Cell의 잠금 스크립트인 LockScript는 오늘 우리의 핵심 주제인 AA와 직접적인 관련이 있습니다. AA가 옹호하는 기능 중 하나는 온체인 계정이 유연하고 다양한 인증 방법을 지원할 수 있도록 하는 것입니다. UTXO의 경우 이 기능을 달성하려면 인증자 역할을 하는 LockScript에서 작업해야 합니다. 이를 위해 CKB는 특히 여러 인증 체계를 지원하는 OmniLock 스크립트를 출시했습니다.
OmniLock의 구체적인 디자인을 살펴보겠습니다.
앞서 CKB의 Cell 및 Bitcoin UTXO 사용 권한은 잠금 스크립트에 의해 정의된다고 언급했습니다. LockScript는 신원 확인 역할을 위해 Cell을 다시 작성할 수 있는 사람을 결정합니다. 다중 인증 방법을 지원하기 위해 CKB는 다중 서명 알고리즘 및 검증 메커니즘과 호환되는 OmniLock이라는 범용 잠금 스크립트를 제공합니다.
OmniLock은 다양한 검증 논리를 모듈화합니다. 다양한 매개변수가 설정되어 있으면 다양한 검증 알고리즘을 유연하게 구성할 수 있습니다. 사용자는 BTC, ETH, 심지어 WebAuthn과 같은 계정, 지갑/인증 방법을 사용하여 CKB 체인의 자산을 직접 조작할 수 있습니다.
그렇다면 OmniLock은 어떻게 구현되고 사용되나요? 사실 간단하게 설명하면 OmniLock은 Nervos가 공식적으로 CKB 체인에 직접 배치한 코드 조각입니다. 이 코드는 "시스템 계약"과 마찬가지로 특정 Cell에 작성되며 다른 Cell에서 사용할 수 있습니다. EVM 퍼블릭 체인에서 "동일합니다. Cell이 OmniLock을 사용하려는 경우 자체 잠금 스크립트에서 OmniLock에 대한 참조를 선언할 수 있습니다.
아래에서는 의사 코드를 통해 잠금 스크립트와 OmniLock의 작동 원리를 이해할 수 있습니다.
CKB의 잠금 스크립트에는 코드 해시, 해시 유형 및 Args의 세 가지 필드가 포함되어 있습니다. 코드 해시 및 해시 유형은 이 섹션의 내용과 밀접한 관련이 없으므로 여기서는 설명하지 않습니다. 아래에서는 Args 필드에 중점을 두고 있습니다. Args를 유연하게 구성하면 OmniLock에 정의된 다양한 확인 알고리즘을 사용할 수 있습니다.
Args 필드에 해당하는 콘텐츠는 두 부분으로 나눌 수 있습니다. 한 부분은 인증에 특별히 사용되는 부분이며, 길이는 1바이트 플래그 식별자와 20바이트 인증 데이터를 포함하여 21바이트입니다. . 인증의 인증 데이터에는 미리 설정된 공개 키 해시가 포함되어 있습니다. 공개 키 해시에 해당하는 공개 키 소유자만 신원 확인을 통과하고 셀에 데이터를 다시 쓸 수 있습니다.
Auth의 플래그는 다양한 인증 방법을 선택하는 데 사용되는 식별자입니다. 여기서 언급하는 인증 방법은 암호화 서명 확인을 의미할 뿐만 아니라 정보 처리와 같은 포괄적인 프로세스도 포함합니다. 플래그가 0x01이면 인증 방법을 의미합니다. Ethereum의 외부 메시지용. Ethereum 외에도 OmniLock은 Bitcoin, Dogecoin, Tron 및 다중 서명과 같은 풍부한 메시지 확인 양식을 지원합니다.
Args의 또 다른 부분은 Omnilock args라고 합니다. 이는 관리자 모드(예: USDT의 관리자 동결 기능), 소액 결제 누구나 지불 가능 모드( 소액 기부시 사용), 타임락 모드 등 어쨌든 Omnilock 인수를 조정하는 한 OmniLock에 미리 작성된 다양한 기능을 사용할 수 있습니다.
요약하자면, Cell 잠금 스크립트의 Auth 및 Omnilock args 필드에 다양한 매개변수를 입력하여 다양한 퍼블릭 체인이나 플랫폼의 인증 방법을 선택하고 CKB에 다양한 인증 방법을 도입할 수 있습니다. 물론 OmniLock에 사전 정의된 여러 인증 방법 외에도 개발자는 자체 인증 체계를 정의할 수도 있습니다.
우리는 OmniLock이 Nervos가 계정 추상화를 달성하는 기반이며 Mobit, .bit, Omiga 및 미들웨어 CCC와 같은 OmniLock 기반 지갑이라는 것을 이미 알고 있습니다( Common Chains Connector) 등은 보안 개인 정보 보호 및 신원 관리 서비스를 제공하는 DID 플랫폼 Did.id와 분산형 Dobs 자산 거래 플랫폼 Dobby를 포함하는 Nervos의 풍부한 BTCFi 계정 추상 생태계를 구성합니다.
AA의 좋은 기능은 BTCFi 생태 애플리케이션에 큰 편의성을 제공하여 CKB 생태계의 프로젝트가 BTC 지갑 상호 작용을 직접 지원하고 사용 임계값을 낮출 수 있도록 합니다. 다음에서는 CKB의 AA 생태계를 조사하기 위해 구체적인 사례를 사용하겠습니다.
우선 CCC를 예로 들어보겠습니다. 이는 다양한 퍼블릭 체인의 운용성을 갖춘 지갑과 dApp을 CKB에 구체적으로 제공하는 지갑 연결 미들웨어입니다.
아래 사진은 CCC 접속창 입니다. 여기서는 MetaMask를 예로 들어 이더리움 계정이 있는 경우 CKB 체인에서 해당 계정을 운영하는 방법을 설명합니다.
CCC를 사용하여 CKB 체인에서 거래를 수행할 때 데모에서는 MetaMask 지갑의 personal_sign 메소드를 호출하여 서명합니다. 이 메소드는 체인에 직접 업로드되지 않는 문자 메시지에 서명하는 데 사용됩니다.
이 정보의 내용은 CKB 거래의 일련의 16진수 코드임을 알 수 있습니다. MetaMask가 서명한 메시지는 Nervos CKB 체인에 제출되고 OmniLock과 같은 메커니즘을 통해 확인됩니다.
앞서 언급했듯이 Nervos 자체는 Ethereum의 메시지 형식 검증을 지원합니다. CKB는 다른 퍼블릭 체인 생태계와의 연결을 처음부터 고려했다고 할 수 있습니다. 사용자의 경우 기존의 친숙한 입구와 도구를 통해 CKB 생태계에 들어갈 수 있습니다.
개발자를 위해 Nervos는 최하위 수준에서 OmniLock 표준을 정의하고 CCC를 통해 다중 체인 지갑의 구현 세부 사항을 추상화했습니다. 이를 통해 상위 계층 애플리케이션 개발자는 기본 세부 사항에 너무 많은 주의를 기울이지 않고도 상위 계층 비즈니스 논리 개발에 더 집중할 수 있습니다.
Mobit은 Nervos를 기반으로 한 DID 및 자산 관리 플랫폼입니다. 비유적으로 말하면 Mobit은 외부 세계가 Nervors 생태계로 들어갈 수 있는 문과 같으며 이 문에 대한 문턱은 매우 낮습니다. Mobit을 사용하면 사용자는 사전 지식이 거의 필요하지 않으며 다른 공개 체인의 계정을 사용하여 Nervos 생태계에서 상호 작용을 완료하기 위해 몇 가지 간단한 작업만 필요합니다.
아래 사진은 모빗의 연결창 입니다. Mobit은 현재 여러 주류 퍼블릭 체인의 계정 시스템을 지원하고 있으며 이 목록은 계속해서 확장되고 있음을 알 수 있습니다.
여전히 메타마스크 지갑을 예로 들어보겠습니다. 연결된 인터페이스는 사용자의 EVM 및 CKB 주소를 볼 수 있으며, CKB 체인의 주소가 보유한 토큰 및 DOB 자산을 표시할 수 있습니다.
여기서는 Nervos 생태계의 고유 자산이자 NFT와 유사하지만 DOB는 NFT와 근본적으로 다른 DOB에 대해 이야기해 보겠습니다. 우선, DOB의 데이터는 체인에 완전히 저장되어 "풀체인 NFT"로 간주될 수 있지만, 많은 이더리움 NFT의 데이터는 체인에 완전히 저장되지 않습니다.
또한 각 DOB는 보유자와 함께 사용할 수 있는 Chatbot을 사용하여 대화와 같은 대화형 시나리오에 참여할 수 있으며 보유자마다 다른 개발 경로를 통해 각 DOB는 기존 NFT에 비해 더 중요한 개인 차이를 갖습니다.
Nervos 생태계의 DOB 거래 플랫폼인 Omiga의 경우 사용자는 한 번의 클릭으로 Mobit Apps 인터페이스에서 직접 이동할 수 있습니다.
Omiga는 Nervos의 계정 추상화 기능도 활용합니다.
Mobit의 간단한 조작과 포괄적인 기능은 BTCFi와의 상호 작용을 촉진합니다. BTCFi 제품의 본질은 기본 비트코인 자산에 대한 다양한 Defi 경험을 제공하는 것입니다. 주류 비트코인 지갑과 호환되는지 여부는 BTCFi 주변 시설에 대해 고려해야 할 중요한 요소가 될 것이며 CKB는 현재 준비되어 있습니다.
WebAuthn은 W3C(World Wide Web Consortium)와 FIDO(Fast IDentity Online) Alliance가 공동으로 개발한 네트워크 표준입니다. 목표는 사용자 인증의 보안을 향상하고 로그인 프로세스를 단순화하는 것입니다. 기존 비밀번호 또는 개인 키 종속성에 대한 필요성을 줄입니다.
iOS 및 Android와 같은 일부 주류 데스크톱 또는 모바일 운영 체제에 내장된 키 관리 소프트웨어는 로컬 보안 모듈 또는 클라우드 저장소를 사용하여 키를 저장하고 서명을 수행할 수 있습니다. 현재 WebAuthn의 주류 관행은 일반적으로 P-256, P-384, P-521 등을 지원합니다. Nervos의 OmniLock은 사용자 정의 암호화 기본 요소를 지원하므로 이들도 다룰 수 있습니다.
다음은 WebAuthn이 지원하는 클라이언트 중 일부입니다:
CKB 생태 지갑 JoyID는 WebAuthn 기술을 사용하여 구현된 애플리케이션입니다. JoyID를 사용하면 사용자는 지문이나 얼굴 인식과 같은 생체 인식을 통해 직접 인증할 수 있어 원활하고 보안이 뛰어난 로그인 및 신원 관리가 가능합니다. Nervos 생태계의
.bit 역시 Apple의 WebAuthn 구현을 사용하여 로그인하고 블록체인을 사용하는 시나리오입니다.
위의 사례에서 CKB의 AA 솔루션은 본질적으로 다른 퍼블릭 체인과 Web2 사용자를 지원한다는 것을 알 수 있습니다. 대다수의 Web2 사용자에게 WebAuthn 지원은 개인 키 및 니모닉 문구 관리 부담을 없애고 사용 임계값을 크게 낮추는 데 중요합니다. 퍼블릭 체인 생태계가 이 방향으로 일찍 노력할수록 미래에 더 많은 이점을 갖게 될 것입니다.
이더리움은 역사적 수하물 문제로 인해 한계가 있습니다. 기존 AA 솔루션은 기본적으로 증상을 치료하지만 근본 원인을 해결하지는 못합니다. 반면 Nervos는 출시 당시 계정 시스템의 설계를 충분히 고려했습니다. 모든 형태의 인증 방식을 지원하는 OmniLock 기능을 제공합니다.
Nervos의 셀 모델은 본질적으로 Bitcoin UTXO의 기능 확장입니다. 잠금 스크립트는 다양한 서명 확인 알고리즘을 지원할 수 있으며 시스템 계약과 유사한 방식으로 잠금 스크립트에서 직접 호출되는 셀을 지원합니다. 대다수의 사용자에게 Web2 수준의 경험을 제공합니다.
현재 Nervos 계정 추상 생태계에는 기본적으로 완전한 CCC, Mobit, Joyid 등과 같은 제품이 있습니다. 기본 비트코인 자산에 대한 다양한 Defi 경험을 제공하는 것입니다. 주류 비트코인 지갑과 호환되는지 여부는 BTCFi 주변 시설에 대해 고려해야 할 중요한 요소가 될 것입니다. BTCFi 생태계의 중요한 시설로서 CKB는 포괄적인 접근 방식을 채택했으며 다음과 같습니다. 개발자와 사용자 모두 가능한 한 BTCFi 친화적입니다. 대량 채택을 위해 필요한 조건을 만듭니다.
위 내용은 CKB 계정 추상 생태학의 해석: BTC 대량 채택의 포석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!