原文标题:《一种转移并在Os拍卖不可转移灵魂绑定代币的方法》
撰文:十四君
5月初,以太坊创始人Vitalik的灵魂代币SBT论文发表之后,迅速成为整个Web3领域最热门的话题之一,不久前Vitalik发布新书时便使用了此SBT,任何人均可捐赠任意金额,并获得一个灵魂绑定的NFT,但是新的Token标准不仅是缺乏市场上对灵魂绑定的可靠应用,更是其灵魂代币本身还存在强制转移的漏洞。
对于合约技术的老手而言,只需合约钱包/A3S协议两个关键词即可理解核心内容但如果对实现细节有兴趣,且同本文一同探索吧。
1、灵魂绑定代币是什么
一直以来,自由主义都是Web3或者说区块链世界发展蓬勃发展的基石,但是蛮横的自由主义催生的是只有黑客才是web2向web3转型的最成功的群体。所以如果说真正有价值的Web3,需要怎样的意识形态呢?
Vitalik认为,Web3需要以负责任的自由主义作为新的信念基础。所以SBT其本质就是将信誉机制引入到了Web3当中,使得数字世界能够对账户的信誉进行评价和度量,在去中心化世界里建立声誉、责任和社会资本。
郭台铭修正“虚拟货币是假议题”说法:部分虚拟货币会形成一种资产形式:金色财经报道,鸿海创办人郭台铭今天在活动中受访时称虚拟货币是一个假议题,但会后郭台铭即在个人面簿上声明指出,有关虚拟货币的议题,现场说法不完整,为避免误会,特此完整补充说明。虚拟货币市场良莠不齐,仍有极大的投机性,虚拟货币与NFT等提供虚拟世界的交易供需,但下一步还需要和实体世界、实体经济有结合面,才能真正成为融入大众的生活,目前很多人问怎么看待虚拟货币对整体经济与工商业发展,他认为“还不足成为议题”,但“假议题”是过度的说法,在此修正。最后,关于提到货币永远无法去中心化的说法,郭台铭认为,“主流货币金融将无法去中心化,部分虚拟货币会形成一种资产形式,但全球金融是无法被去中心化的方式取代”。(联合早报)[2021/12/5 12:52:18]
而实现的方式,就是以钱包地址的目标之下,发行不可以转移的Token,并称之为Soulbond。
1.1、SBT的应用场景案例
SBT,SoulbondToken,顾名思义,就是绑定于用户账户或钱包的Token,一旦生成则不可交易。可用来代表承诺、资格、从属关系等,类似于履历表作为相应社会关系的一种证明。
声音 | NBA合作伙伴关系副总裁:区块链是球迷与NBA联系的一种新方式:NBA负责合作伙伴关系的副总裁Adrienne O’keeffe和NFL球员协会的法律顾问Sophie Gage参加了一个讨论小组,讨论区块链技术对大品牌的价值。O'Keeffe说:“这是球迷与我们的游戏联系的一种新方式。” Gage表示,这是一个新的增长领域,有许多未开发的潜力。O’keeffe 称,NBA对公共和私有区块链进行了实验,每个区块链都有其优缺点。公共区块链允许更大的自由度和更大的参与度,却以控制为代价。私有区块链可为您提供更大的控制权,但却可以自由交易和参与。(Cointelegraph)[2020/2/22]
在Vitalik的论文中,把绑定SBT的相关账户定义为Soul。
举例来说,以太坊基金会所绑定的账户可以向参加其开发者大会的人发放相应的SBT,某大学所绑定的账户也可以向其毕业生发放代表学位证书的SBT,等等。
而本文的样例目标,就是由Vitalik发布新书时候,将会附带赠送给捐赠地址的SBT。
声音 | 李礼辉:虚拟货币注定不能成为一种大众化支付工具:据新华网报道,中国互联网金融协会区块链研究工作组组长、中国银行原行长李礼辉在接受《白话金融》栏目采访时表示,以比特币为代表的虚拟货币存在投机性太重的问题,所以注定不可能成为一种大众化或者能够进入公共社会生活的支付工具,或者一种所谓的这种货币形态。因为虚拟货币包括比特币在内存在的这样一些问题,所以在全球范围内包括中国出现一些关于虚拟货币炒作行为和投机行为,在这方面认为加强监管是非常必要的。任何一个新技术的应用和发展,在其发展过程中,本身的安全性是需要得到关注的。另外,任何一个新的概念都有可能会被炒作,需要我们特别关注,这才能维护新技术健康、可持续的发展。[2020/1/18]
1.2、SBT的最小实现
其实无论ERC20还是ERC721都是通过合约标准中的transfer和SafeTransferFrom来执行转移功能,因此对SBT的最小实现,只需要删除掉transfer的代码,让其只有Mint时可以修改用户余额表_balances即可。
声音 | 印度前财长:加密货币并不是一种具有内在价值或普遍可接受价值的商品:印度前财政部长Subhash Chandra Garg长期以来一直对加密货币直言不讳,在制定该国加密货币政策草案方面也发挥了重要作用。Garg最近发布了一篇关于加密和数字货币的题为“货币将是数字的;加密货币将无法生存”的新博文。在这个博客里,他不仅讨论了货币的演变,还讨论了加密货币的未来。他写道:“我相信私人加密货币的未来会非常短暂……如果今天的估值接近2000亿美元,加密货币的魔力肯定造就了一些亿万富翁,显然代价是许多人购买了这些实际上毫无价值的代码。” Subhash Chandra Garg指出,加密货币并不是一种具有内在价值或普遍可接受价值的商品。此外,由于加密货币的数量几乎是无限的,按照经济学的逻辑,这些货币毫无价值,因为其供给远远超过需求。他在博客中总结道,只有少数加密货币是为了快速、无成本地进行国际支付,而其他许多加密货币只是为了快速赚钱。Garg承认去中心化分类账技术是“好的创新”,但他声称,将这种技术用于交易目的是一种浪费,而且不能证明私人使用它来创建加密货币是合理的。(AMBCrypto)[2020/1/5]
对标准实现可拓展阅读:你买的NFT到底是什么?
曲率创工场秘书长廖栩:区块链本质上是一种工具:据重庆商报报道,曲率创工场秘书长廖栩被记者问及如何评估区块链项目时表示,简单来说,投资人会从产品及应用场景、市场规模及趋势、用户及价值、推广模式、相对竞争等维度来看。他认为区块链的应用项目本质上还是把区块链作为一种工具,而区块链的本质是通过数学密码学解决人与人之间的价值交互的信任及公平性问题,个人认为核心资产偏数据化的项目会比较容易落地。[2018/4/3]
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使地址能够安全地交易、租赁和托管。因此,他是地址成为可以转移和定价的链上基础设施。
用户从智能合约地址工厂中铸造一个CommanderNFT,它就会自动部署相应的智能合约。智能合约的所有者指向相应的NFT持有者。合约可以接收任何类型的链上资产,并且只允许所有者发送资产,就是将这个智能合约将作为用户与任何区块链dApp交互的载体。
谁持有这个NFT,即是拿着这个智能合约的遥控器,如果NFT发生了转移,那么智能合约的管理权也发送了转移。
通过此原理最终,我们可以看到出现了一些基于此协议的在Opensea上的挂单,当然没啥价格,毕竟钱包地址的交易还不具备较大规模的社会共识。
4、总结
本文概述了SBT的理念基石,高度认可Web3需要以负责任的自由主义作为新的信念基础,但是新的概念需要周全的考虑智能合约这样的黑暗森林中发出的狙击,通过概述链上合约钱包Gnosis和Ownbit的实现原理,并结合较为前沿的A3S钱包地址转移协议,系统的说明SBT即使Token本身不可转移,也会伴随其地址权限本身的转移,而动摇灵魂绑定的意义。
最后当我收集本文资料的时候,也发现原来已经有类似思路的研究者5660.eth,将此种SBT合约钱包转移给到Vitalik的钱包地址,或许可以提醒V神以及其以太坊基金会能够对后续EIp围绕SBT的提案,做更周期的优化,比如检测授予对象是否为合约地址等等。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。