
一种转移并在 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 的提案,做更周期的优化,比如检测授予对象是否为合约地址等等。
比推快讯
更多 >>- AguilaTrades 多单仓位降至 1 亿美元,近一个月亏损达 3226 万美元
- 伊朗议会批准关闭霍尔木兹海峡,比特币短时跌超 1%
- 赵长鹏:你无法赚到认知以外的钱,了解加密货币
- 美联储 7 月维持利率不变的概率为 89.7%
- Flap 平台宣布设立双轨计划支持 BROCCOLI(F2B)CTO 基金会
- 数据:Jupiter 平台交易总额已逾 1 万亿美元
- Michael Saylor 再次发布比特币 Tracker 信息,或暗示再次增持 BTC
- Abraxas Capital 于 25 分钟前向 Aave 还款 1.008 亿枚 USDT
- 京东集团副总裁:提议香港针对离岸人民币开发稳定币,在国际货币竞争占有一席之地
- 数据:AguilaTrades 持有的 20 倍比特币多头仓位浮亏超 1000 万美元
- 分析:BTC 未受美国介入伊以冲突影响,短时下跌后逆转势头增强
- Digital Shield 圆满收官韩国 Nexus2140
- Binance:不低于 247 Alpha 积分的用户可申领第一阶段 BULLA 空投
- 数据:与“czsamsunsb.eth”关联地址向币安存入 12606 枚 ETH
- 山寨币季节指数降至 15
- 数据:7 亿枚 USDT 从 Aave 转移到 HTX
- 吴杰庄:稳定币在香港发展空间大,但散户投资时应保持谨慎
- 某以太坊 ICO 参与者 5 小时前向 Kraken 存入 7500 枚 ETH
- Metaplanet CEO:在不确定的时期,比特币是安全的避风港
- 美国袭击伊朗核设施后,中东股市全线高开,以色列股指创历史新高
- James Wynn:增持空单,BTC 短期目标 9.3 到 9.5 万美元
- 以色列股市高开,基准 TA-125 指数创下历史新高
- 香港财政司长陈茂波:Web3 企业在香港买楼租楼需求将持续增长
- Humanity Protocol 已于 6 月 21 日完成测试网快照,首批 Fairdrop 空投资格公布
- 某 BTC 鲸鱼于 6 小时前卖出 400 枚 BTC,仍持有 3100 枚 BTC
- Santiment:轰炸事件标志局势升级,比特币价格稳定或因正值美国周末夜间时段
- Binance Alpha 昨日交易量达 6.12 亿美元,BR、AB、KOGE 分列前三
- 以色列国防军:伊朗已经开始发动“报复性袭击”
- 伊朗外长:保留捍卫主权的一切选择
- 加密恐慌指数回落至 40,市场陷入恐慌
- Bitwise CEO:比特币真正对手是美债而非黄金
- 法国议员邀请 Jan3 创始人探讨“战略比特币储备”
- 数据:今日恐贪指数降至 42,市场转变为“恐惧状态”
- World 基金会向早期小程序开发者发放 100 万枚 WLD 追溯奖励
- 数据:交易员 0xcB92 的 ETH 空头仓位现浮盈 2145 万美元
- 萨尔瓦多近 7 日共增持 8 枚 BTC,总持仓达 6215.18 枚
- 美民主党议员呼吁弹劾特朗普
- 伊朗最高领袖“顾问”:伊朗应袭击美军舰队 并关闭霍尔木兹海峡
- 24 小时现货资金流入/流出榜:BTC 净流出 2.27 亿美元,ETH 净流出 1.51 亿美元
- ETH 质押数量创新高,锁定超过 3500 万枚
- 过去 7 小时三个巨鲸地址累计在链上抛售 5657 枚 ETH
- 特朗普:如果未来没有实现和平,将会精准打击其他目标
- 特朗普:本次目的在于解除伊朗核威胁,若不能实现和平未来冲突将加剧
- Abraxas Capital 的空头仓位已浮盈 8760 万美元
- 分析:零售情绪转差可能对比特币有利
- 某巨鲸/机构自 6 月 16 日起做空包括 BTC 和 ETH 在内的 58 个标的,目前浮盈 2065 万美元
- 前 OpenAI CTO 的 AI 初创公司以 100 亿美元估值筹资 20 亿美元
- 某做空 BTC 的巨鲸交易员仍持有 1 亿美元空单仓位,浮盈 574 万美元
- ETH/BTC 汇率在美军轰炸伊朗事件中暴跌超 6%
- CNN:美方目前暂无进一步军事打击计划
比推专栏
更多 >>观点
比推热门文章
- 伊朗议会批准关闭霍尔木兹海峡,比特币短时跌超 1%
- 赵长鹏:你无法赚到认知以外的钱,了解加密货币
- 美联储 7 月维持利率不变的概率为 89.7%
- Flap 平台宣布设立双轨计划支持 BROCCOLI(F2B)CTO 基金会
- 数据:Jupiter 平台交易总额已逾 1 万亿美元
- Michael Saylor 再次发布比特币 Tracker 信息,或暗示再次增持 BTC
- Abraxas Capital 于 25 分钟前向 Aave 还款 1.008 亿枚 USDT
- 京东集团副总裁:提议香港针对离岸人民币开发稳定币,在国际货币竞争占有一席之地
- 数据:AguilaTrades 持有的 20 倍比特币多头仓位浮亏超 1000 万美元
- 分析:BTC 未受美国介入伊以冲突影响,短时下跌后逆转势头增强