Tech/EIPs/#223
ERC 223카테고리 · ERC유형 · 표준 트랙상태 · 최종

Token with transaction handling model

EIP-223은 토큰 전송 시 수신 컨트랙트가 토큰을 처리할 수 없을 경우 트랜잭션을 되돌리는 안전한 토큰 전송 모델을 제안합니다. ERC-20의 잠금 토큰 문제를 해결하기 위해 설계되었습니다.

문제 배경

ERC-20 토큰은 컨트랙트 주소로 전송할 때 수신 컨트랙트가 ERC-20을 지원하지 않아도 전송이 성공하여 토큰이 영구적으로 잠기는 문제가 있습니다. 수백만 달러 상당의 토큰이 이 방식으로 손실되었습니다.

해결 방안

토큰 컨트랙트가 transfer 함수 호출 시 수신 주소가 컨트랙트인 경우 tokenReceived(address, uint, bytes) 함수를 호출합니다. 수신 컨트랙트가 이 함수를 구현하지 않으면 트랜잭션이 실패하여 토큰 잠금을 방지합니다.

이더와의 유사성

EIP-223의 설계는 이더 전송 모델에서 영감을 받았습니다. 이더 전송 시 수신 컨트랙트의 폴백 함수가 호출되는 것처럼, EIP-223 토큰도 수신 컨트랙트에 알림을 보냅니다.

채택 현황

ERC-20과의 하위 호환성 문제로 인해 광범위한 채택에 어려움을 겪었습니다. ERC-777이 유사한 문제를 해결하면서 일부 채택이 이루어졌으나, ERC-20이 여전히 지배적인 표준으로 유지되고 있습니다.

공식 ERC 문서open_in_new