菜单

欢迎使用鸭脖娱乐app:Resources为区块链上的所有权编程

2021年5月11日 - 科技

本文摘要:智能合约是一个独有的软件,专门用作管理有价值的数字资产的所有权。

鸭脖app下载官网入口

智能合约是一个独有的软件,专门用作管理有价值的数字资产的所有权。尽管现有的编程环境可以用来追踪资产的所有权,但它们一般来说用作体现所有权而不是必要定义所有权的场景。智能合约的独有之处在于,它们所代表的价值往往必要反映在它们所确保的状态中。随着区块链的发展,代表所有权的机制也在发展。

比特币是用于由“并未用于的交易输入”或UTXOs定义的所有权模型建构的。虽然UTXO模型十分高效,但它非常复杂,可能会产生一些不奇怪的边缘情况,因此Ethereum使用了一种更加非常简单的分类模型。

当Libra区块链宣告时,环绕该项目的主要兴趣在于Facebook创建的区块链的政治含义,但我们这些深入研究技术细节的人找到了一些十分有意思的新点子。特别是在是,Libra团队为他们的MoveVM定义了一个新的编程模型,该模型是环绕着一个新的所有权模型(不受Linear Types:Resources灵感)定义的。

Resources是在编程语言中必要回应资产所有权的一种新方法。工程师常常用“所有权”这个词来比喻追踪哪个代码负责管理某种数据结构或系统Resources。这种比喻在编程环境中最少见,在这种环境中,内存管理并没几乎从程序员那里抽象化出来,说道代码“享有”一个对象,意思是说道代码必需管理和获释分配给该对象的内存。

Resources拓展了这个点子,因此我们可以利用以前编程语言中的一些管理隐喻“所有权”的机制,并用于它来管理本地数字资产的确实所有权。Move的关键特性是定义自定义Resources类型的能力。

脖娱乐ios

例如,只有加密猫的主人可以启动选育操作者,从而造成新的猫的问世。为什么Resources很最重要?正如在章节中提及的,智能合约是唯一合适管理有价值资产所有权的,但大多数编程语言——甚至是那些专门为智能合约设计的编程语言——都没任何本地抽象化来管理所有权。在协议级别上包括这样的抽象化似乎是一个极大的胜利。但是用于Resources还有其他一些次要的益处,每一个都是十分最重要的:州租金可拓展的智能合约平台必须某种方式来缴纳“州租金”,这样存储在区块链上的数据要么必须缴纳费用,要么从工作集中于移除。

根据分类账模型,很难告诉谁应当缴纳这笔租金。例如,加密猫合约代表了数以万计的玩家,享有近200万只小猫和多达111Mb的链上数据。以太坊没办法公平缴纳租金给所有这些猫主人。用于通过Resources类型的必要所有权模型,每只小猫将存储在其所有者的帐户内,以及该人的其他资产。

谁必须为存储缴纳费用的责任是具体的。更加最重要的是,个人用户(在他们的客户端软件的帮助下)可以副本并未用于的资产,以增加他们的成本和增加网络上的阻抗。灵活性所有权用于分类账模型展开所有权容许了能用的所有者关系的种类。

例如,ERC-721为NFTs定义了一个所有权模型,该模型假设只有以太坊地址才能享有NFT。然而,在某些用例中,资产本身享有其他资产(比如加密猫享有一副可爱的太阳镜)的点子十分有意思,必须创立一个新的规范(ERC-998)。

ERC-998是十分强劲的,但它也比ERC-721简单得多。正确地实行它是十分艰难的,并且追溯到性地将它的特性应用于到现有的ERC-721资产实质上是不有可能的。必要所有权模型容许任何用于Resources类型建模的资产被安全性地存储在系统中的任何地方,还包括在必要的情况下“内部”其他资产。

运营时系统可以确保所有的安全性和价值确保,同时为开发人员获释创造性的灵活性,网卓新闻网,而会带给不必要的复杂性。基于能力的安全性Resources类型获取了构建基于能力的安全性模型的“功能”概念所需的所有确保。能力是定义安全性系统的一个强劲机制,并且可以使遵循大于特权原则(安全性系统中少见的最佳实践中)显得更容易得多。

脖娱乐ios

基于能力的安全性模型一般来说被指出更容易推理小说(这提升了安全性),同时容许更大的灵活性。避免交接性缺失以太坊历史上最知名的智能合约漏洞源自可交接性问题,可信的开发人员必须大大提高警惕,避免引进易受可交接性反击的逻辑流。

幸运地的是,在Resource对象上定义的方法无法沦为任何交接的受害者。这或许是一个大胆的主张!然而,从如何定义Resource就可以很大自然地得出结论这样的结论:每个Resource都有一个分开的所有者,并且只有Resource的所有者可以调用它上的方法。如果Resources方法是“在堆栈上”,那么我们就告诉对该对象的单一所有权提到早已在用于了;对于我们从该方法内部调用的任何代码——无论多么间接地——都不有可能取得对该对象的第二个提到来展开可交接的方法调用。当然,必要用于全局分享状态(跨过Resources对象的用于)依然可以创立易受轻进错误影响的代码。

这就是为什么惯用的Cadence风格是为所有分享状态用于Resources的原因;亲吻Resources的智能契约作者很久不必考虑到可交接性漏洞了!Flow的编程语言Cadence用于Resources去年,Flow研发团队在对更加智能的契约语言展开学术研究后,调查了区块链环境下线性类型的用于。完全在刚好,Libra团队公布了他们的可行性声明,还包括MoveVM的技术细节。我们对Resources类型的力量深感愤慨,它是Cadence的定义特性之一,Flow的智能合约编程语言。

Resources关卡了比EVM或WASM更加非常丰富的可人组选项,并且非常适合数字资产(特别是在是NFTs!)Cadence有一个舒适度的,符合人体工程学的语法,使它很更容易读者。它用于一个强劲的静态类型系统来最小化运营时错误,并容许所有的方法、模块和交易都包括实条件和后条件来强迫构建预期的不道德。

我们指出,这将造成一种语言更容易自学,更容易审核,并最后比任何现有的替代方案更加有效率。

本文关键词:鸭脖app下载官网入口,脖娱乐ios,欢迎使用鸭脖娱乐app

本文来源:鸭脖app下载官网入口-www.djxdw.com

相关文章

网站地图xml地图