저자: Ggg, Redline DAO
2010년, 이더 월드 오브 워크래프트에 흑마법사 계정을 갖고 있었습니다. 어느 날 블리자드는 흑마법사 캐릭터를 대폭 줄이고 생명 흡수 주문의 마법 피해 부분을 제거하기로 결정했습니다. 그는 울다가 잠이 들었고, 그날 중앙 집중식 서버의 공포를 깨닫고 그만두고 탈중앙화 네트워크 이더 을 만들기로 결정했습니다. 2022년 11월, 세계 최대 파생상품 거래소 FTX가 사용자 자금을 유용했다는 사실이 폭로되었습니다. 창립자 SBF는 바하마 경찰에 체포되어 재판을 위해 미국으로 이송될 준비를 했습니다.
13년 전 블리자드에 의해 설명할 수 없는 중상모략을 당한 워록 플레이어부터 오늘날 자신의 권리를 옹호하는 FTX 피해자 사용자에 이르기까지, 우리는 "귀하의 키나 코인이 아닙니다"라는 문구의 중요성을 점점 더 인식하고 있습니다. 당사자 감사/ 규제 기관과 중앙 집중식 서버는 여전히 마음대로 데이터를 변조하고 화이트워싱할 수 있지만, 탈중앙화 네트워크에서는 온체인 원장이 투명하고 우리 계정의 개인 키가 있는 한 변조할 수 없습니다. 우리의 개인 자산을 절대적으로 통제할 수 있습니다.
탈중앙화 는 훌륭하지만 비용은 얼마나 듭니까?
블록체인 네트워크에 사는 우리는 개인 자산에 대한 책임을 지는 첫 번째 사람입니다. 대부분의 사용자가 온체인 지갑을 선택할 때 가장 중요한 절충안은 내 자산에 대해 얼마나 많은 리스크 과 책임을 감수할 의향이 있는지입니다. 전통적인 금융기관을 예로 들어보겠습니다.
보안을 추구하는 사용자의 눈에는 계좌 개설 단계가 복잡하지만 규모가 큰 은행에 돈을 맡기기를 희망합니다. 대형 은행의 자금 보안(리스크) > 표준적이고 엄격한 계좌 개설 단계(책임)
실용성을 추구하는 사용자의 눈에는 WeChat과 Alipay에 돈을 넣으면 됩니다. WeChat과 Alipay는 P2P 거래를 쉽게 완료할 수 있으며, WeChat과 Alipay는 단지 둘이지만 ID 카드와 휴대폰 번호만 있으면 등록을 완료할 수 있습니다. 국가가 지원하는 금융기관이 아닌 상장 회사 : 위챗의 편의성(부채) > 위챗의 운영현황(리스크)
web3로 돌아가서, web3에 자산을 저장하는 두 가지 방법, 즉 관리형 지갑과 비수탁형 지갑이 있습니다. 그 전에 지갑의 원리를 간략하게 소개해야 합니다.
지갑과 개인키
계정 생성은 개인 키를 생성하는 과정입니다. 이더 에는 EOA 계정(외부 소유 계정, 외부 계정)과 계약 계정(EOA 계정을 통해 온체인 배포된 스마트 계약)의 두 가지 계정 유형이 있습니다.
EOA 계정을 예로 들면,

EOA 주소
256비트 난수를 개인 키로 생성한 후 개인 키를 사용하여 SHA3 알고리즘을 사용하여 해당 공개 키를 파생시킨 다음 keccak-256을 사용하여 주소(원래 해시의 마지막 20바이트)를 계산합니다. , 고유 개인 키에 해당하는 개인 계정입니다. 이 과정에서 개인 키는 12개의 니모닉 단어 계산하고 생성하며, 니모닉 단어 사용하여 개인 키를 다시 파생시킬 수 있습니다.

현재 온체인 가장 주류를 이루는 dApp 지갑은 Metamask, Phantom(Solana), BSC Wallet(BSC), Keplr(Cosmos) 등 EOA 지갑입니다.
스마트 계정은 EOA 계정을 통해 온체인 배포된 EVM 코드 조각으로, 다양한 기능을 구현할 수 있습니다. 하지만 EOA 계정과 달리 컨트랙트 계정은 개인 키를 가지고 있지 않으며 EOA 계정에 의해서만 호출될 수 있습니다. 따라서 스마트 컨트랙트 지갑의 최종 제어 = 배포에 사용되는 EOA 계정 개인 키입니다. 이 수준에서 이해하면 스마트 계약 계정도 개인 키로 제어됩니다. 지갑 주소가 계약이면 스마트 계약 지갑입니다.
스마트 계약 지갑은 다중 서명 지갑(Multisig 계정)과 계정 추상 지갑(추상 계정)으로 구분됩니다.
다중 서명 지갑: 2013년부터 다중 서명 지갑은 펀드 조직의 주요 선택이 되었습니다. 이 기술은 원래 비트코인 생태계에서 개발되었으며 현재 이더 에는 우수한 다중 서명 지갑(예: Gnosis Safe)이 있습니다. 이더 재단은 4/7 다중 서명 지갑(즉, 스마트 계약은 자금을 저장하기 위해 생성되었으며, 계약은 7개의 EOA 계정을 통해 제어됩니다. 4/7 이상의 EOA 계정이 서명되어야만 서명이 완료됩니다.
계정 추상화는 단일 EOA 지갑을 사용하여 계약 주소를 제어하여 스마트 계약으로 EOA를 시뮬레이션하는 효과를 달성합니다. Argent/Loopring과 같은 이슈 프로젝트는 모두 계정 추상화 지갑에 속합니다.

Apecoin 계약 주소
Liao Xuefeng 선생님의 소개에 따르면:
탈중앙화 형 네트워크에는 은행과 같은 신뢰 기관이 없습니다. 두 노드 간의 거래에 도달하려면 제로 트러스트 하에서 안전한 거래를 위한 메커니즘을 구현해야 합니다.
Xiao Ming과 Xiao Hong이 거래를 원한다고 가정해 보겠습니다. 거래를 성사시키는 한 가지 방법은 Xiao Ming이 자신에게 10,000위안을 주었다고 주장하는 것인데 이는 확실히 신뢰할 수 없습니다.
거래를 생성하는 또 다른 방법은 Xiao Ming이 Xiao Hong에게 10,000위안을 주었다고 주장하는 것입니다. 이 진술이 실제로 Xiao Ming에 의해 이루어졌고 Xiao Ming이 실제로 10,000위안을 가지고 있다는 것이 확인될 수 있는 한 거래는 유효한 것으로 간주됩니다. .
Xiao Ming의 진술을 어떻게 확인할 수 있나요?
개인 키를 통해 생성된 서명을 통해 검증자는 진술 개시자를 확인할 수 있습니다. 누구나 공개 키를 사용하여 디지털 서명과 전송 결과를 비교할 수 있습니다. 개인 키를 가진 Xiao Ming만이 이 진술을 시작할 수 있습니다. 나는 이 말이 실제로 Xiao Ming에 의해 만들어졌다고 확신합니다.
이더 네트워크에서 이러한 거래에는 P2P 전송 거래뿐만 아니라 스마트 계약 호출도 포함됩니다.
따라서 우리가 지갑을 매일 사용할 때 지갑 플랫폼을 통해 로컬 개인 키를 호출하여 온체인 서명을 완료하는 것과 같습니다.
지갑 보안, 임계값 및 검열 저항
지갑에 관한 모든 것은 개인 키를 중심으로 구축됩니다. 지갑은 본질적으로 1. 개인 키를 생성하고, 2. 개인 키를 보관하고, 3. 개인 키를 사용하고, 4. 개인 키를 백업하고, 5. 현재 주류 개인 키 백업을 복원하는 도구입니다. 복원 솔루션은 니모닉 단어, 즉 지갑 등록 시 나타나는 12/24 단어 조합입니다.
니모닉 단어 개인 키의 일반 텍스트를 추론할 수 있습니다. 사용자가 지갑을 새 장치로 마이그레이션할 때 개인 키를 추론하고 지갑에 대한 제어권을 다시 얻으려면 지갑 앱에 니모닉 단어 만 입력하면 됩니다.
사용자의 경우 개인 키 = 니모닉 단어 이지만 이 두 개념은 지갑의 일상적인 사용에서는 여전히 다릅니다. 니모닉 단어 는 사용자의 개인 키에 대한 백업 및 복구 솔루션입니다.
비유: 니모닉 단어 키를 분실한 경우 니모닉 단어 사용하여 동일한 키를 생성할 수 있습니다.

개인 키는 블록체인 네트워크와 상호 작용하기 위한 유일한 자격 증명이므로 지갑 개인 키와 니모닉 단어 안전하게 유지하는 것은 우리의 책임입니다. 물론, 가장 안전한 계정 생성 방법은 오프라인 환경에서 계정을 생성하고 코드를 통해 난수(개인키)와 SHA256 알고리즘을 실행하여 자신만의 주소를 생성하는 것입니다. 하지만 이 임계값은 의심할 여지없이 너무 높아 적합하지 않습니다. 대부분의 사용자에게. 따라서 지갑을 선택할 때 사용자는 보안, 임계값 및 검열 저항이라는 세 가지 사항을 고려해야 합니다.
보안: 해커가 지갑 개인 키/ 니모닉 단어?
하드웨어 지갑을 예로 들면, 해커는 피싱을 통해서만 사용자의 개인 키를 얻거나 오프라인에서 개인 키를 훔칠 수 있습니다.
임계값: 지갑을 사용하는 것이 얼마나 쉬운가요?
메타마스크 등록 과정에서는 사용자가 12개의 니모닉 단어 기록해야 하며, 기기 변경 시 12개의 니모닉 단어 다시 입력해야 바이낸스의 거래소 등록 및 기기 로그인이 이메일 로그인을 통해 한 번의 클릭으로 완료될 수 있습니다.
검열 저항: 지갑의 최종 통제권이 사용자에게 있는지 여부
지갑 앱이 사용자가 가져온 니모닉 단어 를 평문으로 저장해 서버에 업로드하면 해커가 서버를 크랙해 사용자의 지갑을 탈취할 수 있다. 그리고 해커의 공격이 없더라도 Slope 프로젝트 측이 절도를 저지르고 검열 저항을 달성하지 못했을 가능성은 여전히 존재합니다.
지갑에는 비수탁 지갑과 중앙 집중형 지갑의 두 가지 주요 범주가 있습니다.
비수탁형 지갑: 사용자는 자신만의 니모닉 단어 유지합니다.
a. 주류 지갑인 Metamask를 예로 들어 보겠습니다. MetaMask는 비수탁형(또는 자체 보관형) 암호화폐 지갑입니다. 비수탁형이란 MetaMask가 지갑에 대한 데이터를 저장하지 않고 개인 키 데이터가 로컬 수준의 브라우저나 모바일 애플리케이션에 있음을 의미합니다. 사용자가 온체인 서명 활동을 수행해야 할 때 MetaMask는 개인 키를 호출합니다. 서명을 위해 로컬 파일에서 . 그리고 사용자의 개인 키와 니모닉 단어 분실/도난된 경우 Metamask는 사용자의 복구를 도울 수 없으며 사용자의 자산은 영구적으로 손실됩니다.
b. 가장 안전한 하드웨어 지갑(예: Ledger)으로 인식되는 하드웨어 장치를 사용하여 오프라인에서 개인 키와 지갑 주소를 생성한 후 해당 주소의 공개 키를 메타마스크와 같은 웹 지갑으로 가져옵니다. 서명이 필요하며, Ledger 하드웨어는 오프라인에서 확인됩니다. 개인 키가 인터넷에 전혀 닿지 않기 때문에 해커가 하드웨어 지갑에 있는 개인 키를 훔치기 어렵습니다. 그러나 사용자가 니모닉 단어 분실하거나 피싱을 당할 경우 하드웨어 지갑의 보호 효과는 0으로 줄어들고 사용자의 자산은 여전히 도난당할 수 있습니다. - 호스팅된 지갑
코인베이스/바이낸스 등 거래소 지갑은 관리형 지갑 방식을 채택하고 있는데, 코인베이스에 표시되는 계좌는 사용자 자신의 개인키를 보유하지 않고, 온 -스캔에는 표시되지 않고 코인베이스 프로그램에 표시되는 계좌번호만 있다는 점이다. 온체인 자산은 사용자가 코인베이스를 신뢰하고 자산을 직접 소유하는 대신 코인베이스에 자산을 맡기는 것으로 이해될 수 있으므로 코인베이스 계정은 Uniswap과 같은 dAPP과 상호 작용할 수 없습니다.

출처: 바이낸스
일반적으로 커스터디 지갑에서는 프로젝트 당사자가 니모닉 단어 대신 보관해 주고, 지갑 등록 및 복원의 문턱은 낮으나, 지갑의 보안은 사용자 자체보다는 프로젝트 당사자에 달려 있으며, 프로젝트 당사자는 지갑에 대한 실제 통제권을 가지고 있습니다. 니모닉 단어 사용자의 손에 있으며 지갑 등록 및 복원 임계 값은 높지만 보안 및 검열 저항은 모두 높습니다.

니모닉 단어 체계의 단점
WEB3가 계속 발전함에 따라 점점 더 많은 수요와 적용 시나리오가 나타나고 있으며 온체인 생태계가 호황을 누리고 있습니다. 특히 2021년 Defi Summer는 원래 거래소 에서만 거래하던 많은 사용자를 끌어들여 자산을 On 으로 이전했습니다. 온체인 , 2022년 3월 현재 MetaMask의 월간 활성 사용자는 3,000명에 도달했습니다. 수천 명에 이르지만 동시에 가장 주류를 이루는 니모닉 단어 계정 복구 솔루션인 니모닉 단어 해커의 주요 표적이 되었습니다. 일반 사용자의 경우 가장 흔한 지갑 도난 사건은 니모닉 단어 클립보드에서 삭제되는 것입니다. 피싱 웹사이트를 복사하거나 접하여 로컬에 저장된 개인 키 파일을 도난당하세요.
해커가 공격할 때 공격 비용과 획득한 보상을 측정해야 합니다. 모든 개인 키(12개의 니모닉 단어)는 사전의 하위 집합이므로 해커는 온체인 모든 자산을 얻을 수 있습니다. 체인. 그러나 이 입출력 비율은 사전이 무차별 알고리즘을 통해 모든 조합을 정렬하는 경우 좋지 않습니다.
현재 주류 니모닉 단어 영어단어 12개이며, 동의어 사전은 총 2048개 단어로 구성되어 있다. 즉, 2048^12=5.44e39 종류(5444517870735000000000000000000000000000);
이렇게 엄청난 해시레이트 사용하면 해커는 이미 51% 공격을 통해 BTC 네트워크를 제어할 수 있습니다.
따라서 해커의 복귀율이 더 높은 방법은 피싱을 통해 사용자의 니모닉 단어 알아내거나, 사용자의 로컬 디바이스에 저장된 개인 키를 훔치는 것입니다.
메타마스크 예를 계속하면 해커가 저장된 니모닉 단어 와 개인 키를 얻을 수 있는 두 곳이 있습니다.
니모닉 단어
a. 지갑이 생성된 후 사용자는 생성된 니모닉 단어 보관해야 합니다. 일반적으로 펜과 종이로 흰 종이에 복사하여 올바르게 보관하는 것이 좋습니다. 그러나 클립보드를 사용하는 게으른 사람들도 있습니다. 문서 또는 WeChat 채팅 기록에 복사하여 붙여넣고 저장하세요. b. 해커가 사용자의 휴대폰/컴퓨터에 악성 코드를 설치하고 사용자의 클립보드를 상시 모니터링하는 경우 새로 생성된 개인 키를 훔칠 수 있습니다. 예를 들어 QuickQ VPN은 니모닉 단어 훔치기 위해 사용자의 클립보드를 복사하는 데 노출되었습니다. 개인 키
a. 동시에 Metamask는 일반적으로 개인 키를 암호화하여 지갑이 생성된 로컬 장치에 저장하므로 Metamask 플러그인이 Chrome에 설치된 경우:
i. Windows의 저장 위치에서 Metamask의 개인 키 저장 주소는 다음과 같습니다.
C:\Users\USER_NAME\AppData\Local\Google\Chrome\User Data\Default\Local 확장 프로그램 설정\nkbihfbeogaeaoehlefnkodbefgpgknn.
ii. Mac의 저장 위치: 라이브러리>애플리케이션 지원>Google>Chrome>기본값>로컬 확장 설정>nkbihfbeogaeaoehlefnkodbefgpgknn
b. Metamask의 보안은 Chrome의 보안에 달려 있습니다. 해커가 Chrome의 방화벽을 침해하면 해커는 사용자의 주소 개인 키를 획득하고 모든 자산을 전송할 수 있습니다. 이것이 바로 하드웨어 지갑이 메타마스크와 같은 플러그인 지갑보다 안전한 이유입니다.
Metamask 외에도 일부 관리되지 않는 지갑은 Solana의 Slope 지갑 도난 사건과 같이 높은 검열 저항도 달성할 수 없습니다. Slope의 모바일 애플리케이션은 Phantom 지갑을 생성할 때 TLS를 통해 Sentry 서버에 니모닉 단어 니모닉 단어 보냈습니다. 일반 텍스트로 저장됩니다. 즉, Sentry에 액세스할 수 있는 사람은 누구나 사용자의 개인 키에 액세스할 수 있습니다.
EOA 계정 도난
Fenbushi Capital 창립자 지갑 도난:
Shen Bo의 지갑을 도난당한 이유는 니모닉 단어 가 유출되었기 때문입니다. 도난 당시 사용된 지갑은 Trust Wallet이었습니다. 도난당한 금액은 약 3,823만 USDC, 1,607 ETH, 720,000 USDT, 4.13 BTC였습니다. Wintermute 지갑이 공격을 받아 약 1억 6천만 달러의 손실을 입었습니다. 도난의 이유는 Wintermute가 가스 비용을 절약하기 위해 Profanity를 사용하여 Vanity 지갑을 만들었기 때문입니다(스마트 계약을 호출할 때 가스를 절약할 수 있는 0x0000000으로 시작함).
욕설은 특수 문자로 시작하거나 끝나는 계정과 같이 특수 시각 효과가 있는 계정을 생성하는 데 도움이 되도록 설계되었습니다. 반면에 일부 개발자는 이를 사용하여 많은 0으로 시작하는 계정을 생성합니다. 욕설은 첫 번째 32비트 개인 키인 SeedPrivateKey를 획득한 후 필요한 계정 주소와 충돌하기 위해 고정된 알고리즘을 통해 개인 키를 최대 200만 번까지 지속적으로 반복합니다(값은 1inch에서 공개한 기사에서 따옴). . PublicKey가 알려지면 SeedPrivateKey와 Iterator를 철저하게 열거하여 SeedPrivateKey를 얻을 수 있습니다. 계산량은 약 2^32 x 200만 번 정도입니다. 강력한 해시레이트 갖춘 그래픽 카드는 며칠 또는 심지어 며칠 내에 완료할 수 있습니다. 시간.
계약 계정 도난
Paraswap의 계약 배포 주소가 도난당했습니다.
슬로우 미스트 (SlowMist) 의 조사 보고서에 따르면 해커 주소(0xf358..7036)는 ParaSwap Deployer 및 QANplatform Deployer의 개인 키 권한을 획득했습니다. 해커는 테스트를 위해 ParaSwap Deployer에서 $1,000를 클레임 하여 QANplatform 배포자 주소로 이체했습니다. 우리는 AML 플랫폼을 사용하여 0xf358..7036을 분석한 결과 해커가 SolaVerse Deployer 및 기타 여러 아름다운 주소도 훔친 것을 발견했습니다. 지금까지 해커들은 17만 달러 이상을 훔쳤습니다. Ronin Bridge는 올해 3월 해킹을 당해 173,600 ETH와 2,550만 USDC의 손실을 입었습니다.
해커는 존재하지 않는 회사를 만들어서 Linkedin과 WhatsApp을 통해 Axie의 수석 엔지니어와 연결하고 새로운 취업 기회를 제공하고 인터뷰를 주선했으며 마침내 넉넉한 급여를 제안했지만 제안 파일은 유독했기 때문에 성공했습니다. Axie 시스템에 침입하여 훔쳤습니다. 엔지니어는 계약의 EOA 주소 개인 키를 배포합니다.
지갑 생성 시 보안상의 이유로 12단어를 수동으로 복사해야 하며, 본 백서는 사진을 찍어 저장하지 않는 것이 가장 좋습니다. 신뢰할 수 있는 오픈소스 비밀번호 저장 소프트웨어(예: 1password)를 사용하더라도 클립보드 도난 리스크 으로 인해 편리한 복사-붙여넣기 저장 기능을 사용할 수 없습니다.
지갑 복구 시, 즉 로그인 기기 변경 시, 본 백서를 펴서 12단어를 다시 입력하셔야 합니다.
12개의 단어가 적힌 빈 종이를 보관하는 것은 매우 신뢰할 수 없고 웹이 연결되지 않은 것처럼 들립니다3: 우리는 메타버스 미래에 살기를 기대하지만 우리 계정의 보안은 송나라에서 발명된 빈 종이에 달려 있습니다. 현시점에서 이 두 단계는 대부분의 web2 플레이어를 설득하기에 충분합니다. 결국 web2 세계에서는 대부분의 등록 프로세스가 Google 계정/iOS 계정을 사용하여 한 번의 클릭으로 로그인될 수 있습니다.
니모닉 단어 계정을 복구할 수 있는 새로운 솔루션
지갑의 문턱을 낮추고 더 많은 사용자가 WEB3에 진입하도록 유도하려면 지갑의 보안 및 검열 저항을 잃지 않고 Web2와 같은 소셜 계정 로그인 솔루션을 사용해야 합니다. 따라서 보다 편리하고 안전한 계정 복구 솔루션이 필요합니다. 현재 모든 논의의 끝은 니모닉 단어 입니다. 현재 니모닉 단어 구현 방안에는 MPC 방안과 사회적 회복 방안의 두 가지가 있습니다.
MPC 솔루션: 개인키를 여러 당사자가 계산하고 생성함으로써 사용자의 개인키 분실/도난으로 인한 단일 지점 사고를 방지합니다.
이는 다음과 같이 이해될 수 있습니다: MPC는 3FA입니다. 도어록에는 별도의 키가 없습니다. 키 조각 중 하나를 분실한 경우 사용자는 분실된 키를 복구하기 위해 다른 인증 방법을 사용할 수 있습니다. . 키 조각 소셜 복구 솔루션: 다중 서명/단일 서명 솔루션을 통해 EOA 지갑에 의해 제어되는 스마트 계약에 자금을 저장하고 신뢰할 수 있는 제3자 보호자를 지정합니다. EOA 지갑 개인 키가 분실되면 제3자가 대체합니다. 계약을 제어하므로 사용자는 니모닉 단어 저장할 필요가 없습니다.
현재 논의에서는 일반적으로 사회 회복과 계정 추상화 지갑을 나란히 논의합니다. 사회 회복 솔루션은 2019년 EIP-2429에서 제안된 스마트 계약의 표준이자 기능이며, 이는 사용자가 보호자를 통해 계약을 제어할 수 있음을 의미합니다. 개인 키가 대체됩니다. 최근 논의된 EIP-4337은 계정 추상화에 대한 논의이며 다음 장에서 논의하겠습니다.
MPC 솔루션
MPC 솔루션은 EOA 지갑을 생성할 때 여러 당사자가 공동으로 개인 키 조각을 생성한다는 것입니다. 2019년에는 CRYPTO 2019에서 "안전한 다자간 계산을 기반으로 한 2자 타원 곡선 디지털 서명"이라는 논문이 발표되어 공식적으로 MPC 구현을 모든 사람의 시야에 가져왔습니다. MPC는 Secure Multi-Party Computation의 약자입니다.
다자간 계산(MPC)은 약 40년 전 Andrew C. Yao의 선구적인 작업으로 시작된 암호화 분야입니다. 다자간 계산을 사용하면 개인 키 생성이 더 이상 단일 지점에서 완료될 필요가 없으며, 서로 신뢰하지 않는 여러 당사자(n개 당사자) 그룹(n개의 단편화된 개인 키)이 계산하고 보유할 수 있습니다. 이 기술이 바로 DKG(Distributed Key Generation)입니다.
분산 키 생성은 다양한 유형의 액세스 구조를 허용하는 방식으로 수행될 수 있습니다. 즉, 일반 "t out of n"(t out of n 개인 키 조각이 서명에 참여하는 한 유효한 서명이 입증될 수 있음) 설정입니다. 보안을 손상시키지 않고 개인 키와 관련된 작업에서 최대 t개의 임의 실패를 허용할 수 있습니다.
TSS(임계값 서명 체계)는 DKG(분산 키 생성)와 분산 서명의 조합에 부여되는 이름입니다.
동시에 당사자 중 한 사람의 개인 키 조각이 분실/노출된 경우 MPC 솔루션은 개인 키 조각의 복구 및 교체를 지원하여 계정 변경 없이 계정 보안을 보장합니다.
MPC 솔루션은 여러 당사자의 개인 키 조각 공동 생성/보유와 "t out of n" TSS 임계값 서명 방식을 통해 계정 생성, 사용, 저장, 백업 및 복구 시 완전한 개인 키가 나타나지 않도록 보장합니다. 메타마스크보다 한 단계 더 나은 수준에 이르렀습니다. 개인 키 지갑을 단일 지점에서 생성/보유하는 것이 더 편리합니다. 보안 및 검열 저항: 기존 니모닉 단어 솔루션에 비해 사용자 보안이 크게 향상되며 하드웨어 지갑과도 비교할 수 있습니다.
보안
a. 개인 키 없음/ 니모닉 단어: 지갑 생성 과정에서 각 당사자(지갑 프로젝트 당사자 및 사용자)는 전체 프로세스 동안 완전한 개인 키가 나타나지 않는다는 것을 이해할 수 있습니다. 개인 열쇠가 없는 지갑;
b. 해킹 공격 비용이 크게 증가합니다. 해커가 사용자의 로컬 장치에 침입하더라도 개인 키 조각만 얻을 수 있습니다. 해커가 지갑 서버 + 사용자의 로컬 장치를 마스터한 경우에만 사용자의 재산을 훔칠 수 있습니다.
한계점:
소셜 로그인: 사용자는 이메일과 같은 신원 확인 방법을 통해 MPC 지갑에 계정을 만들 수 있습니다(MPC 지갑이 2/2 서명 체계를 채택한다고 가정, 즉 서명하려면 두 개의 개인 키 조각을 동시에 사용해야 함).
검열 저항:
중앙기관(지갑측/백업장치)은 계정 개인키의 일부만을 보유하고 있으며 사용자의 계정을 통제할 수 없습니다.
사회 회복 프로그램
소셜 복구 솔루션은 스마트 계약 계정에 배포됩니다. 스마트 계약 지갑은 EOA 계정을 사용하여 온체인 자금을 관리하기 위한 계약을 배포하는 것으로 이해될 수 있습니다. 이는 배포자의 EOA 지갑과 동일합니다. 스마트 계약에 대한 통제권.
제어되는 EOA 지갑에는 개인 키가 있기 때문에 스마트 계약 지갑은 개인 키가 없는 솔루션이 아닙니다. 그러나 스마트 계약 지갑은 사회 회복 계획을 통해 사용자의 서명 개인 키를 변경할 수 있습니다. 사회복구 해결책은 열쇠를 분실한 후 보호자에게 열쇠를 교체해 달라고 요청하는 것입니다.
EIP-2929 제안 이후 2년 후, Vitalik은 2021년 포럼에서 처음으로 사회복구 지갑 적용 사례를 제안했습니다.
스마트 계약 지갑을 생성할 때 사용자는 다른 EOA 주소를 "보호자"로 지정할 수 있습니다. "보호자" 주소는 온체인 서명 및 확인되어야 하며 가스 비용을 지불해야 합니다.
사용자의 EOA 계정은 "서명 개인 키" 역할을 하며 거래를 승인하는 데 사용될 수 있습니다.
EOA 계정에는 거래를 승인할 수 없지만 "서명 개인 키"를 변경할 수 있는 "보호자"가 3명 이상 있습니다. "서명 개인 키"를 변경하려면 "보호자"가 서명 확인을 위해 가스 요금을 지불해야 합니다.
개인키 서명에는 보호자를 추가하거나 제거하는 기능이 있지만 전체 과정에 시간(보통 1~3일)이 소요됩니다.
일일 사용 시나리오에서 사용자는 일반 지갑과 마찬가지로 소셜 복구 기능(예: Argent 및 Loopring)을 갖춘 스마트 계약 지갑을 사용하여 서명 키로 거래를 확인할 수 있습니다. 이렇게 하면 Metamask와 같은 기존 지갑과 마찬가지로 모든 거래가 한 번의 확인으로 빠르게 완료됩니다.
계정 추상 지갑은 개인 키 생성에 있어서 메타마스크와 다르지 않습니다.
컨트랙트를 제어하는 EOA 지갑은 '서명 개인키'로만 사용되며 보호자를 통해 제어권을 이양할 수 있으므로 사용자는 니모닉 단어 구체적으로 보관할 필요가 없습니다.
○ 하지만 컨트랙트를 호출하기 때문에 결제 시 USDC/USDT와 같은 비네이티브 토큰의 사용을 지원합니다(예를 들어 ETH는 이더리움에서 가스 요금을 지불하는 데 사용되는 네이티브 토큰입니다). 새로운 Web3 플레이어를 위한 상호 작용: 원칙적으로 동일한 거래에서 프로젝트 팀은 사용자의 USDC를 ETH로 교환한 다음 사용자를 대신하여 가스 요금을 지불합니다.
① 사용자가 web3를 처음 사용하여 지갑을 등록하려고 하는데 web3에 이미 EOA 지갑을 보유하고 있는 신뢰할 수 있는 친구 3명을 찾아 가스비를 지불해야 보호자가 됩니다.
② 사용자가 친구의 가스비를 보상하고 새로 생성된 지갑을 이용해 3번의 전송을 할 경우 지갑 생성을 위해 총 6개의 가스비가 필요하며, MPC 지갑에 계정을 생성하는 데 드는 비용은 없습니다.
e.개인 키 복원
사용자가 서명 키를 분실한 경우 소셜 복구 기능 사용을 요청할 수 있습니다. 사용자는 보호자에게 연락하여 특별 거래(사용자 또는 보호자가 가스비 지불)에 서명하고 지갑 계약에 등록된 서명 공개 키를 새로운 서명으로 변경하도록 요청해야 합니다. 이는 훨씬 간단합니다. 보호자는 security.loopring과 같은 웹페이지를 방문하여 복구 요청을 보고 서명할 수 있습니다.
그러나 개인 키의 보안은 MPC 지갑 수준에 도달하지 않습니다.
공격당하는 비용: 해커는 사용자의 장치에 침입하여 완전한 개인 키를 얻을 수 있습니다. 즉, 스마트 계약 지갑을 사용하는 사용자는 개인 키를 분실한 경우 개인 키를 검색할 수 있는 방법이 한 가지 더 있습니다.
낮은 검열 저항: 사회복귀 프로그램에는 '보호자'의 지정이 필요하므로 '보호자'가 서로 결탁하여 악을 행할 가능성이 있습니다.
사회 회복의 주요 리스크 다음과 같습니다. ① 공모: 일부 사용자가 자신이 복구의 일부라는 것을 알고 있으면 복구 공격 실행에 관심이 있을 수 있습니다. ②표적 공격: 외부 에이전트는 회복의 소유자를 알고 회복 공격을 수행하는 데 필요한 가장 약한 지점을 목표로 삼을 수 있습니다. ③ 일반 노출: 공격자가 대규모 사용자 기반 환경 종속성을 감염시키고 여러 ID에 액세스하는 경우 복구를 통해 영향을 받지 않은 사용자에게 부작용이 발생할 수도 있습니다.

니모닉 단어 계정 복구 솔루션을 통해 우리는 차세대 Web3 지갑, 즉 이메일을 사용하여 등록하고 로그인할 수 있는 지갑을 기대할 수 있습니다. 분석을 위해 MPC 지갑과 계정 추상 지갑의 대표적인 프로젝트를 각각 선택했습니다. 사용자 액세스 측면에서 보안 및 니모닉 단어 저항의 관점에서 별도로 평가했습니다.
비티젠
MPC 지갑 중 검열 방지와 편의성이 더욱 철저한 Bitizen 지갑은 2/3 TSS 방식을 채택하여 지갑의 보안 및 검열 방지 측면에서 분석해 보겠습니다.
보안:
a.생성
강력한 감사 가능성을 달성하기 위해 지갑 등록을 완료한 후 사용자는 2/3TSS 솔루션인 Bitizen 서버, 사용자의 로컬 장치 및 사용자의 두 번째 장치를 사용하여 Bluetooth를 통해 두 번째 장치를 사용하여 개인 키 조각을 백업할 수 있습니다.
b.유지
지갑 생성 과정에서 완전한 개인 키가 생성되지 않으므로 니모닉 단어 없습니다. 사용자의 Bitizen 계정은 사용자의 클라우드 디스크 및 이메일과 연결되며, 사용자는 이메일을 통해 로그인하기만 하면 정상적으로 Bitizen 지갑을 사용할 수 있습니다. .
c.사용
① 사용자는 서명을 위한 안면인식 인증을 통해 Bitizen 클라우드에 저장된 개인키 조각과 로컬 장치에 저장된 개인키 조각을 얻을 수 있습니다(2/3).
②두 번째 장치가 블루투스를 통해 개인 키 조각을 백업한 후 완전히 오프라인으로 저장할 수 있으며 평일에는 사용할 필요가 없습니다. (서명은 Bitizen 서버와 사용자의 기본 장치만 완료하면 완료됩니다.)
d.백업
① 로컬 개인키 조각을 사용자의 클라우드 디스크에 백업합니다.
② 사용자가 로그인을 위해 기기를 변경해야 하는 경우, 이메일과 얼굴을 통해서만 인증하면 됩니다. Bitizen은 사용자에게 클라우드 디스크에서 개인 키 조각의 백업을 복원하도록 요청합니다. e.복구 ① 마찬가지로, 사용자의 기기를 분실하거나 실수로 비티즌의 로컬 파일을 삭제한 경우, 개인키 조각을 클라우드 디스크를 통해 복구할 수 있습니다.
② 사용자가 클라우드 디스크에 로그인조차 할 수 없는 경우, 비트젠은 서버와 사용자의 두 번째 백업 장치에 있는 개인키 조각을 통해 개인키 조각을 다시 계산하여 사용자가 정상적인 사용을 재개할 수 있도록 합니다.

출처: 비트젠
검열 저항:
TSS 솔루션의 2/3는 사용자가 자신의 지갑을 절대적으로 제어할 수 있도록 합니다(개인 키 조각의 2/3는 사용자의 손에 있음). Bitizen이 무너지거나 도망가더라도 사용자는 여전히 정상적인 제어권을 행사할 수 있습니다. 그들의 지갑.
유니패스
계정 추상 지갑은 Unipass를 예로 들었습니다. Unipass는 두 가지 솔루션의 장점을 결합하여 스마트 계약 + MPC 지갑 접근 방식을 채택합니다.
거래 시 지갑에서 지원하는 모든 토큰(주류, 유동성이 높은 토큰)을 사용하여 가스 요금을 지불할 수 있습니다.
개인키 저장 측면에서 MPC(2/2)와 TSS 기술을 사용하여 분산 방식으로 개인키를 생성하므로 해커가 개인키를 단일 지점인 개인키에서 획득할 가능성이 없습니다. 키는 두 조각으로 나누어지고, 한 조각은 Unipass에 저장되며, 복사본은 사용자의 로컬 장치에 저장됩니다.
개인 키를 복구하기 위해 Unipass는 DKIM(DomainKeys Identified Mail) 솔루션을 사용합니다. 사용자는 다른 EOA 주소 대신 이메일 주소를 "보호자"로 사용할 수 있습니다. 이렇게 하면 사용자가 보호자를 찾을 수 있는 임계값이 크게 줄어듭니다. 블록체인은 보호자의 이메일 주소만 필요합니다.

출처 : 유니패스
낮은 임계값 -> 높은 적용성
낮은 임계값 지갑은 지갑 애플리케이션의 끝이 아닙니다. 현재 Web3 인프라는 여전히 Web2의 전통적인 금융보다 훨씬 뒤떨어져 있습니다. Visa가 제공하는 자동 공제 및 정기 자동 결제 기능은 사용자에게 큰 편의성을 제공하지만 여전히 이더 에서는 구현하기 어렵습니다. 계정 추상화 계정은 다음으로 적용 가능성이 높은 블록체인 지갑 이야기일 수 있습니다. Visa는 StarNet 네트워크에서 구현하기 위해 계정 추상화 지갑 Argent의 사용을 탐색하기 위해 "자체 관리형 지갑을 위한 자동 결제" 기사를 게시했습니다. 자동 프로그래밍 가능 결제로 사용자가 결제를 자동화할 수 있습니다. 모든 거래에 서명할 필요 없이 자체 호스팅 지갑을 사용합니다. 계정 추상 지갑은 어떻게 구현되나요? 사실 이 개념은 아주 오래전부터 유래되었습니다.
계정 추상화 - EIP-2938에서 EIP-4337까지
EIP-4337의 제안으로 계정 추상화라는 주제가 다시 관심을 끌게 되었습니다. 소셜 복구 솔루션 및 계정 추상화(스마트 계약을 EOA 지갑으로 사용, 즉 계정 추상화)는 EIP-1271 이전에 제안되었으며 StarkNet과 같은 Layer 2의 Argent와 같은 지갑에 의해 구현되었습니다. 솔루션이 최근 커뮤니티에서 뜨겁게 논의되고 있습니다. 차이점(계정 추상화)이 무엇인가요?
2015년 EIP-86부터 최근 이슈 EIP-4337까지 개발자의 핵심 사고는 "계약은 지갑이다"를 중심으로 이루어지며, 계정 추상화를 통해 사용자는 직관적인 방식으로 메인 네트워크와 상호 작용할 수 있습니다. 이를 통해 사용자는 자신의 계정의 주요 권한을 정확하게 제어할 수 있습니다. EOA 계정의 코드가 규정되어 있기 때문에 일괄 전송/소셜 복구 및 기타 기능 추가 등 EOA 지갑에서 모듈 되고 기능적인 설계를 수행하는 것이 불가능하므로 모두가 스마트 계약에 집중합니다. EIP-4337에 가장 가까운 제안은 EIP-2938입니다. EIP-2938도 새로운 스마트 계약 운영 프로토콜을 정의하지만 컨센서스 레이어 에서 수정해야 하므로 개발자가 이를 유지하기가 어렵습니다. 메인넷에는 합의 수준의 프로토콜 변경이 필요하지 않다는 것입니다.
- EIP-1237에서 계약 주소의 서명 시작은 서명을 위해 중앙 릴레이어에 의존해야 하며 릴레이어는 중앙 집중화되어 있으며 각 릴레이어 간의 표준이 다르며 멀티체인/다중 dAPP와 호환되지 않습니다. ;
- EIP-4337에서는 Relayer를 Bunbler로 대체하는 것이 제안되었습니다. Bundler는 스마트 계약 지갑의 검열 저항을 향상하고 서명 표준을 통합하여 개발자의 통합 어려움을 크게 줄일 수 있는 탈중앙화 다자간 솔루션입니다.
- EIP-4337은 미래에 영향을 미칠 것이지만 현재로서는 사용자 경험을 개선하지 못할 것입니다. 따라서 이 솔루션에 대한 논의는 VC와 개발자에게만 국한됩니다. 이는 VC 및 기타 투자자와 개발자 커뮤니티를 열광하게 만드는 Move to Aptos에 가깝습니다. web3 사용자에게 이 Layer1은 Solidity로 작성된 것입니까? 사용자 경험은 아직 많이 변하지 않았습니다.
①결국 계정추출 지갑 Argent는 2018년부터 5,620만 달러의 융자 완료했습니다. 4년간의 개발 끝에 주소는 740,000개에 불과합니다. defi가 등장한 직후 코인업계 사용자는 거래소 에서 Metamask로 전환했습니다. Metamask의 상승은 높은 APY 광산 때문입니다. 현재 스마트 계약 지갑 열풍에는 여전히 새로운 촉매제가 필요합니다.

출처 : 모래 언덕

출처 : 모래 언덕
③그러나 이더 메인 네트워크의 계정 추상화 제안이 구현됨에 따라 Argent 사용자가 StarkNet에서 이더리움 메인 네트워크로 원활하게 연결할 수 있음을 의미하며 이 과정에서 점화되는 불꽃도 기대할 가치가 있습니다.
사용 사례
①세련된 권한 제어: EOA의 단일 서명 권한을 구체화합니다. ▽계약서에서 사용자 A에게 X TokenB의 전송 한도를 부여합니다. ▽B 사용자 컨트랙트에게 전송 권한 대신 승인된 TokenC 거래 권한을 부여 ▽장기간 계약을 아무도 사용하지 않을 경우 계약 사용권은 자동으로 이전됩니다. ②가스 결제 방식 다양화 : 타인 결제 또는 토큰 결제
③자동공제/자동환급
Web3의 미래 수용
진부하게 말하면, web2 사용자는 48억 명이고, web3 사용자는 2022년에 막 1억 명을 넘었습니다. 우리는 아직 블록체인 개발의 초기 단계에 있습니다.

기사 시작 부분의 질문인 "내 자산에 대해 얼마나 많은 리스크 과 책임을 감수할 의향이 있습니까?"로 돌아가서 개인 키를 기억하지 않고도 지갑이 분실되지 않도록 할 수 있습니까?
저는 항상 전통적인 VC 질문을 들어왔습니다. web3만 할 수 있고 web2는 할 수 없는 시나리오가 있습니까? 우리는 Web3 지갑이 기존 Web2를 정면으로 공격하는 예라고 믿습니다. Web3의 탈중앙화 네트워크에서만 검열 리스크, 보안 및 사용자 경험을 충족하는 좋은 지갑을 기대할 수 있습니다. 책임. 이러한 지갑의 출현은 47억 Web2 사용자가 Web3의 미래를 수용하는 중요한 기반이기도 합니다. 지갑은 Web3의 첫 번째 입구일 뿐만 아니라 온체인 도메인 이름(예: ENS)이기도 합니다. Soul-Bounded Token(소울바운드 토큰), 온체인 평판 시스템(Decentralized Identifiers) 개발의 기반, 안전한 지갑 환경이 없으면 Web3 Lego의 구축은 탄탄한 기반을 갖추지 못할 것입니다.
더 심각하게 생각해볼 필요가 있습니다. 베어장 (Bear Market) 기회가 많지 않습니다. MPC는 EOA 지갑이 더 사용하기 쉽고 안전하며 현재의 모든 EVM 체인에 적응할 수 있는 미래를 보여줍니다. 스마트 계약이 dAPP에 연결되기까지는 아직 갈 길이 멀다. 현재 사회 회복 계획은 쓸모없어 보이지만, 우리는 누구에게 실제적인 투자를 할 것인가? 이 답변을 제출할 돈입니다.
2022년은 암호화폐에 있어 암울한 해이지만 우리는 여전히 미래가 밝다고 믿습니다. 우리는 월드 오브 워크래프트에서 깨어난 흑마법사이며, (그 제안이 투표되지 않는 한) 누구도 우리의 생명을 빼앗을 수 없는 세상을 만들고 싶습니다.




