本文是《区块链技术手册》系列的第二篇,目标是为了让读者可以懂得一条链是如何搭建起来的,也可以理解加密货币项目的网络结构。
第二篇选题选择有关TEE,原因是TEE是一个非区块链领域的硬件,但却是我们生活中可用不可知的硬件,例如英特尔2015年后的CPU都有TEE。这样读者可以清楚的感受到网络每个部分的存在,了解到区块链究竟是我们所谓的链、加密货币网络里的哪个部分?
本文内容会相关于3个项目,3个项目都是使用TEE特性的项目,每个项目的网络结构各不相同,但都有明显的分层特征,TEE的性能被这三个网络运用在了网络中的重要部分。文中会对3个网络结构进行解构和对比,希望对比之后,你会清晰的了解到一个加密货币网络的搭建是如何进行的?
另外,《区块链技术手册》系列在后续的篇章中还会继续介绍将其他特征的公链。话不多说,进入今天的正题。
一条链的结构
一条公链,可以称为一个应用开发网络,网络聚集了IT资源,开发者利用资源开发应用,所以网络最基础的部分是通信。
公链在基础通信层之上,会加入共识,因为网络由节点组成,节点间是通过共识协同完成网络任务的。其中会有很多承担不同功能的节点,例如大分类上可以分为全节点、轻节点。
在不同网络中,节点的功能可能会被细分成更多分类,例如共识节点、汇总节点、归档节点等。这些节点都有全节点的功能,但会被加入其他功能的开关。
每个节点都有不同的运行方,所以节点背后是人,这赋予了节点有一定角色意义。这也是加密货币网络被称为人类治理实践的原因,加密货币网络的创建,需要创始团队先建立自己的节点运行网络,然后吸引其他人建立节点加入网络,使网络逐渐健壮,继续成为开发者开发dApp的土地。
金色午报 | 12月4日午间重要动态一览:7:00-12:00关键词:灰度、欧洲、上海、Coinbase
1. 欧洲央行行长:数字欧元需求旺盛 但安全使用可能会在几年后;
2. 《上海市推进国际金融中心建设条例》修订拟重点关注数字货币;
3. 灰度BTC信托再度增持7189枚BTC;
4. 江苏省首次启动区块链发展管理统筹协调机制;
5. 传奇对冲基金经理保罗·都铎:比特币市值被低估了;
6. Cream Finance以太坊平台已上线DAI;
7. Coinbase已加入Square牵头成立的加密货币开放专利联盟。[2020/12/4 23:05:45]
链的基本原则
无论加密货币网络设计如何,网络都需要节点参与,节点是it资源的来源,还需要保证节点运行稳定。所以大部分节点参与是由代币激励实现的,通过经济收益方式引入节点、保证节点稳定。代币激励也要有“循环”,所以在网络上层,使用者会消耗网络资源,所以需要支付提供资源的费用。例如gas费。
运行原则上最重要的是每个链要有一个总帐本,共识节点负责验证交易形成总帐本,像比特币一样。但如果网络既要保证安全还要高性能的情况下,就不能只有一个网络,要把很多的处理任务分摊出去,否则就会和比特币、PoW的以太坊一样。
这里的原则是为了网络扩容和可拓展性,在验证交易组成总帐本的网络之外还需要多个负责计算的网络,也就是在主链外做很多处理网络交易的节点,这些节点会组成新的网络层,也就会形成分层。
为了扩容和可拓展性的工程实践,目前很多项目都引入了模块化的思维,模块化和分层有同样的意义,分层是纵向的分割,模块化更加深入每一个细节,因为会包含在单独分层内的模块分割。
金色热搜榜:QTUM居于榜首:根据金色财经排行榜数据显示,过去24小时内,QTUM搜索量高居榜首。具体前五名单如下:QTUM、OKB、MANA、XTZ、DASH。[2020/9/18]
以上的逻辑是加密货币网络生长的基础思路。在这个思维逻辑之上,最难的莫过于网络从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的元数据上传到共识层。
金色晚报 | 网易区块链服务NBaaS正式上线 香港出现比特币和以太坊ATM机:云南将上线基于区块链技术的旅游平台;云歌智能获3000万美元融资;鸡尾酒供应商MicroBarBox接受BCH支付。更多晚报内容,请查看图片。[2018/9/5]
这里需要提的是,目前TEE的硬件是可以运用到Paratime里,但Paratime的特点不仅仅局限于TEE,还会包含其他类型的技术特性。
Phala的共识层外,是计算层,这一层由许多并行执行的保密合约组成,也就是具备TEE的计算节点,每个TEE独立与共识层通讯,每个计算节点运行一个pRuntime,这样的设计是把计算下放到矿工,以实现扩容,而Gatekeeper负责计算的安全性。从结构上看,每一个TEE计算节点的pRuntime,和Oasis的Paratime很类似。
Phala的网络结构
Crust除了MPoW、GPoS共识层外,接下来就是计算层和存储层,因为Crust将分布式存储的概念做了主要实现,所以在计算和存储层直接通过类似云服务的产品实现,单独做一层设计也是很合理的,这样与其余两个项目相比,Crust是把计算层和存储层直接产品化了,这个思路从项目背景来看,是想把存储和计算资源市场化的表现。也就可以把这一层做为服务层。
节点背后的角色属性
理解了设计总结构,接下来的解构主要是节点类别,前文我们提到,节点都有角色属性,节点背后是人,当节点组成网络,网络就会因为人的因素而存在一些表象,比特币以太坊都是如此,因为PoW挖矿让很多PoW网络已经远远超过稳定阈值,表现稳定,此外,历史上的PoS实验虽不足以称之为成功,但维持网络稳定运作是绰绰有余的。先从0到1之后,才有其他可能。
对于公链团队来说,搞定节点背后的人,就可以让网络稳定,慢慢从0到1。接下来就让我们看看,这三个项目的网络都由哪些节点?如何参与?
分析 | 金色盘面:BTC/USD 短线面临调整压力:金色盘面综合分析:BTC/USD 今天反弹幅度较大,短线面临调整压力,注意控制风险。[2018/8/17]
不同节点代表不同角色
Oasis的节点会分为:共识节点、Paratime节点,其中共识节点需要运行Tendermint?Core以及OasisCore。节点可以在本地部署,也可以部署在服务器。
具体操作流程可参阅
https://docs.Oasis.dev/general/run-a-node/set-up-your-node/run-validator
Paratime层的节点是需要运行Runtime客户端,节点聚集成网,互相协作,其中会有一个委员会节点负责将所有的元数据发送给共识层。而当这个Paratime是具备TEE的,会通过协议控制方式控制TEE,使用TEE做远程认证和执行调用。
Oasis的网络结构
Phala的网络则分为GateKeeper、全节点,网络分为共识层和计算层就可以了,网络的共识层是一个区块链,是由GateKeeper节点组成完成,然后全节点进行汇总碎片和块存储。计算层来运行保密合约,由分散的TEE计算节点组成。
其中所有节点都需要运行三个软件:Phala节点、pRuntime、桥。运行Phala客户端,节点运行硬件需要满足需要满足硬件需求,目前支持IntelSGX,未来会引入AMDSEV也就是英特尔的固定配置。此外,这些节点的配置相同,在运行时只是因为打开开关的不同,而成为不同的角色。例如GateKeeper是需要单独报备一下TEE,才能成为GateKeeper。
关于节点运行操作流程,可参阅
行情 | 金色热搜榜:BTC重回榜首 HT首次入榜:根据金色财经独家数据显示,在过去24小时内,BTC重回榜首,HT首次入榜,位居第九。
具体前十名单如下:BTC、EOS、ETH、ONT、ETC、BNB、ADA、DASH、HT、XRP。[2018/8/11]
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着眼于存储市场。总体来看,目标是一致的,都是在用加密货币网络改变着传统互联网产品,只是驱动进度不同罢了。加密货币行程漫漫,愿三个项目都可以如愿达到目标之地。
BiKiETF交易专区全场0手续费BiKi于11月18日00:00—12月16日23:59开启ETF交易专区全场0手续费的活动,同时也是全网首家ETF交易专区5倍做多做空的交易平台.
亲爱的FatBTC用户:FatBTC现已上线PiktoGroup(PKP),并开放PKP/USDT卖单功能.
12月4日,由DIBI生态举办的全球战略发布会-长沙站在湘江河畔的君悦酒店取得圆满成功。而就在前一日的台北市W酒店,DIBI生态全球战略发布会台北站刚刚落下帷幕.
尊敬的TOKOK用户: ?TOKOK“质押挖矿”项目增加以下系列产品,开放时间为2020年12月7?日12:00,详情如下表所示,欢迎大家参与.
尊敬的用户:您好!近期因受大陆地区“断卡行动”的政策影响,我司核心创始人银行卡收到多笔跨境“电信网络”流入的黑钱,被有关部门带走调查已有15天.
尊敬的用户: AOFEX已根据用户FIL6持仓情况完成12月4日的转化分发FIL代币,用户可在用户中心-账户资产中查看详情.