内容简介:在今天的Web3峰会上,前以太坊联合创始人,现Polkadot(波卡)链创始人Gavin Wood通过一台全新的Mac电脑,在15分钟内开发了一条全新的区块链,可谓惊艳四座。而其用到的,正是被Parity公司称为Substrate的一种技术方案。如果你关注Polkadot的开发进展,你可能会多次看到“Substrate”这个词。它是Polkadot项目的重要组成部分,但网络上有关它的信息,是非常有限的。它并没有出现在Polkadot的白皮书或者黄皮书当中,而关于它的规范说明书正在不断地被修改和完善。从较高
在今天的Web3峰会上,前以太坊联合创始人,现Polkadot(波卡)链创始人Gavin Wood通过一台全新的Mac电脑,在15分钟内开发了一条全新的区块链,可谓惊艳四座。而其用到的,正是被Parity公司称为Substrate的一种技术方案。
如果你关注Polkadot的开发进展,你可能会多次看到“Substrate”这个词。它是Polkadot项目的重要组成部分,但网络上有关它的信息,是非常有限的。它并没有出现在Polkadot的白皮书或者黄皮书当中,而关于它的规范说明书正在不断地被修改和完善。从较高的层面上来看,Substrate是用于创建密码货币和其它去中心化系统的一种新框架。
根据Parity Technologies公司软件开发者Jack Fransham 撰写的《 什么是Substrate? 》这篇文章,我们可以得到以下这些信息:
虽然Polkadot是使用Substrate构建的,但Substrate并不只属于Polkadot,任何项目方或个体都可以通过Substrate来构建自己的区块链,这不需要等待Polkadot的完成,你甚至无需发布概念验证,就可以开始使用该框架来开发区块链。而等到Polkadot主网上线之后,这些通过Substrate构建的区块链,都可以无缝地和Polkadot链进行交互。
那Substrate到底属于什么呢?你可以将其视为Express应用程序框架,或者另一个Web应用框架,但它是用于构建分布式或去中心化系统的(例如密码货币或消息总线(Message Bus))。正如大多数Web应用不需要重新实现自己的HTTP版本一样,Polkadot团队认为,大家都从头开始构建网络和共识代码,是一件非常浪费精力的事。如果你想使用Substrate来构建一个新项目,你所要做的,就是在你的代码中实施非常少量的hooks函数,然后你就可以免费获得:
- 共识,终结性和区块投票逻辑。即使你并不是在构建一个密码货币,这也是可取的,这意味着你可以免费获得拜占庭容错共识。因此,即使系统中的部分节点被攻破了,或者转为了恶意节点,系统也能够继续正常工作;
- 一个高效的、确定性的沙盒WebAssembly runtime(应用的运行环境),它可用于运行智能合约,甚至运行其它基于Substrate的项目。你不需要使用WebAssembly,当然,你也可以编写自己的虚拟机解释器,但Polkadot团队坚信使用WebAssembly runtime的好处,这样做你就可以利用全球开发社区为其创建的各种工具;
- 能够在浏览器中无缝运行节点,它可与任何桌面或云节点进行通信;
- 跨平台的数据库和文件存储抽象,甚至它可以在浏览器中运作;
- 无缝客户端更新,任何可能影响共识的更新,都是通过将代码编译到WebAssembly,并将其部署为网络上的另一条消息来处理的。不仅如此,你还可以存储自己希望的多版本的共识代码,并且Substrate将处理相关复杂性,确保正在执行的本机代码与当前部署的WebAssembly代码保持一致。
- 当Polkadot网络正式上线时,你可以立即将自己的项目与Polkadot网络无缝对接……
而对于私密交易的区块链实现而言,想要通过Substrate框架进行构建可能会更复杂。此外,截至目前,该技术方案的很多技术名称都没有定稿,所以你会在不同的地方看到不同版本的说法。但这里有一些简单的关于你需要实现什么,才能启动并运行一个完整的区块链:
(1)、一个根据前一区块头来创建新等待区块的函数,这个区块头包含:
- 区块高度;
- 对区块状态的”加密承诺“,这对于验证区块是否正确的轻客户端而言,是非常重要的。加密承诺与哈希具有相同的作用,你无法在不使承诺失效的情况下更改状态;
- 对区块体内所有外在因素的加密承诺,防止外在因素被改变;
- 区块的父级哈希值;
- 一些额外的任意数据,这类数据的一个用例是用于客户端更新,因为轻客户端仅同步区块头信息,如果要更新它们,就不能以一种外部的方式实现更新,否则轻客户端就不会接受它们;
(2)、一种将外部数据(例如交易)添加到等待区块的函数。它也会更新链的状态(例如,账户余额); (3)、获取等待区块,并从中生成完成区块(finished block)的函数,然后这些完成区块,就可以在整个网络中得到传播; (4)、执行现有区块的一个函数,它是由全节点来负责运行的,它可以确认接收到的区块,在被接受之前是有效的。例如,在一个价值链中,你可以检查没有人尝试转移超过其余额的资金。
而这种设计的其中一个缺点在于,你必须手动确保在创建区块时完成状态转换,以及在执行现有区块同步时 完成状态转换。如果你不这样做,你可能会遇到共识问题!而在未来,这可能会发生一些变化,但在当前的实践当中,这不会是一个很大的问题,因为你可能会把外部执行委托给一个公共函数;
此外,你需要提供一个验证者集。这覆盖了权威证明(proof-of-authority)、权益证明(POS)以及委托权益证明(DPOS)链,但目前Polkadot团队无意在Substrate框架当中支持工作量证明(POW)链。
(Substrate简短规范,来源:https://www.parity.io/substrate/)
而从以上这些信息,我们不难看出,Polkadot团队是希望通过Substrate技术框架来为其跨链大业进行铺垫的,类似的跨链项目Cosmos也有这种设计,而Substrate的作用,类似于以太坊当前的ERC-20通证标准,只不过以前是人人发币,以后便是人人发链。
更多的资料:
Video: Gavin Wood presenting Substrate at Event Horizon 2018 Video: Rob Habermeier presenting Substrate at Truebit's Berlin meetup
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 学会Python+Selenium,分分钟搭建Web自动化框架!
- SpringBoot系列(八)分分钟学会Springboot多种解决跨域方式
- IBM 警告,量子计算机可分分钟破解现有的加密技术
- 神奇!零基础分分钟玩转AI,华为云ModelArts全体验
- 优步大数据平台处理100多PB数据却只有分分钟延迟!
- 人人都是女装大佬??Snapchat的性别交换滤镜分分钟会被玩坏!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Inside Larry's and Sergey's Brain
Richard Brandt / Portfolio / 17 Sep 2009 / USD 24.95
You’ve used their products. You’ve heard about their skyrocketing wealth and “don’t be evil” business motto. But how much do you really know about Google’s founders, Larry Page and Sergey Brin? Inside......一起来看看 《Inside Larry's and Sergey's Brain》 这本书的介绍吧!