ioPay의 계정 추상화 - DePIN 지갑

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

IoTeX는 블록체인과 오프체인 컴퓨팅으로 가능한 것의 한계를 넓히려 노력하며 많은 첨단 기술 분야의 최전선에 있어 왔습니다. AA 기술 또한 IoTeX가 선두에 서 있는 분야 중 하나입니다. 2023년 9월, IoTeX는 이더리움 재단으로부터 그랜트를 획득했습니다. 구체적으로 이 그랜트는 ERC-4337과 IoTeX의 제로 지식 계정 추상화 지갑 활용 작업에 대해 수여되었습니다.

zk-SNARK 증명 기술을 활용하여 IoTeX는 비밀번호로 승인할 수 있는 계정 추상화 지갑을 구축했습니다. zk-SNARK(제로 지식 간결 비대화형 지식 논증)는 한 당사자가 다른 당사자에게 진술의 유효성 외에 어떠한 추가 정보도 공개하지 않고 그 진술이 참임을 증명할 수 있게 해주는 암호화 증명 시스템입니다. zk-SNARK는 프라이버시에 중점을 둔 암호화폐 Zcash와 같은 다양한 블록체인 애플리케이션에서 사용되어, 발신자, 수신자 또는 관련 금액의 신원이나 거래 세부 정보를 공개하지 않고도 거래를 검증하고 블록체인에 기록할 수 있게 합니다. zk-SNARK라는 용어는 때때로 모든 제로 지식 증명 시스템을 지칭하는 데 구어체로 사용되기도 하지만, 엄밀히 말하면 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은 secp256r1 타원 곡선을 사용하는데, 이는 EVM에 적용되어 거래/스마트 계약에 대한 안전한 인증 및 서명을 생성할 수 있는 널리 인정받는 암호화 표준입니다. 대부분의 최신 기기와 애플리케이션은 “secp256r1” 타원 곡선에 의존합니다. 예를 들어:
- Apple의 Secure Enclave: Apple 하드웨어에는 임의의 메시지에 서명할 수 있으며 생체 인식으로만 접근할 수 있는 별도의 “신뢰 실행 환경(Trusted Execution Environment)“이 있습니다.
- Webauthn: 웹 인증(WebAuthn)은 월드 와이드 웹 컨소시엄(W3C)이 발표한 웹 표준입니다. WebAuthn은 공개 키 암호화를 사용하여 웹 기반 애플리케이션 및 서비스에 대한 사용자 인증 인터페이스를 표준화하는 것을 목표로 합니다. 거의 모든 최신 웹 브라우저에서 사용되고 있습니다.
- Android Keystore: Android Keystore는 개인 키와 서명 방법을 관리하는 API입니다. Keystore를 애플리케이션의 서명 방법으로 사용할 때 개인 키는 처리되지 않습니다. 또한 이는 마이크로칩 내의 “신뢰 실행 환경”에서 수행될 수 있습니다.
- Passkeys: Passkeys는 FIDO Alliance 및 W3C 표준을 활용합니다. 이는 비밀번호를 암호화 키 쌍으로 대체하며, 이 또한 타원 곡선 암호화에 사용될 수 있습니다. IoTeX 네트워크는 이미 “secp256r1” 타원 곡선에서 서명 검증을 수행하는 사전 컴파일된 계약을 지원하기 때문에, ioPay AA 지갑의 검증 로직을 일정한 가스 비용으로 Apple의 Secure Enclave와 Android Keystore를 기반으로 하는 것이 타당했습니다. 기기의 보안 엔클레이브/키스토어와 생체 인식을 활용하여 우리는 매우 안전한 AA 지갑을 구현할 수 있습니다. 이러한 새로운 AA 지갑의 사용을 장려하기 위해, 제한된 기간 동안 IoTeX는 ioPay AA 지갑을 활용하는 사용자의 가스비 지불을 위해 하루 2 IOTX를 제공합니다. ioPay 사용자가 MachineFi NFT를 소유하고 있다면, 우리의 MachineFi NFT 보유자를 위한 추가적인 유틸리티 차원에서 하루 10 IOTX의 가스비를 받을 수 있습니다.
ioPay에서 AA 지갑을 설정하는 방법
1단계) ioPay를 다운로드하고 AA 지갑 생성을 누르세요.

2단계) 지메일 주소를 입력하세요

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

4단계) 축하 메시지와 함께 사용자에게 이 새로운 기능 사용을 장려하기 위해 2 IOTX가 지급됩니다. (Iotex를 한 번도 사용해본 적 없는 신규 사용자가 네이티브 토큰을 받을 수 있어 매우 유용합니다)

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

- 사용자는 하루에 사용자당 2 $IOTX(일반 AA 사용자의 경우)를 받으며, MachineFi NFT도 보유하고 있는 경우 하루에 사용자당 10 $IOTX를 받습니다.

