LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 學习 || 从比特币和以太坊编程模型中学到的教训

學习 || 从比特币和以太坊编程模型中学到的教训

2019-12-10 好葉 来源:区块链网络

大家好,我是好葉(ye)。

放眼过去,机会满满;展望未来,无从下手。好葉陪您一起学习。

“编程”的图片搜索结果

对单元模型如何结合两者优势的简单解释:

通过分层架构,可以创建负担得起的通用基础架构,我认为,这是区块链驱动的世界唯一可行的未来。


通过我的工作,我已经意识到,人们难以理解Cell Model的想法。本文试图以一种简化的方式解释Cell模型,以便大多数人可以访问它。


首先,重要的是从比特币开始,从历史出发。比特币被称为点对点电子支付系统,它使用一种称为UTXO的编程模型。


想到UTXO的最简单方法是将其作为盒子。(是的,不是分类帐,而是一个框。)该框包含一个表示某些货币值的数字,并具有锁。只有拥有相应钥匙的人才能打开盒子。进行转帐时,拥有钥匙的所有者/人使用钥匙来解锁锁,找到另一个空盒子,将新的面额放入新的盒子中,并附加新的所有者的锁。


比特币的工作原理就像一个锁着的盒子,里面装有一些钱:一个有钥匙的人可以打开那个盒子并花一些钱。每次取出钱时,旧盒子都会被销毁,需要一个新盒子来存储剩余的钱。

整个交易可以概括为打开盒子,取出里面的钱,破坏原始盒子,然后放入另一个盒子。


总而言之,方框表示存储数据的UTXO模型,锁表示所有权。密码术是一项伟大的发明,将物理世界中的锁概念映射到虚拟世界。


除了UTXO模型之外,还有帐户模型。这种模型最著名的例子是以太坊。除数据外,以太坊账户模型中还有计算逻辑。您可以将ERC20合同视为不是装满钱的盒子,而是一组复杂的逻辑和数字。


与UTXO不同,帐户模型的框始终可以重复使用,并且在使用期内无法打开。制定规则时,会在盒子中写入一组规则,并放置一些按钮,以便人们可以与盒子进行交互。


例如,规则可能是这样的:如果一方要转移资金,则他或她或它需要出示一种形式的身份证明并输入图钉。完成上述步骤后,需要以下信息:转账金额、收件人和其他信息。输入这些信息后,她或他或它需要点击传送按钮以完成传送。

盒子收到信息后,它会从您的金额中扣除您的款项,并将其更改为另一方的帐户,然后更新所有内部数据。那些熟悉编程的人会很快发现,帐户模型类似于现实世界中的面向对象的编程,而按钮的概念类似于API。(我的妻子说帐户模型听起来像是ATM机。她是对的。)


在帐户模型中,此框保存逻辑和数据。将逻辑写入出厂设置后,再也无法更改。仅在需要修改数据时才可以使用外部按钮。每个人的钱都记录在盒子里。要进行交易,只需输入交易信息。该框将处理请求并根据规则更新数据。


在单元模型中,我们也可以将单元视为一个盒子,因为它与UTXO模型非常相似。可以在盒子上执行一些魔术操作,并编写一组规则来指定盒子可以存储的内容。这样,可以使单元内的数据代表金钱和/或资产,例如CryptoKitties。而且,UTXO中的锁是同一类型的。但是在Cell模型中,用户将可以自由更改和使用自定义锁。(您可能会想到简单的挂锁,指纹锁或数字锁)


总体而言,Cell模型在以下两个方面是通用的UTXO模型:第一,锁是可定制的;第二,锁是可定制的,盒子可以存储用户定义的数据。Nervos的CKB具有一个编程模型,该模型结合了比特币编程模型和以太坊编程模型的优势。


某些人可能对Cell Model是先进的含义以及如何使用其编程模型感到好奇。


首先了解区块链系统的发展非常重要。比特币是点对点支付系统的诞生,后来出现了以太坊,一个更通用的去中心化应用平台。区块链的进一步发展导致了各种各样的新项目,并且项目越来越多样化。


由于需要全网络共识的交易和存储价格昂贵,因此,不可避免的是,区块链将采用一种在共识范围内具有灵活性的架构,从而允许它们大规模地进行低成本交易。


两大障碍

继续阻碍区块链发展的一个障碍是可扩展性问题。如果我们不能缓解这一问题,那么区块链功能将受到限制,我们将看不到强大的高级应用程序的开发,这些应用程序可以释放去中心化经济的真正潜力。


可伸缩性是“区块链难题”的一部分,它还包括安全性和去中心化,并指出,区块链系统最多可以具有三难选择的3个性质中的2个。


第二个障碍是交易成本问题。社会整体交易成本的降低是一项技术大规模生存能力的最强有力的指标之一。由于需要网络范围内的共识交易和存储非常昂贵,不可避免的是,区块链将采用允许共识范围内的灵活性架构,从而允许它们大规模地进行低成本交易。


解决方案:分层架构

计算机爱好者知道他们的设备包含复杂的分层体系结构,其中包含内存、硬盘、多层缓存和各种寄存器。这种体系结构允许普通大众以低成本使用,以及可满足不断增长的计算挑战的可扩展功能。


我们可以将相同的设计原理应用于区块链。通过分层架构,可以创建负担得起的通用基础架构,我认为,这是区块链驱动的世界唯一可行的未来。随着闪电网络等离子和状态/支付渠道的兴起,我们已经可以看到这种类型的体系结构及其便利的用例。


在研究这种分层的区块链架构时,重要的是要检查构成区块链系统基础的三个不同数据模型之间的关系:比特币的UTXO模型、账户模型以及我们的贡献单元模型。


验证与计算模型

单元模型是从UTXO模型派生的,因此是验证模型。相反,帐户模型是计算模型。


当资产从第2层返回到第1层时,当前的第2层解决方案(如闪电网络)利用举证提交和验证机制。在第1层扮演验证角色而非计算角色的情况下,我们可以看到UTXO或单元模型是此类构造的正确方法。


解决国家爆炸

当前,以太坊和“下一代”区块链面临州规模不断扩大的艰巨挑战。尽管大规模采用仍遥遥领先,但完整节点的数据存储成本已经很高,并且包括各种僵尸帐户,使情况变得更糟。


使用帐户模型,所有用户的资产都存储在单个合同中。如果没有直接为每个用户划分状态的方法,就很难向每个用户收取他们占用状态的容量和持续时间。


这对州费的实施构成了挑战,目前在以太坊中,交易费是一次性付款,可以永久保存州税。考虑到区块链是公共基础设施,这种模型是不可持续的。我们可以看到,连续支付存储空间租金是一种更为合理的方法。


在单元模型中,每个用户的数字资产分别存储在其各自的单元中。如果用户不想继续持有资产,则可以释放单元中的数据,并可以将存储容量出售或借给其他用户。这种设计可确保第1层不会无限期地存储废弃资产,也为状态存储开辟了新的可能性。


结论

总的来说,很明显,当考虑到存储和验证要求时,单元模型最适合分层区块链架构的需求。




译文来源

https://hackernoon.com/lessons-learned-from-bitcoins-and-ethereum-s-programming-models-f9fdbe1a3fdb


以上,译文不易,感谢您读到最后。

有幸与您一起学习。

您的点评:就是好葉最大反省进步

每日愿景...

1.币乎更新文章一篇(第53篇)

2.跑步3公里(611 km)

3.学习单词10个

4.学习币圈名词解析

—-

编译者/作者:好葉

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...