区块链1.0、2.0和3.0发展历程
比特币代表区块链1.0时代,智能合约技术代表2.0时代。区块链2.0时代有两个最主要的技术流派,第一个是以太坊,第二个是超级账本Hyperledger Fabric。
以太坊基于标准的智能合约,通过公开透明的方式,让所有用户在一个公链体系内达到信息透明,包括数字资产在公链上的确权,通过交易所实现流动从而产生流动性溢价。
Hyperledger Fabric主要面向企业构建联盟链,如果这条链是某家企业内部使用的就叫私有链,Hyperledger Fabric基于智能合约有底层区块链技术,也有分布式账本DLT的概念,在区块链2.0的时代具有代表性。
区块链3.0需要有行业应用在链上展开相关业务和运行,区块链3.0代表区块链+各个行业,类似于互联网+各个行业时代。
区块链1.0、2.0和3.0伴随着技术发展很重要的一部分叫共识算法。在公链体系里任何人都可以加入节点,参与投票或挖矿。在不需要任何允许的情况之下,就可以加入整个公链网络,共识算法就是必须要存在的。
Hyperledger Fabric的加入,使得区块链技术体系发生了一些变化。联盟链是由商业团体或商业联盟所构建的商业网络,加入商业网络需要有一定的认证机制,严格的商业规范、商业条款。在商业规范和商业条款达成一致的情况之下,才会加入到商业链条里。所以Hyperledger Fabric联盟链的特征是,只有经过被允许的节点或被允许的商业组织机构,才能够以节点的方式加入联盟链体系。
云计算与公链、联盟链的关系
云计算通常指为企业、个人、客户,用来做开发测试生产的服务器计算存储网络资源。
云计算与公链之间是部署关系。公链都是有节点的,这些节点运行需要服务器资源来支撑。云计算公司可以为公链节点提供基础的运行环境。自从专业矿机和矿场的出现,使得基于POW共识机制的公链节点都不能使用云计算公司提供的传统CPU进行挖矿,取而代之的是ASIC芯片的专业矿机,但是很多算力平台系统还是部署在云计算公司的。
云计算与联盟链之间的关系就是区块链之于可信任的交易,好比Http协议基于互联网。我们每个人每天都会接触网络http协议作为浏览网页的基础协议,让我们每个人都可以享受到互联网的便利。
区块链在互联网的基础之上并不是替代,而是要做到可信任的交易。在信息互联网连接的基础之上构建可信任的交易,做到价值互联网。在区块链的网络里资产是可以去流转的,尤其是数字资产。
区块链去中心化与云计算厂商中心化的云供给的服务方式有何不同?是否矛盾?
首先公链是相对比较分布式的,从某种程度来讲,比特币是去中心化的,因为它并没有一个非常明确的中心化组织去负责整个网络节点的运行,相对是比较去中心化或弱中心化。
其次联盟链就非常不适合去中心化,在联盟链体系里谈的是去中介化。联盟所有成员之间通过区块链技术达到了信息及时透明的共享,数字资产可以进行交易,达到了组织和流程的优化,减少或降低了中介成本。
云计算厂商虽然由某个云计算公司来负责运行和管理,但是云计算厂商是第一批拥抱分布式技术的公司,而且把大量的集中式的应用系统,变成了分布式的应用系统。
云计算公司的数据中心都非常广泛,基本是全球数据中心分布式的布局。所以不存在云计算厂商是中心化的,唯一的中心化是做统一运行运营管理。
区块链未来可以颠覆云计算厂商吗?
现在收费基本上是由云计算厂商来对外提供服务,按照清单价格,用户在云计算厂商的平台上注册、开账户,去选择和购买使用自己的云服务。云服务也可以按照天、月或小时进行计费,这种弹性伸缩灵活计费的方式是现有的云计算收费模式。
而市场上谈"区块链未来可以颠覆云计算厂商",他们可能认为区块链用户只要持有了Token之后,就可以在币圈支付体系里购买云计算资源。对用户来说资源是完全透明的,由多家云厂商来提供,只要符合需求,都可以通过Token去进行购买。
这个模式其实就是混合云或者云经济。比如购买金山云的游戏厂商,可以同时去使用阿里云或者腾讯云,多个公有云厂商之间网络达到互联互通。对于用户来说,它的应用部署、迁移都可以在网络里边进行流畅的切换。
在区块链的世界里实现这种模式,也是嫁接在成熟的商业模式之上去实现的。它的消费模式就是谁是记账方,或者说以某一种代币作为消费主体,但是前提是它有足够的流量。而目前还没有哪条公链可以与现有的云计算厂商的用户规模对比,所以区块链去中心化的优势去颠覆云计算厂商,这句话目前来看是不成立的。
从另一个观点来看,比如说大型的联盟链,EOS的21个超级节点模式,每一个节点都需要使用大量的计算资源。但EOS节点运行用几十个或几百个的高端服务器满配就足以了。而云计算厂商的服务器数量是上万台几十万台的规模,而且有多个数据中心,网络是完全互联互通的。所以以超级节点的方式来取代云计算是不可能的,规模太小。
有一种可能性是基于超级节点上的应用越来越多,应用所需要的资源,包括计算存储网络,这些资源由链而生,足够大的时候才可以与云计算厂商进行抗衡。
只有基于用户量、应用规模足够大,这两个前提才可以说区块链去中心化的优势可以与云计算厂商争夺流量。
区块链的分布式存储和云计算存储的逻辑关系
区块链的分布式存储,现在有星际文件系统(IPFS),目前星际文件系统只能存储一些静态文件,实际上只能够满足一些缓存的要求。而且基于IPFS的静态文件存储还没有加密。但也有些厂商在做加密存储,甚至可以做文件去重,这是未来区块链分布式存储的一个发展方向。
实现之后可以把存储的节点,从中心化的存储节点,向分布式的存储节点进行扩展和延伸。它与云计算存储的物理逻辑关系,我们可以画两个圈,中间的圈叫做云计算存储,在这个圈之外叫做区块链的分布式存储。
云计算的存储我们分成两类,第一类是块存储,第二类是对象存储。对象存储每个人都会去使用,比如说手机APP包括大量的图片、视频等,这些文件很多都是基于对象存储。
刷抖音的时候,视频实际上是通过云计算数据中心的网络,读取数据到达最终终端。云计算的数据中心虽部署广泛,但距离每个用户还是有一定距离的,物理距离直接导致网络传输的时间延长,最终就会导致用户观看视频不流畅。
所以云计算的厂商会基于云计算存储,对外去提供CDN内容分发网络来提升内容读取效率。内容分发网络是把云计算中心的存储节点里面的数据,用离用户最近的方式把相关的内容在离用户最近的地点进行部署。
这些节点通常都是一些商业化的组织来提供的,在小型的一些IDC机房里,我们去购买CDN节点去做文件的缓存,然后由统一的CDN的网络,协调和调度CDN节点,使得最终用户达到秒级打开看视频。
区块链的分布式存储可以怎么结合呢?
区块链的分布式存储,是将个人设备,比如路由器或机顶盒设备里面的存储空间用来做缓存。把CDN的节点向用户端更近了一步,甚至这些节点就在你家里面。这样用户在看视频或图片文件的时候,可以直接从自己的节点或是非常临近的节点,去拉取到相关资源,从而提升效率。
为了让个人用户把自己的存储空间贡献出来,去提高整个缓存网络或者是CDN网络的效率,可以利用激励让用户参与到区块链分布式存储的网络里。
从某种概念来讲,它是云计算向边缘计算的一种延伸。我们把云计算作为比较中心化的计算,然后把中心化的计算再往外延伸,叫做边缘计算。
在分布式存储里,核心是用来做激励的。我贡献了多少空间,就应该得到相应的回报,尤其是贡献的空间已经被用户使用了,通过CDN实现了商业化变现,商业化变现的网络里可以节省一部分存储空间和网络成本,相当于实现了商业闭环。
为什么通过存储挖矿,要优于通过计算资源挖矿?
通过计算挖矿是纯资源消耗型的,比如说解哈希值,实际上不会对产业有任何好处,它只是分配了一种记账权,是共识的算法。但通过存储来做存储的贡献,再通过激励让大家把存储贡献出来,去存放缓存文件。
用户可以空闲出一些主干网络资源,通过自己边缘的网络拉取资源,实际上是可以节省对于主干网络的消耗,从而进一步节省对于核心存储资源的使用。所以区块链的分布式存储,包括云计算的存储、边缘计算,它们之间是互生互长的关系,边缘计算永远不可能替代云计算。云计算发展规模已经足够大,边缘计算处在刚成长阶段,还有很多技术和标准需要完善。未来趋势是边缘计算会逐渐增大,作为云计算的补充,和云计算做融合。