区块链的关键技术

区块链的四大核心技术:1、分布式账本,在区块链中起到了数据的存储作用;2、共识机制,在区块链中起到了统筹节点的行为,明确数据处理的作用;3、密码学,可以保证数据安全,验证数据归属;4、智能合约,在区块链中起到了数据执行与应用的功能。

一,P2P网络与分布式存储——储存作用

首先,P2P网络是构建了区块链的基础,基于这个基础,区块链采取的是分布式存储,它本质是一个分布式数据库,当一笔交易(数据)产生后,经过网络传输和统一处理,分别储存在各个节点数据库里面,所以P2P网络和分布式存储在区块链中起到了数据传输和数据存储的作用;
区块链是由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构,节点间数据交换通过数字签名技术进行验证,不需要人为干预,只要按照既定的规则进行,就默认相互信任。节点间也无法欺骗其他节点。因为整个网络都是去中心化的,每个人都是参与者,每个人都有话语权,实现从生产关系层面的人人平等。如果把区块链比喻成一个完整的人,那么P2P网络就是这个人的双腿,实现了数据的流通和存储。

二,共识机制——统筹节点,数据处理

我们先从生活场景入手理解共识机制。首先,我们先知道什么是共识?共识,即共同的认识,经过多次的讨论,大家在某方面消除分歧,达成一致意见。所以共识机制在区块链中的最主要的作用就是保证数据的一致性。
因为分布式账本去中心化的特点,决定了区块链网络是一个分布式的结构,每个人都可以自由的加入其中,共同参与数据的记录,但与此同时,就衍生出来令人头疼的“拜占庭将军”问题,即网络中参与的人数越多,全网就越难以达成统一,于是就需要另一套机制来协调全节点账目保持一致,共识机制就制定了一套规则,明确每个人处理数据的途径,并通过争夺记账权的方式来完成节点间的意见统一,最后谁取得记账权,全网就用谁处理的数据。所以共识机制在区块链中起到了统筹节点的行为,明确数据处理的作用。
任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一个完整的数据库,节点间都有一套共识机制,通过竞争和共识,共同维护整个区块链,任一节点失效,其余节点仍能正常工作。相当于认可你的游戏规则,比特币有比特币的共识机制,全球认可就可以参与比特币挖矿,因为你认可了它的共识机制,也可理解为认可它的游戏规则。比特币的规则就是进行庞大的运算,谁先算出来就给谁奖励POW。
备注:共识机制跟PoW、PoS、DPoS这些相比,优缺点是什么?
PoW即工作量证明,这是一种非常巧妙的方法。它是一种各凭本事,相对公平的一种机制。
它的优点是:
算法简单,容易实现;
节点间无需交换额外的信息即可达成共识;
破坏系统需要投入极大的成本;
它的缺点也非常明显:
浪费能源;
区块的确认时间难以缩短;
新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
容易产生分叉,需要等待多个确认;
永远没有最终性,需要检查点机制来弥补最终性
PoS即权益证明,它将PoW中的算力改为系统权益,拥有权益越大则成为下一个记账人的概率越大。这种机制的优点是不像Pow那么费电,但是也有不少缺点。类似于带资进组。
没有专业化,拥有权益的参与者未必希望参与记账;
容易产生分叉,需要等待多个确认;
永远没有最终性,需要检查点机制来弥补最终性;
DPoS在PoS的基础上,将记账人的角色专业化,先通过权益来选出记账人,然后记账人之间再轮流记账。这种方式依然没有解决最终性问题。极易产生两极分化,参与度降低等问题。
PBFT(Practical Byzantine Fault Tolerance)简单说是在系统中有一个节点会被当做主节点,而其他节点都是子节点。系统内的所有节点都会相互通信,最终目标是大家能以少数服从多数的原则达成数据的共识。PBFT最早由卡斯特罗和利斯科夫在 1999 年提出。PBFT是基于区块链技术的一种协议。拜占庭容错技术被广泛应用在分布式系统中,比如分布式文件系统、分布式协作系统、云计算等。PBFT主要做了以下改进:
在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。
容错率较低,但是性能稳定,偏中心化设计思想。主要应用于联盟链中。
为什么最终采用一种这样的方案?
答:区块链作为一种分布式账本系统,其内部的经济模型决定了,每一位参与者都可以无需信任其他的参与者,即所谓的去信任。拜占庭将军问题正是描述了参与者之间如何在去信任的情况下达成共识,而拜占庭容错技术正是解决此类问题的方法。此外,区块链的网络环境非常复杂,会面临网络延迟、传输错误、软件错误、安全漏洞、黑客入侵等问题,还有各式各样的恶意节点,而拜占庭容错技术正是可以容忍这些错误的方案。
PBFT机制,是由一套分布式思想的记账机制来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识,这种方式的优点是:
可以容忍任何类型的错误;
记账由多人协同完成,每一个区块都有最终性,不会分叉;
算法的可靠性有严格的数学证明
缺点:
当有1/3或以上记账人停止工作后,系统将无法提供服务;
当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;
以上总结来说,PBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的行业应用场景。

三,密码学——数据的安全,验证了数据的归属,不可篡改可追溯。

区块链又被成为哈希链,其实整个区块链的机制和运行都是基于密码学为基本架构的,即保证了数据的安全性,又构建了区块链不可篡改的特性。
区块链底层的数据构架则是由区块链密码学来决定的,打包好的数据块,会通过密码学中哈希函数处理成一个链式的结构,后一个区块包含前一个区块的哈希值,因为哈希算法具有单向性,抗篡改等特点,所以只在区块链网络中,数据一旦上链就不可篡改,且可追溯,另外你的账户也会通过非对称加密的方式进行加密,进而保证了数据的安全,验证了数据的归属。
单个或多个数据库的修改无法影响其他数据库了。除了超过整个网络51%的数据同时修改,这几乎不可能发生。区块链中的每一笔交易都通过密码学方式与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。这里就是区块链的数据结构,区块头和区块体。密码学 哈希值,时间戳,通过时间戳来决定它的顺序,不会打乱。
这个原理运作到我们的商业体系里边,包括商品体系,我们所说的溯源,可以查询到商品在哪里生产的,生产原材料是什么,从后往前一步一步查找到,因为我们在每做一步动作的同时把信息数据写到区块链的体系里,通过这个体系我就可以查找到是不是使用的这个原材料,是不是用这个工艺生产出来的。通过这样一个数据的结构存储达到我们共同相信它,这商品的确是这样生产出来的,相信这是真的。
另外数据无法修改,如果想要修改要达到51%的人才可以,从股权上理解,拥有公司51%的股权在这个公司就有话语权。这只是一个可能性而已。为什么用区块链技术比互联网技术更历害、更安全呢,因为他分布开了,如果你想要去修改里面的数据,作为黑客要找到所有记这个账的计算机,每台计算机都要修改,也许能很快找到其中一台把它改掉,但很难把所有的改掉。
区块链里所有的交易信息都是公开的,因此每一笔交易都对所有节点可见,由于节点与节点间是去中心化的,所以节点间无需公开身份,每个节点都是匿名的。比如每台算能机启动后,每台算能机谁启动谁没启动,我们相互间是不知道的,你可以在你家里开启,这里有个多劳多得的问题。

四,智能合约——执行应用

在没有智能合约加入之前,区块链只是一个闭环的交易系统,有个智能合约,才有了区块链跟外界世界对接的入口,才让区块链有了步入万千世界成为现实。
当我们想要解决一些信任问题,可以通过智能合约,将用户间的约定用代码的形式,将条件罗列清楚,并通过程序来执行,而区块链中的数据,则可以通过智能合约进行调用,所以智通合约在区块链中起到了数据执行与应用的功能。
智能合约可帮助您以透明、无冲突的方式交换金钱、财产、股份或任何有价值的物品,同时避免中间商的服务,甚至说智能合约将在未来取代律师这个职务。通过智能合约方式,资产或货币被转移到程序中,程序运行此代码,并在某个时间点自动验证一个条件,它会自动确定资产是应该去一个人还是回到另一个人,或者应该立即退还给发送它的人或其组合。(自动强制执行,赖不了账)与此同时,分散账本也是存储和复制文件,使其具有一定的安全性和不变性。
智能合约的特色
自治——取消中间人和第三方,你是达成协议的人; 没有必要依赖经纪人,律师或其他中间人来确认。顺便提一句,这也消除了第三方操纵的危险,因为执行是由网络自动管理的,而不是由一个或多个可能有偏见的个人可能犯错。
信任——您的文件在共享账本上加密。有人无法说他们失去了它。
备份——想象一下,如果你的银行失去了你的储蓄账户。在区块链上,你的每一个朋友都有你的背影。您的文档被重复多次。
安全——密码学,网站加密,保证您的文件安全。没有黑客攻击。事实上,这需要一个非常聪明的黑客来破解代码并渗透。
速度——您通常不得不花费大量的时间和文书工作来手动处理文档。智能合约使用软件代码来自动执行任务,从而缩短了一系列业务流程的时间。
储蓄节省成本——智能合约可以节省您的资金,因为他们淘汰了中间人。举例来说,你必须付公证人见证你的交易。
准确性——自动化合同不仅更快,更便宜,而且还避免了手工填写表格所产生的错误。
描述智能合约的最佳方式是将该技术与自动售货机进行比较。通常,你会去找律师或公证人,付钱给他们,等你拿到文件。通过智能合约,您只需将一个比特币放入自动售货机(例如分类账),并将您的托管,驾驶执照或任何东西放入您的账户。更重要的是,智能合约不仅以与传统合同相同的方式定义协议的规则和处罚,还自动执行这些义务。
智能合约与区块链
区块链最好的一点是,因为它是一个分散的系统,存在于所有允许的当事方之间,所以不需要支付中间人(中间人),它可以节省您的时间和冲突。区块链存在问题,但与传统系统相比,它们的评级,无可否认,速度更快,更便宜,更安全,这也是银行和政府转向它们的原因。而利用区块链技术的特性而应用于智能合约,将可以更便捷的提高工作生活中的各种合约。

总结:

区块链最终要解决的其实就是信任问题,我们这个社会的很多负责的流程其实也是在解决信任问题,我们立的誓言,签的合同,盖的章等等都是在解决人与人的信任问题。所以,当你思考什么时候需要区块链的时候,可以从这方便入手,一切需要信任,需要保证数据可信,可溯源的时候,都是区块链登场的时候。

你可能感兴趣的:(区块链,区块链)