ERC-5192: Minimal Soulbound NFTs
소울바운드 토큰(Soulbound Token, SBT)과 관련된 EIP가 처음으로 표준이 되었습니다. 간단하게 살펴보겠습니다.
설명
해당 표준은 소울바운드(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 제안자) + 빠른 개선 속도가 만든 결과로 보입니다.
개인적으로 살펴본 구현체 사례를 가져왔다면 더 좋을 것 같다는 딴지 아닌 딴지를 걸어봅니다.