| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 公有链、私有链、联盟链的区别及架构 -> 正文阅读 |
|
[区块链]公有链、私有链、联盟链的区别及架构 |
区块链分类“公有链”(Public blockchain)公有链上的各个节点可以自由加入和退出网络,并参加链上数据的读写,读写时以扁平的拓扑结构互联互通,网络中不存在任何中心化的服务端节点。 “私有链”(Private blockchain)私有链中各个节点的写入权限收归内部控制,而读取权限可视需求有选择性地对外开放。专有链仍热具备区块链多节点运行的通用结构,适用于特定机构的内部数据管理与审计。 “联盟链”(Consortium blockchain)联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入与退出网络。各机构组织组成利益相关的联盟,共同维护区块链的健康运转。 区块链架构专用功能的区块链典型代表:比特币(Bitcoin)、各种比特币分叉币 世界上第一个区块链是在比特币中实现的,比特币设计的最初目标是在网上实现一个“点对点的电子现金”,因此点对点之间不需要中间人是一个基础。 比特币是一个简单的区块链技术,比特币也是一套基于区块链技术之上的、很简单的数字货币协议,同时也实现了一个叫做比特币的应用,可以认为这是一个“多合一”的一体化系统。比特币的设计没有提供外部扩展和可编程能力,虽然比特币支持一种非常简单的脚本,但是并不具备完整的编程能力和扩展性,比特币本身也没有对外的编程 API 支持。 由于比特币是一个专用功能的区块链,在以太坊出现之前,**扩展比特币功能的唯一办法,就是复制其开源代码进行扩展,这就是所谓的“分叉币”。**基于比特币出现过数百个知名或不知名的分叉币,大部分已经消失了,少数仍然还存在,甚至一度和比特币竞争。“分叉”开源的代码虽然容易,但运行维护的困难是很大的,尤其比特币基于 PoW 的设计需要相当的算力支持才能维持区块链的安全运行,各个分叉币也分散了本可集中的算力,使得这些分叉币都很难成气候。 区块链分叉主要是指一条区块链分开成两条区块链。分叉可分为意外分叉和有意分叉。当两个或以上的矿工在几乎相同的时间成功挖到区块,便会出现意外分叉。有意分叉则对原区块链作出修改,可再分类如下: ?硬分叉:硬分叉之中新分叉所产生之区块将被旧软件视为无效。因此所有参与者,包括交易服务器以及矿工(节点),都必须更新软件,才能继续运行新分叉。如有节点组继续使用旧软-件,而其他节点使用新的软件,便有可能产生分裂成两只货币。 ?软分叉:与硬分叉相比,软分叉所产生之区块能够被旧软件识别为有效区块,即区块 向下兼容。然而,旧软件所产生之区块则未必在新规则下有效。 功能可扩展的区块链典型代表:以太坊(Ethereum)、R3 Corda,同期各种“公链”和“联盟链” “以太坊(Ethereum)” 为代表的公链其最大特点是可编程和可扩展性。 采用以太坊这样的可扩展区块链,即便是部署私有或联盟链的版本,也可以通过部署智能合约来扩展业务所需功能。以太坊最初是作为“公链”而诞生的,但不久“以太坊企业联盟(EEA)”随之诞生,其成员包括英国石油、摩根大通、微软为首的能源、金融和 IT 业的全球性企业,致力于将以太坊开发成企业级区块链平台。摩根大通(JP Morgan)更是在以太坊开源代码基础上开发了自己的区块链技术 Quorum,成为其稳定币 JP Morgan Coin 的技术基础。 以太坊等可扩展区块链虽然本身支持扩展,但由于自身是一体化的设计和实现。这对“公链”类型的设计可能无可厚非,但对企业联盟链和私链,或者想在原有基础上作更大功能扩展的新公链,一体化设计就会出现问题。 目前基于以太坊的合约项目已达到数百个,比较有名的有Augur、TheDAO、Digix、FirstBlood等。 模块化的区块链架构典型代表:Hyperledger Fabric、ArcBlock、Libra 等 Hyperledger Fabric 可能是第一个在市场上宣传采用模块化设计的区块链。 ArcBlock 的作为更进一步模块化设计和简化开发者使用的区块链,其区块链框架设计实现“一键发链”的模式,通过提供一系列的工具,让开发者通过友好的界面就可以立刻定制产生符合其需要的区块链。最新的 Cosmos SDK,Polkadot 的 Substrate 框架都采用了类似的这种设计。 Facebook 推出的 Libra 区块链项目也采用了模块化设计的思路,使得社区可以更容易加入扩展。这种把区块链模块化的架构,正成为区块链最先进一代的设计和实现趋势。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:50:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |