Amber Group: 계정 추상화가 가져온 지갑 진화
星球君的朋友们
2022-12-16 07:43
本文约8537字,阅读全文需要约34分钟
EOA 지갑은 다음 10억 명의 사용자로 확장하기 위해 계정 추상화 지갑으로 진화해야 합니다.

첫 번째 레벨 제목

우리는 계속 진화해야 합니다

누군가 탈중앙화 금융, NFT 또는 기타 유형의 온체인 활동에 처음 뛰어들기로 결정하면 먼저 지갑이 필요하다는 것을 깨닫습니다. 불행히도 온체인 지갑을 사용하는 경험은 대부분의 사람들이 익숙한 것과는 매우 다릅니다. 이것은 수백만 명의 잠재적인 암호화 사용자를 저지하는 중요한 문제입니다.

첫 번째 레벨 제목

현재 시스템

자체 호스팅 지갑을 온체인에 구현하는 방법에는 외부 계정(EOA)을 사용하거나 계약 계정(CA)을 사용하는 두 가지 방법이 있습니다. 둘 다 디지털 자산을 송수신하고 배포된 스마트 계약과 상호 작용할 수 있습니다. 그러나 아래 표에 요약된 몇 가지 중요한 차이점이 있습니다.

현재 계약 계정은 일반적으로 "멀티 시그" 형태의 자체 보관에만 사용됩니다. 다중 서명은 향상된 보안을 제공하지만 일반적으로 일반 사용자가 일반 EOA 지갑보다 설정하기가 훨씬 더 복잡하기 때문에 자산을 온체인에 유지하는 실용적인 방법은 아닙니다. 계정 추상화가 없으면 계약 계정을 디지털 자산을 저장하는 주요 방법으로 쉽게 사용할 수 없습니다.

"계정"이라고 불리기 위해서는 3가지 중요한 조건이 충족되어야 합니다. 외부 계정이든 계약 계정이든 이러한 조건을 충족해야 합니다. 계정에 다음이 있어야 합니다.

1. 균형- 지갑에 있는 디지털 자산의 양을 나타냅니다.

2. Nonce- 이렇게 하면 지갑에서 전송된 모든 거래가 고유함을 보장합니다.

3. 주소- 웹상의 각 계정에 대한 고유 식별자입니다.

보조 제목

EOA 모델의 문제점

현재 EOA 디자인(오늘날 지갑의 표준)이 근본적으로 결함이 있다고 말하는 것은 솔직하지 못하겠지만 전 세계 수십억 명의 사람들이 사용할 수 있는 상태는 확실히 아닙니다. 주된 이유는 서명자가 계정에 대한 모든 권한을 갖기 때문입니다. 서명자를 잃으면 계정을 잃게 됩니다. 누군가 귀하의 서명자를 찾으면 귀하의 계정을 소유하고 있는 것입니다. 이것이 완벽한 조건에서 사용자의 자산을 유지하는 데 도움이 될 수 있지만 우리는 완벽한 세상에 살고 있지 않습니다. EOA 지갑의 보안은 전적으로 사용자의 단일 개인 키 관리에 달려 있습니다. 안전망이 없으며 실수가 있을 수 없습니다. 그러나 사람들은 오류를 범할 수 있으며 대중에 맞게 확장하려는 경우 지갑이 이렇게 복잡할 수 없습니다.

이미지 설명

Holders of monkey jpegs are under constant attack due to how difficult self-custody is at the moment.

첫 번째 레벨 제목

계정 추상화가 솔루션입니까?

보조 제목

계정 추상화의 역사

계정 추상화를 적절하게 구현하고 EOA 계정의 필요성을 줄이려면 오랫동안 네트워크 전반의 변경이 필요하다고 여겨져 왔습니다. 2016년부터 Vitalik과 다른 이더리움 코어 개발자들은 이러한 변화에 대한 솔루션의 초안을 작성해 왔습니다. 요약하면 다음과 같습니다.

● EIP-86:이더리움이 처음 출시된 지 1년도 채 안 된 2016년에 Vitalik Buterin이 제안했습니다. 이 EIP는 "포워딩 계약"으로 스마트 계약의 개념을 도입하고 특정 형식을 따르는 한 누구나 트랜잭션을 보낼 수 있는 "엔트리 포인트" 주소의 트랜잭션만 수락합니다. 이를 위해서는 Ethereum 프로토콜에 대한 주요 변경 사항이 필요했으며 중단되었습니다.

● EIP-1014: 2018년 Vitalik Buterin이 제안한 이 EIP는 EIP-86의 핵심 아이디어를 가져와 CREATE 2 opcode의 생성으로 이어졌습니다. 이를 통해 계약을 실제로 배포하지 않고도 계약이 배포될 주소를 예측할 수 있습니다. 이는 스마트 계약 지갑이 작동하려면 스마트 계약 주소가 동시에 모든 EVM 체인에 배포되지 않더라도 모든 EVM 체인에서 동일하다는 것을 확인해야 하기 때문에 중요합니다.

● EIP-2938: 2020년 9월 Vitalik Buterin, Ansgar Dietrichs 및 Matt Garnett가 제안한 EIP는 새로운 opcode 생성이 필요한 새로운 "계정 추상화" 트랜잭션을 시도합니다. 이것은 너무 큰 프로토콜 변경으로 판명되었으며 어떻게 될지 확실하지 않습니다. EIP-2938은 폐기되었습니다.

● EIP-3074: 2020년 10월 Ansgar Dietrichs와 Matt Garnett가 만든 이 EIP는 AUTH 및 AUTHCALL이라는 두 가지 새로운 opcode를 소개합니다. 함께 사용하면 스마트 계약이 EOA를 대신하여 트랜잭션을 보낼 수 있습니다. 과거에 다른 EIP에서 보았듯이 주요 네트워크 변경은 승인될 가능성이 낮습니다. EIP-3074도 예외는 아니며 보안 위험으로 인해 구현되지 않았습니다.

특히, EIP 타임라인은 계정 추상화가 이더리움이 시작된 이래 핵심 이더리움 개발자들의 마음에 있었다는 것을 보여줍니다. 병합이 완료되면 더 많은 개발자 리소스가 마침내 추상화를 고려할 수 있습니다. 다음 EIP는 마침내 우리를 차세대 지갑에 더 가깝게 만듭니다.

● EIP-4337 - 합의 계층 변경이 없는 이더리움 계정 추상화:2021년 9월에 Vitailk, OpenGSN 및 Nethermind는 EIP-4337 - 진입점 계약 사양을 통한 계정 추상화를 제안했습니다. EIP는 핵심 프로토콜을 변경할 필요 없이 계정 추상화를 수행하려고 시도합니다. 프로토콜 변경이 지금까지 대부분의 진행을 방해한 것이기 때문에 이것은 엄청난 성과입니다. EIP-4337은 아직 초안 단계에 있으며 확정되지 않았지만 EIP-4337이 합의 계층을 변경하지 않기 때문에 OpenZeppelin 및 Stackup을 포함하여 이미 구현이 가능합니다. 이 EIP 기능의 메커니즘은 세 단계로 나눌 수 있습니다.

1. UserOperations,(본질적으로 계정 추상화를 가능하게 하는 추가 데이터 필드가 있는 일반 트랜잭션) 맞춤형 mempool을 통해 전송됨

2. 이후 UserOperations는 Bundler에 의해 단일 트랜잭션으로 패키징됩니다. 번들러는 채굴자가 기존 트랜잭션 멤풀에서 작동하는 방식과 유사하게 수수료 우선 순위 로직을 기반으로 포함할 UserOperation 개체를 선택합니다. 번들러(Flashbots와 같은 서비스 사용)는 확인을 위해 EntryPoint 계약을 호출합니다.

3. 오류가 없으면 트랜잭션은 네트워크의 다음 블록에 포함됩니다.

EntryPoint 계약은 Bundler를 통해 호출되는 인프라의 핵심 부분입니다. 이 스마트 계약을 호출하면 먼저 UserOperations가 계정의 미리 지정된 규칙을 따르는지 확인한 다음 이를 실행합니다. EIP-4337에는 프로토콜 수준의 변경 사항이 없다는 점을 기억하는 것이 중요합니다. 즉, Bundler는 이러한 모든 트랜잭션을 체인에 커밋하는 EOA 주소입니다. EntryPoint 계약은 Paymaster를 추가하여 추가로 확장할 수 있습니다. Paymaster는 몇 가지 이점을 제공합니다.

1. 앱 개발자가 사용자를 대신하여 결제할 수 있습니다.

2. 사용자가 ERC 20 토큰으로 수수료를 지불할 수 있으며, 컨트랙트는 ERC 20을 수집하고 가스 수수료를 ETH로 지불하는 중개자 역할을 합니다.

보조 제목

계정 추상화의 적용 시나리오

이미지 설명

Smart contract wallets are a major upgrade in terms of features compared to EOA wallets - Source: Argent Wallet on Twitter.

사회적 회복

사용자의 디지털 자산 보호 측면에서 가장 중요한 이점 중 하나는 소셜 복구가 서명 키를 분실한 사용자를 보호하도록 설계되었다는 것입니다. 사용자의 노트북이 고장나서 개인 키 또는 시드 문구의 물리적 사본을 잃어버렸다고 상상해 보십시오. 이 경우 EOA 지갑을 사용하면 모든 자산이 영원히 손실됩니다. Social Recovery는 지갑을 복구하기 위해 니모닉 문구를 사용하는 대신 다른 접근 방식을 취합니다. 이것은 Vitalik이 가장 좋아하는 지갑 보안 방법이며 작동 방식을 정의합니다.

1. 거래를 승인하는 데 사용할 수 있는 "서명 키"가 있습니다.

2. "보호자" 그룹이 있으며 대부분이 계정의 서명 키를 변경하는 데 협력합니다.

사용자가 서명 키를 분실하거나 잊어버린 경우 소셜 복구가 활성화될 수 있습니다. 일반적으로 서명 키와 시드 문구를 분실하면 계정에 액세스할 수 없습니다. 소셜 복구를 통해 사용자는 단순히 경비원에게 연락하여 지갑 계약에 등록된 서명 키를 새 것으로 변경하기 위해 특정 트랜잭션에 서명하도록 요청할 수 있습니다. 약간의 기계적인 차이가 있지만 이는 개념적으로 Google 계정 비밀번호를 잊어버렸고 계정에 다시 액세스해야 하는 경우와 유사합니다.

경호원으로 선택할 사람에 대한 많은 가능한 옵션이 있습니다. 가장 일반적인 세 ​​가지 옵션은 다음과 같습니다.

1. 지갑 소유자가 소유한 기타 장치

2. 친구와 가족

3. 에이전시에서 귀하의 전화번호나 이메일로 확인을 받거나 고가의 경우 비디오 통화를 통해 개인 신원을 확인하는 경우 복구 메시지에 서명합니다.

이미지 설명

Screenshot of Unipass wallet’s UI for adding a guardian

UniPass Wallet곧 출시될 스마트 계약 지갑이며 주요 기능 중 하나는 사회적 회복입니다. UniPass Wallet에는 가드를 원활하게 추가 및 제거할 수 있는 인터페이스가 포함되어 있습니다.

역할 기반 액세스 제어

많은 기존 "web2" 애플리케이션의 경우 플랫폼 개발자는 사용자가 2단계 인증(2FA)을 사용하도록 요구합니다. 이것은 많은 해킹이 발생하는 것을 자동으로 방지합니다.

다른 많은 기사에서 문자 메시지 또는 이메일 주소를 통한 다중 요소 또는 이중 요소 인증이 계정 추상화 지갑을 소유함으로써 잠금 해제되는 새로운 기능이라고 주장할 것이라는 점은 주목할 가치가 있습니다. 이러한 형태의 2FA를 구현하면 일반적으로 MPC(다자간 계산) 및 오프체인 서버를 활용합니다. 아직 완전한 온체인 구현은 없습니다. 하지만 MPC 기술로 구동되기 때문에 EOA 지갑만 사용해도 구현할 수 있습니다. 계정 추상화 지갑 전용이라고 말하는 것은 솔직하지 않습니다.

그러나 스마트 계약 지갑은 핫 지갑을 2차 확인 형식으로 사용하도록 요구함으로써 유사한 유형의 온체인 기능을 활성화할 수 있습니다. 이렇게 하면 피싱을 당하더라도 자산을 전송하려면 여전히 확인이 필요할 수 있으므로 많은 해킹이 발생하는 것을 자동으로 방지합니다. 계정 추상화 지갑을 사용하면 기본 설정에 따라 특정 보안 매개변수를 정의할 수 있습니다. 이에 대한 예는 다음과 같습니다.

● 일일 거래 한도를 설정하여 하드웨어 지갑을 통해 확인하지 않는 한 하루에 보낼 수 있는 통화의 양을 지정합니다. 이렇게 하면 지갑이 한 번에 고갈되는 것을 방지할 수 있습니다.

● 잘 알려진 "스캠" 주소의 데이터베이스에 연결합니다. 상호 작용하는 주소가 데이터베이스에 저장되어 있는 경우 하드웨어 지갑으로 거래를 추가로 확인하라는 메시지가 즉시 표시됩니다.

● Opensea 컬렉션을 확인하고 확인되지 않은 NFT 컬렉션을 구매하고 있음을 알리고 하드웨어 지갑을 통해 확인하라는 메시지를 표시하여 위조/악성 NFT의 혼란스러운 구매를 방지합니다.

가장 중요한 것은 이러한 모든 기능이 온체인 상호 작용을 수행할 때 다층 안전망을 제공한다는 것입니다. 대부분의 사용자는 자신이 무엇을 서명하고 승인하는지 모릅니다. 현재 우리는 한 번의 잘못된 클릭으로 지갑 잔액이 즉시 고갈되는 시스템에서 실행 중이며 이를 변경해야 합니다.

세션 키

많은 사람들은 블록체인 게임이 web3의 다음 큰 이야기가 될 것이라고 믿습니다. 이를 위해서는 현재 존재하는 것보다 더 나은 사용자 경험이 필요합니다. 사용자가 플레이 중인 게임에서 무언가와 상호 작용할 때마다 여러 기능을 승인해야 하는 것은 이치에 맞지 않습니다. 이것은 전통적인 게임이 작동하는 방식이 아니며 익숙하지 않고 번거로운 인터페이스로 사람들을 끌 수 있습니다. 세션 키를 사용하면 주어진 기간, 최대 가스, 특정 토큰에 대한 최대 거래량 또는 특정 계약에 대한 특정 기능과 같은 일련의 매개변수를 기반으로 애플리케이션에 대한 거래를 사전 승인할 수 있습니다. 사용자는 몇 가지 기본 조건으로 세션을 사전 승인하고, "이 거래를 확인하세요"라고 묻는 지갑의 끊임없는 폭격 없이 플레이하고 플레이할 수 있습니다.

일괄 트랜잭션

이제 dapp을 사용하려면 모든 온체인 상호 작용에 대해 새로운 트랜잭션을 만들어야 합니다. 승인된 모든 상호 작용에는 비용이 들기 때문에 이것은 귀찮고 비용이 많이 듭니다. 계정에서 계정을 추상화함으로써 지갑은 여러 트랜잭션을 함께 묶어 하나의 트랜잭션으로 실행할 수 있습니다.

이는 사용자 경험을 근본적으로 단순화합니다. 복잡한 거래 및 수익 채굴 기회를 단 한 번의 클릭으로 단순화할 수 있습니다.

기타 애플리케이션 시나리오

보조 제목

계정 추상화의 잠재적 문제

계정 추상화 지갑은 현재 프로토콜 수준에서 구현되지 않고 현재 스마트 계약으로만 존재하며 가스는 창의적인 방식으로 전달됩니다. 이러한 지갑은 스마트 계약이기 때문에 몇 가지 문제가 발생합니다. 첫째, 스마트 컨트랙트 지갑은 블록체인 스토리지를 사용하기 때문에 배포 비용이 있습니다. 현재 이것은 더 저렴한 체인을 사용하거나 릴레이어가 이 비용을 부담하도록 함으로써 피할 수 있습니다. 그러나 이것은 실제로 트랜잭션 제출의 더 높은 가스 비용을 피하지 않습니다. 스마트 계약 지갑을 통해 전송되는 단일 트랜잭션의 가스 비용은 EOA 지갑을 통해 전송되는 것보다 비쌉니다. 적절한 트랜잭션 일괄 처리로 개선할 수 있지만 아직은 그렇지 않습니다. 두 번째로 중요한 문제는 모든 지갑이 EOA를 대체하기 전에 감사를 받아야 한다는 것입니다. 널리 사용되는 스마트 컨트랙트 지갑에 취약점이 있다면 역대 가장 큰 해킹 중 하나가 될 수 있습니다. 스마트 계약 지갑이 이전에 해킹된 적이 있기 때문에 이것은 단순한 가설이 아닙니다. 2017년 패리티 스마트 계약 지갑150,000 ETH 도난(현재 가치 1억 8천만 달러). 3개월 후, 동일한 스마트 컨트랙트가 또 해킹당했습니다.500,000 ETH 도난(현재 가치 6억 달러). 다행스럽게도 2017년부터 보안 표준을 개선했으며 요즘 계정 추상화 지갑이 시도하는 대부분의 작업은 터무니없이 복잡하지 않습니다. 소셜 복구 및 역할 기반 액세스 제어와 같은 보안 기능도 기본적으로 내장되어 스마트 계약 자체의 문제에 대한 보호 수준을 제공합니다. 그러나 이러한 기능에도 불구하고 ERC-4337의 현재 구현에는 여전히 보안 문제가 있습니다. 가장 큰 문제는 EntryPoint 계약이 극도로 특권적이라는 것입니다. 이 스마트 계약에 보안 문제가 있는 경우 해커는 이를 사용하여 모든 ERC-4337 계약 지갑을 악용할 수 있습니다. 보안 문제 외에도 ERC-4337을 지원하는 인프라가 불완전합니다. ERC-4337의 현재 구현은 Flashbots에 크게 의존합니다. Flashbot은 일련의 UserOperation 개체를 단일 "번들 트랜잭션"으로 패키징한 다음 Ethereum 블록에 포함하므로 계정 추상화에 매우 중요합니다. Flashbot은 ERC-4337 지갑이 다른 EVM 체인과 어떻게 호환되는지 의문을 제기하는 이더리움 자체에 특화되어 있습니다. 계약 지갑을 다른 체인에 배포할 수 있지만 거래를 묶는 Flashbots와 같은 메커니즘이 없으면 지갑을 사용할 수 없습니다. 마지막으로, 스마트 계약 지갑은 계약 지갑의 서명을 확인하기 위해 EIP-1271을 호출하는 EIP-1271을 구현하는 분산형 애플리케이션과만 상호 작용할 수 있습니다. 이론적으로 Opensea 또는 기타 분산 응용 프로그램이 EIP-1271을 구현하지 않은 경우 스마트 계약 지갑은 응용 프로그램과 상호 작용할 수 없으며 쓸모 없게 됩니다.

보조 제목

Layer 2 

보조 제목

계정 추상화 지갑 UniPass

Argent Wallet(훌륭한 계정 추상화 지갑)은 Starknet과 같은 레이어 2에 초점을 맞추고 있지만 Ethereum과 같은 레이어 1에서 구현을 보는 것이 중요합니다. UniPass는 EOA 지갑 및 기타 계정 추상화 지갑을 포함하여 경쟁 제품과 차별화되는 일련의 기능으로 구축된 계정 추상화 지갑입니다. UniPass 사용자가 거래를 시작하면 거래를 완료하기 위해 제3자가 중개자 역할을 해야 합니다. 이 과정에서 릴레이어는 사용자가 지원되는 모든 토큰을 사용하여 가스 요금을 지불하고 사용자를 위해 가스 요금을 지불하도록 허용하여 가스 없는 사용자 경험을 달성할 수 있습니다. UniPass는 즉시 사용할 수 있는 기본 UniPass 릴레이 노드를 제공합니다. 처음에 UniPass Relayer는 기본 토큰 및 주류 스테이블 코인으로 가스 지불을 수락합니다. 또한 애플리케이션은 자체 클라이언트 repeater를 빌드하여 해당 사용자 기반의 요구를 충족할 수 있습니다.

이미지 설명


Creating a wallet is as simple as logging in with your Google Account

UniPass는 또한 소셜 복구를 위한 고유한 온체인 이메일 기반 검증 기술을 보유하고 있습니다. 이메일 프로토콜(POP 3, SMTP 및 IMAP)은 50년 이상 사용되어 왔으며 현대 인터넷의 기본 요소입니다. 악의적인 수정으로부터 이메일을 보호하기 위해 DKIM(DomainKeys Identified Mail)이 2004년에 도입되었습니다. DKIM은 표준화된 이메일 인증 기술입니다. 발신자는 발신 이메일에 디지털 서명을 추가할 수 있습니다. 전자 메일 서버가 서명된 전자 메일을 받으면 전자 메일이 실제 보낸 사람이 보낸 것인지, 내용이 수정되지 않았는지 확인할 수 있습니다.

지속적인 연구 끝에 UniPass Wallet은 이제 온체인 스마트 계약을 사용하여 DKIM의 디지털 서명을 확인할 수 있습니다. 이를 통해 사용자는 비수탁 계약 계정을 관리하고 소셜 복구에만 이메일을 사용할 수 있습니다. Argent와 같은 스마트 계약 지갑을 위한 일반적인 소셜 복구 솔루션은 보호자가 Argent 사용자이거나 이미 이더리움 지갑을 가지고 있어야 합니다. 즉, 신뢰할 수 있는 가족과 친구가 web3 사용자가 아닌 경우 계정의 보호자 역할을 할 수 없습니다. UniPass의 구조를 통해 사용자는 여러 사서함을 계정의 보호자로 설정할 수 있으며 이메일을 체인의 스마트 계약에 제출하기만 하면 사용자가 계정 복구를 설정할 수 있습니다. 이렇게 하면 보호자의 진입 장벽이 크게 낮아져 이메일이 있는 모든 가족과 친구가 계정의 보호자가 될 수 있습니다.

발문

발문

보조 제목

작가

보조 제목

성명

원본 링크

원본 링크

星球君的朋友们
作者文库