收藏 分销(赏)

一文讲透区块链关键技术原理含算法.doc

上传人:w****g 文档编号:2954882 上传时间:2024-06-12 格式:DOC 页数:9 大小:546.04KB
下载 相关 举报
一文讲透区块链关键技术原理含算法.doc_第1页
第1页 / 共9页
一文讲透区块链关键技术原理含算法.doc_第2页
第2页 / 共9页
一文讲透区块链关键技术原理含算法.doc_第3页
第3页 / 共9页
一文讲透区块链关键技术原理含算法.doc_第4页
第4页 / 共9页
一文讲透区块链关键技术原理含算法.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、一文讲透区块链技术原理(含算法)区块链是什么?“区块链”技术最初是由一位化名中本聪人为比特币(一种数字货币)而设计出一种特殊数据库技术,它基于密码学中椭圆曲线数字签名算法(ECDSA)来实现去中心化P2P系统设计。但区块链作用不但仅局限在比特币上。当前,人们在使用“区块链”这个词时,有时候是指数据构造,有时是指数据库,有时则是指数据库技术,但无论是哪种含义,都和比特币没有必然联系。从数据角度来看:区块链是一种分布式数据库(或称为分布式共享总账,DistributedShared Ledger),这里“分布式”不但体现为数据分布式存储,也体现为数据分布式记录(即由系统参加者来集体维护)。简朴说,

2、区块链能实现全球数据信息分布式记录(可以由系统参加者集体记录,而非由一种中心化机构集中记录)与分布式存储(可以存储在所有参加记录数据节点中,而非集中存储于中心化机构节点中)。从效果角度来看:区块链可以生成一套记录时间先后、不可篡改、可信任数据库,这套数据库是去中心化存储且数据安全可以得到有效保证。结论:区块链是一种把区块以链方式组合在一起数据构造,它适合存储简朴、有先后关系、能在系统内验证数据,用密码学保证了数据不可篡改和不可伪造。它可以使参加者对全网交易记录事件顺序和当前状态建立共识。如今区块链技术概括起来是指通过去中心化和去信任方式集体维护一种可靠数据库技术。其实,区块链技术并不是一种单一

3、、全新技术,而是各种既有技术(如加密算法、P2P文献传播等)整合成果,这些技术与数据库巧妙地组合在一起,形成了一种新数据记录、传递、存储与呈现方式。简朴说,区块链技术就是一种人们共同参加记录信息、存储信息技术。过去,人们将数据记录、存储工作交给中心化机构来完毕,而区块链技术则让系统中每一种人都可以参加数据记录、存储。区块链技术在没有中央控制点分布式对等网络下,使用分布式集体运作办法,构建了一种P2P自组织网络。通过复杂校验机制,区块链数据库可以保持完整性、持续性和一致性,虽然某些参加人作假也无法变化区块链完整性,更无法篡改区块链中数据。区块链技术涉及核心点涉及:去中心化(Decentraliz

4、ed)、去信任(Trustless)、集体维护(Collectively maintain)、可靠数据库(ReliableDatabase)、时间戳(Time stamp)、非对称加密(AsymmetricCryptography)等。区块链技术重新定义了网络中信用生成方式:在系统中,参加者无需理解其她人背景资料,也不需要借助第三方机构担保或保证,区块链技术保障了系统对价值转移活动进行记录、传播、存储,其最后成果一定是可信。区块链技术原理来源可归纳为一种数学问题:拜占庭将军问题。拜占庭将军问题延伸到互联网生活中来,其内涵可概括为:在互联网大背景下,当需要与不熟悉对手方进行价值互换活动时,人们如

5、何才干防止不会被其中恶意破坏者欺骗、困惑从而做出错误决策。进一步将拜占庭将军问题延伸到技术领域中来,其内涵可概括为:在缺少可信任中央节点和可信任通道状况下,分布在网络中各个节点应如何达到共识。区块链技术解决了闻名已久拜占庭将军问题它提供了一种无需信任单个节点、还能创立共识网络办法。区块链技术本质是一种互联网合同。设想一下,如果当前咱们想要在互联网世界中建立一套全球通用数据库,那么咱们会晤临三个亟待解决问题,这三个问题也是设计区块链技术核心所在:问题一:如何建立一种严谨数据库,使得该数据库可以存储下海量信息,同步又能在没有中心化构造体系下保证数据库完整性?问题二:如何记录并存储下这个严谨数据库,

6、使得即便参加数据记录某些节点崩溃,咱们依然能保证整个数据库系统正常运营与信息完备?问题三:如何使这个严谨且完整存储下来数据库变得可信赖,使得咱们可以在互联网无实名背景下成功防止诈骗?针对这三个核心问题,区块链构建了一整套完整、连贯数据库技术来达到目,解决这三个问题技术也成为了区块链最核心三大技术。此外,为了保证区块链技术可进化性与可扩展性,区块链系统设计者还引入了“脚本”概念来实现数据库可编程性。咱们以为,这四大技术构成了区块链核心技术。核心技术1:区块+链关于如何建立一种严谨数据库问题,区块链办法是:将数据库构造进行创新,把数据提成不同区块,每个区块通过特定信息链接到上一区块背面,先后顺连来

7、呈现一套完整数据,这也是“区块链”这三个字来源。区块(block):在区块链技术中,数据以电子记录形式被永久储存下来,存储这些电子记录文献咱们就称之为“区块(block)”。区块是准时间顺序一种一种先后生成,每一种区块记录下它在被创立期间发生所有价值互换活动,所有区块汇总起来形成一种记录合集。区块构造(BlockStructure):区块中会记录下区块生成时间段内交易数据,区块主体事实上就是交易信息合集。每一种区块链构造设计也许不完全相似,但大构造上分为块头(header)和块身(body)两某些。块头用于链接到前面块并且为区块链数据库提供完整性保证,块身则包括了通过验证、块创立过程中发生价值

8、互换所有记录。区块构造有两个非常重要特点:第一,每一种区块上记录交易是上一种区块形成之后、该区块被创立前发生所有价值互换活动,这个特点保证了数据库完整性。第二,在绝大多数状况下,一旦新区块完毕后被加入到区块链最后,则此区块数据记录就再也不能变化或删除。这个特点保证了数据库严谨性,即无法被篡改。顾名思义,区块链就是区块以链方式组合在一起,以这种方式形成数据库咱们称之为区块链数据库。区块链是系统内所有节点共享交易数据库,这些节点基于价值互换合同参加到区块链网络中来。区块链是如何做到呢?由于每一种区块块头都包括了前一种区块交易信息压缩值,这就使得从创世块(第一种区块)到当前区块连接在一起形成了一条长

9、链。由于如果不懂得前一区块“交易缩影”值,就没有办法生成当前区块,因而每个区块必然准时间顺序跟随在前一种区块之后。这种所有区块包括前一种区块引用构造让现存区块集合形成了一条数据长链。“区块+链”数据存储构造如下图所示。咱们引用区块链:互联网金融终局(肖风)一段话来总结区块链基本构造:“人们把一段时间内生成信息(涉及数据或代码)打包成一种区块,盖上时间 戳,与上一种区块衔接在一起,每下一种区块页首都包括了上一种区块索引数据,然后再在本页中写入新信息,从而形成新区块,首尾相连,最后形成了区块链。”这个构造神奇之处:区块(完整历史)+ 链(完全验证)= 时间戳“区块+链”构造为咱们提供了一种数据库完

10、整历史。从第一种区块开始,到最新产生区块为止,区块链上存储了系统所有历史数据。区块链为咱们提供了数据库内每一笔数据查找功能。区块链上每一条交易数据,都可以通过“区块链”构造追本溯源,一笔一笔进行验证。区块+链=时间戳,这是区块链数据库最大创新点。区块链数据库让全网记录者在每一种区块中都盖上一种时间戳来记账,表达这个信息是这个时间写入,形成了一种不可篡改、不可伪造数据库。咱们以为,时间戳是区块链中一项伟大技术创新,它可以证明什么呢?核心技术2:分布式构造开源、去中心化合同咱们有了区块+链数据之后,接下来就要考虑记录和存储问题了。咱们应当让谁来参加数据记录,又应当把这些盖了时间戳数据存储在哪里呢?

11、在现如今中心化体系中,数据都是集中记录并存储于中央电脑上。但是区块链构造设计精妙地方就在这里,它并不赞同把数据记录并存储在中心化一台或几台电脑上,而是让每一种参加数据交易节点都记录并存储下所有数据。1.关于如何让所有节点都能参加记录问题,区块链办法是:构建一整套合同机制,让全网每一种节点在参加记录同步也来验证其她节点记录成果对的性。只有当全网大某些节点(或甚至所有节点)都同步以为这个记录对的时,或者所有参加记录节点都比对成果一致通过后,记录真实性才干得到全网承认,记录数据才容许被写入区块中。2.关于如何存储下“区块链”这套严谨数据库问题,区块链办法是:构建一种分布式构造网络系统,让数据库中所有

12、数据都实时更新并存储于所有参加记录网络节点中。这样虽然某些节点损坏或被黑客袭击,也不会影响整个数据库数据记录与信息更新。区块链依照系统拟定开源、去中心化合同,构建了一种分布式构造体系,让价值互换信息通过度布式传播发送给全网,通过度布式记账拟定信息数据内容,盖上时间戳后生成区块数据,再通过度布式传播发送给各个节点,实现分布式存储。分布式记账会计责任分散化(Distributedaccountability)从硬件角度讲,区块链背后是大量信息记录储存器(如电脑等)构成网络,这一网络如何记录发生在网络中所有价值互换活动呢?区块链设计者没有为专业会计记录者预留一种特定位置,而是但愿通过自愿原则来建立一

13、套人人都可以参加记录信息分布式记账体系,从而将会计责任分散化,由整个网络所有参加者来共同记录。区块链中每一笔新交易传播都采用分布式构造,依照P2P网络层合同,消息由单个节点被直接发送给全网其她所有节点。区块链技术让数据库中所有数据均存储于系统所有电脑节点中,并实时更新。完全去中心化构造设立使数据能实时记录,并在每一种参加数据存储网络节点中更新,这就极大提高了数据库安全性。通过度布式记账、分布式传播、分布式存储这三大“分布”咱们可以发现,没有人、没有组织、甚至没有哪个国家可以控制这个系统,系统内数据存储、交易验证、信息传播过程所有都是去中心化。在没有中心状况下,大规模参加者达到共识,共同构建了区

14、块链数据库。可以说,这是人类历史上第一次构建了一种真正意义上去中心化体系。甚至可以说,区块链技术构建了一套永生不灭系统只要不是网络中所有参加节点在同一时间集体崩溃,数据库系统就可以始终运转下去。咱们当前已有了一套严谨数据库,也有了记录并存储这套数据库可用合同,那么当咱们将这套数据库运用于实际社会时,咱们要解决最核心一种问题(问题三)是:如何使这个严谨且完整存储下来数据库变得可信赖,使得咱们可以在互联网无实名背景下成功防止诈骗?核心技术3:非对称加密算法什么是非对称加密?简朴来说,它让咱们在“加密”和“解密”过程中分别使用两个密码,两个密码具备非对称特点:(1)加密时密码(在区块链中被称为“公钥

15、”)是公开全网可见,所有人都可以用自己公钥来加密一段信息(信息真实性);(2)解密时密码(在区块链中被称为“私钥”)是只有信息拥有者才懂得,被加密过信息只有拥有相应私钥人才可以解密(信息安全性)。简朴总结:区块链系统内,所有权验证机制基本是非对称加密算法。常用非对称加密算法涉及RSA、Elgamal、D-H、ECC(椭圆曲线加密算法)等。在非对称加密算法中,如果一种“密钥对”中两个密钥满足如下两个条件:1、对信息用其中一种密钥加密后,只有用另一种密钥才干解开;2、其中一种密钥公开后,依照公开密钥别人也无法算出另一种,那么咱们就称这个密钥对为非对称密钥对,公开密钥称为公钥,不公开密钥称为私钥。在

16、区块链系统交易中,非对称密钥基本使用场景有两种:1、公钥对交易信息加密,私钥对交易信息解密。私钥持有人解密后,可以使用收到价值。2、私钥对信息签名,公钥验证签名。通过公钥签名验证信息确以为私钥持有人发出。咱们可以看出,从信任角度来看,区块链事实上是数学办法解决信任问题产物。过去,人们解决信任问题也许依托熟人社会“老乡”,政党社会“同志”,老式互联网中交易平台“支付宝”。而区块链技术中,所有规则事先都以算法程序形式表述出来,人们完全不需要懂得交易对手方是“君子”还是“小人”,更不需规定助中心化第三方机构来进行交易背书,而只需要信任数学算法就可以建立互信。区块链技术背后,实质上是算法在为人们创造信

17、用,达到共识背书。核心技术4:脚本脚本可以理解为一种可编程智能合约。如果区块链技术只是为了适应某种特定交易,那脚本嵌入就没有必要了,系统可以直接定义完毕价值互换活动需要满足条件。然而,在一种去中心化环境下,所有合同都需要提前获得共识,那脚本引入就显得不可或缺了。有了脚本之后,区块链技术就会使系统有机会去解决某些无法预见到交易模式,保证了这一技术在将来应用中不会过时,增长了技术实用性。一种脚本本质上是众多指令列表,这些指令记录在每一次价值互换活动中,价值互换活动接受者(价值持有人)如何获得这些价值,以及耗费掉自己曾收到留存价值需要满足哪些附加条件。普通,发送价值到目的地址脚本,规定价值持有人提供如下两个条件,才干使用自己之前收到价值:一种公钥,以及一种签名(证明价值持有者拥有与上述公钥相相应私钥)。脚本神奇之处在于,它具备可编程性:(1)它可以灵活变化耗费掉留存价值条件,例如脚本系统也许会同步规定两个私钥、或几种私钥、或无需任何私钥等;(2)它可以灵活在发送价值时附加某些价值再转移条件,例如脚本系统可以商定这一笔发送出去价 值后来只能用于支付中信证券手续费、或支付给政府等。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服