如何转移灵魂绑定代币并在 OpenSea 上售卖?
SBT 即使代币本身不可转移,也会伴随其地址权限本身的转移,而动摇灵魂绑定的意义。
原文标题:《一种转移并在 Os 拍卖不可转移灵魂绑定代币的方法》
撰文:十四君
5 月初 以太坊创始人 Vitalik?的灵魂代币 SBT 论文发表之后,迅速成为整个 Web3 领域最热门的话题之一,不久前 Vitalik 发布新书时便使用了此 SBT,任何人均可捐赠任意金额,并获得一个灵魂绑定的 NFT ,但是新的 Token 标准不仅是缺乏市场上对灵魂绑定的可靠应用,更是其灵魂代币本身还存在强制转移的漏洞。
对于合约技术的老手而言,只需合约钱包 /A3S 协议两个关键词即可理解核心内容但如果对实现细节有兴趣,且同本文一同探索吧。
1、灵魂绑定代币是什么一直以来,自由主义都是 Web3 或者说区块链世界发展蓬勃发展的基石,但是蛮横的自由主义催生的是只有黑客才是 web2 向 web3 转型的最成功的群体。所以如果说真正有价值的 Web3 ,需要怎样的意识形态呢?
Vitalik 认为,Web3 需要以负责任的自由主义作为新的信念基础。所以 SBT 其本质就是将信誉机制引入到了 Web3 当中,使得数字世界能够对账户的信誉进行评价和度量,在去中心化世界里建立声誉、责任和社会资本。
而实现的方式,就是以钱包地址的目标之下,发行不可以转移的 Token,并称之为 Soulbond(灵魂绑定)。
1.1、SBT 的应用场景案例SBT,Soulbond Token(灵魂绑定通证),顾名思义,就是绑定于用户账户或钱包的 Token
,一旦生成则不可交易。可用来代表承诺、资格、从属关系等,类似于履历表作为相应社会关系的一种证明。在 Vitalik 的论文中,把绑定 SBT 的相关账户定义为 Soul(灵魂)。
举例来说,以太坊基金会所绑定的账户(Soul)可以向参加其开发者大会的人发放相应的 SBT,某大学所绑定的账户(Soul)也可以向其毕业生发放代表学位证书的 SBT,等等。
而本文的样例目标,就是由 Vitalik 发布新书时候,将会附带赠送给捐赠地址的 SBT。
1.2、SBT 的最小实现其实无论 ERC20 还是 ERC721 都是通过合约标准中的 transfer 和 SafeTransferFrom 来执行转移功能,因此对 SBT 的最小实现,只需要删除掉 transfer 的代码,让其只有 Mint 时可以修改用户余额表_balances 即可。
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、小结 – 合约钱包模式优缺对比这里概述了核心的 GnosisV1 版本实现逻辑
,其实后来他已经逐步改版成类 Ownbit 的形式,采用持签验签的模式了,主要原因是用发送交易代表提案和投票,有着简单易懂规避了复杂签名计算,且全程线上实现任何时候追溯都有据可查等优势,但是缺点也很显著
一次提案需要多人交易成本高昂
最后投票者 gas 费更高,即成本不平衡
再交易实际逻辑在 data 字段中,难以阅读理解
所以用户利弊成本权衡,最终放弃了交易确认法,让他走向持签验签的模式。
3、SBT 如何在 OpenSea 上售卖?至此已经非常显著了,只需要用合约钱包无论是 Gnosis 还是 Ownbit 的方法,都可以发起捐赠然后领走 NFT
,那转移不了 Token 本身,连着钱包本身一起卖不就可以了么。当然,获得不是终点,我们的目标是还要有合适的方法来拍卖他!从而为 SBT 实现定价
这里就需要使用一种特殊的协议名为:A3S
A3S 协议架构图
他是构建下一代地址标准的多链协议。为地址提供了流动性和可整合性,A3S 使地址能够安全地交易、租赁和托管。因此,他是地址成为可以转移和定价的链上基础设施。
用户从智能合约地址工厂中铸造一个 Commander NFT,它就会自动部署相应的智能合约。智能合约的所有者指向相应的 NFT 持有者。合约可以接收任何类型的链上资产,并且只允许所有者发送资产
,就是将这个智能合约将作为用户与任何区块链 dApp 交互的载体。谁持有这个 NFT,即是拿着这个智能合约的遥控器,如果 NFT 发生了转移,那么智能合约的管理权也发送了转移。
通过此原理最终,我们可以看到出现了一些基于此协议的在 Opensea 上的挂单,当然没啥价格,毕竟钱包地址的交易还不具备较大规模的社会共识。
总结本文概述了 SBT 的理念基石,高度认可 Web3 需要以负责任的自由主义作为新的信念基础,但是新的概念需要周全的考虑智能合约这样的黑暗森林中发出的狙击枪,通过概述链上合约钱包 Gnosis 和 Ownbit 的实现原理,并结合较为前沿的 A3S 钱包地址转移协议,系统的说明 SBT 即使 Token 本身不可转移,也会伴随其地址权限本身的转移,而动摇灵魂绑定的意义。
最后当我收集本文资料的时候,也发现原来已经有类似思路的研究者 5660.eth,将此种 SBT 合约钱包转移给到 Vitalik 的钱包地址,或许可以提醒 V 神以及其以太坊基金会能够对后续 EIp 围绕 SBT 的提案,做更周期的优化,比如检测授予对象是否为合约地址等等。
点击下载
欧易交易所金融投资欧易交易所又称欧易OKX,是世界领先的数字资产交易所,主要面向全球用户提供比特币、莱特币、以太币等数字资产的现货和衍生品交易服务,通过使用区块链技术为全球交易者提供高级金融服务。这是一款非常老牌的数字货币交易平台,平台为我们提供安全、专业的数字货币交易体验,给新手提供完整的流程引导,让你可以轻松的进行上手,同时还有客服24小时在线为你解答疑惑,为你提供最优质的的服务。
-
okb交易所下载(OKB是什么,为什么被市场看好?)
2024-01-12
-
欧意交易所正规吗(醒醒吧别相信这些“交易平台”了…)
2024-01-12
-
欧亿app软件官方(“欧易”喊你迁移账户?最新金融骗局曝光,骗子竟来自东南亚……)
2024-01-12
-
欧yi注册网站(新手在欧易OKEx交易需要注意什么?)
2024-01-12
-
欧意交易平台怎么操作(本文解释了欧易OKEx统一账户的三种交易方式)
2024-01-12
-
欧艺okxapp软件官网下载地址(重庆欧艺告诉你黑芝麻饼干的做法)
2024-01-12