区块链计算 区块链计算模式下区块链账本的保障机制包括

皕利分享 73 0

本篇文章给大家谈谈区块链计算,以及区块链计算模式下区块链账本的保障机制包括对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

区块链中心化计算与处理模式的核心

区块链中心化计算与处理模式的核心是中心化业务处理系统。

区块链的去中心化,指的是交易过程的去中心化。交易行为的产生至少有几千年的历史了,从一开始,传统交易就是点对点的,是去中心化的。不管是两个原始人用野果换野猪,还是一个现代人去路边店买小吃,都是去中心化的。

点对点的传统交易模式适合熟人之间的交易,适合线下的交易。一旦交易的双方是陌生人,甚至交易双方不见面,而是通过电话、互联网等手段完成交易,传统交易模式就处理不了了。

这主要是因为传统交易模式对于交易过程中的各种欺诈的防范是依赖于熟人之间的信任,而没有从交易机制上加以防范。随着交易范围扩展到周边城市,扩展到全国甚至全世界,交易过程中的欺诈行为必须有效解决,否则交易就没法开展。

云计算与区块链

视频加载中...

在理解云计算与区块链的具体关系之前,我们需要搞清楚 区块链是什么?

我们不妨先通过一个 实例 来逐步理解区块链。话说在一个信任匮乏的村子里,老村长为了防止村民们相互借贷时发生 抵赖 的现象,发明了一种新的 记账方式 :如张三向李四借了100元,村里的大喇叭会向全村通告这一消息。村民们手里 各有一本 账本,此时会分头记下“张三于某某时间向李四借了100元”。如果到还款的时候张三想抵赖也无济于事,因为村里其他人的账本里都写着这一记录。这便是区块链的 雏形 。

有了上面的案例,我们再描述区块链的含意就不难理解啦。区块链是指通过 去中心化 和 去信任 的方式,集体维护一个可靠数据库的技术方案。以记账为例,区块链没有中心账本,人人都有机会参与记账, 人人都是中心 ,并且系统里的人,人人都有一份账本。有了以上铺垫,下面我们开始进入正题。

随着云服务的广泛应用,云服务提供商设备故障带来的影响越来越大。几乎所有的中心化云服务提供商都出现过故障,甚至出现数据丢失的情况。那么,这样的问题是否有根治的可能?一个简单的想法就是“别把鸡蛋都放进一个篮子里面”,专业一点就是“ 分布式云计算+区块链 ”。

区块链技术诞生之前,不少云计算厂商就是通过 分布式云计算 ,来解决中心化云计算的弊端。分布式云计算研究如何把一个需要非常大的计算力才能解决的问题,分成许多小部分,然后把这些小部分再分配给许多计算机进行处理,最后把这些计算机结果综合起来得到最终结果。

“云计算+区块链”我们称为BaaS,即Blockchain Technology as a service,翻译为区块链即服务。 目前,很多互联网巨头纷纷表示推出 BaaS业务。IBM在2016年2月宣布推出区块链服务平台,开发者可以在平台访问完全集成的开发运维工具,用于在IBM云上创建、部署、运行和监控区块链应用程序。迅雷作为国内“分布式云计算 区块链”成功落地的先行者,目前已实现分布式云计算与区块链技术的结合。

智慧谷区块链的运算速度

区块链速度问题

并⾏计算与热点账户

区块链的运⾏速度会受多种因素影响,包括加密解密计算、交易⼴播和排序、共识算法多阶段提交的协作开销、虚拟机执⾏速度等,以及受CPU 核数主频、磁盘IO、⽹络带宽等硬件性能影响。

由于区块链是先天的跨⽹络的分布式协作系统,⽽且强调安全性、可⽤性、容错性、⼀致性、事务性,⽤较复杂的算法和繁琐的多参与⽅协作来获得去信任化、数据不可篡改以及交易可追溯等特出的功能优势,根据分布式的CAP原理,在同等的硬件资源投⼊的前提下,区块链的性能往往低于中⼼化的系统,其表现就是并发数不⾼,交易时延较明显。

根据分布式的CAP原理,在同等的硬件资源投⼊的前提下,区块链的性能往往低于中⼼化的系统,其表现就是并发数不⾼,交易时延较明显。 我们已经在多个⽅⾯对系统运⾏的全流程进⾏细致的优化,包括加密解密计算,交易处理流程,共识算法,存储优化等,使我们的区块链平台在单链架构时,运⾏速度达到了⼀个较⾼的性能⽔准,基本能满⾜⼀般的⾦融业务要求。

同时我们也意识到,对于⽤户数、交易量、存量数据较⼤或可能有显著增长的海量服务场景,对系统提出了更⾼的容量和扩展性要求,单链架构总是会遇到软件架构或硬件资源⽅⾯的瓶颈。

类似Fa bric的架构-分组

br ic

⽽区块链的系统特性决定,在区块链中增加节点,只会增强系统的容错性,增加参与者的授信背书等,⽽不会增加性能,只增加节点不能解决问题,这就需要通过架构上的调整来应对性能挑战,所以,我们提出了“并⾏计算,多链运⾏”的⽅案。

并⾏多链的架构基本思路是在⼀个区块链⽹络⾥,存在多个分组,每个组是⼀个完整的区块链⽹络,有独⽴的软件模块,硬件资源,独⽴完成机构间共识,有独⽴的数据存储。

平台提供了基础的分组的策略和实现、路由模块、并⾏多链的构建⼯具等,如何根据业务场景设计不同的分组,如根据机构维度,⽤户维度还是交易维度,甚⾄是时间维度等,都可以再进⾏灵活的设计和操作。

根据可定制的路由规则,参与到区块链⽹络的所有机构和⽤户,或者区块链⾥不同类型的交易,可以接⼊到不同的分组⾥,每个分组处理特定的⼀部分交易,当机构或⽤户数增加,交易量变⼤或者交易类型增加,都可以快捷的增加分组,并在路由策略⾥进⾏设定,将新增的流量分配到新的分组⾥。并⾏多链架构类似数据库的分库分表,或者互联⽹服务的分SET模型,理论上只要投⼊⾜够的资源,则系统能处理的流量没有上限,整个系统具有⾜够的弹性。

同时,⼀个区块链⽹络⾥的多个分组秉承逻辑和配置⾼⼀致性的原则,在商业规则、运营管理上都使⽤统⼀的策略,⽐如,每个分组上的智能合约是完全相同的,核⼼配置数据也是相同的,只有分组⾥的机构、⽤户以及交易类型有所不同。

或者,虽然因为分组间功能设计的差异,导致不同分组上的智能合约有所不同,如⼀些分组是处理⽤户在线交易,强调低时延性,其他分组处理机构间的对账和清结算,关注批量数据处理,那么部署在这些分组上的智能合约会有所不同,但都会通过所有机构以及区块链的运营委员会共同确认,通过共识算法保证部署实施的⼀致性,公开性,不可篡改性。

与Fabric的通道配置chaincode类似

[图⽚上传失败...(image-bd8c12-1542642499169)]

在实现了区块链分组后,分组之间有可能出现互相发⽣交易的场景,实际上就是不同区块链系统之间的通信和交易,类似“跨链”的架构。在这个环节,需要关注的是分组间的通信可靠性,分布式事务完整性和⼀致性,以及分组之间可验证、不可篡改、可追溯的互信性和交易安全性。

热点账户

在此版本,我们根据⾦融业常见的“热点帐户”场景,提出了⼀种解决⽅案。

在很多⾦融交易场景⾥,可能会出现⼤量的独⽴⽤户帐户和少数集中的⼀个或多个热点帐户产⽣交易的情况,如⽤户往某个热卖中的商户付款,或者⽤户频繁从某个帐户中提现或者获取优惠券、积分或者其他资产等,由于⽤户帐户数量较⼤,

相对来说,这些被集中访问的商户帐户,就被称为“热点帐户”。热点帐户在完成和⽤户的交易之外,还需要汇总所有的交易结果,计算总分帐,余额等,以便完成其特有的商业流程,如清结算等。

由于针对热点账户的交易量较⼤且所有⽤户都可能和它发⽣交易,我们考虑设计多个并⾏的交易链,⾸先将⽤户按照⼀定的性能模型分组,每个针对⽤户的分组⽽构建的独⽴的区块链组件,我们称为“⽤户交易链”。举例:预估为每个分组100万⽤户,5个分组能容纳500万⽤户(实际的每组能容纳的⽤户数需要根据业务场景实测评估),这样我们构建了5个“⽤户交易链”。

然后,热点帐户本⾝可以集中在⼀个热点账户的链上(也可以分配在某⼀个分组⾥),热点账户链主要⽤于准实时的汇总各“⽤户交易链”的账务,以管理热点账户的总分帐,如总收⼊,总⽀出,帐户准实时余额等。

为了⽀持⽤户和热点账户的交易,热点帐户在每个“⽤户交易链”上,都会设⽴⼀个影⼦户,⽤户在实时交易时,实际上是和“⽤户交易链”内的热点帐户影⼦户发⽣交易,每次交易都在⽤户交易链内部进⾏共识,不同的分组可以并⾏的进⾏交易计算,互不相关,⽤户和影⼦户之间的交易完成后,即意味着⽤户和热点帐户的交易完成。系统的容量和⽤户交易链的个数有关,⽤户交易链越多,系统容量越⼤,⽤户体验得到了保障。

在⽤户交易链上,热点帐户影⼦户⾥只保存该分组⾥的总分帐,即⼀部分⽤户进⾏交易后,影⼦户⾥产⽣的收⼊、⽀出等,⽤户交易链会定期构建⼀次链内账⽬清算交易,并向热点帐户链发起⼀次跨链汇总交易,热点帐户链接收到交易之后,会到⽤户交易链去验证交易发送者的⾝份、汇总交易的存在性、账⽬的真实性和准确性,验证成功后,在热点帐户链上继续进⾏账⽬计算和⼊账操作,流程结束。

整个过程会通过链间的中继,进⾏多次双向通信,且在不同的链上完整的执⾏共识确认。⽤户和影⼦户的交易可在⼀次共识的时间段内完成,时延较短,以满⾜⽤户体验。热点账户的总分帐计算为准实时完成,其时延取决于定时发起汇总交易的间隔,以及⽤户交易链和热点帐户链的共识时间。系统会保证⽤户交易链和热点帐户链之间的交易不错、不乱、不漏,具备事务⼀致性和完整性。

并⾏多链计算是⼀个基础的系统扩展⽅案,热点帐户的解决⽅案是⼀个场景性的实现,充分理解并⾏多链计算和跨链交易的实现后,可以针对有海量需求的各种⾦融交易场景,设计出不同的⽅案来,以解决具体的场景问题。

[图⽚上传失败...(image-d21c82-1542642499169)]

5.9

百度文库VIP限时优惠现在开通,立享6亿+VIP内容

立即获取

区块链速度问题

区块链速度问题

并⾏计算与热点账户

区块链的运⾏速度会受多种因素影响,包括加密解密计算、交易⼴播和排序、共识算法多阶段提交的协作开销、虚拟机执⾏速度等,以及受CPU 核数主频、磁盘IO、⽹络带宽等硬件性能影响。

由于区块链是先天的跨⽹络的分布式协作系统,⽽且强调安全性、可⽤性、容错性、⼀致性、事务性,⽤较复杂的算法和繁琐的多参与⽅协作来获得去信任化、数据不可篡改以及交易可追溯等特出的功能优势,根据分布式的CAP原理,在同等的硬件资源投⼊的前提下,区块链的性能往往低于中⼼化的系统,其表现就是并发数不⾼,交易时延较明显。

根据分布式的CAP原理,在同等的硬件资源投⼊的前提下,区块链的性能往往低于中⼼化的系统,其表现就是并发数不⾼,交易时延较明显。

区块链计算模式下区块链账本的保障机制包括什么

共识确认、多方存储、安全可信、不可篡改。区块链计算模式是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据,区块链账本的保障机制包括共识确认、多方存储、安全可信、不可篡改,保障机制是为管理活动提供物质和精神条件的机制,是按照功能来划分出来的,从机制的功能来分为激励机制,制约机制和保障机制。

区块链是一个环环相扣的什么计算系统

区块链是一个环环相扣的什么计算系统

区块链是一个环环相扣的什么计算系统,区块链是一个环环相扣的分布式计算系统,区块链是一个环环相扣的什么计算系统,区块链技术利用的是“块链式数据结构”来验证与存储数据的

区块链是一个环环相扣的什么计算系统1

区块链是一个环环相扣的什么计算系统

区块链是一个环环相扣的分布式计算系统;从应用视角来看,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。

本文操作环境:windows7系统、Dell G3电脑。

区块链是一个环环相扣的分布式计算系统。

什么是区块链?

从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。从应用视角来看,简单来说,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块 。

比特币白皮书英文原版 其实并未出现 blockchain 一词,而是使用的 chain of blocks。最早的比特币白皮书中文翻译版 [9] 中,将 chain of blocks 翻译成了区块链。这是“区块链”这一中文词最早的出现时间。

国家互联网信息办公室2019年1月10日发布《区块链信息服务管理规定》,自2019年2月15日起施行 。

作为核心技术自主创新的重要突破口,区块链的安全风险问题被视为当前制约行业健康发展的一大短板,频频发生的安全事件为业界敲响警钟。拥抱区块链,需要加快探索建立适应区块链技术机制的安全保障体系。

类型

公有区块链

公有区块链(Public Block Chains)是指:世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是最早的区块链,也是应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。

联合(行业)区块链

行业区块链(Consortium Block Chains):由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人可以通过该区块链开放的API进行限定查询 。

私有区块链

私有区块链(Private Block Chains):仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。传统金融都是想实验尝试私有区块链,而公链的应用例如bitcoin已经工业化,私链的应用产品还在摸索当中 。

特征

去中心化。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征。

开放性。区块链技术基础是开源的,除了交易各方的'私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。

独立性。基于协商一致的规范和协议(类似比特币采用的哈希算法等各种数学算法),整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。

安全性。只要不能掌控全部数据节点的51%,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更。

匿名性。除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行 。

区块链是一个环环相扣的什么计算系统2

区块链作用

1. 区块链中的数据存储:块链式数据结构

在数据存储方面,区块链技术利用的是“块链式数据结构”来验证与存储数据的。块链式结构是什么意思呢?我们可以把它想象成铁链子,每一环我们可以看作是一个区块,很多环扣在一起就形成了区块链。

和普通存储数据的不同之处在于,在区块链上,后一个区块里的数据是包含前一个区块里的数据的。

2. 区块链中的数据更新:分布式节点共识算法

在数据更新方面,区块链技术是利用“分布式节点共识算法”来生成和更新数据。

每生成新的区块(也就是更新数据的时候),都需要通过一种算法获得全网 51% 以上节点的认可才能构成新的区块,说白了就是投票,超过半数人同意就可以生成,这就使得区块链上的数据不容篡改。

这一点我们可以把区块链理解成一个人人可以记账的账本,那么共识算法就是大家讨论、投票产生的、一致赞同的记账办法。

3. 区块链中的数据维护:密码学

区块链利用密码学的方式来保证数据传输和访问的安全,其所应用的密码学原理主要有哈希算法、Merkle 哈希树、椭圆曲线算法、Base58 等。这些原理,其实呢,都是通过一系列复杂的运算以及换算,来保证区块链上数据安全。

4. 区块链中的数据操作:智能合约

智能合约,是由计算机程序定义并自动执行的承诺协议,说白了,就是用代码执行的一套交易准则。

好比你在自动零售机买可乐,点击购买按键,付款后会自动掉出一瓶可乐给你。智能合约的突出优势就是,很大程度上避免了由信任产生的一系列问题。

二、区块链的作用

从区块链的定义中,不难看出它的一大特征就是可信任,最重要的是它还具有的去中心化、不可篡改、可追溯、匿名性等特点。

这些特点决定了它能够应用到许多行业,解决这些行业的痛点,赋能实体经济,这才是区块链逐渐被认可的原因。

据中国经济网报道,国务院发展研究中心信息中心研究员李广乾表示,“中国区块链的应用已从金融领域延伸到实体领域,电子信息存证、版权管理和交易、产品溯源、数字资产交易、物联网、智能制造、供应链管理等领域。”区块链技术已开始与实体经济产业深度融合,形成一批“产业区块链”项目,迎来产业区块链“百花齐放”的大时代。

接下来我们举几个区块链应用的领域,帮助大家理解区块链在我们生活中的作用。

1、 商品溯源

在我国,电商巨头京东,以及阿里旗下的蚂蚁金服,在区块链商品溯源方面都有一定的落地。电商企业通过开放区块链服务平台,帮助企业部署商品防伪追溯,已广泛应用于奶粉、保健品、大米等产品。2018 年“双 11”,通过区块链实现了来自上百个国家和地区的超过 1.5 亿件商品的溯源。

2 、 电子政务

基于区块链技术,能够解决传统电子政务面临的痛点,将政府、金融、监管等机构加入到区块链生态系统中,实现数据的共享。基于区块链的可追溯性,能够保证数据安全不被篡改;同时,由于在区块链系统中,维护数据安全的是各个节点,这样一来,政府事务便更加公开透明,便于监督。

根据链塔智库的报告,目前我国共有 17 项区块链电子政务应用,分别涉及七大细分场景:政府审计、数字身份、数据共享、涉公监管、电子票据、电子存证、出口监督等:

3、 电子发票

区块链电子票据已经成为区块链技术应用案例最多的应用场景。

去年 8 月 10 号,“全球第一张区块链电子发票”在深圳落地,腾讯金融科技为底层技术提供方。一年以来,深圳开出的区块链电子发票已有 800 万张,5300 多家企业或机构开通了区块链发票。

这些企业或机构涵盖的范围非常广泛,包括银行、地铁、出租车、金融保险、零售、地产、旅游、酒店餐饮等领域。人们只需要携带手机、依据手机上的支付记录,就可以实现随时开具区块链发票。

4. 供应链金融

金融的核心是“信用”,无论是贷款也好,还是融资也好,都离不开“信用”。区块链提供的“去中心化”思想正是解决信任问题的最合适的技术。分布式存储模式,能够推动商业银行、供应链核心企业等方面的信用信息共享,为企业和银行提供高效便捷的信息传递渠道。

三、区块链新浪潮开启,人才缺口大

我们可以发现,区块链正在渗透到我们的日常生活之中。近几年,我们看到全球很多高校也已经开设了区块链相关的课程,区块链学习和教育已经是大势所趋,这也正反映了当前市场对区块链人才的需求。

深入了解区块链的共识机制及算法原理

所谓“共识机制”区块链计算,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,区块链计算我们就可以认为全网对此也能够达成共识。再通俗一点来讲,如果中国一名微博大V、美国一名虚拟币玩家、一名非洲留学生和一名欧洲旅行者互不相识,但区块链计算他们都一致认为区块链计算你是个好人,那么基本上就可以断定你这人还不坏。

要想整个区块链网络节点维持一份相同的数据,同时保证每个参与者的公平性,整个体系的所有参与者必须要有统一的协议,也就是我们这里要将的共识算法。比特币所有的节点都遵循统一的协议规范。协议规范(共识算法)由相关的共识规则组成,这些规则可以分为两个大的核心:工作量证明与最长链机制。所有规则(共识)的最终体现就是比特币的最长链。共识算法的目的就是保证比特币不停地在最长链条上运转,从而保证整个记账系统的一致性和可靠性。

区块链中的用户进行交易时不需要考虑对方的信用、不需要信任对方,也无需一个可信的中介机构或中央机构,只需要依据区块链协议即可实现交易。这种不需要可信第三方中介就可以顺利交易的前提是区块链的共识机制,即在互不了解、信任的市场环境中,参与交易的各节点出于对自身利益考虑,没有任何违规作弊的动机、行为,因此各节点会主动自觉遵守预先设定的规则,来判断每一笔交易的真实性和可靠性,并将检验通过的记录写入到区块链中。各节点的利益各不相同,逻辑上将它们没有合谋欺骗作弊的动机产生,而当网络中有的节点拥有公共信誉时,这一点尤为明显。区块链技术运用基于数学原理的共识算法,在节点之间建立“信任”网络,利用技术手段从而实现一种创新式的信用网络。

目前区款连行业内主流的共识算法机制包含:工作量证明机制、权益证明机制、股份授权证明机制和Pool验证池这四大类。

工作量证明机制即对于工作量的证明,是生成要加入到区块链中的一笔新的交易信息(即新区块)时必须满足的要求。在基于工作量证明机制构建的区块链网络中,节点通过计算随机哈希散列的数值解争夺记账权,求得正确的数值解以生成区块的能力是节点算力的具体表现。工作量证明机制具有完全去中心化的优点,在以工作量证明机制为共识的区块链中,节点可以自由进出。大家所熟知的比特币网络就应用工作量证明机制来生产新的货币。然而,由于工作量证明机制在比特币网络中的应用已经吸引了全球计算机大部分的算力,其他想尝试使用该机制的区块链应用很难获得同样规模的算力来维持自身的安全。同时,基于工作量证明机制的挖矿行为还造成了大量的资源浪费,达成共识所需要的周期也较长,因此该机制并不适合商业应用。

2012年,化名Sunny King的网友推出了Peercoin,该加密电子货币采用工作量证明机制发行新币,采用权益证明机制维护网络安全,这是权益证明机制在加密电子货币中的首次应用。与要求证明人执行一定量的计算工作不同,权益证明要求证明人提供一定数量加密货币的所有权即可。权益证明机制的运作方式是,当创造一个新区块时,矿工需要创建一个“币权”交易,交易会按照预先设定的比例把一些币发送给矿工本身。权益证明机制根据每个节点拥有代币的比例和时间,依据算法等比例地降低节点的挖矿难度,从而加快了寻找随机数的速度。这种共识机制可以缩短达成共识所需的时间,但本质上仍然需要网络中的节点进行挖矿运算。因此,PoS机制并没有从根本上解决PoW机制难以应用于商业领域的问题。

股份授权证明机制是一种新的保障网络安全的共识机制。它在尝试解决传统的PoW机制和PoS机制问题的同时,还能通过实施科技式的民主抵消中心化所带来的负面效应。

股份授权证明机制与董事会投票类似,该机制拥有一个内置的实时股权人投票系统,就像系统随时都在召开一个永不散场的股东大会,所有股东都在这里投票决定公司决策。基于DPoS机制建立的区块链的去中心化依赖于一定数量的代表,而非全体用户。在这样的区块链中,全体节点投票选举出一定数量的节点代表,由他们来代理全体节点确认区块、维持系统有序运行。同时,区块链中的全体节点具有随时罢免和任命代表的权力。如果必要,全体节点可以通过投票让现任节点代表失去代表资格,重新选举新的代表,实现实时的民主。

股份授权证明机制可以大大缩小参与验证和记账节点的数量,从而达到秒级的共识验证。然而,该共识机制仍然不能完美解决区块链在商业中的应用问题,因为该共识机制无法摆脱对于代币的依赖,而在很多商业应用中并不需要代币的存在。

Pool验证池基于传统的分布式一致性技术建立,并辅之以数据验证机制,是目前区块链中广泛使用的一种共识机制。

Pool验证池不需要依赖代币就可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础之上,可以实现秒级共识验证,更适合有多方参与的多中心商业模式。不过,Pool验证池也存在一些不足,例如该共识机制能够实现的分布式程度不如PoW机制等

这里主要讲解区块链工作量证明机制的一些算法原理以及比特币网络是如何证明自己的工作量的,希望大家能够对共识算法有一个基本的认识。

工作量证明系统的主要特征是客户端要做一定难度的工作来得到一个结果,验证方则很容易通过结果来检查客户端是不是做了相应的工作。这种方案的一个核心特征是不对称性:工作对于请求方是适中中的,对于验证方是易于验证的。它与验证码不同,验证码是易于被人类解决而不是易于被计算机解决。

下图所示的为工作量证明流程。

举个例子,给个一个基本的字符创“hello,world区块链计算!”,我们给出的工作量要求是,可以在这个字符创后面添加一个叫做nonce(随机数)的整数值,对变更后(添加nonce)的字符创进行SHA-256运算,如果得到的结果(一十六进制的形式表示)以“0000”开头的,则验证通过。为了达到这个工作量证明的目标,需要不停地递增nonce值,对得到的字符创进行SHA-256哈希运算。按照这个规则,需要经过4251次运算,才能找到前导为4个0的哈希散列。

通过这个示例我们对工作量证明机制有了一个初步的理解。有人或许认为如果工作量证明只是这样一个过程,那是不是只要记住nonce为4521使计算能通过验证就行了,当然不是了,这只是一个例子。

下面我们将输入简单的变更为”Hello,World!+整数值”,整数值取1~1000,也就是说将输入变成一个1~1000的数组:Hello,World!1;Hello,World!2;...;Hello,World!1000。然后对数组中的每一个输入依次进行上面的工作量证明—找到前导为4个0的哈希散列。

由于哈希值伪随机的特性,根据概率论的相关知识容易计算出,预计要进行2的16次方次数的尝试,才能得到前导为4个0的哈希散列。而统计一下刚刚进行的1000次计算的实际结果会发现,进行计算的平均次数为66958次,十分接近2的16次方(65536)。在这个例子中,数学期望的计算次数实际就是要求的“工作量”,重复进行多次的工作量证明会是一个符合统计学规律的概率事件。

统计输入的字符创与得到对应目标结果实际使用的计算次数如下:

对于比特币网络中的任何节点,如果想生成一个新的区块加入到区块链中,则必须解决出比特币网络出的这道谜题。这道题的关键要素是工作量证明函数、区块及难度值。工作量证明函数是这道题的计算方法,区块是这道题的输入数据,难度值决定了解这道题的所需要的计算量。

比特币网络中使用的工作量证明函数正是上文提及的SHA-256。区块其实就是在工作量证明环节产生的。旷工通过不停地构造区块数据,检验每次计算出的结果是否满足要求的工作量,从而判断该区块是不是符合网络难度。区块头即比特币工作量证明函数的输入数据。

难度值是矿工们挖掘的重要参考指标,它决定了旷工需要经过多少次哈希运算才能产生一个合法的区块。比特币网络大约每10分钟生成一个区块,如果在不同的全网算力条件下,新区块的产生基本都保持这个速度,难度值必须根据全网算力的变化进行调整。总的原则即为无论挖矿能力如何,使得网络始终保持10分钟产生一个新区块。

难度值的调整是在每个完整节点中独立自动发生的。每隔2016个区块,所有节点都会按照统一的格式自动调整难度值,这个公式是由最新产生的2016个区块的花费时长与期望时长(按每10分钟产生一个取款,则期望时长为20160分钟)比较得出来的,根据实际时长一期望时长的比值进行调整。也就是说,如果区块产生的速度比10分钟快,则增加难度值;反正,则降低难度值。用公式来表达如下:

新难度值=旧难度值*(20160分钟/过去2016个区块花费时长)。

工作量证明需要有一个目标值。比特币工作量证明的目标值(Target)的计算公式如下:

目标值=最大目标值/难度值,其中最大目标值为一个恒定值0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

目标值的大小与难度值成反比,比特币工作量证明的达成就是矿中计算出来的区块哈希值必须小于目标值。

我们也可以将比特币工作量的过程简单的理解成,通过不停变更区块头(即尝试不同nonce值)并将其作为输入,进行SHA-256哈希运算,找出一个有特定格式哈希值的过程(即要求有一定数量的前导0),而要求的前导0个数越多,难度越大。

可以把比特币将这道工作量证明谜题的步骤大致归纳如下:

该过程可以用下图表示:

比特币的工作量证明,就是我们俗称“挖矿”所做的主要工作。理解工作量证明机制,将为我们进一步理解比特币区块链的共识机制奠定基础。

区块链计算的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于区块链计算模式下区块链账本的保障机制包括、区块链计算的信息别忘了在本站进行查找喔。

标签: #区块链计算

  • 评论列表

留言评论