本文是《区块链技术手册》系列的第二篇,目标是为了让读者可以懂得一条链是如何搭建起来的,也可以理解加密货币项目的网络结构。
第二篇选题选择有关TEE,原因是TEE是一个非区块链领域的硬件,但却是我们生活中可用不可知的硬件,例如英特尔2015年后的CPU都有TEE。这样读者可以清楚的感受到网络每个部分的存在,了解到区块链究竟是我们所谓的链、加密货币网络里的哪个部分?
本文内容会相关于3个项目,3个项目都是使用TEE特性的项目,每个项目的网络结构各不相同,但都有明显的分层特征,TEE的性能被这三个网络运用在了网络中的重要部分。文中会对3个网络结构进行解构和对比,希望对比之后,你会清晰的了解到一个加密货币网络的搭建是如何进行的?
另外,《区块链技术手册》系列在后续的篇章中还会继续介绍将其他特征的公链。话不多说,进入今天的正题。
一条链的结构
一条公链,可以称为一个应用开发网络,网络聚集了IT资源,开发者利用资源开发应用,所以网络最基础的部分是通信。
公链在基础通信层之上,会加入共识,因为网络由节点组成,节点间是通过共识协同完成网络任务的。其中会有很多承担不同功能的节点,例如大分类上可以分为全节点、轻节点。
在不同网络中,节点的功能可能会被细分成更多分类,例如共识节点、汇总节点、归档节点等。这些节点都有全节点的功能,但会被加入其他功能的开关。
每个节点都有不同的运行方,所以节点背后是人,这赋予了节点有一定角色意义。这也是加密货币网络被称为人类治理实践的原因,加密货币网络的创建,需要创始团队先建立自己的节点运行网络,然后吸引其他人建立节点加入网络,使网络逐渐健壮,继续成为开发者开发dApp的土地。
金色午报 | 9月25日午间重要动态一览:7:00-12:00关键词:以太坊、稳定币、Tomatos、外滩大会
1. 以太坊宣布启动测试网第一阶段;
2. 稳定币总市值已超200亿美元 投资者在加密市场对冲风险的需求不断增长;
3. Tomatos疑似诱导用户给权限,转走代币;
4. 比特币艺术品Portraits of a Mind10月7日在佳士得拍卖;
5. 外滩大会德勤报告:区块链转账成为菲律宾数字支付市场的黑马;
6.蚂蚁链推出数字商品协作网络?创建数字商品生态联盟;
7. Synthetix启动以太坊二层扩容方案Optimistic测试网;
8. 谷燕西:美国SEC或因监管及市场影响起诉Uniswap;
9. 比特币期现价差今日回升为“乐观”。[2020/9/25]
链的基本原则
无论加密货币网络设计如何,网络都需要节点参与,节点是it资源的来源,还需要保证节点运行稳定。所以大部分节点参与是由代币激励实现的,通过经济收益方式引入节点、保证节点稳定。代币激励也要有“循环”,所以在网络上层,使用者会消耗网络资源,所以需要支付提供资源的费用。例如gas费。
运行原则上最重要的是每个链要有一个总帐本,共识节点负责验证交易形成总帐本,像比特币一样。但如果网络既要保证安全还要高性能的情况下,就不能只有一个网络,要把很多的处理任务分摊出去,否则就会和比特币、PoW的以太坊一样。
这里的原则是为了网络扩容和可拓展性,在验证交易组成总帐本的网络之外还需要多个负责计算的网络,也就是在主链外做很多处理网络交易的节点,这些节点会组成新的网络层,也就会形成分层。
为了扩容和可拓展性的工程实践,目前很多项目都引入了模块化的思维,模块化和分层有同样的意义,分层是纵向的分割,模块化更加深入每一个细节,因为会包含在单独分层内的模块分割。
金色热搜榜:QTUM居于榜首:根据金色财经排行榜数据显示,过去24小时内,QTUM搜索量高居榜首。具体前五名单如下:QTUM、HPT、SYS、IOST、HT。[2020/8/4]
以上的逻辑是加密货币网络生长的基础思路。在这个思维逻辑之上,最难的莫过于网络从0到1。本文会以Oasis、Phala、Crust三个网络的结构和节点搭建解读这件事。
三个使用TEE的加密货币网络
让我们先看一下三个加密货币项目的网络结构。Oasis、Phala、Crust三个项目都有分层的思路,第一步是把共识层先分离出来。
Oasis有一个单独的共识层,共识层由具有稳定信用的企业或组织建立,节点间通信依靠Tendermint算法,确认出块。
Phala也拥有独立的共识层,但设计较为特殊,因为Phala把共识的计算节点称为GateKeeper,GateKeeper的节点设施是具备TEE的,节点间算法使用NPOS。
Crust则把共识层设计的更加复杂一些,因为用了混合共识,共识节点利用TEE硬件搭建,底层使用的是可证明有意义工作量的共识MPoW,目的是在把节点存储文件的证明可信的计算出来。MPoW之上还有一层GPoS共识的共识层,MPoW层的计算结果会上传到GPoS层出块,所以GPoS层负责确认出块,是总帐本的生成层。
三个项目的共识层是这样做的,那接下来共识层之外选择了怎样的设计?
Oasis的架构是共识层加Paratime层,也就是除了共识层外,都是Paratime,理解上Paratime是一个单独的计算节点群,每一个Paratime都可以有自己的特点,这一层负责计算和存储,每个Paratime里会有委员会节点保证将Paratime的元数据上传到共识层。
金色晚报 | 12月12日晚间重要动态一览:12:00-21:00关键词:区块链思维、量子计算、四川大学、国家电网
1. 知情人士:央行法定数字货币试点只是内部测试;
2. 四川大学计算机学院成立区块链研究中心;
3. 波思路以太坊主网测试结果:区块广播时间缩短一半;
4. 国家电网陈春霖:区块链思维是大国竞争的手段;
5. 国务院金融研究所张丽平:中国的数字货币需要在试验性实践中发展;
6. 互联网经济研究院欧阳日辉:央行发行的法定数字货币更多是To B;
7. 北京西城区司法局已开出全国第一份“区块链公证处”;
8. 深圳市政府与腾讯合作利用腾讯云区块链服务保护知识产权;
9. 姚前:量子计算短期不会让区块链和数字货币失去发展意义。[2019/12/12]
这里需要提的是,目前TEE的硬件是可以运用到Paratime里,但Paratime的特点不仅仅局限于TEE,还会包含其他类型的技术特性。
Phala的共识层外,是计算层,这一层由许多并行执行的保密合约组成,也就是具备TEE的计算节点,每个TEE独立与共识层通讯,每个计算节点运行一个pRuntime,这样的设计是把计算下放到矿工,以实现扩容,而Gatekeeper负责计算的安全性。从结构上看,每一个TEE计算节点的pRuntime,和Oasis的Paratime很类似。
Phala的网络结构
Crust除了MPoW、GPoS共识层外,接下来就是计算层和存储层,因为Crust将分布式存储的概念做了主要实现,所以在计算和存储层直接通过类似云服务的产品实现,单独做一层设计也是很合理的,这样与其余两个项目相比,Crust是把计算层和存储层直接产品化了,这个思路从项目背景来看,是想把存储和计算资源市场化的表现。也就可以把这一层做为服务层。
金色相对论 | 江恩:狗狗币创始人曾宣布退出币圈的原因是受不了粉丝的谩骂:在本次金色相对论上,针对狗狗币创始人Jackson Palmer曾宣布暂退币圈的问题,中国狗狗币协会会长江恩表示:对于狗狗币创始人称的币圈有,当时是因为狗狗币价格长期走低,从13年的最高1分五,跌到最低5毫多,很多人一直在骂创始人,所以创始人受不了大量粉丝的漫骂。对于\"温床局\"我是觉得,数字货币确实有非常多的子币,空气币,币,也吸引了很多的投机分子,数字货币目前还处在发展初期,这些都是非常正常的,反而可以看到数字货币的吸引力与魅力,在我看来,数字货币号称是人类的第四次革命一点也不为过,数字货币非常的伟大,确实可以影响到整个人类未来的发展方向。我们一定要开放性思维,自觉维护数字货币里正量能的,去除一些发展过程中带来的瘤。[2019/4/8]
节点背后的角色属性
理解了设计总结构,接下来的解构主要是节点类别,前文我们提到,节点都有角色属性,节点背后是人,当节点组成网络,网络就会因为人的因素而存在一些表象,比特币以太坊都是如此,因为PoW挖矿让很多PoW网络已经远远超过稳定阈值,表现稳定,此外,历史上的PoS实验虽不足以称之为成功,但维持网络稳定运作是绰绰有余的。先从0到1之后,才有其他可能。
对于公链团队来说,搞定节点背后的人,就可以让网络稳定,慢慢从0到1。接下来就让我们看看,这三个项目的网络都由哪些节点?如何参与?
不同节点代表不同角色
Oasis的节点会分为:共识节点、Paratime节点,其中共识节点需要运行Tendermint?Core以及OasisCore。节点可以在本地部署,也可以部署在服务器。
具体操作流程可参阅
https://docs.Oasis.dev/general/run-a-node/set-up-your-node/run-validator
金色财经现场报道 Tokenbook中国区CEO邢浩:观望是最大的风险 ALL IN就有机会:金色财经现场报道,在2018全球区块链精英峰会上,Tokenbook中国区CEO邢浩进行以《区块链行业现状与机遇》为题的演讲,他指出:区块链行业三个发展阶段呈现以下重要特征,首先是以前的“区块链”,以积分的形式展现;其次是当前的区块链,即数字资产的形态;未来则是区块链+应用的形式。区块链项目发展有五步:项目创立、社群管理、Token分发、上线交易所、落地应用。2018年将成为区块链落地应用的元年。在整个区块链行业发展过程中,数字资产交易所、区块链项目、技术开发、行业服务商、行业媒体、投资机构共同构成区块链行业生态圈。当前的区块链项目方与用户存在多重困惑,从用户层面看来,用户缺乏及时获取项目咨询的有效通道;从项目方层面看,缺少边界有效获取用户的通道。观望是最大的风险,ALL IN就有机会。[2018/4/28]
Paratime层的节点是需要运行Runtime客户端,节点聚集成网,互相协作,其中会有一个委员会节点负责将所有的元数据发送给共识层。而当这个Paratime是具备TEE的,会通过协议控制方式控制TEE,使用TEE做远程认证和执行调用。
Oasis的网络结构
Phala的网络则分为GateKeeper、全节点,网络分为共识层和计算层就可以了,网络的共识层是一个区块链,是由GateKeeper节点组成完成,然后全节点进行汇总碎片和块存储。计算层来运行保密合约,由分散的TEE计算节点组成。
其中所有节点都需要运行三个软件:Phala节点、pRuntime、桥。运行Phala客户端,节点运行硬件需要满足需要满足硬件需求,目前支持IntelSGX,未来会引入AMDSEV也就是英特尔的固定配置。此外,这些节点的配置相同,在运行时只是因为打开开关的不同,而成为不同的角色。例如GateKeeper是需要单独报备一下TEE,才能成为GateKeeper。
关于节点运行操作流程,可参阅
https://wiki.Phala.network/en-us/docs/poc2/run-a-full-node/
另外Phala主网还未上线,现在是第三测试网,已经开放了计算节点可以自由接入。
Crust网络结构相比两者复杂,从节点功能上看分为MPoW节点、GPoS节点,但从节点的运营者角色去归类,节点类别并没有那么多,都在为去中心化存储市场DSM服务。
所以,具有存储资源的用户可以运行两种节点:验证人和候选人。
验证人是Crust网络中负责打包并生成区块的节点,维护着整个区块链网络的共识,这里的共识是GPoS共识。验证人节点也是一个提供存储资源的节点。MPoW共识统计的就是存储工作量,所以验证人也同时运行MPoW层的节点,运行客户端为Crust、CrustsWorker。
Crust的网络结构(MPoWGPoSDSM)
节点具体操作可参阅
https://github.com/crustio/crust/wiki,其中包含Crust测试网参与方式和节点安装手册。
另外的节点角色是候选人,是Crust?网络中参与竞争成为验证人,但没有获得验证资格的节点,其和验证人的区别是,候选人节点不参与生成区块,不能获得单独给予生成区块节点的奖励,但是候选人可以获得区块链每个周期的奖励分成。也就是需要安装节点,等待候选。
网络的原则和创新
当我们看完三个网络的搭建过程,可以至少我们对网络有一个清晰的初步的结构认识了,那这些网络设计的原则是什么?创新点又在哪里?
比特币建立一个网络,用共识对抗双花,以太坊增加智能合约,网络变成可以编程的,但以太坊并没有摆脱PoW,Eth2.0还有待验证,也是因为完全自由意义的质押验证者出块的实践仍不稳定,历来,那些承担主要运营节点的,都会是网络里大的利益相关方。
现在网络设计趋向的目标是扩容和拓展,而原则上要还要包含经济原则和工程原则。继而出现分层或模块化的思路。例如Oasis的共识层里OasisCore和Tendermint?Core在功能上是完全分离的,理论上可以更换其他共识,这就是模块化。而Paretime层的多样性意味着拓展性,Paratime没有局限于使用TEE,或者要求所有节点都用TEE。
另外实现网络规模发展,都是经济原则驱动的,整个网络有一个经济运作的闭环,大部分是建节点,共享资源、出块,然后获得奖励。网络的实操创新可能会集中在让参与者收益更均衡、公平。
例如Phala的思路是汇集散布在世界各地的闲置可信计算算力,因为更去中心化就意味着更加安全。无论是家用电脑还是服务器,只要可以为网络贡献计算资源,都可以加入网络以获取收益。工程化上,Phala在设计之初比较注重可组合性,因此在实现上融入了波卡的跨链协议XCMP,这也为未来Phala成为波卡平行链作准备。
Crust除了关于以上的网络原则设计,创新上主要是做了针对分布式存储的设计,也就是要共享存储,以及形成类云服务,这是更加面向产品端的一个调整。Crust也是波卡生态内的项目,未来的产品端会集成到波卡生态标准的Apps里。
未来看,三个项目从0到1的关键,可能还是会集中在激励上,因为代币是项目各部分自运行的动力。经济原则最重要,其次是创始团队的实力。
技术文档解析
在文章最后,我们做一些技术文档的解析以及聊一聊目前透漏出的关于在项目的链上开发的操作过程。
Oasis的技术文档内容来自docs.Oasis.dev,其中运行验证者节点界面的介绍很清晰,可以明显看到,节点主要需要运行OasisCore,而关于OasisCore的详细内容,可以在OasisCore文档里查看,其中很详细的标注了客户端的功能模块。
Oasis的Tendermint模块和Oasis?Core模块
因为整个Oasis的开发设计,完全是按照模块化处理的,例如OasisCore里负责基础通讯的Ttendermint模块,和其他的设计隔离的很清晰,这意味着未来可以换共识。每一个单项的功能被模块化后,技术上的组合性可以给网络更多便利。
关于开发部分,因为Oasis的计算都是部署在Paratime里的,这就要看Paratime的开发入口,例如Second?State为Oasis做的OasisEthereum?Paratime,是在Second?State的BUDIL里做的合约开发。
Phala的技术文档内容来自wiki.Phala.network,目前内容主要围绕如何成为矿工,也就是GateKeeper以及全节点,还有一个本地开发的指引。
因为Phala未来是波卡的平行链,也就意味着,现在的测试网只要平稳运行即可,未来Phala的网络还会通过插槽链接波卡中继链,利用波卡主网的安全性。
现在的开发披露是需要执行Phala-node、pRuntime、Substrate-TEE中继桥,还有一个web?UI可用。另外,开发披露的保密合约的开发指南,也为保密合约黑客马拉松活动提供了样例和模版。
Crust和Phala的进度相仿,其技术文档来源于https://github.com/crustio/crust/wiki,目前主要是节点参与,有很详细的节点参与设置指南。Crust未来也是波卡的平行链,所以关于开发上,需要依照Substrate的开发,例如在Substrate的App里有开发者使用的RPC调用。
写在最后
TEE在三个网络中,其实是足够发挥特性的,例如Phala为什么用TEE做GateKeeper的计算,因为要用TEE保存签名和密钥,其他TEE用来执行保密合约。Oasis也是如此,把合约扔进TEE执行,Crust则把TEE作为一个存储工作监视器,这是一个很值得尝试的部分。
此外,这些项目都采用了很融合的方案设计,这种思路是值得学习的,同时,这些项目也都和以太坊开发者一样,在努力实现着一些让人兴奋的未知的部分,例如Oasis、Phala着眼于隐私计算,Crust着眼于存储市场。总体来看,目标是一致的,都是在用加密货币网络改变着传统互联网产品,只是驱动进度不同罢了。加密货币行程漫漫,愿三个项目都可以如愿达到目标之地。
2020年12月5日,“相信未来--2020世界区块链大会·武汉”在武汉国际会展中心正式开幕。大会由巴比特主办,并得到了武汉市政府、江汉区政府、武汉市经信局、中国信通院等部门单位的大力支持.
1900/1/1 0:00:0012月5日,“相信未来--2020世界区块链大会·武汉”在武汉国际会展中心正式开幕。大会由巴比特主办,并得到了武汉市政府、江汉区政府、武汉市经信局、中国信通院等部门单位的大力支持.
1900/1/1 0:00:00QuartzDevkit是由印度领先的IT服务提供商TataConsultancyServices支持的区块链开发人员工具包,刚刚宣布支持以太坊区块链.
1900/1/1 0:00:00据官方公告,ZT创新板已经上线API3,已经开启充值和提币;于2020年12月4日14:00开启API3/USDT交易对.
1900/1/1 0:00:00去中心化金融支付和汇款平台PlasmaPay与去中心化预言机网络NESTProtocol达成合作伙伴关系,将在报价挖矿与去中心化跨境支付方面共同合作.
1900/1/1 0:00:00随着数字货币市场的发展以及高收益率的诱惑,市场上有越来越多人开始持有以比特币为代表的数字货币。以比特币矿工为主的数字货币持有者,挖出币后多以囤币为主,不会频繁交易;面对今年变化莫测的行情,一时无.
1900/1/1 0:00:00