区块链静态
A. 如何快速入门区块链
目前市面上还没有多少系统学习区块链的视频,自学区块链还是比较难得。可以报班,黑马程序员新开区块链学科,老师以通俗易懂的授课方式,深入浅出的技术讲解,肯定可以学会的哦。来源区视网,想看懂区块链,看视频教程就来这里哦!
B. 区块链除了发币,无币区块链应用的场景有哪些
金融行业
区块链在金融行业的应用应该是最多的。
比如OMG(嫩模币)2017年5月,omise宣布与支付宝合作推出一款电子钱包,是在自己的支付服务套件中整合“支付宝”支付解决方案, 帮助泰国本地电子商务商户接受来自中国游客的线上支付交易。
再比如PPT,它是是一个基于区块链的票据金融交易系统。
博彩
博彩行业大概是在去年进入的区块链,为什么博彩会青睐区块链,因为区块链提供了一个相对公平的竞猜系统,为什么说相对公平,前文的介绍能看到,区块链是不可篡改不可伪造的。
比如WICC(维基链)它是可以实现资产发行、竞猜应用、版权溯源、互助保险、去中心化交易所、跨境结算等丰富的应用场景。
比如STX(拳王币)stox应用程序旨在提供预测市场应用程序的完整功能,而不需要任何中央服务器。预测市场需要诸如事件策划、市场 制作、向交易者提供信息和分析、报告事件结果,当然还有收集和付款等功能。
我相信,如果把现在的彩票行业架设到区块链上,那么人们的购买热情会越来越高,因为太多内幕让人们放弃了这些。
物联网
物联网在区块链上的应用还是很多的,因为区块的可追溯性和即时性非常适应这个行业。
比如DATA就是物联网概念,它是是一个去中心的p2p网络。 数据源可以与整个网络中任意节点连接,然后发布数据,网络将立即发送给订阅者。通过分片模式实现水平可扩展性。这在物联网应用上时效性和准确性是非常重要的。
游戏产业
比如GTC(G币)是由game.com全球发行的基于以太坊erc20的去中心化数字资产,g币致力于成为全球游戏行业的通用数字货币标准。
比如MANA 它是一个分布式共享虚拟平台。在这个平台上,用户可以浏览和发现内容,并与其他人和实体互动。用户还可以通过基于区块链的土地账本宣称对虚拟领地的所有权。领地由直角坐标(x,y)来划定,其所有者可以决定领地上发布的内容,包括从静态 3d 场景到游戏等互动式系统。
还有其他许多产业,大帝不一一列举,列举了几个有代表性的,为了说明什么?说明区块链绝对不仅仅就是币币的交易,它是有真实落地项目,并且是有真实实际用途的一种时代变革的产物。
人类社会的发展其实就像区块链一样,是不可逆不可阻挡的,就我的感觉,区块链早晚走进千家万户,不论牛熊,握好手里的价值币,同花顺已经开始数字货币的报价,说明社会正在一步一步的接纳它,社会发展的力量不是哪个国家或者哪个人可以阻挡的。
C. 如何快速入门区块链
目前市面上还没有多少系统学习区块链的视频,自学区块链还是比较难得。可以报班,黑马程序员新开区块链学科,老师以通俗易懂的授课方式,深入浅出的技术讲解,肯定可以学会的哦。
D. 区块链到底是什么哪些区块链有实体应用!
区块链是什么?
官方定义:区块链是分布式数据存储、点对点传输共识机制加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
白话理解:区块就是按照时间顺序将时间段内产生的所有数据打包,一般一个区块的时间长度为10分钟,也就是说在10分钟内所有的网络上的互联网数据被打成一个完整的包,这个完整数据包就叫做一个区块,区块链就是把这些数据包按照顺序链接起来,形成一个结构,并以密码学的方式保证不可篡改不可伪造形成一个分布式账本,这就是区块链。
物联网
物联网在区块链上的应用还是很多的,因为区块的可追溯性和即时性非常适应这个行业。
比如DATA就是物联网概念,它是是一个去中心的p2p网络。 数据源可以与整个网络中任意节点连接,然后发布数据,网络将立即发送给订阅者。通过分片模式实现水平可扩展性。这在物联网应用上时效性和准确性是非常重要的。
游戏产业
比如GTC(G币)是由game.com全球发行的基于以太坊erc20的去中心化数字资产,g币致力于成为全球游戏行业的通用数字货币标准。
比如MANA 它是一个分布式共享虚拟平台。在这个平台上,用户可以浏览和发现内容,并与其他人和实体互动。用户还可以通过基于区块链的土地账本宣称对虚拟领地的所有权。领地由直角坐标(x,y)来划定,其所有者可以决定领地上发布的内容,包括从静态 3d 场景到游戏等互动式系统。
还有其他许多产业,大帝不一一列举,列举了几个有代表性的,为了说明什么?说明区块链绝对不仅仅就是币币的交易,它是有真实落地项目,并且是有真实实际用途的一种时代变革的产物。
人类社会的发展其实就像区块链一样,是不可逆不可阻挡的,就我的感觉,区块链早晚走进千家万户,不论牛熊,握好手里的价值币,同花顺已经开始数字货币的报价,说明社会正在一步一步的接纳它,社会发展的力量不是哪个国家或者哪个人可以阻挡的。
E. 主流区块链技术有哪些
本文试图对区块链有关技术流派和主流平台进行一个概览,作为学习区块链技术体系的导览,意在抛砖引玉,促进区块链开发社区的讨论与共识。区块链技术的流派未战先谋局,你想投入区块链开发这个领域,至少先要搞清楚现在有哪些玩家,各自的主张和实力如何。划分区块链技术流派并无一定之规,据我所见,或可有以下四种方式:第一是按照节点准入规则,划分为公有链、私有链和联盟链。公有链的代表自然是比特币和以太坊,私有链则以R3 Corda声名最盛,联盟链的代表作品是Hyperledger名下的Fabric。公有链注重匿名性与去中心化,而私有链及联盟链注重高效率,而且还往往设置了准入门槛。公有链、私有链与联盟链之间的这些不同都在技术中有所体现,比如私有链和联盟链假设节点数目不大,可以采用PBFT算法来形成共识。而公有链假设有大量且不断动态变化的节点网络,用PBFT效率太低,只能采用类似抽彩票的算法来确定意见领袖。这就意味着,私有链与联盟链很难变成公有链,而用公有链来作联盟链或私有链虽然容易,却也并非即插即用。此种差异,学者不可不察。第二是按照共享目标,划分为共享账本和共享状态机两派。比特币是典型的共享账本,而Chain和BigchainDB也应属此类,这几个区块链系统在各个节点之间共享一本总账,因此对接金融应用比较方便。另一大类区块链系统中,各个节点所共享的是可完成图灵完备计算的状态机,如以太坊、Fabric,它们都通过执行智能合约而改变共享状态机状态,进而达成种种复杂功能。第三是按照梅兰妮· 斯旺所描述的代际演进,将区块链系统分为1.0、2.0和3.0三代。其中1.0支撑去中心化交易和支付系统,2.0通过智能合约支撑行业应用,3.0支撑去中心化的社会体系。比特币和Chain应属于区块链1.0系统,而以太坊和Fabric是区块链2.0系统,目前尚无成功的区块链3.0系统出现,不成功的尝试倒是有那么一个,就是著名的The DAO。第四是按照核心数据结构,分为区块链和分布式总账两派。区块链这一派在系统中真的实现了一个区块的链作为核心数据结构,而分布式总账这一派,只是吸取了区块链的精神,并没有真用一条区块链作为核心数据结构,或者虽然暂时用了,但声明说吾项庄舞区块链,意在分布式总账耳,若假以时日,因缘际会,未尝不可取而代之也。主流区块链技术平台了解流派划分,仍是只能用来指点江山,吹牛论道,要动手,总要有个切入点。区块链货币据说已经有上千个了,但值得关注的技术平台大概只有数十个,而如果要进入区块链开发领域,打下一个好基础,练出一身好功夫,捞到几个好offer,则值得深入研究学习的平台,屈指可数。首先当然是比特币。比特币作为区块链的第一个也是目前为止最成功、最重要的样板工程,已经上线运行了八年多,本身没有发生任何严重的安全和运维事故,其稳定与强悍堪称当代软件系统典范。比特币Bitcoin Core是一个代码质量高、文档良好的开源软件,从学习区块链原理、掌握核心技术的角度来说,Bitcoin Core是最佳切入点,能够学到原汁原味的区块链技术。当然,Bitcoin Core是用C++写的,而且用了一些C++11和Boost库的机制,对学习者的C++水平提出了较高的要求。学习比特币平台开发还有一个优势,就是可以对接繁荣的比特币技术社区。目前围绕比特币进行改进和提升的人很多,人多力量就大,诸如隔离验证、闪电网络、侧链等比较新的想法和技术,都率先在比特币社区里落地。比如侧链技术的主要领导者Blockstream是由密码学货币元老Adam Back领衔的,而Blockstream是Bitcoin Core最大的贡献者之一,所以一些有关侧链的技术在比特币社区里讨论最充分。但比特币作为一个典型的区块链1.0系统,是不是支撑其他类型区块链应用的最佳技术平台,存在很大的争议。另外,也不是所有人都有能力和必要精通区块链底层技术。所以对那些急于冲到区块链领域里做(quān)事(qián)的人来说,可能更直截了当的学习目标是以太坊和Hyperledger Fabric。在以太坊上面用Solidity进行的智能合约开发是切入区块链开发最简单的方式,没有之一。以太坊的理想非常宏大,由于配备了强大的图灵完备的智能合约虚拟机,因此可以成为一切区块链项目的母平台,是驮住整个区块链世界的大乌龟。在以太坊上开发一个类似比特币的加密货币,是一个不折不扣的小目标。一般有经验的开发者在文档指导下,半天到一天即可入门。问题在于,入门以后又如何?靠写Solidity是否就可以包打天下?这是大大存疑的。我们也可以反过来说,如果以太坊+Solidity是区块链的终极解决方案,那么怎么还会出现那么多区块链技术门派呢?特别是,以太坊似乎并没有给现实世界中巨型的中心化组织们留下一条活路,这种彻底不妥协的革命态度有可能也成为以太坊推广的障碍。当前以太坊项目的开发进展并不顺利。一个比较突出的问题是项目过多,力量分散,导致项目质量参差不齐。但尽管如此,跟其他区块链2.0平台相比,以太坊提供的开发环境是最简单最完善的。初学区块链的人绝对有必要学习以太坊,从而对区块链和智能合约建立起一个最“正宗”的认识。主流区块链技术平台的第三支就是Fabric,它是Hyperledger的第一个也是最知名的孵化项目。 Fabric最早来自IBM的Open Blockchain项目,到2015年11月,IBM将当时已经开发完成的44,000行Go语言代码交给Linux基金会,并入Hyperledger项目之中。在2016年3月一次黑客马拉松中,Blockstream和DAH两家公司将各自的代码并入Open Blockchain,随后改名为Fabric。到目前为止,Fabric与Intel提供的Sawtooth Lake并列为Hyperledger的一级孵化项目,但前者得到的关注远超后者。从技术角度来说,Fabric思路不错,重点是满足企业商用的需求,比如解决交易量问题。众所周知,比特币最大的短板是它每秒钟7个交易的上限,完全无法满足现实需要。而Fabric目标是实现每秒钟10万交易,这个量接近刚刚过去的双十一交易量瞬时峰值,完全可以满足正常条件下的行业级应用。Fabric用Go语言开发,也提供多种语言的API。特别值得一提的是,Fabric比较充分地运用了容器技术,比如其智能合约就运行在容器当中。这也是Go语言带给Fabric的一项福利,因为Go语言静态编译部署的特征很适合开发容器中的程序。Fabric还有一些特点,比如其membership服务可以设置节点准入审查,这是典型的联盟链特征。再比如其共识算法是可定制的。Fabric的短板是体系较为复杂,虽有文档,但缺少经验的开发者学习起来障碍比较大。然而由于其定位清楚,迎合了不少企业的心态,所以已经有多家机构在基于Fabric秘密研发行业内的联盟链项目。
F. 相关专业知识进入区块链行业,需要学习哪些专业知识
如果你对区块链技术感兴趣,你在开始可以学学密码学的知识,了解如何通过数字加强除了信任之外的契约,这个是区块链的最基本原理,然后你可以看看编程类的书籍,对基本的代码做过了解,会进行简单的编程,之后,你就可以下载一些常见的区块链,研究它的代码排列,看看它是如何把合约加入的,做做简单的修改,就能建立自己的智能合约约。当然,如果你仅仅是受近来的价格和炒作影响,决定入这行,建议你多了解下炒作它的牛人,听听他们的言论,学学人家是如何收割的!
G. 三. 区块链系统的核心之一-分布式共识机制
拜占庭将军问题(Byzantine Generals Problem),是由莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。
在分布式计算中,不同的计算机通过通讯交换信息达成共识而按照同一套协作策略行动。但有时候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。这个难题被称为“拜占庭容错”,或者“两军问题”。
拜占庭假设是对现实世界的模型化。拜占庭将军问题被认为是容错性问题中最难的问题类型之一。拜占庭容错协议要求能够解决由于硬件错误、网络拥塞或断开以及遭到恶意攻击,其他计算机和网络可能出现不可预料的行为而带来的各种问题。并且拜占庭容错协议还要满足所要解决的问题要求的规范。
在拜占庭时代有一个墙高壁厚的城邦——拜占庭,高墙之内存放在世人无法想象多的财富。拜占庭被其他10个城邦所环绕,这10个城邦也很富饶,但和拜占庭相比就有天壤之别了。
拜占庭的十个邻居都觊觎它的财富,并希望侵略并占领它。但是,拜占庭的防御非常强大,任何单个城邦的入侵行动都会失败,而入侵者的军队也会被歼灭,使得该城邦自身遭到其他互相觊觎对方的九个城邦的入侵和劫掠。
拜占庭的防御很强,十个城邦中要有一半以上同时进攻才能攻破它。也就是说,如果有六个或者以上的相邻城邦一起进攻,他们就会成功并获得拜占庭的财富。然而,如果其中有一个或者更多城邦背叛了其他城邦,答应一起入侵但在其他城邦进攻的时候又不干了,也就导致只有五支或者更少的城邦的军队在同时进攻,那么所有的进攻城邦的军队都会被歼灭,并随后被其他的(包括背叛他们的那(几)个)城邦所入侵和劫掠。
这是一个由许多不互相信任的城邦构成的一个网络。城邦们必须一起努力以完成共同的使命。而且,各个城邦之间通讯和协调的唯一途径是通过信使骑马在城邦之间传递信息。城邦的决策者们无法聚集在一个地方开个会(所有的城邦的决策者都不互相信任自己的安全会在自己的城堡或者军队范围之外能够得到保障)。
城邦的决策者可以在任意时间以任意频率派出任意数量的信使到任意的对方。每条信息都包含如下的内容:“我城邦将在某一天的某个时间发动进攻,你城邦愿意加入吗?”。如果收信城邦同意了,该城邦就会在原信上附上一份签名了的或盖了图章的(以就是验证了的)回应然送回发信城邦。然后,再把新合并了的信息的拷贝一一发送给其他八个城邦,要求他们也如此这样做。最后的目标是,通过在原始信息链上盖上他们所有十个城邦的决策者的图章,让他们在时间上达成共识。最后的结果是,会有一个盖有十个同意同一时间发动进攻的图章信息包,和一些被抛弃了的包含部分但不是全部图章的信息包。
在这个过程中首先出现了第一个问题,就是如果每个城邦向其他九个城邦派出一名信使,那么就是十个城邦每个派出了九名信使,也就是在任何一个时间又总计90次的传输,并且每个城市分别收到九个信息,可能每一封都写着不同的进攻时间。
在这个过程中还有第二个问题,就是部分城邦会答应超过一个的攻击时间,故意背叛进攻发起人,所以他们将重新广播超过一条(甚至许许多多条)的信息包,由此产生许多甚至无数的足以淹没一切的杂音。
有了以上两个问题,整个网络系统可能迅速变质,并演变成不可信的信息和攻击时间相互矛盾的纠结体。
拜占庭假设是对现实网络世界的一种模型化。在现实网络世界中由于硬件错误、网络拥塞或断开以及遭到恶意攻击,网络可能出现许许多多不可预料的行为。拜占庭容错协议必须处理这些失效,并且还要使这些协议满足所要解决的问题所要求的规范。
对于拜占庭将军问题中本聪的区块链给出了比较圆满的解决方案。也就是比较圆满的解决了上述的两个问题。
拜占庭将军问题的第一个问题从本质上来讲就是时间和空间的障碍导致信息的不准确和不及时。
区块链对于第一个问题的解决方案是利用分布式存储技术和比特流技术(BT技术,一种新型的点对点传输技术,具有节点同时作为客户端和服务器端和没有中心服务器等特点),将整个网络系统内的所有交易信息汇总为一个统一的,分布式存储的,近乎实时同步更新的电子总账。统一的分布式共同账本就解决了空间障碍问题;而近乎同步进行的,实时的,持续的对所有账本备份的更新、对账则解决了时间障碍问题。
这个过程较具体一点的描述大概是将区块链系统内所有的交易活动的记录数据统一于一种标准化的总帐上;区块链系统的每一个节点都会保存一份总帐的备份;所有总帐的备份都是在实时的,持续的更新、对账、以及同步着。区块链系统的每一个节点能在这本总帐里记上添加记录;每一笔新添加的记录都会实时的广播到区块链系统内;所以在每一个节点上的每一份总帐的备份都是几乎同时更新的,并且所有的总帐的备份保持着同步。
拜占庭将军问题的第二个问题从本质上来讲就是关于信息过量问题和信息干扰问题。信息过量和信息干扰问题导致决策延迟,甚至决策系统崩溃而无法决策。
区块链对于第二个问题的解决方案是区块链系统的任何一个节点在发送每一笔新添加的记录时需要附带一条额外的信息。对区块链系统的任何一个节点来说这条额外的信息的获得都是有成本的,并且只能有一个节点可以获得。这样就解决了区块链系统的任何一个节点新添加额外信息时的信息多且乱而无法达成一致的问题。在这里,区块链系统的任何一个节点获得那条附带的额外的信息的过程就是著名的工作量证明机制。
共识机制主要解决区块链系统的数据如何记录和如何保存的问题。工作量证明机制就是要求区块链系统的节点通过做一定难度的工作得出一个结果的过程。
区块链系统中某节点生成了一笔新的交易记录,并且该节点将这笔新的交易记录向全网广播。全网各个节点收到这个交易记录并与其他所有准备打包进区块的交易记录共同组成交易记录列表。在列表内先对所有交易进行两两的哈希计算;再对以获得的哈希值进行哈希计算获得Merkle树和Merkle树的根值;把Merkle树的根值及其他相关字段组装成区块头。
各个节点将区块头的80字节数据加上一个不停的变更的区块头随机数一起进行不停的哈希运算(实际上这是一个双重哈希运算);不停的将哈希运算结果值与当前网络的目标值做对比,直到哈希运算结果值小于目标值,就获得了符合要求的哈希值,工作量证明也就完成了。
分布式的区块链系统是一个动态变化的系统(硬件的运算速度的增长,节点参与网络的程度的变化)。系统的不断变化必然带来系统的算力的不断变化。而算力的变化又会导致通过消耗算力(工作)来获得符合要求的哈希值的速度的不同。最终的结果会是区块链的增长速度会有巨大的不同。这是一个很大的问题。为了解决这个问题,区块链系统自动根据算力的变化对工作难度进行调整。也就是采用移动平均目标的方法来确定,难度控制为每小时生成区块的速度为某一个预定的平均数。
在区块链系统中一个符合要求的哈希值是由N个前导零构成,零的个数取决于网络的难度值。为了使区块的形成时间控制在大约十分钟左右,区块链系统采用了固定工作难度的难度算法。难度值每2016个区块调整一次零的个数。
新的难度值是根据前2015个区块(理论上应该是2016个区块,由于当初程序编写时的失误造成了用2015而不是2016)的出块时间来计算。
难度 = 目标值 * 前2015个区块生成所用的时间 / 1209600 (两周的秒钟数)
这样通过规定的算法,区块链系统就保证所有节点计算出的难度值都一致,区块的形成时间大约一致在十分钟左右。
(1)结果不可控制。其依赖机器进行哈希函数的运算来获得结果;计算结果是一个随机数;没有人能直接控制计算的结果。
(2)计算具有对称性。就是结果的获得和结果的验收需要的工作量是不同的。计算出结果所需要的工作量远远大于验收结果所需要的工作量。
(3)计算的难度自动控制。为了使区块的形成时间控制在大约十分钟左右,区块链系统自动控制了每一个符合要求的哈希获得为大约在十分钟左右。
第一,方法简单易行。
第二,系统达成共识容易,节点间不需要太多的信息交换。
第三,系统比较牢固可靠,任何破坏系统的企图都需要投入大到得不偿失的成本。
第一,消耗大量的算力,也就是浪费能源和其他资源。
第二,区块的确认时间比较长,并且难以缩短。
第三,新创立的区块链非常容易受到算力攻击。
第四,容易产生区块链分叉,稳定的区块链需要多个确认,并且这种状况可能不断持续下去。
第五,算力的逐渐集中导致与去中心化的系统设计基础的冲突日益明显。
权益证明机制是一种工作量证明机制的替代方法,试图解决工作量计算浪费的问题.目前其成功的应用是点点币区块链系统。
权益证明不要求区块链系统的节点完成一定数量的计算工作,而是要求区块链系统的节点对某些数量的钱展示所有权。
权益证明机制首先应用于点点币区块链系统中。
点点币区块链系统的区块生成时,节点需要构造一个“钱币权益”交易,即把自己的一些钱币和预先设定的奖励发给自己。进行哈希计算时,哈希值的计算只同交易输入、一些附加的固定数据以及当前时间(是一个表示自1970年1月1日距离当前时刻的秒数的正数)有关。然后,根据类似工作量证明的要求来检查这个哈希值是否正确。
点点币区块链系统的权益证明机制除了设定了哈希计算难度与交易输入的“币龄”成反比外,其与工作量证明机制非常类似。其中,币龄的定义为交易输入大小和它存在时间的乘积。权益证明机制中哈希值只和时间和固定的数据有关,因而没有办法通过多完成工作来快速获取它。
每个点点币区块链系统的交易的输出都有一定的几率来产生有效的正比于币龄和交易货币数量的工作。
第一,缩短了共识达成的时间。
第二,不再需要大量消耗能源。
第一,还是需要哈希计算。
第二,所有的确认都只是一个概率上的表达,而不是一个确定性的事情,有可能受到其他攻击影响。
授权股份证明机制类似于权益证明机制,是比特股BitShares采用的区块链公识算法。授权股份证明机制是民主选举和轮流执政相结合方式来确定区块的产生。
授权股份证明机制是先由节点选举若干代理人,由代理人验证和记账。其他方面和权益证明机制相似。
每个节点按其持股比例拥有相应的影响力,51%节点投票的结果将是不可逆且有约束力的。为达到及时而高效的方法达到51%批准的目标。每个节点可以将其投票权授予一名节点。获票数最多的前100位节点按既定时间表轮流产生区块。每名节点分配到一个时间段来生产区块。
所有的节点将收到等同于一个平均水平的区块所含交易费的10%作为报酬。
第一,大幅缩小参与验证和记账节点的数量,
第二,可以快速实现共识验证。
主要缺点就是仍然无法摆脱对代币的依赖。
在分布式计算上,不同的计算机透过讯息交换,尝试达成共识;但有时候,系统上协调计算或成员计算机可能因系统错误并交换错的讯息,导致影响最终的系统一致性。
拜占庭将军问题就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。
而拜占庭问题的可能解决方法为:
在 N ≥ 3F + 1 的情况下一致性是可能解决。其中,N为计算机总数,F为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。
第一,系统运转可以摆脱对代币的依赖,共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。
第二,共识的时延大约在2到5秒钟。
第三,共识效率高,可满足高频交易量的需求。
第一,当有1/3或以上记账人停止工作后,系统将无法提供服务;
第二,当有1/3或以上记账人联合作恶,可能系统会出现会留下密码学证据的分叉。
小蚁改良了实用拜占庭容错机制。该机制是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。
此算法在PBFT基础上进行了以下改进:
第一,将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;
第二,将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;
第三,为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);
第四,在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。
第一,专业化的记账人;
第二,可以容忍任何类型的错误;
第三,记账由多人协同完成,每一个区块都有最终性,不会分产生区块链分叉;
第四,算法的可靠性有严格的数学证明来保证;
第一,当有1/3或以上记账人停止工作后,区块链系统将无法提供服务;
第二,当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使区块链系统出现分叉,但是会留下密码学证据;
瑞波共识机制是全体节点选取出特殊节点组成特殊节点列表,由特殊节点列表内的节点达成共识。
初始特殊节点列表就像一个俱乐部,要接纳一个新成员,必须由51%的该俱乐部会员投票通过。共识遵循这核心成员的51%权力,外部人员则没有影响力。波共识机制将股东们与其投票权隔开,并因此比其他系统更中心化。
瑞波共识机制参与共识形成的只有特殊节点,大大的减少了共识形成的时间。在实践中,瑞波区块链系统达成共识需要3-6秒钟,远远快于比特币区块链系统的10分钟。同时瑞波区块链系统对并发交易的处理达到每秒数万笔,而比特币区块链系统只有每秒7笔。
瑞波共识机制处理节点意见分歧的方式也是不同的。瑞波的信任节点对于新区块的创造进行协商的时间是区块链更新前。先协商,达成共识后再对区块链进行更新。
由于瑞波共识机制的共识是由特殊节点达成的,普通节点并不需要维护一个完整的历史账本。各个节点可以根据自己的业务需要选择同步同步完整的历史账本或者任意最近几步的账本。这也意味着对存储空间和网络流量需求的减少。
瑞波共识机制取消了挖坑的发行货币机制,采用了原生货币(1000亿枚)的方式发币,从而大量的避免了挖矿的天量能耗。
H. 区块链技术发展现状与展望
区块链技术发展现状与展望
区块链技术起源于2008年由化名为 “中本聪” (Satoshi Nakamoto)的学者在密码学邮件组发表的奠基性论文《比特币:一种点对点电子现金系统》。近两年来,区块链技术的研究与应用呈现出爆发式增长态势,被认为是继大型机、个人电脑、互联网、移动/社交网络之后计算范式的第五次颠覆式创新,是人类信用进化史上继血亲信用、贵金属信用、央行纸币信用之后的第四个里程碑。区块链技术是下一代云计算的雏形,有望像互联网一样彻底重塑人类社会活动形态,并实现从目前的信息互联网向价值互联网的转变。区块链的技术特点
区块链具有去中心化、时序数据、集体维护、可编程和安全可信等特点。 去中心化:区块链数据的验证、记账、存储、维护和传输等过程均是基于分布式系统结构,采用纯数学方法而不是中心机构来建立分布式节点间的信任关系,从而形成去中心化的可信任的分布式系统; 时序数据:区块链采用带有时间戳的链式区块结构存储数据,从而为数据增加了时间维度,具有极强的可验证性和可追溯性; 集体维护:区块链系统采用特定的经济激励机制来保证分布式系统中所有节点均可参与数据区块的验证过程(如比特币的“挖矿”过程),并通过共识算法来选择特定的节点将新区块添加到区块链; 可编程:区块链技术可提供灵活的脚本代码系统,支持用户创建高级的智能合约、货币或其它去中心化应用; 安全可信:区块链技术采用非对称密码学原理对数据进行加密,同时借助分布式系统各节点的工作量证明等共识算法形成的强大算力来抵御外部攻击、保证区块链数据不可篡改和不可伪造,因而具有较高的安全性。区块链与比特币 比特币是迄今为止最为成功的区块链应用场景,区块链技术为比特币系统解决了数字加密货币领域长期以来所必需面对的双重支付问题和拜占庭将军问题。与传统中心机构(如中央银行)的信用背书机制不同的是,比特币区块链形成的是软件定义的信用,这标志着中心化的国家信用向去中心化的算法信用的根本性变革。近年来,比特币凭借其先发优势,目前已经形成体系完备的涵盖发行、流通和金融衍生市场的生态圈与产业链,这也是其长期占据绝大多数数字加密货币市场份额的主要原因。区块链的发展脉络与趋势
区块链技术是具有普适性的底层技术框架,可以为金融、经济、科技甚至政治等各领域带来深刻变革。按照目前区块链技术的发展脉络,区块链技术将会经历以可编程数字加密货币体系为主要特征的区块链1.0模式,以可编程金融系统为主要特征的区块链2.0模式和以可编程社会为主要特征的区块链3.0模式。然而,上述模式实际上是平行而非演进式发展的,区块链1.0模式的数字加密货币体系仍然远未成熟,距离其全球货币一体化的愿景实际上更远、更困难。目前,区块链领域已经呈现出明显的技术和产业创新驱动的发展态势,相关学术研究严重滞后、亟待跟进。区块链的基础模型与关键技术
一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。区块链技术的应用场景
区块链技术不仅可以成功应用于数字加密货币领域,同时在经济、金融和社会系统中也存在广泛的应用场景。根据区块链技术应用的现状,本文将区块链目前的主要应用笼统地归纳为数字货币、数据存储、数据鉴证、金融交易、资产管理和选举投票共六个场景:数字货币:以比特币为代表,本质上是由分布式网络系统生成的数字货币,其发行过程不依赖特定的中心化机构。数据存储:区块链的高冗余存储、去中心化、高安全性和隐私保护等特点使其特别适合存储和保护重要隐私数据,以避免因中心化机构遭受攻击或权限管理不当而造成的大规模数据丢失或泄露。数据鉴证:区块链数据带有时间戳、由共识节点共同验证和记录、不可篡改和伪造,这些特点使得区块链可广泛应用于各类数据公证和审计场景。例如,区块链可以永久地安全存储由政府机构核发的各类许可证、登记表、执照、证明、认证和记录等。金融交易:区块链技术与金融市场应用有非常高的契合度。区块链可以在去中心化系统中自发地产生信用,能够建立无中心机构信用背书的金融市场,从而在很大程度上实现了“金融脱媒”;同时利用区块链自动化智能合约和可编程的特点,能够极大地降低成本和提高效率。资产管理:区块链能够实现有形和无形资产的确权、授权和实时监控。无形资产管理方面已经广泛应用于知识产权保护、域名管理、积分管理等领域;有形资产管理方面则可结合物联网技术形成“数字智能资产”,实现基于区块链的分布式授权与控制。选举投票:区块链可以低成本高效地实现政治选举、企业股东投票等应用,同时基于投票可广泛应用于博彩、预测市场和社会制造等领域。区块链技术的现存问题
安全性威胁是区块链迄今为止所面临的最重要的问题。其中,基于PoW共识过程的区块链主要面临的是51%攻击问题,即节点通过掌握全网超过51%的算力就有能力成功篡改和伪造区块链数据。其他问题包括新兴计算技术破解非对称加密机制的潜在威胁和隐私保护问题等。 区块链效率也是制约其应用的重要因素。区块链要求系统内每个节点保存一份数据备份,这对于日益增长的海量数据存储来说是极为困难的。虽然轻量级节点可部分解决此问题,但适用于更大规模的工业级解决方案仍有待研发。比特币区块链目前每秒仅能处理7笔交易,且交易确认时间一般为10分钟,这极大地限制了区块链在大多数金融系统高频交易场景中的应用。 PoW共识过程高度依赖区块链网络节点贡献的算力,这些算力主要用于解决SHA256哈希和随机数搜索,除此之外并不产生任何实际社会价值,因而一般意义上认为这些算力资源是被“浪费”掉了,同时被浪费掉的还有大量的电力资源。如何能有效汇集分布式节点的网络算力来解决实际问题,是区块链技术需要解决的重要问题。 区块链网络作为去中心化的分布式系统,其各节点在交互过程中不可避免地会存在相互竞争与合作的博弈关系,例如比特币矿池的区块截留攻击博弈等。区块链共识过程本质上是众包过程,如何设计激励相容的共识机制,使得去中心化系统中的自利节点能够自发地实施区块数据的验证和记账工作,并提高系统内非理性行为的成本以抑制安全性攻击和威胁,是区块链有待解决的重要科学问题。智能合约与区块链技术
智能合约是一组情景-应对型的程序化规则和逻辑,是部署在区块链上的去中心化、可信共享的程序代码。通常情况下,智能合约经各方签署后,以程序代码的形式附着在区块链数据(例如一笔比特币交易)上,经P2P网络传播和节点验证后记入区块链的特定区块中。智能合约封装了预定义的若干状态及转换规则、触发合约执行的情景(如到达特定时间或发生特定事件等)、特定情景下的应对行动等。区块链可实时监控智能合约的状态,并通过核查外部数据源、确认满足特定触发条件后激活并执行合约。 智能合约对于区块链技术来说具有重要的意义。一方面,智能合约是区块链的激活器,为静态的底层区块链数据赋予了灵活可编程的机制和算法,并为构建区块链2.0和3.0时代的可编程金融系统与社会系统奠定了基础;另一方面,智能合约的自动化和可编程特性使其可封装分布式区块链系统中各节点的复杂行为,成为区块链构成的虚拟世界中的软件代理机器人,这有助于促进区块链技术在各类分布式人工智能系统中的应用,使得基于区块链技术构建各类去中心化应用(Decentralized application, Dapp)、去中心化自治组织(Decentralized Autonomous Organization, DAO)、去中心化自治公司(Decentralized Autonomous Corporation, DAC)甚至去中心化自治社会(Decentralized Autonomous Society, DAS)成为可能。 区块链和智能合约技术的主要发展趋势是由自动化向智能化方向演化。现存的各类智能合约及其应用的本质逻辑大多仍是根据预定义场景的“ IF-THEN”类型的条件响应规则,能够满足目前自动化交易和数据处理的需求。未来的智能合约应具备根据未知场景的“ WHAT-IF”推演、计算实验和一定程度上的自主决策功能,从而实现由目前“自动化”合约向真正的“智能”合约的飞跃。区块链驱动的平行社会
近年来,基于CPSS(Cyber-Physical-SocialSystems)的平行社会已现端倪,其核心和本质特征是虚实互动与平行演化。区块链是实现CPSS平行社会的基础架构之一,其主要贡献是为分布式社会系统和分布式人工智能研究提供了一套行之有效的去中心化的数据结构、交互机制和计算模式,并为实现平行社会奠定了坚实的数据基础和信用基础。 就数据基础而言,管理学家爱德华戴明曾说过:除了上帝,所有人必须以数据说话。然而在中心化社会系统中,数据通常掌握在政府和大型企业等“少数人”手中,为少数人“说话”,其公正性、权威性甚至安全性可能都无法保证。区块链数据则通过高度冗余的分布式节点存储,掌握在“所有人”手中,能够做到真正的“数据民主”。就信用基础而言,中心化社会系统因其高度工程复杂性和社会复杂性而不可避免地会存在“默顿系统”的特性,即不确定性、多样性和复杂性,社会系统中的中心机构和规则制定者可能会因个体利益而出现失信行为;区块链技术有助于实现软件定义的社会系统,其基本理念就是剔除中心化机构、将不可预测的行为以智能合约的程序化代码形式提前部署和固化在区块链数据中,事后不可伪造和篡改并自动化执行,从而在一定程度上能够将“默顿”社会系统转化为可全面观察、可主动控制、可精确预测的“牛顿”社会系统。 ACP(人工社会Artificial Societies、计算实验Computational Experiments和平行执行ParallelExecution)方法是迄今为止平行社会管理领域唯一成体系化的、完整的研究框架,是复杂性科学在新时代平行社会环境下的逻辑延展和创新。 ACP方法可以自然地与区块链技术相结合,实现区块链驱动的平行社会管理。首先,区块链的P2P 组网、分布式共识协作和基于贡献的经济激励等机制本身就是分布式社会系统的自然建模,其中每个节点都将作为分布式系统中的一个自主和自治的智能体(agent)。随着区块链生态体系的完善,区块链各共识节点和日益复杂与自治的智能合约将通过参与各种形式的Dapp,形成特定组织形式的DAC和DAO,最终形成DAS,即ACP中的人工社会。其次,智能合约的可编程特性使得区块链可进行各种“ WHAT-IF” 类型的虚拟实验设计、场景推演和结果评估,通过这种计算实验过程获得并自动或半自动地执行最优决策。最后,区块链与物联网等相结合形成的智能资产使得联通现实物理世界和虚拟网络空间成为可能,并可通过真实和人工社会系统的虚实互动和平行调谐实现社会管理和决策的协同优化。不难预见,未来现实物理世界的实体资产都登记为链上智能资产的时候,就是区块链驱动的平行社会到来之时。
I. 区块链几大共识机制及优缺点
首先,没有一种共识机制是完美无缺的,各共识机制都有其优缺点,有些共识机制是为解决一些特定的问题而生。
1.pow( Proof of Work)工作量证明
一句话介绍:干的越多,收的越多。
依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。
优点:
1)算法简单,容易实现;
2)节点间无需交换额外的信息即可达成共识;
3)破坏系统需要投入极大的成本;
缺点:
1)浪费能源;
2)区块的确认时间难以缩短;
3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
4)容易产生分叉,需要等待多个确认;
5)永远没有最终性,需要检查点机制来弥补最终性;
2.POS Proof of Stake,权益证明
一句话介绍:持有越多,获得越多。
主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于PoW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。该共识机制容错性和PoW相同。它是Pow的一种升级共识机制,根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度
优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。
缺点:还是需要挖矿,本质上没有解决商业应用的痛点;所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成以太坊硬分叉,而ETC由此事件出现,事实上证明了此次硬分叉的失败。
DPOS与POS原理相同,只是选了一些“人大代表”。
BitShares社区首先提出了DPoS机制。
与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
DPoS的工作原理为:
去中心化表示每个股东按其持股比例拥有影响力,51%股东投票的结果将是不可逆且有约束力的。其挑战是通过及时而高效的方法达到51%批准。为达到这个目标,每个股东可以将其投票权授予一名代表。获票数最多的前100位代表按既定时间表轮流产生区块。每名代表分配到一个时间段来生产区块。所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。如果一个平均水平的区块含有100股作为交易费,一名代表将获得1股作为报酬。
网络延迟有可能使某些代表没能及时广播他们的区块,而这将导致区块链分叉。然而,这不太可能发生,因为制造区块的代表可以与制造前后区块的代表建立直接连接。建立这种与你之后的代表(也许也包括其后的那名代表)的直接连接是为了确保你能得到报酬。
该模式可以每30秒产生一个新区块,并且在正常的网络条件下区块链分叉的可能性极其小,即使发生也可以在几分钟内得到解决。
成为代表:
成为一名代表,你必须在网络上注册你的公钥,然后分配到一个32位的特有标识符。然后该标识符会被每笔交易数据的“头部”引用。
授权选票:
每个钱包有一个参数设置窗口,在该窗口里用户可以选择一个或更多的代表,并将其分级。一经设定,用户所做的每笔交易将把选票从“输入代表”转移至“输出代表”。一般情况下,用户不会创建特别以投票为目的的交易,因为那将耗费他们一笔交易费。但在紧急情况下,某些用户可能觉得通过支付费用这一更积极的方式来改变他们的投票是值得的。
保持代表诚实:
每个钱包将显示一个状态指示器,让用户知道他们的代表表现如何。如果他们错过了太多的区块,那么系统将会推荐用户去换一个新的代表。如果任何代表被发现签发了一个无效的区块,那么所有标准钱包将在每个钱包进行更多交易前要求选出一个新代表。
抵抗攻击:
在抵抗攻击上,因为前100名代表所获得的权力权是相同的,每名代表都有一份相等的投票权。因此,无法通过获得超过1%的选票而将权力集中到一个单一代表上。因为只有100名代表,可以想象一个攻击者对每名轮到生产区块的代表依次进行拒绝服务攻击。幸运的是,由于事实上每名代表的标识是其公钥而非IP地址,这种特定攻击的威胁很容易被减轻。这将使确定DDOS攻击目标更为困难。而代表之间的潜在直接连接,将使妨碍他们生产区块变得更为困难。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。
3.PBFT :Practical Byzantine Fault Tolerance,实用拜占庭容错
介绍:在保证活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容错性。
在分布式计算上,不同的计算机透过讯息交换,尝试达成共识;但有时候,系统上协调计算机(Coordinator / Commander)或成员计算机 (Member /Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。
拜占庭将军问题就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。
而拜占庭问题的可能解决方法为:
在 N ≥ 3F + 1 的情况下一致性是可能解决。其中,N为计算机总数,F为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。
1)系统运转可以脱离币的存在,pbft算法共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。
2)共识的时延大约在2~5秒钟,基本达到商用实时处理的要求。
3)共识效率高,可满足高频交易量的需求。
缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据
下面说两个国产的吧~
4.dBFT: delegated BFT 授权拜占庭容错算法
介绍:小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。
此算法在PBFT基础上进行了以下改进:
将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;
将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;
为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);
在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。
优点:
1)专业化的记账人;
2)可以容忍任何类型的错误;
3)记账由多人协同完成,每一个区块都有最终性,不会分叉;
4)算法的可靠性有严格的数学证明;
缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;
以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。
5.POOL验证池
基于传统的分布式一致性技术,加上数据验证机制。
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。