织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

Nervos 谢晗剑:从区块链抽象和互操作性 2.0 理解区块链的最终形态 (2)

时间:2021-03-25 08:57来源:未知 作者:admin 点击:
起初,我们直接在自己的程序内管理硬件资源,后来我们构建了操作系统作为中间层,代理我们处理那些繁重的任务。再往后,我们又实现了硬件虚拟化,

起初,我们直接在自己的程序内管理硬件资源,后来我们构建了操作系统作为中间层,代理我们处理那些繁重的任务。再往后,我们又实现了硬件虚拟化,于是应用可以在云端运行。早期的互联网只有少数几层协议,如 TCP/IP,后来发展出应用层,于是有了 HTTP、FTP 和 SMTP 等。如你所见,抽象的例子比比皆是。

因此,我想说的是,新的抽象是演化的标志,下一代区块链必须比上一代更加抽象。从比特币到以太坊的跨越是初代区块链抽象,同时我相信抽象的进程不会就此终止。如果想要知道后以太坊时代会是什么样子,我们首先应该思考的是,还可以从以太坊中进一步抽象掉什么。

新的抽象

与比特币相比,以太坊的通用智能合约模型是一大进步。若要再进一步抽象,一个方向是基于以太坊智能合约模型创建一个更抽象的模型。如果我们更深入探究以太坊模型,我们会发现该模型融入了很多特定的设计选择,其中比较主要的有:

1.账户地址。用户需要通过 EOA (外部账户)来发起交易。EOA 地址是公钥的 Keccak256 (一个特定的哈希算法)哈希值。
2.发送方身份验证。以太坊使用 Secp256k1 和 Keccak256 这两种特定的密码学算法对交易发送方进行身份认证。要想创建一笔有效的以太坊交易,客户端(如钱包)必须实现 Secp256k1 和 Keccak256 算法以签署该交易。这也导致客户端需要一种安全的方法来管理 Secp256k1 密钥对。
3.密码学原语(作为基础组件使用的一类算法)。为了给开发者提供便利,一些事先选择好的特定密码学原语被硬编码到 EVM (以太坊虚拟机)中作为预编译合约,例如,ECDSA 签名验证和 SHA256 哈希函数。同样的算法,被硬编码到 EVM 中比利用 Solidity 实现要高效得多,前者因此获得实用性。
4.世界状态结构。以太坊的世界状态是一个巨大的 Merkle Patricia Tree (MPT),账户就是叶节点。其中每个账户也以 MPT 的形式维护一个自己内部的键值数据库。MPT 是众多可验证数据结构的选项之一。

对于非技术背景的用户来说,这些设计选择看上去不明所以,但是其重要性不亚于共识算法或经济模型参数的选择。这些选择影响着以太坊的方方面面,就好像对普朗克常数 [4] 进行微调也会给我们的宇宙带来翻天覆地的变化 [5]。构建一个新的去中心化生态就像是创建一个新的宇宙,而这些设计选择就像是这个宇宙中设定好的物理规律。

当时有这些设计选择是为了帮助以太坊实现其初始目标,事后看来它们并非最佳选择。例如,发送方身份验证算法 Secp256k1 对设计者来说可能就是顺手一选,但是在不支持 secp256k1 的环境中 [6] 它带来了不必要的障碍;通过一份小小的白名单内嵌预编译合约的做法,使得大部分广泛使用中的密码学原语被排除在应用之外;状态数据结构中使用的 MPT 也被证明是效率非常低下 [7] 的,不仅加剧 [8] 了状态爆炸问题,还导致了与 IO 相关的 EVM 操作码 [9] 的定价困难,而定价不当可能会引发 DoS 攻击等安全问题。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容