不变性在区块链中意味着什么?

admin
admin
admin
1253
文章
1
评论
2020年9月29日11:32:43 评论

恒定一词已成为区块链的代名词。词典中对不变性的定义是“不变性”。这一术语所指的是区块链的特征,也就是任何写到区块链中的数据都不能被改变。
怎样才能更好的理解它?我们可以把它和谷歌的电子表格相比较。其中包含可在任何时候添加、编辑或删除的行和列。如果你在区块链中输入任何数据,你都不能改变这些数据,除非你达成一致意见。所以,尽管区块链中的数据并非100%不可变,但需要对其进行更改却很复杂。

不变性在区块链中意味着什么?
不变性在区块链中意味着什么?
既然区块链不能完全触碰,为什么又叫不可变?为避免混淆和误解,我们需要讨论两个与不可变性密切相关的词——可篡改性和可读性。
如果某事物被篡改了,每个人都会注意到每一个微小的改变和修正。另外一方面,防篡改意味着物体是不可接触的。找出防篡改的东西是不可能的,因为几乎任何东西都可以随时更改。但是有些事情是很难改变的。
一个例子就是牙膏。如果有人把牙膏从牙膏管挤出来,不管你怎么努力,还是很难把牙膏管恢复到原来的样子。
而这正是防篡改的关键。尽管你可以触摸或者改变一些东西,但是这很难做到,因为已经发生的变化非常明显。同样的情况也发生在区块链上;因此,我们可以说区块链是防篡改的,而非篡改的。所以任何存储在区块链中的数据都被视为合法和安全。
块链的不变性如何运作?
现在我们已经确定了区块链是不可变的,因为如果篡改了它,证据就会显现出来,接下来的问题是:区块链在何种程度上是不可变的?
要了解不变量的工作原理,我们必须讨论散列。hash是一组数学运算,用来创建数字签名(又称校验和)。其工作方式与您的真实签名相似,但您将数字签名与任何数字数据相连接,而非纸张。
很多现代的编程语言都有各种各样的hash函数。安全散列算法2或SHA-2就是其中之一。该hash函数包含更多类型的实现,其中最常用的就是SHA-256。试着输入一组字节,哈希函数会生成一个唯一的校验值。
举个例子,让我们用Python的三行代码来访问SHA-256和其他SHA-2实现。我们将用该算法输入字符串"thismagic"。
>importhashlib。
>h=hashlib.sha256('thisismagic…')
h.hexdigest()
b3c693fd281422bbcabb5f207ae2是‘49240b3ccc693fbb2822bbcabb5fb207ae2’。
该hashlib将提供一个包含64个字符的字符串,既不多也不少。不管你的输入是大还是小,它都会产生相同数目的字符的校验和。要说明这一点,让我们输入一个更长的string:
h=hashlib.sha256(‘humptydumptysatonawall,humptydumptyhadagreatfall’)
h.hexdigest()
’518e3f99fb2b26b4613c8597b371d11543是一条直线。
若计算出校验和,则总数为64个字符,但校验和是唯一的。唯一性是散列函数最显著的特性之一。所以,即使你计算两个看起来相同的文件,当你计算它们的数字签名或校验和时,你也会发现它们之间有什么区别。
假如你在这个句子里加一个句号,你会得到另一个结果。计算量:h=hashlib。Sha256(thismagic...)
h.hexdigest()"6c3e6636db1eb2fa8fcf8d4fdbf33bff4129cb985c24848ef25311d506de73"
它通过在字符串中添加额外的字符(句点)来生成不同的散列输出。hash输出的另一个有趣的特点是“计算上不可能”,它返回并确定哪些输入会影响这个唯一的输出。
甚至当您让有经验的开发人员确定所创建的输入值时,他们会告诉您这不可能。相反,如果你让同一个开发人员给你一个来自“thismagic..”字符串的SHA-256签名,他会给你同样的值。
在区块链上,事实安全有效吗?
块链是由连接的数据块组成,形成一个链式。每一个块都包含多个事务或事实。该软件会计算每部分的校验和。输入计算得到的数据包含大量信息,包括前一块和当前块的校验和。所有这些因素都会包括在新块的计算中,因此重写区块链几乎是不可能的。
每当有新的事务出现时,它将直接进入事务池,等待写入区块链。比特币节点将处理每笔交易,并创建一个新的区块,如果交易足够多,它将被添加到链中。在区块链中,这些将成为永久记录。
在区块链中,校验和格式以零开始。每当记录校验和被添加到区块链中时,hash输出就增加了更多的零。如果某人想要改变区块链的历史,并且添加一个新的交易,他必须返回到Block1,计算一个全新的Block1散列输出。这一过程需要大量的计算能力、时间、资金和精力。

admin
  • 本文由 发表于 2020年9月29日11:32:43
  • 转载请务必保留本文链接:https://www.biyungu.com/qkl/2752.html
区块链的资源配置+分布式多中心化 区块链技术

区块链的资源配置+分布式多中心化

在传统的互联网价值交换的模式中,存在着系列的问题。比如:高度中心化的系统运行需要高额的运行费用:这类系统容易受到网络攻击,造成数据记录被修改、隐私信息滑密等后果:同时,还会带来高额的管理费用支出,以及...
区块链的技术为何却面临着巨大挑战 区块链技术

区块链的技术为何却面临着巨大挑战

毋庸置疑,区块链技术对于金融业、医疗行业、公证、通信领城等各个领域的发展都将产生不可估量的作用,但是,即便如此,区块链依然存在一些不可避免的技术挑战。 具体来讲,区块链面临的技术挑战主要体现在以下方面...
区块链技术的匿名性和隐私性 区块链技术

区块链技术的匿名性和隐私性

区块链作为公开账本,解决了各方参与者之间的信任问题,却他同时带来了新的问题:隐私如何得到保护?当用户的所有交易信息都暴露在大众面前,如果这些交易信息被恶意挖掘及利用,将给用户隐私带来严重的威胁。 也许...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: