IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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 FabricArcBlockLibra

Hyperledger Fabric 可能是第一个在市场上宣传采用模块化设计的区块链。
Hyperledger Fabric 提供了多个可拔插选项,账本数据可被存储为多种格式,共识机制可被接入或者断开,同时支持多种不同的成员管理机制。

ArcBlock 的作为更进一步模块化设计和简化开发者使用的区块链,其区块链框架设计实现“一键发链”的模式,通过提供一系列的工具,让开发者通过友好的界面就可以立刻定制产生符合其需要的区块链。最新的 Cosmos SDK,Polkadot 的 Substrate 框架都采用了类似的这种设计。
ArcBlock是一个专注开发和部署应用的区块链平台和生态系统。ArcBlock类似PaaS平台,搭建了一个去中心化的区块链应用的开发框架,开发者可借助上面的工具开发、分享自身开发的功能模块。开发者使用平台上的资源都要支付代币。

Facebook 推出的 Libra 区块链项目也采用了模块化设计的思路,使得社区可以更容易加入扩展。这种把区块链模块化的架构,正成为区块链最先进一代的设计和实现趋势。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-08-07 12:08:12  更:2021-08-07 12:08:26 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码