이 기사는 SevenX 연구팀이 작성한 원본이며 커뮤니케이션 및 학습 목적으로만 작성되었으며 투자 참고 자료가 아닙니다. 인용이 필요하신 경우 출처를 표기해주세요.
원본 링크: https://mirror.xyz/sevenxventures.eth/3sYkMimEKqzQbme8-KszvSrKGj4uPxBLyJM9ncXxgcU
작성자: 루이, @Ruisnakes
목차
암호화 사용자 경험이 좋지 않습니까? 짜증나는 키 관리입니다!
키 관리: 책임, 저장 및 액세스
기존 제품 분석: MetaMask, Trust Wallet, Privy 및 Particle
새로운 솔루션:
- 키 레이어: WebAuthn, Secure Enclave(Secure Enclave) 및 패스키(Passkey)
- 계정 레이어: 스마트 컨트랙트 계정(SCA), 외부 계정(EOA)
- 서명 계층: 프로토콜 r 1 사전 컴파일, 타사 서비스, Solidity 및 영지식 유효성 검사기
사례 연구: (키) + (계정)
- 클레이브 지갑: (Secure EnclaveWebAuthn) + (SCA)
- 소울 지갑 : (Passkey) + (4337 SCA)
- OKX 지갑: (MPC-TSS +패스키) + (4337 SCA)
- Web3 Auth:(MPC-TSS + Passkey)+(EOA/SCA)
- Lit 프로토콜: (MPC-TSS + 분산 노드 + 패스키) + (EOA/SCA)
*위 사항은 빠르게 변경 및 개선될 수 있는 점 참고 부탁드립니다.
시야
TL;DR
개인 키는 이더리움에서 거래에 서명하는 데 핵심이지만 니모닉 문구(시드 문구라고도 함)와 같이 사람이 읽을 수 있는 형식으로 관리되는 경우에도 사용자의 개인 키를 관리하는 것은 악몽이 될 수 있습니다. 그리고 우리는 블록체인을 복잡한 게임으로 바꾸는 것이 결코 우리의 의도가 아니라는 것을 알고 있습니다.
거래 보안을 보장하려면 승인된 사용자를 인증해야 합니다. 인터넷 보안과 사용자 경험이 발전하면서 비밀번호 인증에서 얼굴인식, 지문 등 생체인식으로 진화했습니다. WebAuthn은 이 진행 과정에서 중요한 이정표입니다. 이 기사에서는 다음 세 가지 용어에 중점을 둘 것입니다.
WebAuthn:이는 일반적으로 외부 인증자가 생성한 공개 키 기반 자격 증명을 사용하는 웹 인증 표준입니다. 비밀번호 없이도 안전한 사용자 인증이 가능합니다.
Secure Enclave:중요한 데이터를 보호하도록 설계된 컴퓨팅 장치 내의 하드웨어 기반 보안 영역입니다. iOS, Android 및 Windows 장치에서 다양한 버전의 Secure Enclave를 사용할 수 있습니다. WebAuthn을 사용하면 외부 인증자 역할을 하여 하드웨어 수준의 보안을 제공할 수 있지만 개인 키가 로컬로 바인딩되므로 장치 간 작업이 어려울 수 있습니다.
Passkey:WebAuthn은 운영 체제 수준에서 적용되며 다양한 장치 및 시스템 제공업체에는 자체 맞춤 규칙이 있습니다. 예를 들어,애플 패스키iCloud 키체인에 저장된 키를 사용하여 여러 기기에서 동기화하세요. 그러나 이 방법은 일반적으로 특정 플랫폼이나 시스템에만 적용되며 시스템(Apple-Android) 전반에 걸쳐 구현할 수 없습니다.
위에서 언급했듯이 WebAuthn 배포는 고급 피싱 방지 보안과 사용자 친화적인 경험을 달성하려는 일상적인 블록체인 사용자를 위한 우리의 목표와 일치합니다. 다음은 WebAuthn 구현을 블록체인에 통합하기 위한 제안입니다.
주요 레이어:사용자는 얼굴 인식이나 지문과 같은 부드럽고 매끄러운 방법을 사용하여 인증할 수 있습니다. 내부적으로는 키 관리를 처리하는 하드웨어 기반 보안 프로세서(예: Secure Enclave) 또는 클라우드 서비스(예: iCloud 및 Google Cloud)입니다. 나중에 장치 간 및 플랫폼 간 문제에 대해 자세히 논의하겠습니다.
계정 수준:스마트 계약 계정(SCA)은 임의의 서명자(예: SE 및 패스키) 및 임계값 메커니즘을 할당할 수 있습니다. 또한 모듈형 설계로 유연성과 업그레이드 가능성이 향상되었습니다. 예를 들어 스마트 계약 계정은 거래량, 시간 또는 IP 주소와 같은 요소를 기반으로 서명 요구 사항을 동적으로 조정할 수 있습니다. 반면, 전통적인 외부 계정(EOA)은 다자간 계산(MPC) 서비스를 통해 확장할 수 있으며, 이 조합은 스마트 계약 계정에 비해 더 나은 상호 운용성과 비용 효율성을 제공하지만 스마트 계약 계정의 장점은 없습니다. 제공되는 고급 기능, 특히 키 순환은 더 어려울 수 있습니다.
시그니처 레이어:Ethereum은 기본적으로 k 1 곡선을 지원하지만 WebAuthn의 서명 확인은 r 1 곡선을 사용하여 키를 생성하기 때문에 더 높은 비용이 발생합니다. 따라서 zkSync와 같은 Layer 2 솔루션은 네이티브를 사용할 계획입니다.EIP-7212 r 1 곡선의 사전 컴파일. 또한 보다 비용 효율적인 방식으로 r1-곡선 서명을 촉진할 수 있는 타사 서비스, Solidity 유효성 검사기, 영지식(ZK) 유효성 검사기 및 분산 키 관리 시스템이 있습니다.
*부인 성명:
기술 진보가 시장에서의 성공을 보장하지는 않습니다. 모든 장치와 플랫폼이 Passkey를 채택한 것은 아닙니다. 스마트 계약 계정을 사용하는 것은 외부 계정보다 비용이 더 많이 들 수 있으며, 제안된 솔루션은 기술 진보와 함께 계속해서 발전할 것입니다.
암호화 사용자 경험이 좋지 않습니까? 짜증나는 키 관리입니다!
블록체인 분야에서 블록체인 자산의 실제 통제권은 사용자나 지갑 제공자의 손에 있는 것이 아니라 개인 키에 있습니다. 이 키는 이더리움에서 트랜잭션 실행의 성공 또는 실패를 결정합니다. 이를 더 잘 이해하기 위해 외부 계정을 예로 들어보겠습니다.
키 생성: secp 256 k 1 타원 곡선에서 선택된 난수를 개인 키로 사용합니다. 그런 다음 이 개인 키에 곡선의 미리 정의된 지점을 곱하여 공개 키를 생성합니다. 이더리움 주소는 공개 키 해시의 마지막 20바이트에서 파생됩니다. 일반적으로 우리는 최종적으로 개인 키와 공개 키를 생성하기 위한 백업으로 개인 키를 사람이 읽을 수 있는 단어로 변환하는 니모닉 구문을 사용합니다.
트랜잭션 서명: 개인 키를 사용하여 임시값(일련 번호), 금액, 가스 가격, 수신 주소 등의 세부 정보가 포함된 트랜잭션에 서명합니다. 이 프로세스에는 타원 곡선 암호화를 사용하고 secp 256 k 1 곡선을 채택하여 (r, s, v) 값으로 구성된 서명을 생성한 다음 서명과 원본 트랜잭션을 결합하는 타원 곡선 디지털 서명 알고리즘(ECDSA)이 포함됩니다. 네트워크에 방송됩니다.
거래 확인: 거래가 이더리움 노드에 도달하면 해당 노드의 멤풀에서 확인됩니다. 서명자를 확인하기 위해 노드는 서명되고 해시된 트랜잭션을 사용하여 보낸 사람의 공개 키를 획득하고 추출된 주소를 보낸 사람의 주소와 일치시켜 트랜잭션의 진위를 확인합니다.
위에서 언급했듯이 개인 키는 체인에서 중요한 개체입니다. 처음에 이더리움 계정, 즉 외부 계정은 단일 개인 키에 전적으로 의존했는데, 개인 키를 분실하면 계정에 대한 액세스 권한을 잃게 되므로 상당한 위험이 있었습니다.
많은 사람들은 AA(Account Abstraction)가 사용자 경험 문제에 대한 궁극적인 해결책이라고 생각할 수 있지만 반드시 그런 것은 아닙니다. 계정 추상화는 이더리움의 유효성 규칙을 프로그래밍 가능한 규칙으로 바꾸고 스마트 계약 계정을 통해 이를 구현할 수 있습니다. 계정 추상화는 매우 강력합니다. 여러 트랜잭션을 병렬(추상 논스)로 보낼 수 있고 가스 후원을 할 수 있으며 ERC 20을 사용하여 가스(추상 가스)를 지불할 수 있도록 지원합니다. 또한 이 기사의 주제와 더 관련된 기능도 있습니다. 계정 추상화로 인해 고정 서명 확인이 중단될 수 있습니다(추상 ECDSA 서명).외부 계정과 달리 스마트 계약 계정에는 다중 서명 또는 범위가 지정된 키(세션 키)와 같은 임의 서명자 및 서명 메커니즘을 할당할 수 있습니다. 그러나 계정 추상화의 유연성과 확장성이 향상되었음에도 불구하고 거래 서명에는 여전히 키가 필요합니다.
개인 키가 12단어 니모닉 구문으로 변환되더라도 개인 키를 관리하는 것은 여전히 어려울 수 있으며, 이를 분실하거나 피싱 공격에 노출될 위험이 있습니다. 사용자는 복잡한 분산형 솔루션과 중앙 집중형 서비스 중에서 선택해야 하는데 어느 쪽도 이상적이지 않습니다.
암호화 경험이 끔찍한 이유는 무엇입니까? 이 중 상당수는 잘못된 키 관리 때문입니다. 사용자는 키를 관리할 때 항상 경험, 보안, 분산화 사이에서 절충점을 찾아야 합니다. 이 문서에서는 키 관리를 위한 잠재적인 최상의 솔루션을 살펴봅니다.
핵심 관리
모든 경우에 적용되는 일률적인 솔루션은 없으며 키를 보관하는 최선의 방법은 특정 사용자 시나리오에 맞게 맞춤화되어야 하며 사용자 유형(기관 또는 개인), 자본 금액, 빈도 등 다양한 요소의 영향을 받아야 합니다. 거래, 상호작용 유형 등
미리 명확히 하자면, 현재 유행하고 있는 자체 호스팅, 부분 관리, 완전 관리라는 인기 있는 용어는 사용하지 않겠습니다. 제 생각에 진정한 자기 관리란 일부 솔루션이 전통적인 의미에서 호스팅되는 것으로 간주되지 않거나(예: 분산형 노드의 신뢰할 수 있는 실행 환경에 저장되는 등) 다른 당사자에게 의존하지 않고 거래에 독립적으로 서명하지 않는 것을 의미합니다. 구금. 호스팅 유형만을 기준으로 솔루션이 좋은지 나쁜지를 판단하는 것은 너무 단순하며 이러한 솔루션의 적합성 차이를 고려하지 못합니다. 키 관리 접근 방식을 더 자세히 평가하려면 세 가지 다른 차원에 따라 분석하는 것이 좋습니다.
책임
주요 관리에 대한 책임을 여러 책임 당사자에게 분배할지 여부.
개별 사용자가 키를 관리할 때 종종 직면하는 문제로 인해 키 관리 책임을 할당하는 것은 자연스러운 위험 완화 전략입니다. 이러한 방법에는 다중 서명 시스템의 경우처럼 공동 서명을 위한 다중 키 사용, SSS(비밀 공유 방식) 또는 MPC(다자간 계산)를 통해 개인 키를 여러 부분으로 분할하는 방법이 포함됩니다.
다중 서명: 거래 서명을 생성하려면 여러 개의 완전한 개인 키가 필요합니다. 이 접근 방식은 서로 다른 서명자 간의 온체인 통신이 필요하고, 거래 수수료가 더 높으며, 서명자의 수가 온체인에서 볼 수 있기 때문에 개인정보 보호에 영향을 미칩니다.
SSS(비밀 공유 체계): 단일 위치에서 개인 키를 생성한 다음 이 키를 여러 부분으로 나누어 여러 당사자에게 배포합니다. 각 당사자는 거래에 서명하기 위해 완전한 개인 키를 재구성해야 합니다. 그러나 이러한 임시 재구성으로 인해 취약점이 발생할 수 있습니다.
MPC-TSS(임계값 서명 체계): 다자간 계산을 구현하는 이 암호화 방법을 사용하면 여러 당사자가 입력을 공동으로 비공개로 유지하면서 계산을 수행할 수 있습니다. 각 당사자는 독립적으로 키 샤드를 생성하고 물리적으로 만나지 않고도 거래에 서명할 수 있습니다. 오프체인으로 운영되기 때문에 이 방법의 비용이 낮고 비밀 공유 방식과 같은 단일 실패 지점 위험이 없습니다.
저장
키 또는 키 조각 저장에는 보안, 접근성, 비용 및 분산 요인이 적용됩니다.
AWS, iCloud 및 기타 서버와 같은 중앙 집중식 클라우드 서비스. 이 접근 방식은 빈번한 거래를 촉진하지만 정밀 조사에 더 취약합니다.
로컬 컴퓨터/모바일 장치: 키는 브라우저의 보안 저장소에 저장됩니다.
종이 지갑: 개인 키 또는 QR 코드를 인쇄하세요.
신뢰할 수 있는 실행 환경(TEE): Trusted Execution Environment는 기본 운영 체제와 별도로 중요한 데이터를 실행하거나 저장하는 기본 프로세서 내에 보안 영역을 제공합니다.
Secure Enclave: 최신 장치의 Secure Enclave는 메인 프로세서에서 격리되어 애플리케이션 프로세서 코어가 손상된 경우에도 중요한 사용자 데이터를 안전하게 유지하기 위한 추가 보안 계층을 제공합니다.
하드웨어 보안 모듈(HSM): 하드웨어 보안 모듈은 보안 키 관리 및 암호화 작업에 특별히 사용되는 하드웨어 장치로, 일반적으로 기업 환경에서 사용되며 높은 수준의 보안 기능을 제공합니다.
입장
저장된 키에 액세스하기 위해 사용자를 인증하는 방법
저장된 키에 액세스하려면 인증이 필요합니다. 이를 위해서는 액세스를 시도하는 개인이 실제로 키에 액세스할 권한이 있는지 확인해야 합니다. 되돌아보면 접근 방식은 다음과 같이 분류될 수 있다.
알고 있는 정보: 비밀번호, PIN, 보안 질문에 대한 답변 또는 특정 그래픽.
가지고 있는 것: 스마트 카드, 하드웨어 토큰(시간 기반 일회성 비밀번호) 또는 소셜 계정 확인 및 휴대폰으로 전송되는 문자 메시지 코드와 같은 디지털 요소가 포함됩니다.
귀하는 누구입니까: 지문, 얼굴 인식(예: Apple의 Face ID 또는 Windows Hello), 음성 인식 또는 홍채/망막 스캔과 같은 사용자의 고유한 신체적 특징입니다.
이러한 기반 위에서 2FA(2단계 인증) 및 MFA(다단계 인증)는 푸시 알림이 포함된 문자 메시지와 같은 두 가지 이상의 요소를 결합하여 사용자 계정의 보안을 강화합니다.
기존 제품 분석
MetaMask사용자가 비밀번호를 사용하여 로컬 브라우저 저장소에 저장된 키에 액세스할 수 있도록 허용합니다.
Trust Wallet클라우드 서비스를 사용하여 개인 키를 백업하는 옵션과 함께 사용자가 비밀번호 또는 FaceID를 사용하여 사용자의 로컬 브라우저 저장소에 저장된 키에 액세스할 수 있도록 허용합니다.
Privy사용자는 키를 세 부분으로 나누는 비밀 공유 체계를 통해 이메일과 같은 다양한 소셜 로그인 방법을 사용할 수 있습니다.
장치 조각화: 브라우저-iFrame, 모바일-Secure Enclave.
인증 인증 샤드: Privy에 의해 저장되고 Privy ID에 연결됩니다.
복구 복구 조각: 사용자 비밀번호 또는 Privy에 의해 암호화되어 저장됨하드웨어 보안 모듈(HSM)가운데.
Particle사용자가 MPC-TSS를 사용하여 소셜 로그인을 채택하고 키를 두 부분으로 분할하도록 허용합니다.
장치 샤딩: 브라우저-iFrame
서버 키 섹션: 파티클의 서버
새로운 솔루션
주요 계층: WebAuthn, Secure Enclave 및 Passkey
위의 기존 솔루션은 사용자를 Web3으로 끌어들이는 데 핵심적인 역할을 했습니다. 그러나 어려움도 따릅니다. 비밀번호는 잊어버리거나 피싱 공격의 표적이 될 수 있으며, 2FA는 더 안전하지만 여러 단계가 필요하기 때문에 여전히 사용하기 번거로울 수 있습니다. 또한 모든 사람이 제3자에게 키 관리를 맡기려는 것은 아니며, 일부 서비스에서 사용자가 키에 액세스하지 못하게 하는 경우에도 사용자는 여전히 시스템의 가용성과 유효성에 의존해야 합니다.
이로 인해 우리는 신뢰가 거의 없고 높은 보안과 원활한 사용자 경험을 제공하는 더 효과적인 솔루션이 있는지 생각하게 되었습니다. 이 솔루션을 추구하면 최적의 Web2 접근 방식을 찾을 수 있습니다. 이 문서의 시작 부분에서 언급했듯이 이 주제와 밀접하게 관련된 여러 용어가 있으며 WebAuthn은 인증 표준이고 Secure Enclave 및 Passkey는 표준과 관련된 배포 또는 구성 요소입니다.
WebAuthn
WebAuthn은 웹 기반 애플리케이션에 대한 사용자 인증을 위한 인터페이스를 지정합니다. 사용자는 비밀번호 대신 외부 인증자를 사용하여 인터넷 계정에 로그인할 수 있습니다. 인증자는 로밍 인증자(예: Yubikey, Titan 키) 또는 플랫폼 인증자(예: Apple 장치에 내장된 키체인) 등일 수 있습니다.
WebAuthn의 기본 기술은 원래 FIDO(Fast IDentity Online) 연합에 의해 개발되었습니다. 2019년 3월 W3C는 WebAuthn을 웹 표준으로 공식 발표했으며, 표준화가 발전함에 따라 Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari 등 주요 브라우저에서 WebAuthn을 채택하여 WebAuthn의 적용 범위와 가용성을 크게 확대했습니다. 지금 이용 가능다양한 고급 장치 지원。
WebAuthn의 장점:
보안 강화:더 이상 비밀번호에 의존하지 않아도 되므로 피싱, 무차별 공격, 재생 공격의 위험이 줄어듭니다.
사용자 경험 개선:단 한 번의 클릭이나 생체 인식 인증을 통해 더 간단하고 빠른 로그인을 제공합니다.
개인 정보 보호:인증 프로세스 중에는 공유 비밀이 전송되지 않으며 개별 웹사이트에서 개인 식별 정보를 수신하지 않습니다.
확장성 및 표준화:웹 표준인 WebAuthn은 다양한 브라우저와 플랫폼에서 일관성과 상호 운용성을 보장합니다.
Secure Enclave와 같은 장치 기반 WebAuthn
오늘날 우리는 Apple 장치용 Secure Enclave, Android 장치용 Trustzone, Google Pixel용 Strongbox와 같은 하드웨어 프로세서를 인증자로 사용할 수 있습니다.
키 생성: 사용공개 키 암호화, 일반적으로 P-256 r 1 곡선을 사용하여 WebAuthn 표준에 따라 키 쌍을 생성합니다. 공개 키는 서버로 전송되지만 개인 키는 Secure Enclave를 벗어나지 않습니다. 사용자는 일반 텍스트 키를 처리하지 않으므로 개인 키의 보안이 보장됩니다.
키 저장소: 개인 키는 장치에 안전하게 저장됩니다.Secure Enclave내부적으로 이 강화된 하위 시스템은 메인 프로세서와 격리되어 있습니다. 메인 시스템이 손상되더라도 원본 키 자료에 접근할 수 없도록 민감한 데이터를 보호합니다. Secure Enclave 크래킹 장벽은 매우 높으므로 Apple Pay 및 FaceID 데이터와 같은 가장 민감한 데이터 유형이 여기에 저장됩니다. 여기에서 다음을 볼 수 있습니다.Secure Enclave작동 방식에 대한 자세한 설명입니다.
인증: 사용자는 얼굴 인식이나 지문을 사용하여 액세스 권한을 얻고, Secure Enclave는 개인 키를 사용하여 서버 측 질문에 서명하며, 서버는 확인을 위해 공개 키를 사용합니다.
기기 기반 WebAuthn의 장점:
하드웨어와 유사한 보안:독립형 하드웨어 기반 키 관리자인 Secure Enclave는 보안을 강화합니다.
피싱 공격에 맞서 싸우세요:잠재적으로 손상될 수 있는 장치나 웹사이트에 정보를 입력하지 마세요.
편리한 경험:더욱 사용자 친화적인 경험을 제공하세요. 사용자는 더 이상 다양한 웹사이트의 복잡한 비밀번호를 기억할 필요가 없습니다.
기기 기반 WebAuthn의 단점:
장치 제한 사항: 장치가 분실되거나 손상된 경우 개인 키를 내보내거나 검색할 수 없으며 장치 간 작업이 불가능합니다.
클라우드 기반 WebAuthn, 패스키
교차 장치 기능 문제를 해결하기 위해 거대 기술 기업은 클라우드 기반 WebAuthn 배포를 도입했으며 Passkey는 Apple에서 유명해졌습니다.
Apple의 패스키를 예로 들어 보겠습니다.
키 생성: 사용자의 macOS, iOS 또는 iPadOS 장치는 인증자 역할을 하여 사용자가 계정을 생성할 때 공개 및 개인 키를 생성합니다. 그러면 공개 키가 서버로 전송되고, 개인 키는 기기의 iCloud 키체인에 저장됩니다. iCloud 키체인 데이터는 하드웨어에 바인딩된 키 쌍으로 암호화되어 하드웨어 보안 모듈에 저장됩니다. Apple은 키 쌍에 접근할 수 없습니다.
기기 간 동기화: 이 프로세스는 iCloud에 액세스하는 것과 동일합니다. iCloud 계정을 인증하고 SMS 확인 코드를 받은 후 기기 중 하나의 비밀번호를 입력하세요.
클라우드 기반 WebAuthn의 장점:
여러 기기에서:Passkey는 사용자 친화적이고 정기적으로 사용하는 모든 장치에서 액세스할 수 있도록 설계되었습니다. 하지만 현재는 Apple 기기로 제한되어 있습니다. Android 버전과 하드웨어가 다양하기 때문에 Android 기기에서는 이 접근 방식이 더 까다롭습니다.
피싱 공격 방지:같은 상기와.
편리한 경험:같은 상기와.
클라우드 기반 패스키의 단점:
클라우드 서비스에 따라 다름:장치 기반 WebAuthn과 비교하여 클라우드 기반 Passkey는 Secure Enclave의 하드웨어에서 iCloud 키체인으로 보안 계층을 이동하며 일부는 클라우드 서비스에서 호스팅되는 것으로 간주할 수 있습니다. 고려해야 할 몇 가지 핵심 사항에는 사용자의 iCloud AppleID 계정이 손상되었는지 여부가 포함되며, iCloud 키체인은 데이터를 보호하기 위해 종단 간 암호화를 사용하는 반면, 운영 오류 또는 취약점으로 인해 위험이 발생할 수 있습니다.
플랫폼 제한사항:예를 들어, Android 기기에서 iCloud 기반 비밀번호를 사용하는 것은 매우 어렵습니다. 또한 기존 접근 방식과 달리 Apple과 Google은 기기별 어설션을 보내지 않습니다. 즉, 현재 키를 생성한 장치 유형을 확인할 수 있는 방법이 없으므로 키 및 관련 메타데이터의 신뢰성에 대한 의문이 제기됩니다.
계정 계층: 스마트 계약 계정 및 외부 계정
지금까지 우리는 장치 간 및 플랫폼 간 호환성을 해결하면서 하드웨어 보안을 유지하는 것이 큰 과제임을 알 수 있었습니다. 보안 강화를 위해 여러 명의 보호자를 추가하는 등 사회적 회복 옵션도 중요합니다. 이 경우 블록체인은 우리에게 길을 보여줄 수 있습니다.
참고: Web2의 WebAuthn을 Web3에 배포하려고 할 때 한 가지 분명한 차이점은 Web2는 소유권만 증명하면 되고 Web3도 트랜잭션을 승인해야 한다는 것입니다. 암호 키만 소유한 경우 개발자는 로그인과 같은 일반적으로 일반적인 서명된 메시지를 제어할 수 없습니다. 이로 인해 사용자가 메시지에 맹목적으로 서명하는 잠재적인 프런트 엔드 조작 문제가 발생할 수 있습니다. 이는 사소해 보이지만 중요한 문제입니다.
스마트 계약 계정 자체는 스마트 계약이며 체인의 개체로서 스마트 계약 계정은 모든 서명자를 지정할 수 있습니다. 이러한 유연성을 통해 사용자는 서명자로서 Android 휴대폰, Macbook, iPhone 등 다양한 장치 및 플랫폼에 대한 설정을 구성할 수 있습니다. 또한, 모듈식 스마트 계약 계정은 업그레이드를 지원하고, 새로운 서명자를 교환할 수 있으며, 서명 임계값을 2/3에서 더 복잡한 구성으로 변경할 수 있습니다.
상황에 따라 보안 요구 사항을 유연하게 조정할 수 있는 지갑을 상상해 보십시오. 이 지갑은 사용자가 익숙한 로컬 IP 주소에 있을 때 단일 서명자 인증을 지원하지만 알 수 없는 IP 주소 또는 특정 값 이상의 거래에 대해서는 다중 서명자 인증이 필요합니다. 에 의해. 모듈성과 프로그래밍 가능성으로 인해 우리가 상상할 수 없고 달성할 수 없는 혁신만이 있을 뿐입니다. Safe를 포함하여 많은 스마트 계약 계정 서비스 제공업체가 이 분야에서 적극적으로 구축하고 있습니다.Zerodev、Biconomy、Etherspots, 라인스톤 외. 등의 분들께도 감사의 말씀을 전하고 싶습니다.Stackup、Plimico, Alchemy와 같은 인프라가 이를 가능하게 합니다.
저를 확인해 주세요이전 연구들, 스마트 계약 계정에 대한 보다 포괄적인 배경 정보를 얻으려면
스마트 계약 계정은 다자간 컴퓨팅 서비스를 통해 사회적 회복과 장치 간/플랫폼 호환성을 가능하게 합니다. 스마트 계약 계정에는 고정된 서명자가 있지만 다자간 계산 제공업체는 보안과 유연성을 강화하기 위해 키를 여러 부분으로 분할할 수 있습니다. 이 접근 방식에는 시간 잠금 복구 및 손쉬운 키 비활성화와 같은 스마트 계약 계정의 프로그래밍 및 업그레이드 기능이 없습니다. 그러나 MPC는 특정 블록체인에 국한되지 않으므로 크로스체인 기능이 뛰어나고 스마트 계약 계정보다 비용 효율적입니다. 잘 알려진 다자간 계산 제공업체로는 Particle Network,Privy、web3 Auth、OKX Wallet、Binance Wallet기다리다.
서명 레이어: R 1 지원
이해하기 위해 한 걸음 물러나 보겠습니다. 이더리움에서 개인 키는 k 1 곡선에서 선택된 임의의 숫자이며 서명 프로세스도 이 곡선을 활용합니다.
그러나 WebAuthn 표준에 따라 생성된 키 쌍은 r 1 곡선을 사용합니다. 따라서 이더리움에서 r 1 서명을 확인하는 비용은 k 1 서명을 확인하는 비용의 약 3배입니다. 이 문제에 대한 해결책은 다음과 같습니다.
기여해 주신 Dogan에게 감사드립니다. 그의 연구를 통해 더 자세한 지식을 확인해보세요.
프로토콜 솔루션:
해결책:EIP 7212 , secp 256 r 1 곡선에 대한 지원으로 사전 컴파일됨, 제공:Clave팀 제안.
평가: 이 제안은 메시지 해시, 서명의 r 및 s, 공개 키의 x, y 좌표 매개 변수가 주어지면 secp 256 r 1 타원 곡선에서 서명 확인을 수행하는 미리 컴파일된 계약을 생성합니다. 따라서 모든 EVM 체인(주로 Ethereum의 롤업)은 이 사전 컴파일된 계약을 쉽게 통합할 수 있습니다. 프로토콜 사전 컴파일은 아마도 지금까지 가장 가스 효율적인 솔루션일 것입니다.
애플리케이션:zkSync
제3자 서비스:
솔루션: 턴키
평가: 턴키 TEE는 사용자가 패스키를 통해서만 개인 키에 액세스할 수 있도록 보장합니다. 턴키는 개인 키에 절대 액세스할 수 없지만 서비스가 유효하려면 여전히 필요합니다.
구현: 골드핀치
Solidity Verifier 솔루션:
솔루션: FCL의 Solidity Verifier, 미리 계산된 Solidity Verifier를 갖춘 FCL, Daimo의 P 256 Verifier
성취하다:Clave,Obvious Wallet
영지식(ZK) 검증인:
평가: 이 접근 방식은 영지식 증명을 사용하여 EVM(Ethereum Virtual Machine) 외부의 계산을 검증하여 온체인 컴퓨팅 비용을 줄입니다.
성취하다:Bonfire Wallet (Risc Zero),Know Nothing Labs (Axiom)
이러한 솔루션은 모두 Ethereum 생태계에서 더 저렴하고 실행 가능한 r 1 서명 검증을 가능하게 할 수 있습니다.Dogan평가.
WebAuthn의 새로운 사례 연구
*2023년 12월 현재 이러한 솔루션의 대부분은 초기 단계에 있으며 언제든지 변경되거나 개선될 수 있습니다. 이러한 예는 학습 목적으로만 제공되므로 정확한 정보를 얻으려면 항상 공식 웹사이트를 참조하세요.
Clave 지갑: (Secure Enclave WebAuthn) + (스마트 계약 계정)
기본 정보:
데모: https://getclave.io/
계정: 스마트 계약 계정
체인: ZkSync
거래 과정:
키 생성: 사용자는 지문이나 얼굴 인식과 같은 생체 인식 검증을 거치며 절대로 손상될 수 없는 Secure Enclave 내에서 키 쌍이 생성됩니다.
키 서명: 애플리케이션은 필요한 트랜잭션 메시지를 수신하고 서명 요청을 Secure Enclave에 전달하고, 사용자는 생체 인식 확인을 수행하여 서명을 승인하며, Secure Enclave는 키를 사용하여 메시지에 서명한 다음 이를 블록체인 노드에 브로드캐스트합니다.
추가 기능: 스마트 계약 계정은 많은 강력한 기능을 지원합니다. 첫 번째는 가스 후원입니다. Paymaster를 사용하면 dApp 또는 광고주는 사용자를 위해 가스 비용을 지불할 수 있어 거래 프로세스가 더 원활해지고 사용자가 이더리움이나 기본 토큰 대신 ERC 20 토큰을 사용하여 가스 비용을 지불할 수 있습니다. 또한 사용자는 세션 키를 사용하여 일정 기간 동안 서명 없이 거래를 수행할 수 있습니다.
복구 메커니즘:
복구 프로세스는 zkSync에서 Clave의 스마트 계약에 의해 수행되며, 사용자는 무단 악의적인 활동을 방지하기 위해 48시간 잠금 기간 내에 복구를 취소할 수 있습니다.
클라우드 백업: 사용자가 클라우드 백업을 선택하면 외부 계정이 생성됩니다. 외부 계정의 개인 키는 iCloud 또는 Google 드라이브에 저장됩니다. 사용자는 클라우드에 저장된 개인 키를 사용하여 다른 장치에서 자신의 계정에 접근할 수 있습니다. , 언제든지 삭제하거나 삭제할 수 있습니다. 이 백업 섹션을 덮어씁니다.
소셜 복구: 사용자는 가족이나 친구의 Clave 주소를 백업으로 지정할 수 있으며, N명의 가디언 중 M명이 복구를 확인하고 취소하지 않으면 48시간 잠금 기간 후 실행이 재개됩니다.
소울 지갑: (패스키) + (4337 SCA)
기본 정보:
데모: https://alpha.soulwallet.io/wallet
계정: ERC 4337 스마트 계약 계정
체인: Ethereum, Optimism, Arbitrum은 곧 Ethereum Virtual Machine Layer 2를 완벽하게 지원할 예정입니다.
거래 과정:
키 생성: 사용자가 지문, 안면 인식 등 생체 인증을 제공하고, 운영체제가 패스키를 생성하고, 이를 클라우드 서비스를 통해 백업한다. 사용자는 장치와 플랫폼 전반에 걸쳐 여러 개의 암호 키를 추가할 수 있습니다.
보호자 추가(선택 사항): 사용자는 다양한 이더리움 가상 머신 외부 계정 주소를 보호자로 지정하고 계정 복구 임계값을 설정할 수 있습니다.
계정 생성: 반사실적 배포를 사용하면 사용자는 첫 번째 거래를 할 때까지 아무 것도 지불할 필요가 없습니다.
복구 메커니즘:
패스키: 정의된 패스키를 사용하여 모든 장치에서 지갑에 로그인합니다.
가디언 복구: 지정된 가디언은 임계값에 따라 지갑을 회전할 수 있으며 나중에 악의적인 행동을 방지하기 위해 시간 잠금을 설정할 수 있습니다.
OKX 지갑: (MPC-TSS + 패스키) + (4337 스마트 계약 외부 계정)
기본 정보:
데모: https://www.okx.com/help/what-is-an-aa-smart-contract-wallet
체인: 30개 이상의 체인
키: MPC-TSS, 2/3
계정: 4337 스마트 계약 계정
거래 과정:
키 생성: OKX는 지갑을 생성하여 단일 개인 키를 세 부분으로 분리합니다. 한 부분은 OKX 서버에 저장되고, 한 부분은 사용자 기기의 로컬 저장소에 저장되며, 한 부분은 기기에서 생성되어 암호화되어 Google Cloud, iCloud 등 기기가 선호하는 클라우드 서비스에 백업될 수 있습니다. 그리고 화웨이 클라우드.
키 서명: OKX는 MPC-TSS 기술을 사용하여 사용자가 트랜잭션에 서명할 때 개인 키 조각 3개 중 2개를 사용하여 완전한 서명을 얻을 수 있도록 하며, 이 동안 개인 키 조각은 서로 접촉하지 않습니다.
복구 메커니즘:
2/3 메커니즘: 사용자가 로그아웃하거나 장치를 사용할 수 없거나 장치의 키 중 하나가 유출된 경우 사용자는 새 장치를 사용하여 OKX 지갑에 로그인할 수 있습니다(서버에 저장된 키 획득). 클라우드 서비스에 저장된 키 부분을 얻고, 이 두 부분 키를 사용하여 지갑을 복원하면 OKX Wallet이 새로운 키 부분을 생성합니다.
Web3 인증: (MPC-TSS +패스키) + (외부 계정/스마트 계약 계정)
기본 정보:
데모: https://w3a.link/passkeysDemo
체인: 모든 EVM 및 Solana
키: MPC-TSS, 보통 2/3
계정: 외부 계정, 4337 스마트 계약 계정, 일반 스마트 계약 계정 등 모든 계정
거래 과정:
키 생성: 지갑을 생성하면 세 가지 핵심 부분이 생성됩니다. 한 섹션은 사용자가 이메일을 입력할 수 있고 분산형 네트워크 노드가 각 사용자의 키를 저장하는 소셜 로그인을 위한 섹션이고, 한 섹션은 사용자 장치의 로컬 저장소에 저장된 키를 위한 섹션이고, 다른 한 섹션은 로컬 컴퓨터에서 제공되는 생성 및 백업입니다. 사용자가 선호하는 클라우드 서비스로 업그레이드하세요.
키 서명: Web3 Auth MPC-TSS 아키텍처는 사용자의 키를 항상 사용할 수 있도록 보장하며, 임계값 서명을 사용하더라도 키가 단일 위치에 재구성되거나 저장되지 않습니다.
복구 메커니즘:
임계값 복구: 사용자가 로그아웃하거나, 기기를 사용할 수 없거나, 기기의 키가 유출된 경우, 사용자는 소셜 로그인 방식을 사용하여 WebAuthn 계정에 로그인하고 클라우드 스토리지의 핵심 부분을 획득하여 사용할 수 있습니다. 지갑을 복원하려면 이 두 부분의 키를 사용하세요.
Lit 프로토콜(MPC-TSS + 탈중앙화 노드 + 패스키) + (외부 계정/스마트 계약 계정)
기본 정보:
데모: https://lit-pkp-auth-demo.vercel.app/
체인: 대부분의 EVM, Cosmos, Solana.
계정: MPC-TSS, 2/3 메커니즘은 스마트 계약 계정과 외부 계정 모두에 적용될 수 있습니다.
거래 과정:
키 생성: 사용자가 지갑을 생성하려면 먼저 인증 방법(Passkey, oAuth 소셜 로그인 지원)을 선택한 다음 중계자에게 키 쌍 생성 요청을 보내고 인증 로직을 스마트 계약에 저장합니다. 각 키 쌍은 DKG(분산 키 생성) 프로세스를 통해 Lit 노드에 의해 공동으로 생성됩니다. 분산형 네트워크인 TEE는 내부적으로 30개의 Lit 노드를 실행하며 각 노드는 키의 일부를 보유하지만 개인 키는 TEE에 완전히 존재하지 않습니다.
키 서명: 요청을 받은 후 Lit 노드는 지정된 인증 방법을 기반으로 요청을 독립적으로 확인하거나 거부하고 MPC-TSS 기술을 사용합니다. 1. 수집량이 임계값(30개 노드 중 20개 확인)을 초과할 때 서명을 생성하고, 요청을 충족하기 위해 클라이언트가 구성합니다.
복구 메커니즘:
2/3 메커니즘: 스마트 계약에 저장된 인증 방법을 사용하여 계정에 액세스하고 Lit 노드가 요청을 확인한 후 노드의 2/3 이상이 확인하면 요청이 진행됩니다.
시야
레이어 2, 레이어 3 및 데이터 가용성(DA) 솔루션을 기반으로 블록체인 성능을 향상시키기 위해 노력하고 있습니다. 동시에, 영지식증명 개인정보 보호와 투명성을 결합하여 진정한 보안을 추구합니다. 모든 노력은 동일한 목표, 즉 사용자의 일상 생활에서 사용할 수 있는 암호화를 지향합니다.
이상적인 기술적 꿈에 갇히기는 쉽지만, 우리는 스스로에게 질문해야 합니다. 우리는 어떤 종류의 경험을 추구하고 있습니까? 우리는 암호화폐가 기술적인 전문 용어를 위협하기보다 직관적이고 이해하기 쉬워야 하는 세상, 사용자가 주저함 없이 땀을 흘리지 않고 토끼굴을 뛰어넘을 수 있는 세상을 상상합니다. .
Rui라는 사용자가 있다고 상상해 보세요. Rui는 얼굴 인식이나 지문을 사용하여 쉽게 등록하고 백업이나 보호자를 설정할 수 있는 훌륭한 dApp을 발견했습니다. 그녀는 작은 ERC 20 수수료 또는 전혀 수수료 없이 dApp을 사용하여 쉽게 거래를 실행할 수 있습니다. 그 후 그녀는 자동 거래를 위한 시간 잠금 활성화, 백업 서명자로 다른 장치 추가, 보호자 목록 수정 등 지갑 설정을 사용자 정의할 수 있습니다.
이를 실현하기 위해 기업가들은 열심히 노력하고 있습니다. WebAuthn과 Passkey를 결합하여 개인 키 관리를 강화하여 안전하고 편리하게 만들었습니다. 이를 기반으로 개체로서의 스마트 계약 계정은 개인화된 보안 및 기능 분야를 열어줍니다. 가스는? Paymaster를 사용하면 공급자는 스왑 거래를 위한 금고를 생성하고 광고주가 사용자에게 비용을 지불하도록 허용하여 가스가 더 이상 부담이 되지 않도록 할 수 있습니다. 특히 이더리움 메인넷과 이에 상응하는 레이어 2의 경우 이러한 진화의 핵심은 ERC 4337입니다. ERC 4337은 프로토콜을 크게 수정하지 않고도 스마트 계약 계정 거래를 외부 계정과 분리하는 대체 멤풀을 도입합니다. 반면에 일부 레이어 2 네트워크는 스마트 계약 계정을 기본적으로 채택하여 시스템에 원활하게 통합하기도 합니다.
모든 것을 단순하게 만들려면 엄청난 노력이 필요합니다. 또한 스마트 계약 계정의 배포, 검증 및 실행 비용 절감, 계정 상호 운용성을 향상하기 위한 인터페이스 표준화, 체인 전체에 걸쳐 계정 상태 동기화 등과 같은 많은 과제에 직면해 있습니다. 모든 빌더 덕분에 우리는 매일 성공에 가까워지고 있습니다. 우리 회사 SevenX는 다른 암호화폐 스타트업과 함께 훌륭한 기업에 힘을 실어주고 비전을 실현하도록 도울 준비가 되어 있습니다.
이 기사에 관심이 있다면 내 다른 기사에서 보다 포괄적인 배경 정보를 확인하시기 바랍니다.
04/ 계정:모듈식 스마트 계약 계정 아키텍처 및 과제
03/ 키(본 기사): WebAuthn 및 Passkey, 일일 암호화 사용자를 위한 키 관리
02/ 인프라:ERC 4337이 가져온 이더리움 계정의 진화