区块链技术是一件神奇的东西。对于许多技术人员来说,这只是一个神作。对于这样一个强大的东西,你们知道区块链的原理是什么吗?下面小编就来给大家分析分析区块链原理是什么?区块链是比特币的一个重要概念。该货币与清华大学五道口金融学院互联网金融实验室相连。、新浪科技发布《2014-2016全球比特币发展研究报告》提到区块链是比特币的底层。技术和基础设施。
区块链本质上是比特币的基础技术,它是一种分散的数据库系统。区块链通过加密技术生成一系列数据块,每个数据块包含有关比特币网络交易的信息,用于验证交易的有效性并生成下一个数据块。
它的原理是什么?
看到关于区块链的不同定义,我开始意识到我以前对这个概念的解释总是囿于比特币。区块链的定义并不是唯一和明确的。在这里,我想分享一些我个人根据研究论文总结的关于“区块链”特征的见解:
使用"哈希链"形式的数据结构保存基础数据(如下所述)
多个节点参与系统操作(分布式)
通过特定协议或算法达到共识(共识协议/算法)以确保基础数据的一致性。
比特币是区块链技术中最具代表性和影响力的应用之一。通过了解比特币如何利用区块链,我们可以更容易地理解其他种类的区块链应用。
在谈论应用程序之前,最重要的是要了解它的技术性质。区块链的所有答案都是首先提到区块链的无形特征,所以首先要理解的是它是如何实现的?
必备知识;密码Hash()函数的单向性:Hash(x)= y,很难找到x的y
哈希链:如果现在有数据块A,B,C依次。然后我们可以像这样计算一个哈希值。注意“||”拼接
H0 =哈希(A)
H1 =哈希(B || h0)
H2 =哈希(C || h1)H2是我们计算的哈希头。现在,为什么我们称这个东西为哈希链,因为h2的值取决于前一系列数据的内容和计算顺序。如果您现在知道h2,其他人持有A,B,C,无论他是修改A,B,C中的任何一个还是A,B,C的顺序,您都无法再次计算正确的h2。
好吧,事实上,区块链的概念在这里有点感觉。不是吗?"区块链单词"是英语区块链的翻译。如果从字面上理解,由链"组成的"数据块足以解释其基本含义。比特币区块链实际上是哈希链的变体(请注意,比特币添加了下面描述的随机数和随机数的特殊要求的规则,以实现工作证明的共识机制)。 ,而不是区块链的必要特征)。如何改变?添加随机数(Nonce)
假设现在存在顺序生成的数据块A,B,C。让我们像这样计算哈希头。注意“||”拼接
H0 =哈希(A || Nonce0)
H1 =哈希(B || h0 || Nonce1)
H2 =哈希(C || h1 || Nonce2)
这里我们还添加了一个额外的要求,即h0,h1,h2必须都以指定的0位数开始,例如,每个哈希值必须以5 0开头,然后是h0,h1,h2它应该是这样的(00000 *****************)
添加此要求后,h0,h1,h2不是那么容易计算,因为你不能根据输出的形式反转输入,并给出A,B,C,它只能是不断改变Nonce进行详尽的计算,然后找到满足要求的Nonce值,以便h0,h1,h2满足要求。
每个人都知道所谓的矿工正在做什么,即接受广播的数据块,然后计算当前哈希链的头部。成功计算成功的Hash后,每个人都会被告知。我自己找到了,让其他人计算下一个哈希头。事实上,在这里,区块链的性质几乎是相同的。如果网络中的每个人默认协议,并且只计算最长哈希链之后的新头,那么一切都很好,但是如果有人想要以同样的方式,他必须拥有更多的计算能力。当诚实的人遵守规则时,他们可以计算出一系列的叉子,甚至可以直接计算出新的链条,这样每个人都可以承认。
至于这个难度的证明,Satoshi Nakamoto建立了泊松分布的概率模型,假设由诚实节点计算的新哈希头的概率和由不诚实节点计算的新哈希头的概率q。 ,计算出N值。
该N值的含义是在计算新的散列头h1之后,然后附加N个头(h2,h3,h4 ....),网络应该识别新的头。 H1。因为此时,如果攻击者想要成功发起攻击,则需要计算至少一个长度大于N的分支。当攻击者没有50%的总网络计算能力时,很难实现这种可能性。
所以在这里,区块链已经很清楚了,它是加密工具的巧妙应用。当然,区块链的可能性不仅仅是我提到的这些,包括保险、审计、医疗等等各行各业的巨头们都在探索其潜力,如果你有好的想法,认为区块链能够带来的好处会远大于它的副作用,你大可去尝试尝试。
以上是一文详细了解区块链原理的详细内容。更多信息请关注PHP中文网其他相关文章!