「每日科普」区块链的原理是什么(区块链的技术原理是什么?)

大家好,今天小编带来「每日科普」区块链的原理是什么的问题,以下是小编对此问题的归纳整理,来看看吧。

「每日科普」区块链的原理是什么

作者:萧萧

「每日科普」区块链的原理是什么(区块链的技术原理是什么-)
(图片来源网络,侵删)

来源:知乎

「每日科普」区块链的原理是什么(区块链的技术原理是什么-)
(图片来源网络,侵删)

看到一些争论区块链定义的回答,突然意识到自己这篇解释原理的回答其实是一直是对着比特币撸的,介于区块链的定义业界并没有一个特别明确和唯一的回答,这里先给出个人根据所读论文而总结出的“区块链”应有特质:

使用了具有"哈希链"-下文有解释-形式的数据结构保存基础数据

「每日科普」区块链的原理是什么(区块链的技术原理是什么-)
(图片来源网络,侵删)

有多个结点参与系统运行(分布式)

通过一定的协议或算法对于基础数据的一致性达成共识(共识协议/算法)。

介于比特币目前是区块链最典型且最有影响力的应用之一,理解比特币如何使用区块链后,再去理解其他形式各样的区块链应用就会容易很多。

----------------

以下引自我在知乎中另外一个区块链问题的答案

在谈应用之前,最重要的是先理解它的技术本质是什么,所有介绍区块链的答案里,都最先提到了区块链不可篡改的特性,所以第一个要理解的是它到底是怎么实现不可篡改性的。

先修知识;

密码学Hash函数的单向性:Hash-x-=y,通过y很难找到x

哈希链:***如现在有顺序产生的数据块A,B,C。那么我们可以这样计算一个hash。注意“||”表示拼接

h0=Hash-A-h1=Hash-B||h0-h2=Hash-C||h1-h2是我们计算的hash头部,现在来看,为什么我们管这个东西叫Hash链,因为h2的值依赖于之前一系列数据的内容和计算顺序。***如说现在你知道了h2,别人拿着A,B,C,他不管是修改A,B,C的任一点内容还是A,B,C的出现顺序,你都无法再次计算出正确的h2

好的,其实到这里区块链的概念就有点感觉了不是吗。"区块链"这个词是英文BlockChain的翻译,如果从字面上理解,"数据块组成的链条"就足以阐释它的基本内涵了。比特币区块链其实就是哈希链的一个变种-注意,下文描述的这种添加随机数以及对随机数有特殊要求的规则是比特币为了实现工作证明ProofofWork的共识机制而添加的,并不是区块链的一个必要特征-。怎么变?添加一个随机数(Nonce)

***如现在有顺序产生的数据块A,B,C。我们来这样计算hash头。注意“||”表示拼接

h0=Hash-A||Nonce0-h1=Hash-B||h0||Nonce1-h2=Hash-C||h1||Nonce2-这里我们还添加一个额外的要求,就是h0,h1,h2必须都得是以指定数目的0bit开头的,例如要求每个哈希值都必须以5个0开头,则h0,h1,h2都应该是这样的形式(00000*****************)

添加了这个要求以后,h0,h1,h2就都不是那么容易计算的了,因为你不能根据输出的形式来反推输入是什么,而A,B,C又是给定的,那只能不断更改Nonce来穷举计算,然后找到一个可以满足要求的Nonce值,使得h0,h1,h2符合要求

到这里大家就知道所谓的矿工是在干什么了,就是接受广播出来的数据块,然后计算当前最新的哈希链的头部,当成功计算出了一个符合要求的Hash后,就告诉所有人,自己找到了,让别人再去计算下一个哈希头部。

其实到这里,区块链的本质就已经差不多了,***如网络中大家都默认遵守协议,只在最长的哈希链后计算新的头部,那么一切都很好,但是如果有人想搞不一样,那他就得拥有更强的计算能力,在诚实者都遵守规则的情况下,自己能够计算出一个链条分叉甚至说直接计算出一个新的链条,让大家都承认。

至于这个难度的证明,中本聪就是建立了一个泊松分布的概率模型,***设了诚实结点计算出新的哈希头的概率p和不诚实结点计算出新的Hash头的概率q后,算出了一个N值。

这个N值的含义是给出了当一个新的哈希头部h1计算出来后,其后追加N个头部(h2,h3,h4....)后,网络才应该承认这个新的头部h1.因为此时,攻击者要想成功发动攻击,至少需要计算出一个长度大于N的分支,这个概率在攻击者没有掌握全网算力50%的时候是很难达到的

所以到这里,区块链就已经清楚了,就是一个密码学工具的一种巧妙应用而已。

那这里思考一下,不可篡改性其实并不是一个什么神奇的特性,密码学的签名技术就能提供不可篡改性呀,区块链到底解决了一个什么问题。答案是

信任问题

区块链提供了一种方案,让一个网络中,所有的结点都有能力去用计算能力投票,从而保证了得到承认的结果是大多数人公认的结果,不会因为少数结点作恶,而修改结果

传统的交易建立在什么基础上,我们对于金融机构的信任,对于中央银行的信任,或者对于交易对手的信任,对于第三方中间人的信任。

这里其实就引出了很多安全技术应用,或者说很多制度建立的本质,如果你信任的越多,需要做的工作就越少。

区块链就是因为不想信任网络中的任意一个单一结点,所以让大多数人具有公平的投票权利,而这个投票权利,不是按人头算的,是按CPU算的,每个CPU有一票。

区块链的最难以克服的缺点1:效率问题

前面说过,当你信任的越多,需要做的工作越少,就好比你和一个人做生意,如果你完全信任对方,那么合同都不用签,口头约定就行。如果不太信任,签一个简单的合同,规定最重要的事项。如果特别不信任,让律师对交易中所有存在风险的地方列出条款,规定责任,签一个大大的合同。

所以看出来了吧,信任越多,效率越高。信任越少,效率越低。

区块链也是一样,因为没有单一结点可以信任,通过计算来换取信任。所以简单的一个承认交易的操作,需要大量的计算参与进来,结果是什么,Bitcoin平均交易速度只有7笔每秒。

比特币的最难以克服的缺点2:宏观金融的适应性

金融学和经济学作为人类多年来发展出来的科学具有不可替代的地位,比特币的流通货币量是存在上限且增加速度基本固定的,这符合经济规律吗?显然不符合。因为学过经济的人都知道,货币只是对实物财富的衡量,货币增长速度快于商品增长数量,则发生通胀,货币增长速度慢于增长速度则发生通缩。

比特币的最难以克服的缺点3:匿名引发的安全性

想一想匿名对于罪犯的好处,就不难理解比特币的洗钱风险

比特币作为信息安全学者的发明产物,现在常被应用于黑客入侵之后勒索的交易手段,想起来也真是讽刺

比特币的最难以克服的缺点4:用户的易用性

比特币的技术是基于密码学签名技术的,你的账户安全由你的私钥保护,如果不添加别的手段,比如在别人那里备份,或者在别的地方备份,你丢失了密钥,账户里的钱是没有人能给你找回来的。想想人们丢银行卡,忘记密码的频率,这个问题有多大,不用我说大家也懂

说了这么多缺点,区块链技术和比特币技术就不行了吗?显然不是,不然那些国际金融机构也不会下大功夫研究它,但其实,和其他所有的技术一样,大家都只是在寻找一种能够更高效解决信任问题的手段而已,金融机构的核心是什么,交易投资与风险控制呗。其实也都是围绕信任问题展开的。信任问题的解决在金融机构本来其实就是耗费了大量的成本的,只不过很多成本在后台,或者在人工的耗费上,很多人看不到而已。

总结:

区块链的技术有望以一个更低的成本解决更广泛的信任问题所以被受人关注最后说点闲话,本人是硕士阶段出来留学的,对比国内外,发现中国人的技术分享氛围真的比国外差很多,不是国内的人水平没有,懂的人都自己掖着,或者说也懒得做清晰的分享,我想这一点也不能怪我们国人自己,毕竟是由于人太多,***匮乏导致的竞争心态过于强烈。但是衷心希望,随着国家实力的进步,咱们中国人可以有一天不需要再把英语当成学习技术道路上的必须逾越的坎

要讲区块链却不讲数字货币是不可能的。毕竟区块链是为了满足比特币独特的需求才被创造出来的。

比特币的目标是能够替代传统货币,作为货币,它就必须有流通能力。简单地说,比特币用户之间可以互相转移比特币。而为了保证比特币的流通能够正常的进行,比特币软件必须提供一些最基本的安全上的保证。比如说,如果A给了你一个比特币,这一个比特币就是你的了。要是A能随随便便把这个比特币抢回去,那肯定不行。

如果你使用的是纸质货币,A要拿回给了你的东西,就必须在物理上把它抢回去。那只要使用物理上的方法保护好这个东西就好了。但是如果你用的是支付宝怎么办?支付宝上的转账无非是数字上的加加减减,并不涉及物理实体的转移。你所需要做的无非是信任支付宝这个第三方的机构,相信支付宝没有和A串通好,一起坑你的钱。

但是这两条到了比特币身上就都行不通了。比特币不是物理实体,同时也不存在一个所有人都信任的第三方(比特币的设计目标就是创造一种用户可以完全匿名的货币,自然不可能去依赖一个这样的第三方)。那应该怎么办呢?其实思路很简单:如果A在大庭广众之下,当着一千个人的面答应把钱给你,那么就算没有第三方的保证,A也很难抵赖。

从实现上来说,每当用户使用比特币进行了交易,关于这次交易的信息就会被广播给所有的比特币用户。这样就算有人想要抵赖,也会被抓到证据。

好了,讲了这么多,好像问题都解决了,那么这里面有区块链什么事呢?

我们可以从一个新生节点的角度看一下这个问题。新生节点要加入比特币网络,就必须对整个网络的情况有所了解。它必须知道网络中的整个交易历史,因为只有这样它才能知道当前其他所有节点各持有多少比特币。而这些交易历史所构成的结构就是区块链。区块链是一系列区块按照时间构成的一个链条,链条中每一个区块都包含数条交易记录

因为比特币本身在安全上的要求(见前文),区块链必须满足一些特性。简而言之,就是不能让人有修改历史的能力。***设有一个区块链A->B->C,任何接收到这个区块链的新生节点,必须能够很方便的验证交易A之后确实发生了交易B,交易B之后确实发生了交易C。在密码学中,防止数据被改动有一个很方便的工具,就是hash。如果C之中包含了B的hash值(如sha256值),那么如果有任何人尝试发送改动过的B(不妨称为B')给新节点,新节点立刻就能发现B'的hash值和C中记录的不符。所以只要新节点获取到了区块链中最新的一个块,它就能往回验证整个历史的合法性。

那么,新节点要怎么知道最新的块是否合法呢?答案其实是:“它并不能知道。”打个比方说,要是你身边的所有人都商量好了合起伙来骗你,你就没办法判断你听到的是不是***话。但是比特币网络存在这样一个***设:“好人总是占大多数的”。也就是说,当新生节点向网络发出请求,它收到的最常见的回复就是合法的回复。

我们解决掉了历史验证的问题,但还有另一个问题:谁有权利往区块链上添加新的块?如果有恶意节点将“A给C一个比特币”改成了“A给B一个比特币”,其他节点应该怎么区分?答案和之前一样:“它并不能区分。”但是不要忘了,我们***设网络中的好人是占大多数的。在大家的计算能力差不多的情况下,这等同于***设网络中的好人们拥有更多的计算力***。也就是说,如果我们把“往区块链上增加区块”这件事变成一件需要大量计算的工作,那么拥有更多计算力***的好人们就能抢在坏人之前加入新区块。

而这个计算量巨大的工作,仍然是hash。所有的节点会达成一个共识:“只接受hash值前几位符合条件的区块”(比如只接收hash值第一位是0的区块)。节点可以通过改动区块中的padding来凑hash值。只要hash算法是安全的,节点就没办法高效的凑对hash值,只能暴力尝试所有的padding来碰运气。运气好凑上了的节点,还可以在区块中增加一条给自己一个比特币的交易记录作为对自己的奖励。这个策略还很适合于控制新区块出现的速度(比特币需要在计算力变动的情况下维持匀速增长),只要增强对hash值的要求(比如原先要求第一位是0,现在要求头两位都是0),就能减慢区块链增长的速度。

区块链的技术原理是什么?

区块链技术涉及的关键点包括:去中心化(Decentralized)、去信任(Trustless)、集体维护(Collectivelymaintain)、可靠数据库(ReliableDatabase)、时间戳(Timestamp)、非对称加密(AsymmetricCryptography)等。

区块链技术重新定义了网络中信用的生成方式:在系统中,参与者无需了解其他人的背景资料,也不需要借助第三方机构的担保或保证,区块链技术保障了系统对价值转移的活动进行记录、传输、存储,其最后的结果一定是可信的。

扩展资料

区块链技术原理的来源可归纳为一个数学问题:拜占庭将军问题。拜占庭将军问题延伸到互联网生活中来,其内涵可概括为:在互联网大背景下,当需要与不熟悉的对手方进行价值交换活动时,人们如何才能防止不会被其中的恶意破坏者欺骗、迷惑从而做出错误的决策。

进一步将拜占庭将军问题延伸到技术领域中来,其内涵可概括为:在缺少可信任的中央节点和可信任的通道的情况下,分布在网络中的各个节点应如何达成共识。区块链技术解决了闻名已久的拜占庭将军问题——它提供了一种无需信任单个节点、还能创建共识网络的方法。

参考资料来源:百度百科-区块链

区块链的工作原理是什么?

最近很火的区块链技术到底是什么样的技术呢?区块链技术是被人们认为在金融科技方面最闪亮的一颗星,而且在未来还可能再继续发展区块链技术,?它有非常多的特点,包括数据的一个分布,以及数据的信任度和集体共识机制,最重要的话就是公开透明以及匿名隐私等这一些非常有特点的特性,根据这一些区块链里面的数据,我们可以得出当代社会的一些基本的信息。

??要搞懂区块链它的一个工作原理首先就要明白几个概念,第一个概念就是什么是区块,区块就是一些数据,它已经是正确的了,然后就被电脑输入到了数据货币网络上面,永久的被记录在这一个平台上面,也就是说当我们有需要的时候去寻找这一些资料,它就可以被找到,所以区块的意思呢,就是一些数据是正确的,然后被添加到了区块链的末端,一旦被添加到区块链的末端就改变不了也移除不了。所以区块链它的功能是非常强大的。还需要了解一下区块的结构表。

?区块的结构表,由不同的字节所组成,包括4个字节以及80个字节的这一些区块,它代表着不同的数据,这一些专业术语可能比较难搞懂,但是基本的意思就是区块是由这些字符所决定的,不同的字符长度它代表着不同的信息。还有最后一个叫做区块头,区块头的话是由元数据所组成的。当我们在浏览器中查询一些区块信息的时候,就可以看到像字符长度以及它的区块头是由什么组成的等等信息,通过这些信息的话,大概就能了解里面所有的内容是什么。

?区块链技术就是这么一个安全科学的数据库。可以简单的把它理解为一个已经是权威数据库了,它里面的基本内容都是属实的,都是通过别人所验证以及审核过的。在金融科技方面的话,会非常的容易找到一些想要的数据,这对于做生意的人来说非常的好。

后缀:「每日科普」区块链的原理是什么?