OpenSea에서 영혼 결속 토큰을 이전하고 경매하는 방법
원문 제목:《OS 경매에서 전이 불가능한 영혼 결속 토큰을 전이하는 방법》
저자: 십사군
5월 초, 이더리움 창시자 비탈릭의 영혼 토큰 SBT 논문이 발표된 후, 빠르게 Web3 분야에서 가장 인기 있는 주제 중 하나가 되었습니다. 얼마 전 비탈릭이 새 책을 발표할 때 이 SBT를 사용했으며, 누구나 임의의 금액을 기부하고 영혼 결속 NFT를 받을 수 있습니다. 그러나 새로운 토큰 표준은 시장에서 영혼 결속의 신뢰할 수 있는 응용이 부족할 뿐만 아니라, 영혼 토큰 자체에도 강제 전이의 취약점이 존재합니다.
계약 기술의 베테랑에게는 계약 지갑 / A3S 프로토콜 두 가지 키워드만으로도 핵심 내용을 이해할 수 있지만, 구현 세부 사항에 관심이 있다면 본문과 함께 탐색해 보세요.
1. 영혼 결속 토큰이란?
자유주의는 항상 Web3 또는 블록체인 세계의 발전에 있어 중요한 기반이었습니다. 그러나 지나친 자유주의는 해커만이 web2에서 web3로 전환하는 가장 성공적인 집단이 되도록 했습니다. 그렇다면 진정으로 가치 있는 Web3는 어떤 이념이 필요할까요?
비탈릭은 Web3가 책임 있는 자유주의를 새로운 신념의 기초로 삼아야 한다고 생각합니다. 따라서 SBT의 본질은 신뢰 메커니즘을 Web3에 도입하여 디지털 세계가 계정의 신뢰를 평가하고 측정할 수 있도록 하여, 탈중앙화된 세계에서 명성, 책임 및 사회 자본을 구축하는 것입니다.
이를 실현하는 방법은 지갑 주소를 목표로 하여 전이 불가능한 토큰을 발행하고 이를 Soulbond(영혼 결속)이라고 부르는 것입니다.
1.1 SBT의 응용 사례
SBT, Soulbond Token(영혼 결속 통증)은 말 그대로 사용자 계정이나 지갑에 결속된 토큰으로, 생성되면 거래할 수 없습니다. 이는 약속, 자격, 소속 관계 등을 나타내는 데 사용될 수 있으며, 이력서와 유사하게 해당 사회 관계의 증명으로 작용합니다.
비탈릭의 논문에서는 SBT가 결속된 관련 계정을 Soul(영혼)으로 정의합니다.
예를 들어, 이더리움 재단이 결속한 계정(Soul)은 개발자 회의에 참석하는 사람에게 해당 SBT를 발급할 수 있으며, 특정 대학이 결속한 계정(Soul)도 졸업생에게 학위 증명을 나타내는 SBT를 발급할 수 있습니다.
이 문서의 예시 목표는 비탈릭이 새 책을 발표할 때 기부 주소에 함께 제공될 SBT입니다.
1.2 SBT의 최소 구현
사실 ERC20이나 ERC721 모두 계약 표준의 transfer와 SafeTransferFrom을 통해 전이 기능을 수행합니다. 따라서 SBT의 최소 구현은 transfer 코드를 삭제하고 Mint 시에만 사용자 잔액 테이블 _balances를 수정할 수 있도록 하면 됩니다.
표준 구현에 대한 확장 읽기: 【소스 코드 해석】당신이 구매한 NFT는 도대체 무엇인가?
2. SBT 전이의 취약점은 무엇인가?
2.1 지갑 분류 개요
사실 매우 간단합니다. 블록체인에서 거래를 시작할 수 있는 것은 지갑이며, 지갑은 단일 서명과 다중 서명으로 나뉩니다.
단일 서명 지갑에서는 블록체인에 송금 거래를 보내기 위해 지갑을 사용하여 서명을 해야 합니다. 우리가 서명을 완료하고 거래를 보내면 거래가 성공적으로 실행되어 송금이 완료됩니다. 이것이 전형적인 단일 서명 지갑이며, 우리가 가장 많이 사용하는 지갑입니다.
다중 서명 지갑은 말 그대로 여러 사람이 서명하여 특정 작업을 수행해야 하는 지갑입니다. 다중 서명 지갑을 사용하여 송금할 때는 보통 1명 이상의 서명이 필요하며, 송금 작업이 실제로 완료됩니다. 다중 서명 지갑을 사용할 때는 m/n 서명 방식을 지정할 수 있으며, n명 중 m명이 서명하면 작업이 완료됩니다.
다중 서명 지갑은 보안이 강력하게 요구되는 개인 및 공공 자산을 관리하는 투자 기관, 거래소 및 프로젝트 팀에서 자주 사용됩니다. 핵심 가치는 자금 안전과 자금 공동 관리입니다.
2.2 다중 서명 지갑은 어떻게 mintNFT를 하나요?
이더리움에서 다중 서명 지갑은 보통 스마트 계약이며, 계약이 다중 서명 관리를 구현하기 위해 두 가지 주요 경로가 있습니다.
- Ownbit 다중 서명 지갑은 서명 권한 부여 방법을 사용합니다: 당신의 개인 키로 해당 비용(금액, 목표 주소 등)에 서명하고 서명 결과를 제공합니다.
- Gnosis 다중 서명 지갑은 거래 권한 부여 방법을 사용합니다: 당신의 개인 키로 이더리움 거래를 보내 특정 인터페이스를 호출하고 특정 매개변수를 제공합니다.
우리는 Gnosis의 초기 버전 V1을 예로 들어보겠습니다.
2.3 Gnosis 다중 서명이 임의 거래를 실행하는 과정
전체 과정은 4단계로 나뉩니다: 초기화 단계 → 제안 단계 → 투표 단계 → 실행 단계
- 초기화 단계: 여러 관리자 _owners를 정의하며, 이후의 거래는 오직 이 주소들만 호출할 수 있습니다.
- 제안 단계: 임의의 관리자 중 한 명이 submitTransaction 방법을 통해 거래를 제출하고 거래 번호 transactionId를 얻습니다. 제출된 거래는 destination, value, data 이 세 가지 매개변수를 포함해야 합니다.
- 투표 단계: 나머지 관리자는 ETH 거래를 제출하여 투표하고, 계약의 confirmTransaction 방법을 호출합니다.
- 실행 단계: confirm된 인원이 최소 요구 사항에 도달하면 executeTransaction의 내부 논리가 트리거됩니다.
최종적으로 계약은 call을 통해 원격 호출하여 임의의 작업을 실행합니다.
2.4 왜 임의의 작업을 실행할 수 있나요?
그 이유는 destination이 목표 주소이고, value가 금액이며, data가 거래에 첨부된 매개변수이기 때문입니다.
이더리움 거래에서 Data 필드는 거래의 첨부 정보로, 명확한 규칙에 의해 제어됩니다. 예를 들어, 아래 이미지는 가장 일반적인 ERC20 송금 거래이며, Etherscan에서 해석된 후의 표시 논리는 다음과 같습니다. 실제 거래 해석 전의 원문은 다음과 같습니다.
0xa9059cbb0000000000000000000000003baf10686c60680d491f49ea3f720a1831c3391e00000000000000000000000000000000000000000000f92e1b81422bfc3a0000
해석 원리는 처음 8자리가 계약의 ABI 파일에 해당하는 함수 이름과 매개변수 목록을 알 수 있게 해주며, 이후 64자리는 각기 다른 매개변수 유형에 따라 다르게 변환하여 해석합니다.
따라서 제안에 대해서는 목표 주소, 금액, 거래 첨부 매개변수를 명확히 규정하기만 하면 임의의 작업을 실행할 수 있습니다.
2.5 요약 - 계약 지갑 모드의 장단점 비교
여기서는 핵심 Gnosis V1 버전 구현 논리를 개요했습니다. 사실 이후에는 점차 Ownbit 형태로 개편되어 서명 권한 검증 방식을 채택하게 되었습니다. 주요 이유는 거래를 보내어 제안 및 투표를 하는 것이 간단하고 이해하기 쉬우며 복잡한 서명 계산을 피할 수 있고, 전 과정이 온라인으로 구현되어 언제든지 추적할 수 있는 장점이 있지만, 단점도 분명합니다.
- 한 번의 제안에 여러 명의 거래 비용이 매우 비쌉니다.
- 마지막 투표자의 가스 비용이 더 높아져 비용 불균형이 발생합니다.
- 실제 거래 논리는 data 필드에 있어 읽고 이해하기 어렵습니다.
따라서 사용자들은 이익과 비용을 고려하여 결국 거래 확인 방식을 포기하고 서명 권한 검증 방식으로 나아가게 되었습니다.
3. SBT는 OpenSea에서 어떻게 판매하나요?
이제 매우 분명해졌습니다. 계약 지갑을 사용하여 Gnosis든 Ownbit이든 방법에 관계없이 기부를 시작하고 NFT를 받을 수 있습니다. 그러면 토큰 자체를 전이할 수 없으니 지갑 자체와 함께 판매하면 되지 않을까요?
물론, 얻는 것이 끝이 아닙니다. 우리의 목표는 그를 경매에 부칠 적절한 방법을 찾는 것입니다! 이를 통해 SBT의 가격을 정할 수 있습니다.
여기서 특별한 프로토콜인 A3S를 사용해야 합니다.
A3S 프로토콜 구조도
이는 차세대 주소 표준을 구축하는 다중 체인 프로토콜입니다. 주소에 유동성과 통합성을 제공하며, A3S는 주소가 안전하게 거래, 임대 및 관리될 수 있도록 합니다. 따라서 주소는 전이 가능하고 가격이 매겨질 수 있는 체인 기반 인프라가 됩니다.
사용자는 스마트 계약 주소 공장에서 Commander NFT를 발행하며, 이는 자동으로 해당 스마트 계약을 배포합니다. 스마트 계약의 소유자는 해당 NFT 소유자를 가리킵니다. 계약은 모든 유형의 체인 상 자산을 수신할 수 있으며, 소유자만 자산을 전송할 수 있도록 하여 이 스마트 계약이 사용자가 모든 블록체인 dApp과 상호작용하는 매개체가 됩니다.
이 NFT를 소유한 사람은 이 스마트 계약의 리모컨을 가지고 있으며, NFT가 전이되면 스마트 계약의 관리 권한도 전이됩니다.
이 원리를 통해 우리는 Opensea에서 이 프로토콜을 기반으로 한 몇 가지 매물이 등장하는 것을 볼 수 있습니다. 물론 가격은 별로 없지만, 지갑 주소의 거래는 아직 대규모 사회적 합의를 갖추지 못했습니다.
4. 결론
이 문서는 SBT의 이념적 기초를 개요하며, Web3가 책임 있는 자유주의를 새로운 신념의 기초로 삼아야 한다는 점을 높이 인정합니다. 그러나 새로운 개념은 스마트 계약과 같은 어두운 숲에서 발사된 저격총을 신중하게 고려해야 합니다. Gnosis와 Ownbit의 체인 상 계약 지갑 구현 원리를 개요하고, 비교적 최신의 A3S 지갑 주소 전이 프로토콜을 결합하여 SBT가 토큰 자체는 전이 불가능하더라도 주소 권한 자체의 전이와 함께 존재하여 영혼 결속의 의미를 흔들 수 있음을 체계적으로 설명합니다.
마지막으로 이 문서 자료를 수집하는 동안, 비탈릭의 지갑 주소로 SBT 계약 지갑을 전이한 유사한 아이디어를 가진 연구자 5660.eth가 있다는 것을 발견했습니다. 이는 V 신과 그의 이더리움 재단이 SBT를 둘러싼 후속 EIp 제안에 대해 더 주기적인 최적화를 할 수 있도록 상기시킬 수 있습니다. 예를 들어, 부여 대상이 계약 주소인지 여부를 감지하는 것과 같은 것입니다.