主页 > imtoken官方下载2.9.8 > 如何通俗地解释比特币不可篡改?

如何通俗地解释比特币不可篡改?

imtoken官方下载2.9.8 2023-11-20 05:12:50

这个防篡改有几个意思:

1 有人给了我一个比特币账本,我可以肯定他没有修改里面的某条转账记录,比如增加一条记录或者删除一条记录比特币被放弃的区块怎么办,或者伪造一条记录。

2 有人付给我比特币,记录在比特币区块链账本上。我可以保证这个记录不会消失,而且钱不会被撤销再支付给其他人的条件。

一般情况下,比特币账本记录后,就不能再修改了。

正是因为账本被记录后无法修改,人们才相信比特币并使用比特币。

比特币如何防篡改?这要从比特币的运行原理和数据结构说起。

比特币支付与支付宝非常相似。也是扫描对方比特币地址的二维码,或者输入地址,然后输入比特币金额进行转账。但他们有一个很大的区别:支付宝是由一家大公司运营的,用户之间的收付款都是由支付宝记账的,而比特币没有这样的公司,任何人都可以做账。每隔一段时间,账单就会被一个记账员打包在一起,当它们在上一个账本上收到时,这个包裹就称为一个区块,整个账本从前到后形成的链称为区块链。通过遍历整个区块链,可以知道每个账户的余额。

比特币是一种价值传输网络。参与比特币系统运行的人(包括用户)是网络中的节点。节点之间具有平等的权利,没有中心,完全可以自由地相互连接。保留一个完全一致的比特币分类账,运行遵循相同规则的比特币程序。任何人都可以加入比特币网络,新加入比特币网络的节点可以向原节点请求比特币账本。

用比特币支付,需要向比特币网络广播支付信息(这里的“广播”是指向比特币网络中的多个节点发送支付信息),接收到信息的节点会对信息进行验证。继续广播,一传十,十传百,支付信息瞬间传遍全网,然后有记账人记录在区块链账本中。

比特币具有最长链原则。谁拥有最长的区块链账本,谁就领先。但前提是链上数据必须真实有效。制作一个区块需要大量的计算,而最长的链实际上是凝聚了最多工作量的链。最长的链也是最新的账本,记录的账单最多。

簿记员收取票据(簿记员会先验证票据的真伪,同时也会验证付款人是否有足够的硬币支付)并打包成一个区块。

块由块头和块体组成。在区块头中,有一个由簿记员确定的随机数,一个难度目标,以及一些其他信息。 bookkeeper 替换不同的随机数,对区块头进行哈希运算,得到区块头的哈希值。计算出来的哈希值就像生成的随机数,大小不规则。首先尝试一个小于难度目标的哈希值,他会将哈希值对应的区块添加到区块链中并广播给其他人。这时候,他的链条会更长。在大家验证区块无误后,就根据他的区块账本,继续将区块广播到全网。同时在此基础上继续收单,继续计算,争夺下一个区块的预定权。表示该区块是主体的方式是将区块头的哈希值包含到下一个要计算的区块头中。

这样,在大家的共同努力下,区块链不断延伸,整​​个网络的节点都拥有一个相同的、实时更新的区块链账本。验证、广播、记账等过程由各个节点的比特币程序根据比特币规则自动执行。

块头和块体是什么关系?具体的票据记录在区块体中,包括由记账人自己获得的区块奖励和费用的票据。区块头相当于区块的身份信息,包含版本号、前一个区块头的哈希值、时间戳、难度目标、随机数,以及一个默克尔树根哈希值,默克尔树根hash value 值是通过一系列哈希运算从块体中的票据中得到的,相当于块体中那些票据的汇总信息。只要票据稍有变化,默克尔树的根哈希值就会大不相同。同样,只要块头稍有变化,块头哈希就会有很大的不同。通过默克尔树根的哈希值,将块体和块头紧密联系在一起,票据不可篡改;区块头哈希值前后相连,保证区块链互锁,不可篡改。

这个散列操作和散列值是怎么回事?哈希算法也称为摘要算法。输入任意数据后,经过哈希运算,会得到一个定长的输出值,称为输入数据的哈希值。输入数据的哈希值是唯一且确定的。的。散列操作还有另外两个特点。首先,哈希运算的结果就像生成一个随机数。只要输入数据稍有变化,哈希值就会有很大的不同。比如输入一本书的内容,只需要多加一个词,hash值就会发生变化。价值将面目全非。其次,哈希运算是不可逆的。输入数据后可以很快计算出哈希值,但是给定哈希值,不可能对输入数据进行逆运算。反过来输入数据在逻辑上也是不可能的,因为输入数据是无限的,hash值是有限的,一个hash值对应多个输入数据。

如果一个不良行为者给你一个区块链账本,他修改了其中一个账单,这将导致默克尔树根的哈希值发生变化,这将与该树根的哈希值相同。区块头的默克尔树。如果不匹配,你可以立即看到他篡改了账本。

如果作恶者改变区块头中默克尔树根的哈希值,必然会导致区块头哈希值发生变化,与下一个区块头中包含的哈希值不一致。可以发现账本被篡改了。

如果作恶者经过多次计算,重新计算出一个小于难度目标的区块头哈希值,并用这个哈希值替换原来的哈希值,必然与下一个区块中包含的相同标题。如果哈希值不匹配,我们只能继续改变它,直到整个区块链改变。 OK(因为你也可以从肇事者以外的人那里获取区块链账本,只有肇事者的算力超过全网的一半,你才能创造出最长的链,让自己接受最长的链)。

这样可以确保加入比特币网络的人不怕别人篡改账本欺骗自己。

另外,对于那些已经在比特币网络中的人,他们不怕账本被撤销,支付给他们的比特币被撤回(这称为双花攻击)。

双花是如何运作的?例如比特币被放弃的区块怎么办,作案者有10个比特币,他付钱给商家购买商品,支付信息已经记录在区块链中。正常情况下,不可能在同一条链上进行双花,因为用过的比特币都记录在区块链上,用完就没了。但是,肇事者拥有全网一半以上的算力。他在记录他的支付信息的区块之前重新开始挖矿,并且可以重新创建更长的链。这条更长的链不违反比特币规则或者如果你造假账户,每个人都会转向这条链(比特币的程序会根据最长链原则自动切换账本)。然而,在这条链中,作恶者省略了之前的支付记录,将刚刚花费的 10 个比特币再次花掉,或者将其转移到自己的另一个地址。这样一来,原来的支付记录就失效了,商户丢了产品,收不到钱。

肇事者也可以制造双花攻击但不广播的长链,同时支付原链上的东西,拿到货后再释放攻击链反转原链并撤销您自己付款。

实际上,双花是相当困难的。要想保证双花成功,就必须掌握全网一半以上的算力。看看世界各地隆隆作响的矿场,就知道成本是多少。如果你真的掌握了全网一半以上的算力,就可以挖出大量的区块。为什么不好好挖矿,赚很多合法的钱,却要花一点钱呢?双花还可能导致市场恐慌,币价下跌,作恶者的比特币和矿机都会贬值,作恶者将受到谴责和惩罚。双花实际上是一种经济上不合理的做法。

双花只能撤销作恶者自己的支付,并不会破坏整个比特币系统。如果作恶者在他创建的最长链中删除了原链上其他人的账单,然后将这些账单重新打包到区块中。

这样,没有加入比特币网络的人或者已经在比特币网络中的人,就不用担心比特币账本被篡改了。无需信任任何人或机构,只需数学即可。真实可靠的账本是比特币被全世界广泛接受和使用的根本原因。

详细的科普和比特币的来龙去脉在以下文章中介绍。