主页 > imtoken苹果手机不能下载 > 区块链参考架构(Blockchain Principle Architecture)
区块链参考架构(Blockchain Principle Architecture)
摘要:区块链主流开源技术体系介绍 区块链的开源技术种类繁多。 这里简单介绍一下主流的开源技术体系。 比特币(BitCoin)是世界上最早、应用最广泛、真正去中心化的区块链技术,因此他的发展...
5. 共识机制
区块链是一种去中心化的分布式账本系统。 由于点对点网络下的网络延迟高,各个节点观察到的交易顺序不可能完全一致。 因此,区块链系统需要设计一种机制,对相似时间段内发生的交易顺序达成共识。 这种在一个时间窗口内就交易顺序达成共识的算法称为“共识机制”。
5.1 区块链与分布式系统容错的相似点
(1) 仅附加。
(2)强调序列化(有序时间)。
(3)少数服从多数原则。
(4)分离覆盖问题:即长链覆盖短链区块,多个节点覆盖少量节点。
5.2 区块链与分布式容错的区别
(1)分布式系统容错,一般不考虑拜占庭问题,即假设所有节点只存在宕机、网络故障等非人为问题,不考虑恶意节点篡改数据的问题;
(2)分布式系统的容错共识算法是面向日志(数据库)的,而区块链共识算法是面向交易的。 前者可以作为后者的基础和技术保障;
(3)区块链更多的是解决拜占庭将军问题。
5.3 拜占庭问题求解算法
(1) PBFT:投票机制,1节点1票,少数服从多数区块链参考架构比特币区块链使用什么算法,允许1/3的节点不可靠,但不能防止Sybil攻击;
(2) 区块链引入奖励机制和惩罚机制(游戏)来辅助解决问题,这是工作量证明算法的基础,使得作恶的成本高于收入,从而防止不良行为;
(3) 交易从来没有最终状态,但有一个最接近最终状态的状态。 通常经过6个区块的开发,交易被推翻的可能性极小。
5.4 参考文献
拜占庭问题:指系统中节点可能发生的任何错误,包括故意误导、故意破坏系统、伪造签名、失败、超时、重复消息等。
共识原则:当多台主机通过异步通信组成一个网络集群时,这个异步网络默认是不可靠的,因此需要一种机制来复制这些不可靠主机之间的状态,以保证每台主机的状态最终达到相同的一致性状态并达成共识。 根据 FLP 的原理,文章 Impossibility of Distributed Consensus with One Faulty Process 提出:在异步系统中,我们不可能准确知道任何主机是否宕机,因为我们无法区分主机性能下降的区别。主机或网络和主机崩溃。 这意味着我们无法可靠地检测到故障错误。
6. 主流共识算法
6.1 工作量证明(POW)
(1) 工作量证明机制使得区块的生成在计算上变得困难,增加了攻击成本;
(2) 从统计的角度来看,一笔交易在6个区块之后被认为是明确确认且不可逆的。 核心开发人员认为,需要 120 个区块才能充分保护网络免受使用新铸造硬币的潜在更长时间攻击区块链的影响;
(3) 虽然更长的区块链变得不太可能,但任何拥有大量经济资源的人仍然有可能创建更长的区块链来伪造交易(51% 攻击)。
6.2 权益证明(POS)
(1) 权益证明机制有多种变体,但基本概念是出块难度与网络中的权益(持股比例)成正比;
(2) 解决POW的资源消耗问题。
6.3 瑞波共识
(1) Ripple共识算法使一组中心化的特殊节点列表达成共识;
(2) 初始特殊节点列表就像一个俱乐部。 接纳新会员,须经51%会员表决通过;
(3) 共识遵循核心成员51%的权力,外界无影响力。 俱乐部既然开始是“集中的”,就将保持“集中”的状态;
(4) Ripple系统将股东与其投票权分开,因此比其他系统更加中心化。
6.4 授权权益证明(DPOS)
(1) 各股东按持股比例产生影响比特币区块链使用什么算法,51%股东表决结果不可逆转且具有约束力,类似于POS;
(2) 每个股东将投票权授予一名代表,得票最多的前100名代表将按照既定时间表依次出块。 每个代表都被分配了一个时间段来生产区块;
(3) 所有代表将获得相当于平均一个区块的交易手续费的10%作为奖励;
(4) 该模式每 30 秒产生一个区块。
6.5 基于交易的权益证明(TaPOS)
(1) 通常POS代表是短期的;
(2) TaPOS 为股东提供直接批准其代表行动的长效机制;
(3)平均51%的股东可以在6个月内直接确认每个区块;
(4)交易流通活跃的股份比例,平均10%的股东可以在几天内直接确认区块链。
7. 区块链的类型
区块链的主要类型有公有链、联盟链和私有链。
7.1 公链
(1) 在互联网上运行;
(2) 完全分布式;
(3) 数据节点数量多变且不可预测;
(4) 数据公开;
(5) 任何人均可匿名参与;
(6)运维成本较高,依赖奖励机制;
(七)交易速度慢。
7.2 联盟链
(1) 由多机构联盟共同经营;
(2) 资料保密;
(3) 预先选择数据节点;
(4) 节点间连接速度更快;
(5) 运行维护成本低;
(6)交易速度更快,交易成本更低;
(7) 联邦可以修改数据。
7.3 私有链
实际上只是将区块链技术用于数据存储和交易处理,这偏离了区块链的基本目标。
(1) 由单一机构经营;
(2) 限制数据访问和使用;
(3) 预先选择数据节点;
(4) 节点间连接速度更快;
(5) 运行维护成本低;
(6)交易速度快,交易成本低;
(7) 数据可以修改。
8. 区块链技术发展阶段
区块链技术的发展目前主要有三个阶段,即区块链1.0、区块链2.0、区块链3.0。
8.1 区块链 1.0
区块链1.0是以比特币为代表的数字货币应用。 为解决货币和支付方式的去中心化,其场景包括支付、流通等货币功能。
8.2 区块链 2.0
区块链2.0是对整个市场更宏观的去中心化,利用区块链技术将许多不同的资产进行转换而不仅仅是比特币,通过流转创造不同资产单元的价值。 最显着的标志是数字货币与智能合约的结合,优化了金融领域更广泛的场景和流程的应用。
所有的金融交易都可以转化为在区块链上使用,包括股票、私募股权、众筹、债券、对冲基金和各类金融衍生品:期货、期权等。
8.3 区块链 3.0
区块链3.0超越金融领域,为各行各业提供去中心化的解决方案。 它可用于实现世界范围内物质资源和人力资产日益自动化的分配,促进科学、健康、教育等领域的大规模协作。 例如:自动化采购、智能物联网应用、自动化供应链管理、虚拟资产交换和转移。
9. 区块链主流开源技术体系介绍
区块链开源技术有很多种。 这里简单介绍一下主流的开源技术体系。
9.1 比特币系统(BTC)
比特币(BitCoin)是世界上最早、应用最广泛、真正去中心化的区块链技术,因此其开源的技术体系非常值得借鉴。 比特币区块链核心技术框架采用C++语言开发,共识算法采用POW算法,工作量(挖矿)证明获得记账权,容错50%,实现全网记账. 核心技术框架采用C++语言开发,公网TPS
开源地址为:github.com/bitcoin/bitcoin
9.2 以太坊(ETH)
以太坊是一个图灵完备的区块链一站式开发平台,使用多种编程语言来实现协议。 基于以太坊平台的应用就是智能合约,它是以太坊的核心。 智能合约,结合友好的界面和一些额外的小支持,允许用户基于合约构建各种千变万化的DApp应用,大大降低了开发者开发区块链应用的门槛。
底层核心技术框架采用C++、Go等语言开发,智能合约采用Solidity语言编写。 公网TPS
开源地址:github.com/ethereum/
9.3 IBM 超级账本结构
IBMHyperLedger,又名fabric,是一个区块链实现方案,具有多种功能模块架构,可以插件化,其目标是打造一个全社会共同维护的超级账本。 Fabric主框架的核心开发语言是GO语言。 系统目标是在15个验证节点下有100KTPS的性能,更适合联盟链。
开源地址:github.com/hyperledger/fabric
9.4 比特股
比特股是区块链历史上具有里程碑意义的产品之一。 其提供的BitUSD等锚定资产是虚拟货币历史上最重要的变革之一,可以极大地消除虚拟货币饱受诟病的高波动性问题。 BitShares采用DPos共识算法,公网TPS
Bitshares 1.0开源地址:github.com/bytemaster/bitshares
Bitshares 2.0开源地址:github.com/bitshares
9.5纹波
Ripple是一个开放的支付网络,一个基于区块链的点对点全球支付网络。 他的核心技术框架是用C++语言开发的,公网TPS
开源地址:github.com/ripple/rippled
9.6 蚂蚁(NEO)
中国世界级公链,NEO区块链结合点对点网络、拜占庭容错、数字证书、智能合约、超导交易、跨链互操作协议等一系列技术,让您快速、高效、安全合法 高效管理您的智能资产。
NEO底层是C#、GO等语言的区块链参考架构,以及公网的TPS
开源地址:github.com/neo-project
在区块链系列初步研究完成后,芯链社区将陆续推出区块链相关技术分享文章,供技术爱好者参考或学习。