概述
一、区块链种类
私有链:开发节点,测试节点
是指存在一定的中心化控制的区块链。仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。参与的节点只有用户自己,数据的访问和使用有严格的权限管理。联盟链由于存在一定的中心化控制,所以也可以认为是属于私有链范畴。
特点:由于全是用户说了算,里面的数据没有无法更改的特性,对于第三方也没有多大的保障。一般用作内部审计。 火币网技术副总裁认为:私有链确实有大量的场景可以对接现实世界的需求,有限的去中心化更容易达成共识,可以使交易速度更快,效率更高,并且可以提供更多受控的功能。去中心化是区块链技术的核心价值所在。如果私有链在实践中不能充分利用公有链所构造的去中心化的信任基础,其发展空间将是有限的。
公有链:比特币,以太坊,EOS
公有区块链是最早的区块链,也是目前应用最广泛的的区块链。是指像比特币区块链这样的完全去中心化的、不受任何机构控制的区块链。世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。共识过程的参与者通过密码学技术以及内建的经济激励维护数据库的安全。
特点:完全公开、不受控制、依靠加密技术来保证安全。
联盟链:fabric R3联盟 阳光链 EEA
适用于既需要竞争又需要合作的场景。共识过程需要预选节点控制的过程。
由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定,其他接入节点可以参与交易,但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人可以通过该区块链开放的API进行限定查询。
参与区块链的节点是事先选择好的,节点间很可能是有很好的网络连接。这样的区块链上可以采用非工作量证明的其他共识算法,比如有100家金融机构之间建立了某个区块链,规定必须67个以上的机构同意才算达成共识。
特点:联盟链可以做到很好的节点间的连接,只需要极少的成本就能维持运行,提供迅速的交易处理和低廉的交易费用,有很好的扩展性(但是扩展性随着节点增加又会下降),数据可以有一定的隐私。联盟链也意味着这个区块链的应用范围不会太广,缺少比特币的网络传播效应
二、区块链特点:
特殊的分布式数据库,没有中心,无管理员,全民记账,只能增差,不能改删。
不可篡改,可溯源,去中心化
三、架构模型:
首先是“数据层”,封装了底层数据区块的链式结构,以及相关的非对称公私钥数据加密技术和时间戳等技术,这是整个区块链技术中最底层的数据结构。这些技术是构建全球金融系统的基础,数十年的使用证明了它非常安全的可靠性。而区块链,正式巧妙地把这些技术结合在了一起。
其次是“网络层”,包括P2P组网机制、数据传播机制和数据验证机制等。P2P组网技术早期应用在BT这类P2P下载软件中,这就意味着区块链具有自动组网功能。
第三层“共识层”,封装了网络节点的各类共识机制算法。共识机制算法是区块链的核心技术,因为这决定了到底是谁来进行记账,而记账决定方式将会影响整个系统的安全性和可靠性。目前已经出现了十余种共识机制算法,其中比较最为知名的有工作量证明机制(PoW,Proof of Work)、权益证明机制(PoS,Proof ofStake)、股份授权证明机制(DPoS,Delegated ProofofStake)等。数据层、网络层、共识层是构建区块链技术的必要元素,缺少任何一层都将不能称之为真正意义上的区块链技术。
第四层“激励层”,将经济因素集成到区块链技术体系中来,包括经济激励的发行机制和分配机制等,主要出现在公有链当中。在公有链中必须激励遵守规则参与记账的节点,并且惩罚不遵守规则的节点,才能让整个系统朝着良性循环的方向发展。而在私有链当中,则不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,通过强制力或自愿来要求参与记账。
缺少原生货币支持的区块链不具有激励层。
第五层“合约层”,封装各类脚本、算法和智能合约,是区块链可编程特性的基础。比特币本身就具有简单脚本的编写功能,而以太坊极大的强化了编程语言协议,理论上可以编写实现任何功能的应用。如果把比特币看成是全球账本的话,以太坊可以看作是一台“全球计算机”,任何人都可以上传和执行任意的应用程序,并且程序的有效执行能得到保证。
第六层“应用层”,封装了区块链的各种应用场景和案例,比如搭建在以太坊上的各类区块链应用即部署在应用层,而未来的可编程金融和可编程社会也将会是搭建在应用层。
激励层、合约层和应用层不是每个区块链应用的必要因素,一些区块链应用并不完整的包含后三层结构。
内容来源于网络
最后
以上就是灵巧大地为你收集整理的区块链的全部内容,希望文章能够帮你解决区块链所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复