系统软件开发区块链概念大热的背后,真正的价值在这里

互联网大数据时代,人们每天都会接触数据,购物看评分,炒股看报表……但是,在这个“到处是陷阱”的年代,数据真的可信吗?它们没有被篡改过吗?(陈经理:189-2212-1563 微电同号)

  前段时间,日本第三大钢铁巨头——神户钢铁被曝出篡改铝制品性能数据;A股上市公司财务报表造假事件近年来也频频被曝光……

  人们常说,真实而未篡改的数据是诚信的基础,通常,大多数人会依赖于政府机关的立法和舆论曝光,通过提高对造假的惩罚来杜绝恶意篡改,但好的法律需要好的“警察”,如果不能及时发现篡改行为,就不能完全避免风险和损失。如果有一种技术手段,既能提高数据篡改的难度和代价,又能让其他人快速而廉价的检验是否发生了篡改行为,造假盛行这一状况就会有很大的改观。

  2017年,比特币的疯狂上涨引发关注,除了传说中的耗时耗电,比特币究竟为人类做了哪些贡献呢?很重要的一点就是比特币构建了一个高度可信的账本,完全杜绝了账本的篡改行为。

  这是因为比特币采用了区块链技术作为底层支撑,使得区块链在没有行政监管的条件下,还能保证货币交易数据写入账本之后不会被篡改。对此,区块链领域的业内人士将其称之为“不变性”。

  那么,这种不变性究竟该如何理解?它又是怎样实现的?它和普通民众究竟有什么关系?本文尝试对这些问题进行解答。

  什么是区块链的不变性?

  通常,不变性的具体含义是指某一事物不会随着时间而改变。

  以比特币为例,交易数据是在不停扩展的,因此在区块链的范畴内,不变性是指一旦交易被写入到账本以后,任何人都无法改变它。通过区块链,数据的提供者可以证明其提供的数据没有被更改过,而数据的接收者可以明确其接收的数据没有被篡改。

  值得注意的是,这种不变性是面向所有人的,区块链维护的账本和银行的账目并不一样。对于银行账目,作为一个普通用户,你只能读取你本人的账本,却无法对历史数据进行更改,但是,其他一些更高权限的人,比如银行内部的系统管理员就具备完全的修改数据能力。而区块链技术则保证了任何人,包括系统管理员,都无法对历史记录进行修改。

  不过,区块链技术的不变性并非绝对的。

  举一个简单的例子,你写了一条信息准备发送,在发送之前,你可以随意修改它,这是没有人知道的。如果你已经发送给一位朋友,这条信息对你来说就有一定的不变性,你想改变它,你可以请你的这位朋友删除原来的短信,然后你重新发送,这样其他人就不会知道你修改了这条短信。那么,如果你群发给了很多人呢?对你来说这种不变性就很强了,因为你要说服每一位短信接收人去删除原始短信,理论上,这是可以实现的,但是现实很残酷,群发的数量越大,数据改变的难度就越大。

  区块链也基于同样的原理。对于数据篡改者来说,篡改数据并不难,困难的地方在于怎么不让别人发现这种篡改,只要能让别人快速的验证数据被篡改过了,那就说明这次篡改行为是失败的。这就变相地提高了修改某一事物的难度。

  综合起来,区块链的不变性包含了两个方面的内涵:一是给攻击者制造难关,二是方便用户对篡改的检测,但是,具体过程是怎么实现的呢?

  区块链的不变性怎样实现?

  在金融领域,账本记录了资产和现金等资源的交易情况,是十分重要的财务记录。我们每个人在银行都有相应的流水记录,而每一条记录之间的顺序通常是按时间进行排序和编号的。这种流水式的账本对于有权限的人来说,篡改起来是非常容易的,比如,他们把几条记录里的内容稍做修改,不仔细查看内容很难看出来。

  下图就展示了一个例子:有人把第4页的一行内容进行了修改,你可能很难看出前后的区别,因为账本的变化不够显著(参见下图)。很显然,这种普通的账本篡改起来非常简单,而检查是否篡改却十分困难。

  根据这一原理,用户的任何篡改都能反映到页码的变化上。为了更便于检测,我们希望即便只是对内容进行了极小修改,页码都能面目全非。这样做的一个好处是篡改者很难掌握页码的变化。那么,如果有一种账本,他把每一页的内容和页码进行关联,不管对第4页的内容进行了何种修改,页码都会发生突变,比如篡改后第4页的页码变成了40,这样的话,篡改行为就能很快被检测出来。这就是区块链防篡改的第一个主要原理:将页面内容和顺序编号进行关联。

  但这样也给真实的记账过程带来一个问题——由于页码的不可控制,记账时很难生成连续的页码,那么,账本的顺序该怎样维护呢?区块链中,在新加入一页账本的时候,就把上一页账本的页码写到当前页的开头,这样就能对所有账本页进行排序了,典型的一个区块链就可以表示成下图的形状:

  一个有效账本的第一个规则是:必须保证前后两页的页码一致性。一旦出现页面链接不上,说明账目有假。

猜你喜欢

转载自www.cnblogs.com/18520991235-vx/p/11868468.html