轻松构建应用链的区块链操作系统
今天我们分享的主题包含了应用链,区块链和操作系统,大家思考过这样一个问题没有,区块链这个概念怎么突然就出现了,还形成了一门学科,区块链技术。其实比特币是发明出来的,区块链是基于比特币总结出来的,而且是先有了比特币的发明,才有区块链技术理论的发展。其实这样的故事剧本是非常普遍的,比如是瓦特改良发明了蒸汽机,然后才有热力学的发展,才有后来的内燃机和现在的汽车。同样的剧本也发生在飞机的发明上,莱特兄弟在发明飞机的时候,根本就不知道空气动力学是什么,但就是发明了飞机飞上了天空,后来人在此基础上总结出空气动力学,然后依靠空气动力学不断改良航天器,才有各种超音速飞机和航空飞机。
[图片上传失败...(image-7d52d7-1581061947276)]
既然有了区块链技术,这么些年来对比特币的改良确实有几次重大的突破,比如以太坊提出和实现了智能合约,让区块链技术不再停留在去中心化点对点转账的层次,变成了可编程的去中心化计算框架。但随着技术的发展,让更多人对该技术抱有更多期望,以太坊定位成一个去中心化的通用计算机,但其瓶颈实在太明显,TPS过低难以支持其伟大的构想。与其改良以太坊,不如重起炉灶,比如EOS,定位成商业级的区块链操作系统,但理想很丰满,现实很骨感,EOS上出现的DAPP基本是博彩+游戏+撸羊毛的组合,商业级就是一个笑话。
区块链技术丛林中总能找出一条若隐若现的路径,以太坊毫无疑问是对比特币的改良,也因此形成了比特币极大主义者和以太坊极大主义者,但后面的改良跟前面的两波技术有着巨大的差异。比特币和以太坊都遵循着区块链原教旨主义,就是说区块链技术最硬核的内涵应该是去中心化,要想做到足够去中心化,出块节点应该能够自由加入和退出,账本需要足够分散化,至于因此牺牲掉性能和TPS都是附带伤害。后面的改良就基本摒弃了区块链原教旨主义的指导,比如EOS的21个超级出块节点的思路,比如跨链明星项目波卡(Polkadot),也把出块节点进行了一定的限制。
很明显,如果继续遵循区块链原教旨主义的指导,区块链技术的发展很难跟现实中的业务结合,所以今天我们要介绍的区块链操作系统也是摒弃了区块链原教旨主义的思路,这里当然没法给出一个判断,区块链原教旨主义的坚持就是错的,区块链技术在目前阶段也是各种尝试,说不定哪天就会回过头来吸收区块链原教旨主义中的优秀思想。
说到区块链操作系统,每个人都会给出一些定义,但在目前这个阶段,说实话很难对这样一个事物进行准确定义,每个人都像盲人摸象一样,我只能根据项目开发经验,将我摸到的部分说出来,我认为区块链操作系统需要满足下面五个属性:
[图片上传失败...(image-489b74-1581061947276)]
- 功能模块化
- 数据、资产可互操作性
- 交易可扩展性
- 去中心化治理和可迭代升级
- 按需分配的安全
功能模块化放在了首要属性,其实我们分析现在接触到的操作系统,比如Linux系统,底层都是模块化的,可以说模块化设计是操作系统的精华所在。区块链技术是一门非常总和的学科,典型的跨学科技术集合,涉及到计算机的通信、存储、数据结构、共识算法和数据库等,涉及到金融学中的博弈论、股权理论和货币理论等,涉及到社会学和政治治理等,如此多学科交叉,如果没有模块化设计,我不知道系统将如何融合这么多知识点和迎接这么多的技术挑战。
第二个重要属性是数据、资产可互操作性,要在过去,这个要求对某个区块链项目来说,都是有点过分的,开发一条链还要能接入其他链的数据和资产,比如以太坊上要能操作其他链的资产。但是反过来一想,比如我们的手机安卓操作系统,任何型号的手机,任何版本的操作系统,只要安装了安卓系统,都能够进行信息的互通吧,到了价值网络,底层的操作系统能够进行资产价值的互通也是应该的。
此外从价值网络的角度来看,梅特卡夫定律用来描述网络价值,网络中用户数量越多,网络价值就越大,那以往的发展模式是大公链+DAPP的组合式发展,但遇到了明显的瓶颈,因为不管是多牛的大公链,都会将区块链大网络分割成一个个小网络,各自占山为王,导致整体网络价值严重下降。每个大公链都是一套独立的代码体系,很多时候压根就没办法联通,所以急需一个底层统一的操作系统,在开发应用链的时候,能够屏蔽掉底层一些差异,能够让数据和资产能够联通和互操作。
第三个重要属性就是交易可扩展性,可以简单理解总体TPS(TPS是每秒钟能进行的交易笔数),不管是分片技术也好,还是跨链技术也好,从整体来看,能根据业务发展不断扩展所需的TPS。横向扩展出块节点,在区块链原教旨主义的指导下,能增强安全,但不能带来性能的提高,但是在区块链操作系统的帮助下,横向扩展出块节点,要能够增强去中心化之外,还要能够提高性能。
第四个属性是去中心化治理和可迭代升级,我们现在用的所有操作系统,都是可以版本迭代和升级的,它就像一个生命一样,需要能够不断吸收新的知识点,不断优化自己,形成一条改良的路径。去中心化治理是迭代升级的前提,区块链操作系统在升级的时候,不可能是某个人或机构说了算,在一个去中心化的系统中,就需要一个完善的治理体系,来决定系统的进化方向。
[图片上传失败...(image-9f5d0b-1581061947276)]
大家思考这样一个问题,为何区块链应用落地如此困难,真正实现落地应用的少之又少?真正落地的产品都是迭代进化出来的,而不是从一开始就设计好所有细节,然后做出一款完美的产品。以太坊推出智能合约的时候,为何解决信用来源的难题,直接就是规定智能合约不能修改,这样的好处是你不需要选择信任合约发布者,自己去链上根据合约进行验证即可。但这样带来的问题是显而易见的,那就是没法进行智能合约的迭代升级。
[图片上传失败...(image-64a4bf-1581061947276)]
区块链能不能升级,以什么方式进行升级,这是一个治理的问题,只要解决好这个治理问题,就能解决区块链信用之源的难题。一个去中心化产品,如果没有激发部分人的主人翁意识,不能够让一部分人参与治理,那大家为何要选择信任这个去中心化的产品呢,还不如选择相信一款中心化的APP。总结一句话就是:合理的规则+完善的治理是区块链落地项目的演化动力。
最后一个属性是按需分配的安全,我们现实生活中,各种交易的金额是不尽相同的,所需的安全保证也是不同的,比特币和以太坊每笔转账提供一样的安全级别,但是其成本也是相同的,并不会根据转账金额来调整安全保证,所以每个使用区块链操作系统的团队,构建的业务是各不相同的,有些是做几百上千万的外汇,有些是做几十块钱的众筹,所需的安全保证因该能在系统中定制。
今天我们要介绍的区块链操作系统Substrate是来源于跨链明星项目Polkadot,中文名叫波卡。Substrate是将波卡中应用到的技术进行抽象,当然其也发展出来了独立的开发社区,不断进行开发和提案,现在已经有众多项目方逐渐转到使用Substrate来构建波卡的平行链。
这里简单介绍一下波卡,其实波卡是以太坊技术路线的衍生,因为其创始人Gavin Wood是以太坊前CTO,是以太坊项目工程实现的真正推手和主导角色,所以他将以太坊众多的技术都应用到了新的项目Polkadot上,但是Gavin本人又抛弃了区块链原教旨主义的那一套指导思路,Gavin是英国人,英国众多历史资源中,代议制民主机制是其中的精华,所以Gavin将波卡重点放在跨链和去中心化治理上,甚至代码里的代币单位都是使用英制单位。
说到Substrate,首先让我们远观一下这个我定义为区块链操作系统的框架。左边这一栏是其众多的模块,我们从其中选出一些关键词:资产管理、出块认证、民主、选举、智能合约、执行、议会、议员、选票池、抵押投票、提名、代理人、提案、国库、惩罚和当选周期等。看到这些关键词能想到什么呢?这不就是现实中英国代议制民主用代码的实现吗!
[图片上传失败...(image-5b2195-1581061947276)]
IPSE将发展成应用链,也将采用Substrate来构建,首先要我们来了解下什么是IPSE。IPSE(InterPlanetary Search Engine),中文名为“星际搜索引擎”,IPSE是一个基于IPFS网络的智能搜索引擎,帮助用户快速检索IPFS网络上的文件,寻找到所需要的数据,同时让用户参与生态还能获得Token激励。
[图片上传失败...(image-d7f69e-1581061947276)]
IPSE的底层存储是IPFS,IPFS是星际文件系统,是一种分布式的超媒体传输协议,定位取代HTTP,从底层构建下一代互联网。IPSE将打造下一代价值互联网的流量入口。
接下来我讲5个点,应用链如何使用区块链操作系统Substrate中的模块,能够有这样一个操作系统来开发产品,将是非常轻松的,可以说事半功倍。
第一点就是奖励和惩罚。一个去中心化操作系统中,要进行奖励和惩罚,都是要达成共识的,不需要一个中心化权威来进行奖罚。比如IPSE中出块奖励和验证人角色,其维护整个网络的安全和可用性,这个奖励在Substrate中就是现成的,比如IPSE中存储奖励,需要完成数据持有型证明形成共识,这需要额外开发,但奖励是现成代码。惩罚就更多了,比如出块节点行为不端的惩罚就是Substrate中现成的,IPSE中出现数据丢失,这是需要达成共识的,也需要额外开发,但惩罚是现成代码。总结,Substate能自定义出块奖励逻辑,同时也能将惩罚机制设计加入作为共识的一部分。
[图片上传失败...(image-aae3ee-1581061947277)]第二点就是民主选举和治理委员会。Substrate可定制设计民主选举机制,参与治理委员会成员的选举机制。治理委员会会负责起草一些重大提案,发起和一票否决投票提案等。链上治理:奖励分配,惩罚调整,抵押比例,存储节点加入门槛等,这些参数都可以通过治理来调整优化,都可以走提案,投票表决,执行的流程来治理优化。
[图片上传失败...(image-e9c479-1581061947277)]第三点就是抵押机制和共识安全。Substrate抵押模块,支持各种抵押场景设计,IPSE为了共识安全,将部分引入抵押机制,主要是为了防止存储用户和任务分发节点的作恶行为。Substrate的组合共识: BABE+Grandpa组合,BABE用来验证出块,速度快,Grandpa用来负责链的finality,速度慢,更安全。
[图片上传失败...(image-6e749e-1581061947277)]第四点就是Offchain Worker和IPSE的PDP证明。Offchain Worker允许系统长时间运行且不确定的任务。PDP证明和验证就是这样的任务。Offchain Worker可轻松访问链上状态进行计算和链下数据进行交互。IPSE的PDP证明和验证,需要链上的存证和链下远端数据访问。
[图片上传失败...(image-87ec44-1581061947277)]第五点就是Polkadot和IPSE作为平行链。IPSE是要实现跨链,但不是自己来单独做跨链,接入Polkadot生态来实现跨链。IPSE跨链能实现最大的网络价值。IPSE Parachain将占据更大的价值入口,IPSE提供可信价值搜索,任何同跨链生态的Token都能在IPSE生态使用。
[图片上传失败...(image-176b43-1581061947277)]
以上就是我们简单介绍了即将应用到IPSE的区块链操作系统Substrate。