撰文:TypusFinance
前言
当我们建立Typus时,我们经常被问到「为什么使用Move语言?」或「为什么选择Sui?」。这篇深度探索希望向大家阐述Move语言和SuiMove语言的一些核心概念,从而解释为何我们认为Sui是部属DeFi的最佳选择。我们希望这篇文章能提供开发人员或其他项目方一些洞见。
在我们正式谈论SuiMove之前,先来了解原始的Diem-styleMove语言。
第一部分:为何在Move上建设DeFi?
Move语言是为DeFi而生
Move最初是由Facebook为Diem区块链开发的,旨在打造一个全球金融基础设施,以支援数十亿用户。
Move设计初衷是成为一种用于操作数位资产(digitalassets)的语言。它必须能够以精确、易懂和可验证的方式来阐述Libra货币和治理规则。
长远来看,Move必须可以将各种资产及对应的商业逻辑代码化,从而建立金融基础设施。
Move的解决方案是「头等资源(first-classresources)」——将资产视为程式语言界的头等公民。用户可以通过资源(resource)的四种不同能力来轻松定义和操作数位资产:
1.复制(copy)
2.索引(key)
3.丢弃(drop)
4.储存(store)
为了打造强大且可拓展的DeFi生态系统,我们需要从程式语言的三个方面来提供支援:
1.数字资产的稀缺性
2.强制存取控制
3.资产安全性
1.数字资产的稀缺性
稀缺性是有价值的实物资产的重要属性,但数位资产本身没有内建稀缺性的特质。因此,我们必须通过程式来强制为数位资产赋予稀缺性。
也就是说,资产供给量不应是无限的。程式设计上,必须可以防止人们复制资产,并且应该要把创建新资产设为一种特权。
国务院办公厅卢向东:区块链等新技术与政府业务深入融合:10月12日,第三届数字中国建设峰会数字政府分论坛在福州召开。国务院办公厅电子政务办公室主任卢向东表示,党中央、国务院作出推进数字政府建设的重要决策部署,意义重大,影响深远。目前推进数字政府建设已经具备良好的支撑条件。当前,5G网络覆盖范围不断拓展,云计算统筹优化基础设施资源,物联网、大数据、人工智能、区块链等新技术与政府业务深入融合,新一代信息技术为数字政府建设提供了强有力的技术保障。(经济参考报)[2020/10/15]
为实现稀缺性,Move规定资产永远不能被复制或丢弃,只能在不同的储存场所之间移动。
Move如何实现这一点呢?
Move有一个类型系统(typesystem),由字节代码验证器来强制执行。当开发人员将Move字节代码发布到区块链时,该系统将可以用来防范资产价值整个失控。
重复使用——如果我编写了一段以硬币作为某函数的输入项,然后再编写另一段代码,试图复制该硬币,那么类型系统将会纠错,并回传错误。
双重支付——如果我拥有一枚硬币,并尝试将其传递给某个接受硬币作为付款的函数,它会防止同一枚硬币被重复传递。
销毁——如果我有一些以硬币作为输入项的函数,那么我不应该有能力去重新指定该硬币的存量,因为凭空让硬币的存量减少代表有硬币被丢弃。
声音 | 国家医疗保障局副局长:国家医疗保障局将深入研究引入5G和区块链等先进技术:11月24日,全国医保电子凭证发布式在山东省济南市举行。国家医疗保障局副局长施子海表示,国家医疗保障局将不断探索创新,深入研究引入5G和区块链等先进技术,加快完善电子凭证功能和推广应用,推进医保治理体系和治理能力现代化,提升为民服务质量和水平,让更多便民举措更加广泛地惠及人民群众。(第一财经)[2019/11/24]
上述设定都是为了让数位资产的特性类似于实体资产。使用Move,开发人员可以通过上述设计来让数位资产满足资产该有的特性。
2.強制存取控制
在Solidity中,数据集中储存在合约里。当合约中存在漏洞时,一旦骇客获得合约权限,所有用户数据都会受到攻击。
Move开发团队认为数据应该储存在拥有者的账户中,而不是储存在合约中。在Move中,有模组的概念,模组可以是一个程式库,也可以是一个允许创建、储存或转移资产的程序。类似于以太坊中的合约,但更像是一间采用物件导向程式语言的银行。
Move限定只有公共模组可以被其他模组调动。同样,结构中的栏位只能在其模组内访问和更改。每个资源都储存在由所有者账户控制的模组中。
该功能让所有权资讯和数位资产的特殊权限得以在智能合约下被维护。即使某个数位资产被发送到智能合约,该资产的所有权也不会改变。
更直白的例子是,如果骇客获得了Move智能合约的访问权限,他/她也无法将资产提取到自己的钱包中。
3.资产安全
DeFi的安全风险越来越令人担忧,我们屡屡听到造成超过1亿美元损失的骇客攻击。据SlowMist统计,2022年上半年就发生了约100起DeFi安全事件,损失超过16.3亿美元,其中项目缺陷和合约漏洞是常见原因。
声音 | 中国科学院院士王小云:密码技术将深入融合5G、区块链、人工智能等数字经济领域:据中国国际贸易促进委员会四川省委员会官网消息,7月29日,第四届中国网络与信息安全大会在成都隆重召开。中国科学院院士王小云在题为《密码技术与数字经济高质量发展》的报告中指出,目前我国及世界已经进入到大数据应用和数字经济高速发展的新时期,但是信息的恶意获取、篡改、伪造和滥用,使得数字经济的安全问题日趋严重。而密码技术作为保障数字经济高质量发展的一个重要技术手段,将深入融合5G、区块链、人工智能、卫星性、物联网、智慧城市等众多数字经济领域,助推智慧社会高速发展。[2019/7/31]
作为一种专注于金融场景的语言,Move从Solidity可能存在的安全漏洞中获得了经验教训,并高度重视「智能合约安全和正确性」。
字节码验证器(bytecodeverifier)
Move的字节码验证器可以在执行每个字节码程序之前检查它们,防止许多常见的漏洞。安全预防措施由验证器强制执行,开发者不能绕过编译器,直接使用字节码编写代码。它在代码被发布到区块链时直接强制执行。
先前提到的资产稀缺性功能是通过字节码验证器实现的,它可以预设强制执行稀缺性。开发者依赖语言的强大支援,确保代码中的不变性,无论攻击者尝试什么都不会改变其代码特性。
第二部分:为何在Sui上建设DeFi?
我们已经解释完为何我们认为Move对DeFi而言是最佳的开发语言,接下来让我们谈谈为什么我们优先选择在Sui上部属我们的项目。
这个决策背后的三大支柱是:
1.共识机制——释放验证者和共识资源,让区块链更有余裕处理DeFi交易。
2.平行协议——没有上限的横向可扩展性,以满足DeFi的需求。
3.存储基金的代币经济学设计——为DeFi应用提供更具资本效率的模型,以将数据储存在链上。
1.共识机制
Sui的共识机制和处理简单/复合交易的能力被认为是其最有价值的创新,也是提供更稳定的DeFi交易环境的关键。Sui的共识取决于为两种物件设定——自有物件和共享物件。
动态 | SAP与苏宁将在区块链等领域开展深入研究:在“第9届中德经济技术合作论坛”上,中国国务院总理李克强与德国总理默克尔,共同见证了SAP与苏宁控股集团的战略合作签约。根据合作协议,未来,双方将联合开展技术创新和行业实践,在人工智能、机器学习、区块链、物联网等领域开展课题研究,共同促进数字经济发展。[2018/7/10]
自有物件对应简单交易
在Sui上,自有物件是由单个地址拥有的,例如代币或NFT。这种场景包括像P2P代币转移、大量铸造NFT、投票、在dApp上发送消息等简单交易。
对于简单交易,Sui使用了一种称为拜占庭一致广播的演算法,这是一种比传统共识方法更简单的演算法,可以消除过多的开销。Sui指出,它「针对单写物件进行优化,允许放弃共识的这种设计以处理简单交易」。
因为验证者不需要像传统共识一样相互沟通,所以这种演算法让简单交易只需消耗比较少的运算资源。
共享物件对应复合交易
在Sui上,共享物件是没有特定所有者的物件,任何人都可以读取或写入。这些场景主要包括像自动化造市、开放大众竞标的拍卖或接受任意交易的中央限价单簿等复杂的DeFi交易。
在复杂交易方面,Sui采用了Narwhal-Bullshark共识引擎。这个机制有两个主要组件:Narwhal和Bullshark。
将Narwhal比喻成一个管家,它会将待处理的交易打包成一个无人领导的图并标记为「集(collection)」。整个图形结构允许系统在每一轮中插入交易。最后会生成证书,用以证明各轮次每个?集」当中的资料的可用性。
英国金融监管机构发出承诺 将对新兴的ICO市场进行深入审查:金融市场行为监管局周五表示,将对ICO市场进行审查,以此作为更多监管行动的前奏。它已经告诫消费者与投资ICO有关的“非常高的风险”。“在初始投币(ICO)市场上,FCA将收集进一步的证据,并对快速发展进行更深入的研究。调查结果将有助于确定在9月份发布的消费者警告之外是否需要在这方面进一步采取监管行动。“FCA在一份声明中表示。[2017/12/15]
透过Narwhal,交易被建立成一个有向无环图(directedacyclicgraph,DAG),就像一个档案树,其中活动的顺序以图形方式呈现。
Bullshark优化了Narwhal提供的DAG结构,着重于减少网络验证者之间的通讯开销。
原始的Narwhal和Tusk论文指出,当Narwhal和Tusk一起使用时,它们可以实现「每秒160,000笔交易,延迟约3秒钟」的效果。
当YugaLabs的OthersideNFT推出时,它曾一度使以太坊网路出现问题。它是史上最大的NFT发行之一,数量是其他NFT项目的好几倍。根据用于进行此次发行的gas数据,需求远远超出了所有人的预期。这次发行的规模非常大,最终导致Etherscan网站无法正常运行。
在Solana上发生过更糟糕的情况,由于大量NFT的创建导致网络断线好几次。
透过这种共识机制,Sui的验证者不会像以太坊或Solana那样面临运算压力。像NFT大量铸造等交易被分离出来,把它们与DeFi活动相关的交易区隔开来,因此不需要共识,释放了验证者和共识资源,为DeFi提供了一个不那么拥挤、稳定的环境,以处理和部署DeFi交易。
2.平行协议
EVM的主要限制之一是交易必须依序执行——一次只能执行一笔交易,其他交易必须等待其完成执行。这个模型可能有潜在的有趣用途,但缺乏可扩展性和效率。
平行执行指的是识别独立的交易,并同时执行它们。然后,按照执行顺序来对相依交易进行排序并将其序列化。平行处理的概念很简单,但其困难点通常在于识别交易之间的相依关系。
Sui利用Move的所有权类型和其自身的物件中心数据模型,明确识别交易之间的相依关系。由于Sui上的物件代表可共享的资产,因此可以通过检查交易是否使用相同的物件来识别相依关系。
正如前面在共识机制段落中所解释的,拜占庭一致广播理论上允许Sui水平扩展以满足应用需求,同时保持每笔交易极低的运营成本。
这种设计突破了现有区块链的一个关键瓶颈——它消除了在一系列交易的总排序列表上达成全局共识的需求。
3.存储基金的代币经济学设计
在区块链上,写入资料和读取资料之间需要承担财务成本,这是一个具有挑战性的问题。以以太坊为例,写入1MB的数据成本可能高达数万至数十万美元。区块链存储的市场机制还没有成熟的解决方案,所以它急需一种可行的商业模式。验证者需要储存大量数据才能运营区块链网路,通常这些成本将会被转嫁给终端用户。
存储的问题在于时间,这是经济学家所称的外部性(externality)。在其他的一些区块链上,旧用户没有将存储成本内部化,导致新用户间接要为旧用户先前存放的数据买单。因此,Sui提出了存储基金代币经济模型来解决这一问题。
举例而言,Alice从Sui网络刚开始使用时,链上储存的数据量不大,她可以享受较低的gas费用。而Bob等到Sui网络成熟后才开始使用,由于此时链上储存的数据量较大,他被迫支付较高的gas费用。
Sui的代币经济模型旨在永久解决存储成本的问题。当用户在Sui上进行交易时,他们要提前支付计算和存储的费用。存储费用会存入一个存储基金,用于调整未来奖励给予验证者和委托人的份额。
存储基金是由过去的交易所资助的,并作为在不同时期转移gas费用的工具。它包括删除的这个选项——当用户删除先前储存的链上数据时,用户可以获得退款。这鼓励用户不停思考自己在链上储存的数据是否有必要继续储存。
租赁模型通过按期支付结构来让用户支付存储费用,这种设计有利于那些打算在Sui上部署的项目。它引入了一个市场机制,让用户依照经济效益去决定是否释放存储空间。具体来说,DeFi协议可以删除过去已经结束的拍卖纪录,NFT协议可以删除不再使用的NFT元数据等。
总而言之
资产导向的程式设计使得Move语言很自然地成为部署DeFi项目的好选择。技术逻辑方面的各种设计,如存取控制、形式验证等,为去中心化资产的安全提供了多重保障。
资产和所有权是智能合约的基础和DeFi的关键支柱,但现有的其他程式语言没有办法很好地描绘它们。Move是第一种解决这个问题的智能合约语言。
SuiMove不仅利用了Move的所有权/资产导向程式设计,其基于物件的资料模型设定也为其锦上添花。根据设计,Sui验证者可以有效地无限扩展网路吞吐量,以满足开发者的需求。Sui的可扩展性不仅限于交易处理。储存也是低成本和水平可扩展的。
通过Move和SuiMove的组合,Typus相信我们选择了一个出色的基础设施来定义和建构一个链上DeFi原语,从而实现即时和低延迟的交易。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。