简单的区块链资料验证应用程序

【中亚国际博览】想象一下下面的用例。您收到一份经过多方认可的档案,但是又希望确保其的真实性。该档案可能是您正在购买的汽车的服务手册,也可能是一份购房档案,证明您正在购买的房子确实属于卖方。

对档案进行数字签名以防止被篡改,这已经不是什么新鲜事。您可以获取档案的内容并使用你的私钥进行加密,生成一个加密档案,将该签名与档案一起传送给对方。
文件的接收者可以再次生成签名,并验证它是否与所提供的签名匹配。验证文件内容是否被篡改。
这是MD5校验和的结果,使用起来非常方便。它的缺点是您需要接收签名来验证文件的真实性。
由于从个人获取资料并非易于信任,因此有时第三方会介入提供记录储存服务以获取利润。这种利润动机是保持记录保持者诚实的原因。但不是一个完美的解决方案。但是可怕的是,如果经济激励措施改变,记录保管人可能会发生腐败。监管之人,谁人监管?

区块链可以为你做什么?
区块链资料储存是分散的、健壮的和不可更改的。
· 分散意味着资料分散式储存在不同的装置上。
· 健壮意味着即使某些参与者离开或停止合作,资料储存也将继续执行。
· 不可更改意味着一旦资料储存在区块链中,就不能更改。
区块链以优雅的方式解决文件注册问题。一旦我们在区块链登录档中输入一个签名,我们就不必担心签名会被修改以匹配被篡改的文件。要做到这一点,需要大部分网络参与者一致达到共识,这使得它几乎不为人所知。
在此上下文中,文件可以是任何资料集。同样的模式也适用于证明任何商业交易、物联网资料集或使用者身份的真实性,以及其他许多模式。
现在,了解如何使用这个构建区块来设计更复杂的解决方案是非常有用的。所有区块链解决方案都依赖于储存使用者生成的资料,这些资料可以在不依赖任何人的情况下被信任。

用例实施
这次我没有从头开始编写合同。我正试图停止重新发明轮子,区块链登录档已由十几个实施。
智慧合约设计非常简单,只有一个相关的合同变数和两个函式。
1. 文件对映将为文件计算的杂凑与新增该杂凑的区块相连结。
2. add方法接受杂凑并将其储存在对映中。
3. verifiy方法返回杂凑的时间戳。