精华内容
下载资源
问答
  • [转载]一分钟讲明白区块链数据不可篡改和51%攻击原理 如果你回家过年需要向亲戚朋友讲区块链,这篇文章能让你一分钟讲明白区块链最大的优点——数据不可篡改。 图片发自简书App 第1章 不可篡改的数据库其实并...

    [转载]一分钟讲明白区块链数据不可篡改和51%攻击原理

     如果你回家过年需要向亲戚朋友讲区块链,这篇文章能让你一分钟讲明白区块链最大的优点——数据不可篡改。 
     



     

    图片发自简书App

    第1章 不可篡改的数据库其实并不新鲜

    我们都有微信群,微信群的聊天记录就是不可篡改的。

    一个微信群,有500人,每个人手机上都有聊天记录的一个完整备份。任何群友都不可能去修改别人手机上的聊天记录,只能修改自己的,哪怕是马化腾也做不到修改别人手机的聊天记录的,腾讯只能修改自己服务器上的聊天记录。任何人都可以修改自己手机上的聊天记录,但别的群友可以指正,只要多个群友拿出证据,就可以证明这个心怀不轨的人修改了记录。

    所以说,微信群的聊天记录就是一个不可篡改的数据库。

    你看,没啥新鲜的吧,我们天天都玩的微信群就有不可篡改性,区块链其实也没什么牛逼的啦。

    第2章 区块链的不可篡改性

    微信群里记录的是聊天记录,聊天记录不可篡改。而区块链也是存着一些特定的“聊天记录”,这些记录在区块链世界里有独特的名字——交易。这些历史交易使用区块链的方式保存就不可篡改。

    其原理是和微信群是一样的,就是所有玩这个区块链的人(被称为节点钱包)都完整地保留一份交易的历史记录。这样任何单个人想修改这些历史记录,别的人都可以拿出自己的那一份备份,来证明这些心怀不轨的人试图作弊。只要发现这样作弊的人,其他人就会将这个人孤立掉,直接踢出这个网络。

    道理就这么简单。到这里,就可以回家过年给亲戚朋友装逼了,但文章太短了,再补充一个概念吧。

    第3章 什么是51%攻击

    其实话说回来,如果微信群500人,其中有251人都统一行动,将聊天记录修改成了一个新的版本,然后站出来指责别的249个人的那个纪录是假的,因为本着以少数服从多数的原则,这249个人的聊天记录真的就会被屈打成招,被迫承认那251个人的记录才是真正的历史纪录。

    这就是51%攻击。所以说,微信群的聊天记录不可篡改的前提条件是不会出现有一半以上的人统一协调起来篡改,如果会发生,那就无法保持不可篡改性。

    区块链的51%攻击也是这样。如果参与玩这个区块链的人有一半以上的人(这些人得有能力创造新的区块,被称了挖矿节点)统一行动,就可以修改区块链的历史记录。这就是区块链的51%攻击。

    第4章 结束语

    回家过年时,如果你的亲戚朋友不懂比特币和区块链,你就可以拿微信群和他们装逼讲解区块链了。

    如果你过年集会时,有朋友同学大谈特谈区块链多么多么牛逼,那就可以拿微信群去怼他,什么破玩意区块链,我微信群和你一样牛逼

    展开全文
  • 区块链数据不可篡改的详细解释背景介绍本人新人一枚,学习区块链的过程中,在网上看到了很多讨论区块链区块数据不可篡改的文章,以比特币为例哈,主要存在2种解释:解释1:由于哈希指针的存在,假设存在某节点修改的...

    区块链数据不可篡改的详细解释

    背景介绍

    本人新人一枚,学习区块链的过程中,在网上看到了很多讨论区块链区块数据不可篡改的文章,以比特币为例哈,主要存在2种解释:

    解释1:由于哈希指针的存在,假设存在某节点修改的了当前区块数据,带来的后果就是其后所有N级子区块的数据要全部修改,代价巨大云云…

    解释2:由于哈希指针的存在,假设存在某节点修改的了当前区块数据,要往父区块回溯,修改父区块直到创世区块,而创世区块是链的开始,是无法更改的(不然就不是这个链了)。

    暂且不说谁说的是正解,反正我乍一看,搞得浑身热血沸腾,觉得哈希指针老牛逼了!应该给哈希指针颁一个联合国和平奖啥的。

    通过仔细的学习和思考以及请教两位专家博哥和锋哥(感谢两位的答疑解惑),发现这些文章其实根本回答不了区块链数据不可篡改的真正原因,因此在这里有必要写点东西以正视听!

    关于防篡改

    由于文章有点长,且如果没有基础可能会不好懂,为了避免大家没耐心,我先说结论——区块链防篡改的真正原因可以从2个层面上解释(以比特币为例):

    (1)从全网的角度分析——分布式P2P网络是关键:以比特币为例,全网所有节点的(虽然只有全节点有完整数据库)都存有一份“相同”的区块头,想作恶的话不是少数一批节点可以做的。整个网络的架构决定了数据要篡改只能使用算力攻击,因为P2P网络的数据维护是靠算力竞争记账权并全网复制的。这就最大程度保证了安全性!想攻击网络,必须要拥有大量的算力,但是拥有大量算力的节点还有必要做“偷鸡不成蚀把米”的事吗?就好比一个公司的大股东为什么要毁掉公司的资产和价值呢?这是比特币“组织架构”的天然优势!

    (2)从单个节点角度—— “数据不是你想改,想该就能改!”

    很多朋友上来就谈,“假设某个节点修改了一个区块”,然后怎么怎么 …根本不介绍区块数据生产的逻辑是什么,要怎么修改,这就带来了一个先入为主的误导(举个不恰当的玩笑为例: 今天动物园开会大象没来,是因为有个家伙把大象放冰箱里了! 大哥,难道在问大象来不来开会前,我们是不是要先看看“把大象放冰箱”这个命题可能性有多大啊???)

    也就是说,如果“修改某个区块数据”这一步过不去,根本就谈不上什么“回溯到创世区块”还是“修改所有N级子区块”!

    那么,我们接下来详细解释为什么对于单个节点的某一次运算,区块数据“几乎”改不了!(想改也可以,回到上一个话题,拥有大量的算力,1次不行就同时试它个1亿亿亿次…这当然又是个悖论,你都拥有这么大的算力,闲着没事给自己挖坑干嘛)

    为了便于理解,我们以比特币为例,某次挖矿获得到记账权的节点,必然满足以下条件:

    恰好通过哈希碰撞,得到了随机数Nonce,使其满足了如下条件:

    即H(block header)≤target

    即哈希列表头部的2次SHA256运算值要满足前面N个bit位都是0。

    这里我们将比特币的区块头的结构列出来:

    字段

    描述

    版本

    4字节数据,版本号

    父区块哈希值

    32字节数据,父区块数据的哈希值

    Merkle根

    32字节数据, 本区块交易的Merkle 数根哈希值

    时间戳

    4字节数据,区块生产的时间

    难度目标

    4字节数据,用于调整工作量证明算法中的难度

    Nonce

    4字节数据,随机数

    网上的有些同志执着于讲“哈希指针”是保证了整个不可篡改机制的最大功臣,矿工表示咱们得先对“挖矿”的原理做个介绍!

    假设,我们的幸运节点挖矿成功,找打了一个4字节的随机数Nonce,使得当前数据区块的头部80个字节的2重哈希运算值满足了前面比如N个0。

    那么,问题来了,当你修改了交易数据,必然导致Merkle根发生变化,从而导致了80字节的数据包发生了变化。必须要重新启动一次Nonce随机数的哈希碰撞的“撞大运摸彩票的”运算。这里大家要明白一个原理,SHA256运算输出的值域空间是:

    [0 ~ 2^256], 这个值域空间是一个巨大的区间!

    而Nonce的值域空间只有0~2^32, 而且非常不幸的是一个“幸运儿”即便算力很牛逼,“猜出”随机数的也不是纯靠实力,而是有运气成分(为什么比特币这么公平就在于此!)因为每个矿工计算时候的“初始状态不同— 打包的交易数据不同,时间戳不同”,所以有可能算力不太牛X的节点,就是比较幸运,10分钟之内“算”到了这个随机数,而有些节点却很难算出来或根本算不出(即便是遍历整个取值空间,也落不在解空间)。

    具体解释,在比特币网络发展到一定程度以后,算力和节点都比较稳定了,那么即使给这个“做恶”节点充分的时间去修改数据,重新计算Nonce,也几乎不可能找到满足合适的Nonce,因为一旦修改了一个点点数据,就造成了“蝴蝶效应”,Nonce的值域空间只有0~2^32完全都落在了目标区间以外,因为不满足条件的哈希值太多了…

    举个栗子: 已比特币为例,在SHA256算法下,第一个bit位以1开头的哈希值有多少?这个比较容易推导,因为有一半的哈希值都是以1开始的,这个空间依然是超级巨大的… 那么区区2^32个数字的尝试,大概率是会落在这个根本不满足条件的空间!

    BLOCK块头部数据结构是有游戏规则的,改了交易数据后的那个区块,Nonce随机值很可能“无解”(在新的条件下)! 而且不要认为在已经找到了一个Nonce值满足规则的前提下, BLOCK数据部分“只改动一点点”,是不是还能找到一个新的Nonce值满足游戏规则,或者距离“成功中奖”也只有一步之遥? SHA256函数表示它被创造出来不是“吃素”的, 闯江湖的几把刷子其中之一就是“不可测”性… 蒙中奖本身就是小概率事件!

    用数学语言描述:

    大概率下,在某节点篡改了某区块的交易数据后的条件下,在这次计算中里,随机数的取值空间[0~2^32]内,是找不到一个合适的“解”Nonce,仍然使其满足下式:

    即H(block header)≤target

    用“人话”描述:

    当一个大兄弟在树下乘凉,被一道晴天霹雳劈中(绝对小概率事件),120给送医院了(这就类似于挖矿,对单个节点而言,已经相当不容易才“蒙”到答案)。 但是这位大兄弟大难不死,当他坐着轮椅在朋友们的鲜花和掌声中离开医院时候,这个大兄弟突发感慨,想回去看看那棵曾经患难与共的树(类似于非要在已经很不容易才算出的结果上改造希望再次得到一个幸运值),刚到树下这时突然风骤起, “裤衩”一道闪电又劈了下来 ……

    看到这里你还要问我,这个大兄弟后来是不是又去那家医院了,他胃口还好吗?上楼腿脚利索不,补钙时喝的是不是哈药六厂的蓝瓶的口服液… 我觉得咱们就没法再一起愉快的聊天了,因为在同一棵树下被2次雷劈的故事就特么不可能出现好吧!!!

    一句话,单个节点连续“中奖”,这种可能性就好比这个大兄弟先后在不同时间点,站在同一棵树下,被雷劈2次 … 这是几乎不会发生的!那么,杠精们又可能会说了,也不是没有可能啊!?是的,你要想实现这个大兄弟被雷连续劈2次,你得让丫天天去那棵树底下待着去(多节点同时计算也行,多找几棵树呗),还要在不同的天气情况下(不同的初始条件,不停的修改区块头部,创造出多种可能的初始条件),日复一日的抱着树守望闪电. 如果1年不行就10年,10年不行就100年,100年不够,就向天再借500年(大量的创造试的机会,去“蒙”出一个合适的随机数)… 总之,还是那句话,你得拥有全网的“大量算力”才有可能!!!

    此外,这里大家一定搞懂:对于单个节点具体的一次挖矿运算的行为(记住我说的这个前提),哪怕一个节点拥有全网十分之一的算力,是不是就一定比拥有全网万分之一算力节点,成功概率大1000倍?

    子曰:当然不是,很可能这个牛叉的节点很不幸落在了“无解空间”,因为“出身条件(初始条件)”不好… 比特币挖矿是一个有时间限制的竞赛游戏,而且单次挖矿是带有“幸运”属性的,因为你不知道自己的“初始位置”距离王冠上的明珠有多远,也没法逆推(SHA256函数的特性决定了)无法去利用已经得到的计算结果 “帮助提速”啥的!

    文末,总结一下结论(以比特币为例):

    (1)P2P架构的分布式存储,决定了以及上链的数据在全网内不可篡改(很难作恶)!除非你拥有巨大的算力,重新制造一条分叉链,取而代之!

    (2)从单节点的角度出发,“一个人连续被雷劈2次”的概率极低,很可能对某一次尝试,这个区块数据压根就改不出来!要改,除非你拥有绝大算力,先实现一个小目标,1秒试它个1亿亿次!

    最后,还是那句话,必须要拥有巨大算力才可能实现攻击!然后这个命题就回到了中本聪比特币设计的天才之处——出于人性的自私而维护的网络最终演化成了最公平的网络,是啊,我拥有全网51%的算力,作为比特币的控股股东,我没必要砸自己的饭碗…

    本人系初识区块链,文中有错误和不足在所难免,欢迎大家多多指教和交流!

    展开全文
  • 为什么说区块链不可篡改

    千次阅读 2020-02-19 18:20:57
    区块链数据真的不可篡改吗? 在第一篇文章中我们提到“由于去中心化的分布式结构中,每个节点都具有所有的数据信息,想要更改某一个数据块,需要同时至少51%的节点同意,非常困难。”本篇文章中,我们来看一下...

    区块链数据真的不可篡改吗?

    我们经常说由于去中心化的分布式结构中,每个节点都具有所有的数据信息,想要更改某一个数据块,需要同时至少51%的节点同意,非常困难。本篇文章中,我们来看一下区块链上的数据是否真的无法篡改?

    首先,先来了解一下什么是区块链节点?

    区块链节点

    节点是区块链应用技术里处理信息的基本单位,节点的作用是广播交易、记录交易。

    那什么是区块链中的节点呢?负责维护区块链网络运行的终端都可以称之为节点,这个终端可以是手机以及电脑和服务器等计算机。但是成为节点的前提是需要加入区块链网络,并且能够参与区块链网络运行,能够广播交易、记录交易、存储数据等。一般节点具有几个特点:具有一定的存储空间、可视化终端、连接网络运行区块链应用程序。

    在比特币系统中,有人说每个比特币钱包都是节点,也有人说如果不挖矿就不是一个节点。但是,小编认为,不挖矿的比特币钱包也是一个节点,只不过是个意义较小的节点。

    区块链上的数据一定不可以篡改吗?

    有朋友问,区块链具有不可篡改的特性,如果第一个创世数据就是错的呢,如何补求?

    区块链中交易数据的全网确认依靠共识算法制定的规则。所以,如果想要更改数据,就要在规则里找漏洞。目前,主流的共识算法有POWPOSDPOSPBFT等。

    51%攻击主要发生在以POW为共识机制的加密代币中。比特币区块链系统使用的是POWPower of Work)工作量证明共识机制,通过工作量来竞争记账权利,即多劳多得,而工作量与计算机运算能力成正比。51%攻击意味着攻击者手中掌握的算力超过该区块链网络中其他所有成员的总和,即攻击者手中掌握着51%及以上的算力。通过掌握超过51%的算力,攻击者可以抢先完成一个更长的、伪造交易的链。在比特币系统中,只认最长的链。所以,伪造的交易也会得到所有节点的认可,假的也随之变成真的了。

    但是51%攻击的成本很大。全网算力按照100P计算,矿机价格按照1T/8600元计算(这是目前最低的价格),51P矿机购买费用=100P * 51% * 1024 * 8600=449,126,400=4.5亿。攻击成本远大于收益,这也就很大程度上保证了攻击发生的可能性基本为0。但虽然51%攻击发生概率小,并不意味着不会发生。

    不过,这种攻击并不是万能的。它无法修改其他人的交易记录,无法阻止其他人的交易被发出去(交易会被发出,只是显示0个确认而已),不能改变每个区块产生的比特币数量,无法凭空产生比特币,不能把不属于自己的比特币发送给自己或其他人。发起51%攻击的节点仅可以修改自己的交易记录,使他进行双重支付(同一笔钱花两次),可以阻止区块确认部分或者全部交易,也可以阻止部分或全部矿工开采到任何有效的区块。

    同理,POSPower of Stake)是权益证明共识机制。POW是算力为王,而在POS中是权益为主。POS依然是基于哈希运算竞争获取记账权的方式,容错性和POW相同,是POW的一种升级共识机制,根据每个节点所占token的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度。

    简单点说,节点记账权的获得容易度与节点持有的权益成正比,节点拥有的权益越多,越容易获得记账权。与POW中的51%攻击对应,POS中攻击者需要掌握全网51%的权益(token代币)才可能造成攻击伪造数据。但是拥有全网51%的权益比获得全网51%的算力还难。

    DPOSDelegated Proof of Stake)委托权益证明共识机制,是POS的升级。DPOS中全部节点参与选举出一定数量的节点(BTS中的DPOS代表节点是101个,EOS中的DPOS代表节点是21个)代替他们进行决策。这与人民代表大会制度类似,由全部人民选举出这些数量的人民代表,各人民代表之间平等。而参与选举的人民可以随时通过投票更换这些代表。如果代表想利用权利作恶,至少要获得全部代表节点中的51%同意。

    PBFTPractical Byzantine Fault Tolerance)实用拜占庭容错算法,全网容错节点数量为(n-1/3n为全网节点数量。即全网达成共识需要超过2/3的节点同意。意味着如果想要做恶,就要掌握全网2/3以上节点,难度很大。

    综上所述,区块链上的数据伪造、更改的成本和代价太高,所以,理性自然人不会主动发起攻击,从经济利益方面保障了区块链数据的安全。

    如果创世区块(区块链的第一个数据区块)里的数据是错误的,在考虑经济成本的情况下,是无法更改的,只能将错就错,或者放弃该条链。

     

    展开全文
  • 区块链数据不可篡改的详细解释

    千次阅读 2019-11-27 21:22:09
    区块链数据不可篡改的详细解释 背景介绍 本人新人一枚,学习区块链的过程中,在网上看到了很多讨论区块链区块数据不可篡改的文章,以比特币为例哈,主要存在2种解释: 解释1:由于哈希指针的存在,假设存在某节点修改...

    区块链数据不可篡改的详细解释

    背景介绍

    本人新人一枚,学习区块链的过程中,在网上看到了很多讨论区块链区块数据不可篡改的文章,以比特币为例哈,主要存在2种解释:
    解释1:由于哈希指针的存在,假设存在某节点修改的了当前区块数据,带来的后果就是其后所有N级子区块的数据要全部修改,代价巨大云云…
    解释2:由于哈希指针的存在,假设存在某节点修改的了当前区块数据,要往父区块回溯,修改父区块直到创世区块,而创世区块是链的开始,是无法更改的(不然就不是这个链了)。
    暂且不说谁说的是正解,反正我乍一看,搞得浑身热血沸腾,觉得哈希指针老牛逼了!应该给哈希指针颁一个联合国和平奖啥的。
    通过仔细的学习和思考以及请教两位专家博哥和锋哥(感谢两位的答疑解惑),发现这些文章其实根本回答不了区块链数据不可篡改的真正原因,因此在这里有必要写点东西以正视听!

    关于防篡改

    由于文章有点长,且如果没有基础可能会不好懂,为了避免大家没耐心,我先说结论——区块链防篡改的真正原因可以从2个层面上解释(以比特币为例):
    (1) 从全网的角度分析——分布式P2P网络是关键:以比特币为例,全网所有节点的(虽然只有全节点有完整数据库)都存有一份“相同”的区块头,想作恶的话不是少数一批节点可以做的。整个网络的架构决定了数据要篡改只能使用算力攻击,因为P2P网络的数据维护是靠算力竞争记账权并全网复制的。这就最大程度保证了安全性!想攻击网络,必须要拥有大量的算力,但是拥有大量算力的节点还有必要做“偷鸡不成蚀把米”的事吗?就好比一个公司的大股东为什么要毁掉公司的资产和价值呢?这是比特币“组织架构”的天然优势!

    (2) 从单个节点角度—— “数据不是你想改,想该就能改!”
    很多朋友上来就谈,“假设某个节点修改了一个区块”,然后怎么怎么 …根本不介绍区块数据生产的逻辑是什么,要怎么修改,这就带来了一个先入为主的误导(举个不恰当的玩笑为例: 今天动物园开会大象没来,是因为有个家伙把大象放冰箱里了! 大哥,难道在问大象来不来开会前,我们是不是要先看看“把大象放冰箱”这个命题可能性有多大啊???)
    也就是说,如果“修改某个区块数据”这一步过不去,根本就谈不上什么“回溯到创世区块”还是“修改所有N级子区块”!
    那么,我们接下来详细解释为什么对于单个节点的某一次运算,区块数据“几乎”改不了!(想改也可以,回到上一个话题,拥有大量的算力,1次不行就同时试它个1亿亿亿次…这当然又是个悖论,你都拥有这么大的算力,闲着没事给自己挖坑干嘛)

    为了便于理解,我们以比特币为例,某次挖矿获得到记账权的节点,必然满足以下条件:
    恰好通过哈希碰撞,得到了随机数Nonce,使其满足了如下条件:
    即H(block header)≤target
    即哈希列表头部的2次SHA256运算值要满足前面N个bit位都是0。
    这里我们将比特币的区块头的结构列出来:

    字段 描述
    版本 4字节数据,版本号
    父区块哈希值 32字节数据,父区块数据的哈希值
    Merkle根 32字节数据, 本区块交易的Merkle 数根哈希值
    时间戳 4字节数据,区块生产的时间
    难度目标 4字节数据,用于调整工作量证明算法中的难度
    Nonce 4字节数据,随机数

    网上的有些同志执着于讲“哈希指针”是保证了整个不可篡改机制的最大功臣,矿工表示咱们得先对“挖矿”的原理做个介绍!
    假设,我们的幸运节点挖矿成功,找打了一个4字节的随机数Nonce,使得当前数据区块的头部80个字节的2重哈希运算值满足了前面比如N个0。
    那么,问题来了,当你修改了交易数据,必然导致Merkle根发生变化,从而导致了80字节的数据包发生了变化。必须要重新启动一次Nonce随机数的哈希碰撞的“撞大运摸彩票的”运算。这里大家要明白一个原理,SHA256运算输出的值域空间是:
    [0 ~ 2^256], 这个值域空间是一个巨大的区间!
    而Nonce的值域空间只有0~2^32, 而且非常不幸的是一个“幸运儿”即便算力很牛逼,“猜出”随机数的也不是纯靠实力,而是有运气成分(为什么比特币这么公平就在于此!)因为每个矿工计算时候的“初始状态不同— 打包的交易数据不同,时间戳不同”,所以有可能算力不太牛X的节点,就是比较幸运,10分钟之内“算”到了这个随机数,而有些节点却很难算出来或根本算不出(即便是遍历整个取值空间,也落不在解空间)。
    具体解释,在比特币网络发展到一定程度以后,算力和节点都比较稳定了,那么即使给这个“做恶”节点充分的时间去修改数据,重新计算Nonce,也几乎不可能找到满足合适的Nonce,因为一旦修改了一个点点数据,就造成了“蝴蝶效应”,Nonce的值域空间只有0~2^32完全都落在了目标区间以外,因为不满足条件的哈希值太多了…
    举个栗子: 已比特币为例,在SHA256算法下,第一个bit位以1开头的哈希值有多少?这个比较容易推导,因为有一半的哈希值都是以1开始的,这个空间依然是超级巨大的… 那么区区2^32个数字的尝试,大概率是会落在这个根本不满足条件的空间!
    BLOCK块头部数据结构是有游戏规则的,改了交易数据后的那个区块,Nonce随机值很可能“无解”(在新的条件下)! 而且不要认为在已经找到了一个Nonce值满足规则的前提下, BLOCK数据部分“只改动一点点”,是不是还能找到一个新的Nonce值满足游戏规则,或者距离“成功中奖”也只有一步之遥? SHA256函数表示它被创造出来不是“吃素”的, 闯江湖的几把刷子其中之一就是“不可测”性… 蒙中奖本身就是小概率事件!
    用数学语言描述:
    大概率下,在某节点篡改了某区块的交易数据后的条件下,在这次计算中里,随机数的取值空间[0~2^32]内,是找不到一个合适的“解”Nonce,仍然使其满足下式:
    即H(block header)≤target
    用“人话”描述:
    当一个大兄弟在树下乘凉,被一道晴天霹雳劈中(绝对小概率事件),120给送医院了(这就类似于挖矿,对单个节点而言,已经相当不容易才“蒙”到答案)。 但是这位大兄弟大难不死,当他坐着轮椅在朋友们的鲜花和掌声中离开医院时候,这个大兄弟突发感慨,想回去看看那棵曾经患难与共的树(类似于非要在已经很不容易才算出的结果上改造希望再次得到一个幸运值),刚到树下这时突然风骤起, “裤衩”一道闪电又劈了下来 ……
    看到这里你还要问我,这个大兄弟后来是不是又去那家医院了,他胃口还好吗?上楼腿脚利索不,补钙时喝的是不是哈药六厂的蓝瓶的口服液… 我觉得咱们就没法再一起愉快的聊天了,因为在同一棵树下被2次雷劈的故事就特么不可能出现好吧!!!

    一句话,单个节点连续“中奖”,这种可能性就好比这个大兄弟先后在不同时间点,站在同一棵树下,被雷劈2次 … 这是几乎不会发生的!那么,杠精们又可能会说了,也不是没有可能啊!?是的,你要想实现这个大兄弟被雷连续劈2次,你得让丫天天去那棵树底下待着去(多节点同时计算也行,多找几棵树呗),还要在不同的天气情况下(不同的初始条件,不停的修改区块头部,创造出多种可能的初始条件),日复一日的抱着树守望闪电. 如果1年不行就10年,10年不行就100年,100年不够,就向天再借500年(大量的创造试的机会,去“蒙”出一个合适的随机数)… 总之,还是那句话,你得拥有全网的“大量算力”才有可能!!!

    此外,这里大家一定搞懂:对于单个节点具体的一次挖矿运算的行为(记住我说的这个前提),哪怕一个节点拥有全网十分之一的算力,是不是就一定比拥有全网万分之一算力节点,成功概率大1000倍?
    子曰:当然不是,很可能这个牛叉的节点很不幸落在了“无解空间”,因为“出身条件(初始条件)”不好… 比特币挖矿是一个有时间限制的竞赛游戏,而且单次挖矿是带有“幸运”属性的,因为你不知道自己的“初始位置”距离王冠上的明珠有多远,也没法逆推(SHA256函数的特性决定了)无法去利用已经得到的计算结果 “帮助提速”啥的!

    文末,总结一下结论(以比特币为例):
    (1)P2P架构的分布式存储,决定了以及上链的数据在全网内不可篡改(很难作恶)!除非你拥有巨大的算力,重新制造一条分叉链,取而代之!
    (2)从单节点的角度出发,“一个人连续被雷劈2次”的概率极低,很可能对某一次尝试,这个区块数据压根就改不出来!要改,除非你拥有绝大算力,先实现一个小目标,1秒试它个1亿亿次!

    最后,还是那句话,必须要拥有巨大算力才可能实现攻击!然后这个命题就回到了中本聪比特币设计的天才之处——出于人性的自私而维护的网络最终演化成了最公平的网络,是啊,我拥有全网51%的算力,作为比特币的控股股东,我没必要砸自己的饭碗…

    本人系初识区块链,文中有错误和不足在所难免,欢迎大家多多指教和交流!

    展开全文
  • 区块链与传统互联网最大的区别就在于,它可以构建的网络是高度可信的。可信任这一点能降低企业之间、消费者与企业之间等交易的时间成本和信任成本,这使得交易变得更为畅通无阻。...不可篡改,顾名思义就是记录到区...
  • 区块链数据真的不可篡改吗?

    千次阅读 2020-02-12 14:48:27
    区块链数据真的不可篡改吗? 在第一篇文章中我们提到“由于去中心化的分布式结构中,每个节点都具有所有的数据信息,想要更改某一个数据块,需要同时至少51%的节点同意,非常困难。”本篇文章中,我们来看一下...
  • 使对象不可篡改的三种方式不可扩展对象密封对象冻结对象总结一下这三种方式的检测 不可扩展对象 默认情况下,所有对象都是可以扩展的。也就是说,任何时候都可以向对象中添加属性和方法。例如,可以像下面这样先定义...
  • 如何实现(账本上)信息的不可篡改?——哈希算法 哈希算法思想:接收一段明文,以一种不可逆的方式将它转化成一段长度较短****、位数固定的输出散列。这个加密过程是不可逆的,这就意味着无法通过输出散列...
  • 区块链软件公司:区块链的不可篡改贴合司法存证需求 “而区块链技能不可篡改的特性,使得链上电子信息第一次能够完成实在意义上的可信化。” 司法+区块链为何能够快速获得使用效果? 目前区块链技能在司法层面的...
  • ·区块链是一种公开的,由一种去中心化网络共同维护的财务系统,提供开放的、不可篡改的底层数据服务。 · 比特币区块链的第一个应用,也是最成功的一个。本质是一种公开透明、无法篡改的电子账簿技术。发明人是中本...
  • 很多人最初了解区块链是什么的时候,除了比特币和中本聪的白皮书,听到最多的说法应该是“去中心化且不可篡改的分布式账本”。由此,区块链“不可篡改”的特性一直都深入人心。 不可篡改,我是这么理解的 在我的...
  • -- 区块链溯源管理系统,用户可通过二维码查看详细溯源信息对部分数据进行区块链加密,保证数据唯一且不可篡改
  • 二、不可篡改性与外部依赖 1、讲解 1.不可篡改 2.外部依赖关系 2、实战 1.要求 2.代码 三、Ownable 1、讲解 1.构造函数 2.函数修饰符 2、实战 1.要求 2.代码 一、前言 看了一些区块链的教程,论文,...
  • 分布式、不可篡改、可追溯,是区块链最主要的三大特征。正因为区块链这些特征,它能够防止信息篡改和伪造,很好地弥补现实社会信用体系的不足。区块链之所以能“火”,正是因为基于这三大特征,解决了现实社会广泛...
  • 区块链中每个节点都完整地保留一份交易的历史记录。这样任何单个人或节点想修改这些历史记录,需要所有人确认,但是别的人或节点都可以拿出自己的那一份备份,来证明这个修改无效。
  • 区块链采用密码学的方法来保证已有数据可能被篡改。这个是误解最多的部分,因为很多人一提到区块链就只觉得是这个。诚然,这部分很重要,而且确实区块链也因此得名,但这只是区块链的定义的一部分。 这个部分的两...
  • 区块链-为什么区块链是不可篡改

    万次阅读 2019-05-23 15:36:26
    正是这样的重新计算需要耗费巨大的计算量,所以一个长区块链的存在可以让区块链的历史不可改变,这也是比特币安全性的一个关键特征。 你可以把区块链想象成地质构造中的 地质层或者是冰川岩芯样品 。表层可能会...
  • 时间戳:一个可以表示一份数据在某个特定时间之前已经存在的、完整的、验证的数据,多数是一个字符序列。 目前在大部分的计算机系统中,时间戳指的是从格林尼治时间 1970年01月01日 00时00分00 ,也就是北京时间...
  • 区块链:不可篡改的爱 区块链的不可篡改特性与恋人们对于忠贞不渝的追求不谋而合,同时,去中心化、全程留痕、可以追溯、集体维护、公开透明等特点也保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。...
  • 區塊鏈有幾個最重要的特色,首先就是它的核心宗旨──去中心化,為了強調區塊鏈的共享性,讓使用者可以依靠額外的管理機構和硬體設施、讓它需要中心機制,因此每一個區塊鏈上的資料都分別儲存在不同的雲端上,...
  • 理解比特币其实并需要了解太多的技术概念,只需要知道两个技术:哈希函数、非对称加密。其他概念都可以通过逻辑推导得出,所以非技术出身的读者也能完全理解。 这一章来讲解一个极为重要的技术概念——哈希函数。...
  • 区块链有着不可篡改、公开透明、多方共识等特性,可满足金融行业对安全性、可追溯性、有效监管的迫切需求。因此,区块链具备适应数字经济社会独特的技术优势,在金融领域拥有广阔应用场景。 随着区块链技术的发展,...
  • 时间戳从区块链生成的那一刻起就存在于区块链中,而区块链中已经生成的区块不可篡改,因为一旦篡改,生成的哈希值就会变化,从而变成一个无效的数据。 时间戳的基本工作原理为:为特定电子数据提供一个绑定时间戳,...
  • 是因为区块链具备区块链技术依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,041
精华内容 1,216
关键字:

不可篡改