存在性证明(PoE)是比特币区块链内置的一种特征,比特币区块链允许任何人以不可变的方式存储记录。
在比特币区块链上存储记录
区块链上存储的记录也许目前并不被法律所承认,但在不远的未来很有可能会。例如美国亚利桑那州已经批准了一项法案,承认基于区块链的合约具有法律效力。即便如此,使用区块链这种分布式数据库来保护特定数据将会确保你的记录巩固于历史长河中。这些记录可以包括一些文件,如遗嘱、土地所有权、数字版权等等。要将你的记录数字化地存储在比特币区块链上就需要一些任何人都能完成的实践。
RSA加密、信息摘要和比特币公有链
创建存储文件——在公有链上保持私有——的最佳方式就是对数据进行加密。第一件事就是使用自己的计算机创建一些公钥和私钥。Linux和苹果操作系统用户可以通过使用像sshkeygen程序来生成这些密钥,Windows用户可以使用一种叫做Puttygen的软件来生成。
公钥或非对称密码使用了数学系密钥,允许有加密和解密协议。使用Puttygen,用户只需要启动该程序并点击“生成RSA密钥(generate RSA keys)“,输入一个独一无二的密钥密码,然后保存新创建的公钥和私钥。
收到这个密钥对之后,下一步就是创建一个信息摘要,在这里你可以为这个文件、记录或文本添加一个哈希函数。信息摘要软件可以在网上下载,这种软件可以计算一系列不同的加密算法,如MD2、MD4、MD5和SHA-256。通过创建这个信息摘要,这将为你记录的的数据创建一个独一无二的输入。顺着这个步骤,你可以使用你新创建的私钥对信息进行加密,同时将你的数字签名添加的这些信息中。有一些不同的方法可以用来为区块链存在性证明(PoE)提供数据。例如软件开发者Chris Ellis在Github上解释了如何通过一种使用了数字签名和区块链的XML或JSON文档来创建一种世界公民证书。
最后,如果你想要把这个签过名的信息摘要与你的文档系在一起并将其添加到比特币区块链上。那么你就必须记住比特币区块链可以被用来将这个信息摘要的字符串变成哈希放入交易中,这与将文档”附属“到区块链上不同。这个文档并不是被存储在那里,而是只有密钥或数字串与交易连接并记录到公有链上。本质上这就是你的文件的一个数字化的经过签名的“代表”。区块链上许多其他的信息都是十六进制代码,如中本聪创世区块文本。这些特定种类的区块链信息都是通过使用coinbase的100字节的任意文本创建的。
美国麻省理工学院(MIT)也正在研究一种PoE证书项目,可以将学生的学历记录到区块链上。然而,当使用这些服务的时候,你要记住,你需要将对数据完整性的信任交给第三方机构,因为是他们将你的学历信息记录到区块链上的。
比特币区块链拥有大量的十六进制的宣传文本,包括一种致敬Nels mandela的文本,中本聪创世信息,维基泄密密电门数据和其他数千种。除此之外,人们已经使用比特币区块链来记录婴儿出生证明,创建全球护照和结婚证书。
证明所有权和学习加密技术
使用比特币区块链的存在性证明(PoE)功能可以很好地证明文档的数字所有权。比特币区块链同样在交易被处理时立即为其添加时间戳。这就意味着将数据安全地注册在一个全球分布式网络上,可以让用户在未来任何时候通过这个数字签名来证明所有权。因为此举消除了未来对一些第三方机构的需要,所以比特币区块链的这种用例可能会影响法律系统,法律公司公证服务等等。学习如何创建私钥/公钥以及应用安全的文档到强大的比特币区块链将会让我们加密技术领域的迷人之处。
原文:
https://news.bitcoin.com/learning-cryptography-bitcoin-proof-existence/作者: Jamie Redman
编译:Kyle