在数据共享过程中,区块链的作用主要有三种:激励和价值认同,安全和责任,同态加密和属性密码。下一步,我们将详细讨论。
一、激励和价值认同。
将智能合约与区块链结合起来,可以激发和评估数据的质量和价值,同时也可以对单元和人员进行分类。至于智能合约和激励,我们不能一概而论,应该针对不同情况研究不同的方法。
二、安保和责任认定。
这个,就是利用区块链建立数据目录和属性等,从而达到访问控制,安全互信,责任划分等目的。
与同态加密、属性密码等结合使用
利用同态加密模型,可以更好地保护数据处理程序本身的隐私。这些问题中,不仅有外部用户访问系统,而且有数据不可纂改的问题。
块链中的数据是不可篡改的,其具体表现如下:
一、交易是不可篡改的。
每完成一笔交易,区块链就会将其发送到节点,节点将对该交易的签名进行验证。如果不能正确签名,数据将被丢弃。根据口令规则,只有拥有私钥的人才能修改此交易,其他人不能。比特币中的交易签名是使用椭圆曲线算法实现的。事务不能被篡改,修改任何事务都会导致区块体的改变。
2.块体是不可篡改的。
在块体中是一笔交易,而这些交易都是由梅克尔树组织起来的。若对其中任何一个交易进行修改,将导致梅克尔树根哈希值发生变化。类似问题的解法是使用哈希函数,比如在比特币中使用的SHA-256算法。在区块链中,任何一个-区块体的改变都会导致相应的区块头的改变。
三、区块头是不可篡改的。
之前提到过,交易活动中的块体不能篡改,是由不可解的数学难题所保证的。而且区块的不可篡改性,是通过计算来保证的,也就是“矿工”要做的事。全体“矿工”将计算区块的散列值,并在计算出的散列值之前加n个0。在不改变区块信息的情况下,得到的散列值也是相同的。在区域块中,包含一个Nonce(随机值),“矿工”即通过修改nonce来寻找满足要求的散列。
在比特币的世界里,所有的“矿工”计算出10分钟才能发现——这就是Nonce。因此,仅靠一个人的能力是不能改变任何块的。
在”矿工”计算出Nonce值之后,该区块被传播到其他节点,由这些节点验证数值,验证通过后,该区块的”挖掘”被停止,并通知其他节点,以争夺下一区块的记账权。如出现块头变更,则将导致整个块链变更。
4.区块链是不可篡改的。
通过前三步,我们可以看出,如果有人修改了区块内的任何一项交易,都会引起梅克尔树的根哈希值的改变,进而引起区块头的改变,那么所得到的Nonce将是不合法的,并且“挖矿”又将重新开始。
假如新的随机数Nonce被验证通过,那么如果组织中有大量的计算机,并且计算能力很强,那么重新挖掘一个新的随机数Nonce将导致该区块头的散列值发生变化,同样,记录父区块头的散列值也将发生变化。最终,使新随机数Nonce变得不合法,并要求重新“挖掘”。
在区块链中,任何修改都会导致数据崩溃,使“挖矿”重演。对于比特币来说,如果在一笔交易之后增加了6块区块,那么该交易就不会被修改。
如何对区块链进行不可计算变更?简而言之,依赖于算法:SHA-256,数字摘要,梅克尔树。
原创文章,发布者:首码对接项目,转载请注明出处:https://www.biyungu.com/2204.html