ioPay (IoTeX 팀이 개발)는 계정 추상화(Account Abstraction, AA) 출시를 기쁘게 발표합니다! ioPay는 시장에서 가장 크고 검증된 멀티체인 AA 지갑이 되었습니다. 이 블로그에서는 AA가 왜 중요한지, IoTeX의 AA 분야 작업, ioPay 구현 및 ioPay에서 AA 지갑 설정 방법을 안내합니다.
AA가 중요한 이유
계정 추상화는 블록체인 네트워크 아키텍처의 근본적인 변화를 설명하는 용어입니다. 전통적으로 블록체인 계정은 자금을 제어하는 개인 키와 연결된 단순한 주소였습니다. 그러나 계정 추상화는 계정이 자금의 저장소일 뿐만 아니라 복잡한 코드를 실행할 수 있는 더 정교한 모델을 도입합니다. 본질적으로 계정 추상화는 자금 관리와 코드 실행 역할을 분리하여 더 동적이고 강력한 스마트 계약을 가능하게 합니다. 이 변화는 개발자에게 계약 실행 및 상호작용에 있어 더 큰 유연성을 제공하여 혁신적인 애플리케이션을 만들 수 있게 합니다. ioPay의 경우, AA는 계정 생성과 복구의 단순성을 크게 향상시킵니다. 또한 AA는 이전에는 불가능했던 여러 ioPay 기능의 문을 열어줍니다. 계정 추상화의 이점:
- 향상된 유연성: 계정 추상화는 스마트 계약 설계 시 개발자에게 더 큰 유연성을 제공합니다. 이 접근법으로 개발자는 자금 제어와 계약 실행 논리를 분리하여 더 동적이고 모듈화된 애플리케이션을 만들 수 있습니다.
- 가스 비용 절감: 가스 비용은 블록체인 생태계에서 중요한 문제로, 탈중앙화 애플리케이션의 확장성과 채택을 저해했습니다. 계정 추상화는 스마트 계약 실행을 최적화하여 가스 비용을 줄일 수 있습니다. 이는 여러 거래 없이 계약을 실행할 수 있게 하여 계산 자원을 절약합니다.
- 향상된 업그레이드 가능성: 전통적인 스마트 계약은 배포 후 불변이어서 버그 수정이나 기능 추가가 어렵습니다. 계정 추상화는 "계약 업그레이드 가능성" 개념을 도입하여 개발자가 기능을 중단하지 않고 계약을 업데이트하고 개선할 수 있게 합니다. 이는 탈중앙화 애플리케이션의 유지 및 발전에 중요합니다.
- 혁신적인 사용 사례: 계정 추상화는 개발자에게 새로운 가능성을 열어주어 탈중앙화 금융(DeFi), 대체 불가능 토큰(NFT) 등 다양한 혁신적 사용 사례를 가능하게 합니다. 자금과 코드 실행의 분리는 이전에 구현하기 어려웠던 복잡하고 기능이 풍부한 애플리케이션을 만들 수 있게 합니다.
- 향상된 보안: 계정 추상화가 도입한 역할 분리는 스마트 계약의 보안을 강화할 수 있습니다. 자금 관리와 코드 실행을 분리하여 잠재적 취약점과 공격 표면을 줄여 악의적 행위자가 취약점을 악용하기 어렵게 만듭니다.
loTeX 모듈러 인프라, DePIN 혁신 촉진자
IoTeX는 스마트 기기와 현실 세계 데이터를 블록체인에 연결하는 모듈형 Web3 인프라 플랫폼입니다. IoTeX의 미들웨어 솔루션 W3bstream은 현실 세계 데이터의 계산과 검증을 제공하여 온체인으로 가져오며, 대규모 채택을 촉진하는 모듈성과 맞춤화를 제공합니다. DePIN(분산 물리 인프라 네트워크) 인프라의 선도 공급자로서 IoTeX는 사용자에게 기기 및 온/오프체인 활동에서 새로운 보상을 제공하고, 개인 기기를 공동 경제로 전환하며, "모든 것의 데이터"를 토큰화합니다. 60명 이상의 연구 과학자와 엔지니어로 구성된 글로벌 팀이 지원하는 IoTeX는 EVM 호환 L1 블록체인, 오프체인 컴퓨트 미들웨어, 오픈 하드웨어를 결합하여 수십억 개의 스마트 기기, 기계, 센서 및 dApp을 물리적 및 디지털 세계에 연결합니다. 물론 모든 DePIN 프로젝트의 핵심은 모바일 지갑입니다. 이에 IoTeX 팀은 DePIN 지갑으로 선택된 ioPay 개발에 많은 시간을 투자했으며, DePINscan 통합도 포함됩니다.

IoTeX는 블록체인과 오프체인 컴퓨트의 가능성을 확장하기 위해 여러 첨단 기술 분야에서 선두에 서 있습니다. AA 기술도 IoTeX가 선도하는 분야 중 하나로, 2023년 9월 Ethereum Foundation으로부터 보조금을 받았습니다. 특히, 보조금은 ERC-4337 및 IoTeX의 제로 지식 계정 추상화 지갑 활용 작업에 수여되었습니다.

zk-SNARK 증명 기술을 활용하여 IoTeX는 비밀번호로 인증 가능한 계정 추상화 지갑을 구축했습니다. zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)는 한 당사자가 진술의 진위를 다른 당사자에게 추가 정보 없이 증명할 수 있게 하는 암호학적 증명 시스템입니다. zk-SNARK는 프라이버시 중심 암호화폐 Zcash 등 다양한 블록체인 애플리케이션에서 사용되어 송수신자 신원이나 거래 세부사항을 공개하지 않고 거래를 검증하고 기록할 수 있게 합니다. zk-SNARK는 때때로 모든 제로 지식 증명 시스템을 지칭하는 용어로 사용되지만, 엄밀히 말하면 간결한 증명 크기와 비대화자적 특성을 가진 특정 유형의 제로 지식 증명 시스템을 의미합니다.

제로 지식 계정 추상화 보조금을 받은 IoTeX의 MVP를 테스트하려면 다음 링크를 방문하세요: https://zk-wallet-demo.iotex.io. 이 Linktree는 지금까지 IoTeX의 모든 AA 작업을 보여줍니다. IoTeX가 계정 추상화 분야에서 쌓은 전문성을 활용하여 ioPay 구현은 자연스러운 다음 단계였습니다.
ioPay의 계정 추상화 구현
ioPay는 항상 보안과 사용자 경험에 중점을 두어 왔으며, 계정 추상화 구현으로 이 두 가지가 향상되었습니다. 현재 ioPay는 Gmail AA 로그인 지원을 제공합니다. 가까운 미래에 ioPay는 다른 AA 인증 방법도 구현할 계획입니다. 이 기능을 ioPay에 구축하면서 팀은 P256을 사용해 지갑 거래를 인증하고 이메일 기반 DKIM 프로토콜로 사용자 계정을 복구했습니다. DKIM(DomainKeys Identified Mail)은 이메일에 디지털 서명을 사용하여 도메인 소유자가 메시지를 보냈고 승인했음을 수신자에게 알리는 이메일 인증 방법입니다. 수신자가 유효한 DKIM 서명이 있는 이메일임을 확인하면 이메일 내용이 수정되지 않았음을 확인할 수 있습니다. 따라서 DKIM 서명 사용자를 온체인 계약에서 검증하고 ioPay 계정을 복구할 수 있습니다. P256은 EVM에서 안전한 인증 및 거래/스마트 계약 서명을 생성할 수 있는 널리 인정받는 암호학 표준인 secp256r1 타원 곡선을 사용합니다. 대부분의 최신 기기와 애플리케이션은 “secp256r1” 타원 곡선을 사용합니다. 예를 들어:
- Apple의 Secure Enclave: Apple 하드웨어에는 생체 인식으로만 접근 가능한 별도의 "신뢰 실행 환경"이 있어 임의 메시지 서명이 가능합니다.
- Webauthn: Web Authentication(WebAuthn)은 W3C가 발표한 웹 표준으로, 공개키 암호를 사용해 웹 애플리케이션 및 서비스에 사용자 인증 인터페이스를 표준화합니다. 거의 모든 최신 웹 브라우저에서 사용됩니다.
- Android Keystore: Android Keystore는 개인 키와 서명 방법을 관리하는 API로, 개인 키는 Keystore를 사용하는 동안 처리되지 않으며, 마이크로칩 내 "신뢰 실행 환경"에서 수행될 수 있습니다.
- Passkeys: Passkeys는 FIDO Alliance 및 W3C 표준을 활용하며, 암호 대신 타원 곡선 암호화가 가능한 암호 키 쌍으로 대체합니다. IoTeX 네트워크는 이미 "secp256r1" 타원 곡선에서 서명 검증을 수행하는 사전 컴파일된 계약을 지원하므로, ioPay AA 지갑의 검증 로직을 Apple Secure Enclave와 Android Keystore 기반으로 가스 비용을 일정하게 유지하며 구현하는 것이 합리적이었습니다. 기기의 Secure Enclave/Keystore와 생체 인식을 활용해 매우 안전한 AA 지갑을 구현할 수 있습니다. 이 새로운 AA 지갑 사용을 장려하기 위해, 제한된 기간 동안 IoTeX는 ioPay AA 지갑을 사용하는 사용자에게 하루 2 IOTX를 가스 비용으로 제공합니다. 또한, ioPay 사용자가 MachineFi NFT를 소유한 경우, MachineFi NFT 보유자에게 추가 혜택으로 하루 10 IOTX를 가스 비용으로 지급합니다.
ioPay에서 AA 지갑 설정 방법
1단계) ioPay 다운로드 후 AA 지갑 만들기 버튼을 누릅니다.

2단계) Gmail 주소를 입력합니다.

3단계) 고유한 인증 코드가 포함된 이메일을 받습니다.

4단계) 축하 메시지와 함께 이 새로운 기능 사용을 장려하기 위해 2 IOTX가 사용자에게 지급됩니다. (IoTeX를 처음 사용하는 신규 사용자에게 네이티브 토큰을 제공하는 좋은 기회입니다.)

5단계) 사용자는 홈 페이지로 돌아가 AA 지갑을 활용하여 거래를 수행하거나 dApp을 사용할 수 있습니다.

6단계) 일반 AA 사용자는 하루 2 $IOTX, MachineFi NFT 소유자는 하루 10 $IOTX를 받습니다.
