Risk Warning: Beware of illegal fundraising in the name of 'virtual currency' and 'blockchain'. — Five departments including the Banking and Insurance Regulatory Commission
Information
Discover
Search
Login
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
View Market
A way to transfer and auction off non-transferable soulbound tokens in Os
十四君
特邀专栏作者
2022-09-18 12:09
This article is about 3131 words, reading the full article takes about 5 minutes
There is a loophole of forced transfer in non-transferable soul tokens.

After the publication of the soul token SBT paper of Ethereum founder Vitalik in early May, it quickly became one of the hottest topics in the entire Web3 field. Not long ago, Vitalik used this SBT when he released a new book. Anyone can donate any amount and get a Soul-bound NFT, but the new Token standard is not only the lack of reliable application of soul-bound in the market, but also itsThe soul token itself also has a loophole of forced transfer.

first level title

1. What is Soul Binding Token?

For a long time, liberalism has been the cornerstone of the vigorous development of Web3 or the blockchain world, but the outrageous liberalism has given rise to the fact that only hackers are the most successful group in the transition from web2 to web3. So what kind of ideology is needed for a truly valuable Web3?

According to Vitalik,Web3 needs a new foundation of belief in responsible liberalism. So the essence of SBT is to introduce the reputation mechanism into Web3, so that the digital world can evaluate and measure the reputation of accounts, and build reputation, responsibility and social capital in the decentralized world

The way to achieve it is to use the wallet address as the target,secondary title

1.1. Cases of SBT application scenarios

SBT, Soulbond Token (soul bond token), as the name suggests, is a Token bound to a user account or wallet, and once generated, it cannot be traded. It can be used to represent commitment, qualifications, affiliation, etc., similar to a resume as a proof of corresponding social relations.

In Vitalik's paper, the relevant account bound to SBT is defined as Soul (soul)

For example, the account (Soul) bound by the Ethereum Foundation can issue corresponding SBTs to those who participate in its developer conference, and the account (Soul) bound by a university can also issue SBTs representing degree certificates to its graduates. SBT, and so on.

secondary title

1.2, the minimum implementation of SBT

In fact, no matter ERC20 or ERC721, the transfer function is performed through transfer and SafeTransferFrom in the contract standard. Therefore, the minimum implementation of SBT only needs to delete the transfer code, so that only Mint can modify the user balance table _balances.

first level title[Source Code Interpretation] What exactly is the NFT you bought?

secondary title

2.1. Overview of wallet classification

In fact, it is very simple. It is the wallet that can initiate transactions on the chain, and the wallet is divided into single-signature and multi-signature.

Single-signature wallet, we want to send a transfer transaction to the blockchain, we need to use the wallet to make a signature, we sign the name and send the transaction, and the transfer is successful after the transaction is executed successfully, this is a typical single-signature wallet , and it is also the wallet that we usually use the most.

A multi-signature wallet, as the name suggests, is a wallet that requires multiple people to sign to perform a certain operation. Using a multi-signature wallet to transfer money often requires >= 1 person to sign and send the transaction before the transfer operation is actually completed. When using a multi-signature wallet, we can specify the signature mode of m/n, that is, there are m personal signatures among n people to complete the operation.

secondary title

2.2. How to mintNFT in a multi-signature wallet?

In Ethereum, a multi-signature wallet is often a smart contract, and the contract needs to realize multi-signature management, there are two corresponding paths

  • Ownbit multi-signature wallet uses the signature-holding authorization method: use your private key to sign the corresponding expenditure (amount, target address, etc.), and give the signature result

  • Gnosis multi-signature wallet uses the transaction authorization method: use your private key to send an Ethereum transaction to call a specific interface and give specific parameters;

secondary title

2.3. Gnosis multi-signature execution process of any transaction

The whole is divided into 4 stages: initialization stage→proposal stage→voting stage→execution stage

  • Initialization phase: define several administrator _owners, and only these addresses can be called in subsequent transactions

  • Proposal stage: any administrator submits a transaction through the submitTransaction method, and gets a transaction number transactionId, and the submitted transaction needs to carry the three parameters of destination, value, and data

  • Voting phase: other administrators vote by submitting ETH transactions and calling the confirmTransaction method of the contract

  • Execution phase: when the number of confirmed people reaches the minimum requirement, the internal logic of executeTransaction will be triggered,

The final contract performs arbitrary operations through call remote calls

2.4. Why can any operation be performed?

Because destination is the target address, value is the amount, and data is the parameters attached to the transaction

In an Ethereum transaction, the Data field is the incidental information of the transaction, which is controlled by clear rules. For example, the following figure is the most conventional ERC20 transfer transaction. Its display logic after Etherscan analysis is as follows. In fact, the original text before the transaction analysis yes

0xa9059cbb0000000000000000000000003baf10686c60680d491f49ea3f720a1831c3391e00000000000000000000000000000000000000000000f92e1b81422bfc3a0000

The principle of the analysis is that the corresponding function name and parameter list can be obtained according to the ABI file corresponding to the first 8 bits of the contract, and then each 64 bits will be converted according to different parameter types for analysis.

Therefore, for the proposal, it only needs to clearly stipulate the target address, amount, and transaction parameters, and then any operation can be performed

2.5. Summary - comparison of the advantages and disadvantages of the contract wallet model

Here is an overview of the implementation logic of the core GnosisV1 version. In fact, it has been gradually revised into an Ownbit-like form later, adopting the signature verification mode. The main reason is that

Sending transactions to represent proposals and votes has the advantages of being simple and easy to understand, avoiding complex signature calculations, and the entire process can be traced back online at any time, with well-documented advantages, but the disadvantages are also significant

  • A proposal requires multiple transactions, which is costly

  • The last voter has a higher gas fee, that is, the cost is unbalanced

  • The actual logic of the re-transaction is in the data field, which is difficult to read and understand

first level title

3. How to sell SBT on OpenSea?

So far, it has been very obvious. You only need to use the contract wallet, whether it is Gnosis or Ownbit, to initiate a donation and take away the NFT. Then the Token itself cannot be transferred, and the wallet itself can be sold together.

Of course, obtaining is not the end, our goal is to find a suitable way to auction him! Thus achieving pricing for SBT

image description

A3S protocol architecture diagram

It is a multi-chain protocol that builds the next generation address standard. Providing liquidity and integrability for addresses, A3S enables addresses to be traded, leased and escrowed securely. As such, addresses become on-chain infrastructure that can be transferred and priced.

Users mint a Commander NFT from the smart contract address factory, and it will automatically deploy the corresponding smart contract. The owner of the smart contract points to the corresponding NFT holder. The contract can receive any type of asset on the chain, and only the owner is allowed to send the asset. This smart contract will serve as a carrier for the user to interact with any blockchain dApp.

Whoever holds the NFT is the remote control of the smart contract. If the NFT is transferred, the management rights of the smart contract will also be transferred.

4. Summary

4. Summary

This article outlines the cornerstone of SBT’s philosophy, and highly recognizes that Web3 needs to take responsible liberalism as the basis of new beliefs, but the new concept needs to fully consider the sniper rifles issued in the dark forest such as smart contracts. The implementation principles of Gnosis and Ownbit, combined with the more cutting-edge A3S wallet address transfer protocol, systematically explain that even if the Token itself is not transferable by SBT, it will be accompanied by the transfer of its address authority itself, which will shake the meaning of soul binding.

Finally, when I collected the materials for this article, I also found that 5660.eth, a researcher who already had a similar idea, transferred this kind of SBT contract wallet to Vitalik’s wallet address, which may remind V God and its Ethereum Foundation to be able to Subsequent EIP will conduct more periodic optimization around the SBT proposal, such as detecting whether the grant object is a contract address and so on.

Like and follow 14, bring you value from a technical perspective

Like and follow 14, bring you value from a technical perspective

NFT
Web3.0
Welcome to Join Odaily Official Community