이 기사에서 계정 추상화에서 EIP-4337의 역할에 대해 알아보십시오.
星球君的朋友们
2021-10-20 08:07
本文约1533字,阅读全文需要约6分钟
이 게시물에서는 계정 추상화에서 EIP-4337의 역할에 대한 완전한 아이디어를 얻을 것입니다.

이 게시물에서는 계정 추상화에서 EIP-4337의 역할에 대한 완전한 아이디어를 얻을 것입니다.

소개하다

이 게시물에서는 계정 추상화에서 EIP-4337의 역할에 대한 완전한 아이디어를 얻을 것입니다.

  • 소개하다

  • 이 제안에는 상위 계층 인프라에 의존하기보다 합의 계층 프로토콜에 대한 변경을 피하기 위한 변경 사항이 포함되어 있습니다. 다음 목표를 달성하는 것을 목표로 합니다.

  • 계정 추상화: 사용자가 기본 계정으로 EOA 대신 임의의 확인 논리가 포함된 스마트 계약 지갑을 사용할 수 있습니다.

  • 탈중앙화: 모든 바인더가 사용자 활동의 계정 추상화를 포함하는 프로세스에 참여할 수 있도록 합니다. 사용자는 공통 메모리 풀에서 발생하는 활동을 처리하기 위해 참여자의 직접 통신 주소를 알 필요가 없습니다.

거래 수수료 지불: ERC-20 토큰을 사용하여 거래 수수료를 지불하여 개발자가 사용자에 대한 수수료를 지불할 수 있도록 하고 스폰서 거래에 대한 EIP-3074와 유사한 사용 사례를 제공합니다.

일하다

다음은 이 제안서의 새로운 기능 중 일부입니다. 모든 작업은 피어 투 피어 메모리 풀에서 발생합니다. 지갑이 결정론적 CREATE2 주소에 존재하고 지갑이 존재하지 않으면 UserOperation이 자동으로 생성하기 때문에 사용자는 지갑 계약이 해제되는 것에 대해 걱정할 필요가 없습니다. 사용자는 이제 고정 수수료 프리미엄과 최대 총 수수료를 설정할 수 있으며 신속하게 포함되고 합리적으로 청구될 것으로 기대할 수 있습니다. 가장 검사를 통과한 UserOperations는 발신자가 또 다른 상태 변경이 있을 때까지 억제 가능하도록 보장되며, 공격자는 발신자당 7500+ 가스를 지불해야 합니다.

일하다

사용자는 확인을 위해 사용자의 목적과 서명 및 기타 데이터를 캡슐화하는 UserOperation 개체를 보냅니다. Flashbots와 같은 서비스를 활용하는 광부 또는 바인더는 UserOperation 개체를 단일 번들 트랜잭션으로 결합한 다음 Ethereum 블록에 포함할 수 있습니다. 바인더는 묶음 트랜잭션에 대한 비용을 ETH로 지불하고 각 개별 UserOperation 실행에 대해 지불한 수수료로 보상합니다. 바인더는 비용 우선 순위 논리를 사용하여 포함할 UserOperation 개체를 선택합니다.

지갑의 논리를 단순화하기 위해 보안을 유지하는 데 필요한 대부분의 복잡한 스마트 계약 논리는 진입점이라는 글로벌 계약에서 지갑 외부에서 실행됩니다. validateUserOp 및 실행 기능은 require(msg.sender == ENTRY POINT)로 제어되어 신뢰할 수 있는 진입점만 지갑을 트리거하여 작업을 수행하거나 수수료를 지불하도록 합니다. calldata와 함께 UserOperation을 사용하여 userop 성공을 확인한 후 진입점은 지갑을 임의로 호출합니다. 이는 지갑을 공격으로부터 보호하기 위해 수행됩니다.

UserOperation의 유효성 검사가 성공적으로 조롱되면 발신자 계정의 내부 상태가 변경될 때까지 UserOperation이 포함 가능하도록 보장됩니다.

거래 시작

  • 우리는 응용 프로그램 개발자가 사용자를 대신하여 수수료를 지불하도록 허용하고 사용자가 ERC20 토큰으로 수수료를 지불하고 중개자로서 계약을 통해 ERC20 토큰을 받고 ETH를 사용하여 지불하도록 할 수 있습니다.

  • 사용 사례 1의 경우: Paymaster는 개시자의 서명이 paymasterData에 포함되어 개시자가 UserOperation에 대해 지불할 준비가 되었음을 나타내는지 확인합니다. 서명이 유효하면 Paymaster가 수락하고 UserOperation 수수료가 개시자의 몫에서 차감됩니다.

이점

  • 사용 사례 2의 경우: Paymaster는 발신자 지갑에 UserOperation을 지불하기에 충분한 ERC20 잔액이 있는지 확인합니다. 그렇다면 Paymaster는 ETH 수수료를 수락하고 지불한 다음 postOp에서 ERC20 토큰을 청구합니다.

  • 이점

  • 실행 논리 유연성: 지갑은 실행 단계에 맞춤 논리를 추가할 수 있습니다.

결점

  • 지갑 업그레이드 가능성: 지갑은 공개 키를 변경하거나 코드를 업그레이드할 수 있습니다.

  • 결점

  • 한 번에 하나의 트랜잭션: 계정은 대기열에 여러 트랜잭션을 Mempool에 보낼 수 없습니다.

Source:https://medium.datadriveninvestor.com/account-abstraction-eip-4337-40a94d5b6d2c

이 기사는 분산형 금융 커뮤니티에서 제공되며 승인을 받아 복제됩니다.

星球君的朋友们
作者文库