OpenSeaでソウルバウンドトークンを転送し、オークションに出す方法
原文标题:《Osオークションで移転できないソウルバウンドトークンを移転する方法》
撰文:十四君
5月初、イーサリアムの創始者ヴィタリックのソウルバウンドトークン(SBT)に関する論文が発表され、すぐにWeb3分野で最もホットな話題の一つとなりました。最近、ヴィタリックが新書を発表した際にこのSBTを使用し、誰でも任意の金額を寄付し、ソウルバウンドのNFTを取得できるようになりました。しかし、新しいトークン標準は、マーケットにおけるソウルバウンドの信頼できるアプリケーションが不足しているだけでなく、そのソウルトークン自体にも強制移転の脆弱性が存在します。
契約技術のベテランにとっては、契約ウォレット/A3Sプロトコルの2つのキーワードだけで核心内容を理解できますが、実装の詳細に興味がある方は、本文と共に探求してみてください。
1、ソウルバウンドトークンとは
これまで、自由主義はWeb3、あるいはブロックチェーンの世界の発展の基礎でしたが、横暴な自由主義が生み出したのは、ハッカーだけがWeb2からWeb3への移行で最も成功したグループです。では、本当に価値のあるWeb3には、どのようなイデオロギーが必要なのでしょうか?
ヴィタリックは、Web3は責任ある自由主義を新しい信念の基盤とする必要があると考えています。したがって、SBTの本質は、信用メカニズムをWeb3に導入し、デジタル世界がアカウントの信用を評価し測定できるようにし、分散型の世界で評判、責任、社会資本を築くことです。
その実現方法は、ウォレットアドレスの下で移転できないトークンを発行し、これをソウルバウンド(Soulbond)と呼ぶことです。
1.1、SBTの適用シーンの例
SBT、ソウルバウンドトークンは、その名の通り、ユーザーアカウントまたはウォレットにバインドされたトークンであり、一度生成されると取引できません。約束、資格、所属関係などを表すために使用され、履歴書のように相応の社会関係の証明となります。
ヴィタリックの論文では、SBTにバインドされた関連アカウントをソウル(Soul)と定義しています。
例えば、イーサリアム財団がバインドしたアカウント(ソウル)は、開発者会議に参加する人に相応のSBTを発行できます。また、ある大学がバインドしたアカウント(ソウル)も、卒業生に学位証明書を表す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するのか?
イーサリアムでは、複数署名ウォレットは通常スマートコントラクトであり、契約が複数署名管理を実現するためには、2つの主要なパスがあります。
- Ownbit複数署名ウォレットは、持ち署名権限法を使用します:あなたの秘密鍵で相応の支出(額面、対象アドレスなど)に署名し、署名結果を提供します。
- Gnosis複数署名ウォレットは、取引権限法を使用します:あなたの秘密鍵でイーサリアム取引を送信し、特定のインターフェースを呼び出し、特定のパラメータを提供します。
ここでは、Gnosisの初期バージョンを使用してV1版の例を示します。
2.3、Gnosis複数署名が任意の取引を実行するプロセス
全体は4つの段階に分かれます:初期化段階→提案段階→投票段階→実行段階
- 初期化段階:いくつかの管理者_ownersを定義し、以降の取引はこれらのアドレスのみが呼び出せます。
- 提案段階:任意の管理者の1人がsubmitTransactionメソッドを通じて取引を提出し、取引番号transactionIdを取得します。提出された取引には、destination、value、dataの3つのパラメータが必要です。
- 投票段階:残りの管理者はETH取引を提出して投票し、契約のconfirmTransactionメソッドを呼び出します。
- 実行段階:confirmの人数が最低要件に達すると、executeTransactionの内部ロジックがトリガーされ、最終的に契約はcallを通じて任意の操作を実行します。
2.4、なぜ任意の操作を実行できるのか?
それは、destinationが対象アドレスで、valueが金額、dataが取引に付随するパラメータだからです。
イーサリアム取引の中で、Dataフィールドは取引の付随情報であり、明確なルールで制御されています。例えば、以下の図は最も一般的なERC20送金取引であり、Etherscanで解析された後の表示ロジックは以下の通りですが、実際の取引解析前の原文は
0xa9059cbb0000000000000000000000003baf10686c60680d491f49ea3f720a1831c3391e00000000000000000000000000000000000000000000f92e1b81422bfc3a0000
その解析の原理は、最初の8桁が契約のABIファイルに対応し、対応する関数名とパラメータリストを知ることができ、以降の64桁ごとに異なるパラメータタイプに応じて異なる変換を行って解析します。
したがって、提案に対しては、対象アドレス、金額、取引に付随するパラメータを明確に規定するだけで、任意の操作を実行できます。
2.5、小結 - 契約ウォレットモードの利点と欠点の比較
ここでは、GnosisV1バージョンの実装ロジックの核心を概説しましたが、実際にはその後、徐々に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がトークン自体は移転できなくても、そのアドレス権限自体の移転を伴い、ソウルバウンドの意味を揺るがすことを体系的に説明しました。
最後に、この記事の資料を収集しているとき、すでに似たような考えを持つ研究者5660.ethが、このSBT契約ウォレットをヴィタリックのウォレットアドレスに移転していることに気づきました。これは、V神やイーサリアム財団に対し、今後のEIPに関するSBTの提案をより周期的に最適化するよう促すことができるかもしれません。例えば、授与対象が契約アドレスであるかどうかを検出するなどです。