ERC-5192: Minimal Soulbound NFTs

소울바운드 토큰(Soulbound Token, SBT)과 관련된 EIP가 처음으로 표준이 되었습니다. 간단하게 살펴보겠습니다.

EIP-5192: Minimal Soulbound NFTs
Minimal interface for soulbinding EIP-721 NFTs
FINAL EIP-5192 - Minimal Soulbound NFTs
Add EIP-5192 - Minimal Soulbound NFTs by TimDaub · Pull Request #5192 · ethereum/EIPs · GitHub

설명

해당 표준은 소울바운드(Soulbound)토큰을 구현에 필요한 최소한의 구조(인터페이스)를 제안합니다.

제안자는 소울바운드토큰을 단일 계정에 바인딩된 대체 불가 토큰이라 정의합니다.

제안자는 표준이 없기에 여러 소울바운드 구현체에서 "전송" 기능을 사용할 때 단순 오류가 발생한다는 점을 문제 삼았습니다.

제안자는 "토큰의 전송 가능 여부"를 체크할 수 있게 인터페이스를 제안합니다. (참고로 인터페이스를 참조해서 구현할 때, 명시된 내용을 구현안하면 에러가 납니다.)

About Interface

SBT를 위해 ERC-721에 크게 2가지를 추가했습니다.

  • Event: Locked 이벤트와 Unlocked 이벤트
  • Function: locked 함수,locked 여부를 체크

locked가 true인 경우, 전송(transfer) 관련 기능은 모두 무시해야(throw) 합니다. 가장 중요한 것은 인터페이스 구현 여부에 대해 supportsInterface로 확인할 수 있습니다.

마치며

"SBT의 구현을 위해 최소한의 기능부터 합의부터 시작해보자"를 바탕으로 비탈릭의 SBT 언급 이후 최초로 표준이 된 SBT 관련 표준이라는 의미가 있습니다.

올해 7월 1일에 등록되었고 매우 간단한 제안임에도 불구하고 상당히 빠르게 표준이 되었네요. 소울바운드 필요성 + 저자의 표준에 대한 깊은 이해(표준 제안자가 EIP-4973 Account-based Token 제안자) + 빠른 개선 속도가 만든 결과로 보입니다.

개인적으로 살펴본 구현체 사례를 가져왔다면 더 좋을 것 같다는 딴지 아닌 딴지를 걸어봅니다.