ERC223 토큰 표준 전문가 & amp; 단점

이 게시물을 시작하기 위해 ERC-20, ERC-223, ERC-721 및 ERC-777 토큰이 모두 서로 다른 클래스의 이더 리움 토큰임을 명시하고 싶습니다.

이 토큰의 차이점을 아는 사람은 거의 없으며 항상 인기있는 ERC-20을 고수하는 것을 좋아합니다. WiiggoCoin (WIIG)은 ERC-20 토큰에 대해 아무 것도 가지고 있지 않습니다. 사실 우리는이를 지원하며 이것이 우리의 토큰이 ETH로 구매되는 이유입니다.

이렇게 말하면 이더 리움의 작동 방식 에 대한 기본 이해를 통해 실제로는 일반적으로 암호 화폐를 이해하는 것이 더 간단해질 수 있습니다. 보시다시피 이더 리움은 스마트 계약을 작성하고 (Solidity 프로그래밍 언어로) 실행할 수있는 분산 형 플랫폼입니다. 수백 개의 분산 애플리케이션 (dApp)을 지원하는 기본 계층입니다.

블록 체인 기술 및 스마트 계약을위한 새로운 애플리케이션이 이더 리움 위에 개발 될 때마다 새로운 이더 리움 토큰이 생성 될 수 있습니다. 이 프로세스의 단순화 측면은 이더 리움이 토큰 화에 대한 표준을 설정했다는 것입니다. 애플리케이션이 수행하는 작업에 따라 다양한 표준에 따라 다양한 유형의 애플리케이션이 토큰 화됩니다.

이더 리움 토큰의 가장 일반적인 표준은 현재 ERC-20 표준이지만 ERC-223, ERC-721 및 ERC-777 표준도 있습니다. 각 표준이 무엇인지 이해하려면이 게시물

을 살펴보세요.

ERC-223 토큰이란?

ERC-20 표준은 매우 유용하지만 완벽하지는 않습니다. 예를 들어, ERC-20의 특히 나쁜 설계 결함 중 하나는 사람들이 토큰을 일반 지갑에 보내는 데 사용하는 프로세스를 사용하여 실수로 스마트 계약에 토큰을 보낼 때 토큰이 손실 될 수 있도록했습니다. 안타깝게도 이로 인해 현재까지 이미 3 백만 달러 이상의 ERC-20 토큰이 손실되었습니다.

ERC-223은 사용자가 토큰을 동일한 기능을 가진 스마트 계약 및 지갑으로 전송할 수 있도록하여 이러한 설계 결함을 해결합니다. 또한 ERC-223 토큰은 전송에 2 단계가 아닌 1 단계 만 필요하도록하여 ERC-20의 효율성을 향상시킵니다. 즉, ERC-223 토큰 전송에는 ERC-20 전송에 비해 가스의 절반 만 필요합니다 (즉, 저렴함).

ERC-223 토큰은 ERC-20 토큰과 역 호환된다는 점을 기억하는 것이 중요합니다. 이는 ERC-223이 ERC-20 토큰과 함께 작동하는 모든 ERC-20 기능과 계약 또는 서비스를 지원하고 ERC-223 토큰과 올바르게 작동 함을 의미합니다. ERC-223은 위에서 언급 한 버그를 해결하면서 모든 원래 기능을 유지합니다.

이러한 장점의 결과로 ERC-223 표준은 언젠가 이더 리움 토큰에 가장 널리 사용되는 표준으로 ERC-20을 대체 할 수 있습니다. 그러나 대부분의 이더 리움 지갑은 아직 ERC-223 토큰을 지원하지 않으므로 프로젝트 개발자의 채택 속도가 느립니다.

암호 화폐 생태계가 얼마나 빠르게 진화 하는지를 감안할 때 ERC-223 토큰이 2019 년 또는 그보다 더 빨리 인기를 얻더라도 놀라지 마십시오.

ERC-223 토큰 표준은 공식 EIP (Ethereum Improvement Protocol)로 공식화하는 과정에서 2017 년에 제안되었습니다.

ERC-20 토큰의 인터페이스와 동작에 익숙해 진 후, 일부 결함과 해결 방법을 살펴 보겠습니다.

알 수없는 계약으로의 실수로 토큰 이전

ERC-20 토큰을 전송하는 방법은 토큰을 직접 전송하거나 다른 스마트 계약에 위임할지 여부에 따라 두 가지 방법이 있습니다. transfer 를 호출하여 토큰을 지갑 주소로 보내거나 approve 를 호출 한 다음이를 위해 수신자 계약에서 transferFrom 을 트리거 할 수 있습니다. 전송을 인식하고 그에 따라 처리합니다.

하지만 알지 못하거나 이러한 토큰을 예상하지 않는 계약 주소로 토큰을 이전하면 (예 : 단순히 의도 한 주소를 잘못 입력하여) 어떻게됩니까? 불행히도 귀하의 토큰은 영원히 잃어 버릴 것입니다.

이미 토큰 전송을 기대하지 않은 토큰 계약에 의해 보유 된 많은 토큰이 있습니다 (목록은 계속 늘어나고 있습니다). 이 토큰은 계약에서 철회 할 수있는 기능이 없으므로 액세스 할 수 없습니다.

수신 토큰 거래 처리 불가

transfer 기능을 사용하여 ERC-20 토큰을 전송함으로써 토큰 계약은 수신자에게 거래가 발생했음을 알리지 않습니다. 토큰은 단순히 수신자의 주소로 적립됩니다. 또한 계약에서 들어오는 토큰 거래를 처리 할 방법이없고 지원되지 않는 토큰을 거부하거나 처리 할 방법이 없습니다.

토큰 분실을 방지하는 것 외에도 새로운 transfer 방법을 사용하면 스마트 계약이 전송 된 토큰을 적극적으로 처리 할 수 ​​있습니다 (예 : 교환 스마트 계약은 토큰을 입금하여 토큰 전송에 반응 할 수 있음). 사용자의 잔액).

토큰 전송 균일 성

일반 / 비 계약 주소와 계약 간의 ERC-20 토큰 거래는 두 가지 다른 거래입니다. 토큰 계약에서 approve 를 호출 한 다음 transferFrom 을 호출해야합니다. 다른 계약에 토큰을 입금하고 싶을 때

ERC-223은이 요구 사항을 단순화하고 동일한 전송 기능을 사용할 수 있도록합니다. ERC-223 토큰은 수신자가 계약 또는 지갑 주소 인 경우 토큰 계약에서 transfer 함수를 호출하여 전송할 수 있습니다. 수신 계약에 이체를 알리는 새로운 방법이 있기 때문입니다. .

수신자가 일반 / 비 계약 주소 인 경우 ERC-223 토큰 전송은 ERC-20 전송과 동일합니다. 반면에 수신자가 계약 인 경우 ERC-223 토큰 계약은 수신자 계약에서 tokenFallback 함수를 호출하려고 시도합니다. 수신자 계약에 tokenFallback 기능이 없으면 거래가 실패합니다.

예를 들어 탈 중앙화 거래소는 더 이상 사용자가 토큰 계약에서 approve 를 호출하도록 한 다음 deposit 을 호출하여 transferFrom 허용 된 토큰을 가져옵니다. 토큰 거래는 tokenFallback 함수를 통해 교환 계약 내에서 자동으로 처리됩니다.

ERC-223 transfer 는 수신자 계약에서 ERC-20 approve transferFrom 의 절반만큼 가스를 소비합니다.

결론

새로운 ERC-223 토큰 표준은 특히 다른 스마트 계약과 상호 작용할 때 가장 중요한 ERC-20 문제점을 해결하는 개선 및 기능을 도입합니다.

이 기사를 즐겁게 읽고 유용하게 사용 하셨기를 바랍니다. Telegram 커뮤니티에 가입하십시오.