应用|如何在区块链保存私密信息

编者按:文章作者 ThinkingInCrowd ,用一个实际应用告诉大家 IPFS 上所谓的完全公开也不是绝对的,毕竟那么多付费的应用要在这里面发生,让我们来一起看看,欢迎大家在文末给原作者打赏,与本网站无关。
忙活了一两个星期,终于把自己的第一个区块链 ethereum 智能合约 Dapp 应用上线了。通过这个应用,我也学习了一下 Ethereum 智能合约的应用,Solidity 语言,和怎么配合其它基础架构(如 MetaMask, IPFS 等)实现一个系统。花了差不多 0.02 个 ETH 部署了智能合约,不知道能不能赚回打赏,哈哈。

 这是一个什么应用

 它的名字叫 Decentralized Secret Note。我部署在 Github pages 上,域名是 https://www.secret-note.one 。它的作用是让用户可以把他们私密的笔记内容,存储到区块链和分布式的网络上面。
应用|如何在区块链保存私密信息

如何做到分布式

  • 笔记内容,保存在 IPFS(一个分布式 Web 架构)上。
  • 笔记名字,和对应的内容在 IPFS 地址的 mapping,都保存在 Ethereum 的智能合约里面。
虽然页面是部署为 Github Pages,但是后端骨架都是在区块链上分布式存储的。其实 Dapp 好像也是可以部署到 IPFS 的,不过这个我还没有研究清楚。

什么数据应该放到区块链

 每对区块链作出更改,都要耗费一定的手续费(矿工费)。所以,存储大量的数据在区块链里面也是不合适的。所以,我们只能把最关键的数据,存放在区块链里面。而且,数据存储在区块链上,对外界都是公开的。如何在区块链上存储私密的内容,一直是要探讨的话题。

怎么保障内容安全

 基于区块链直接存储数据的限制,和安全性考虑,智能合约里面我只保存了用户地址,笔记名字,和笔记内容在 IPFS 上面的链接 Hash。
正常情况下,每个用户只能看到自己保存的内容。他和智能合约交互的时候,必须是使用他自己的 Ethereum 地址来获取他的笔记。即便其它人的笔记内容在 IPFS 上的链接 Hash 被泄漏,IPFS 上面的内容也是经过了 SSH 的 Private Key 加密过的。这个私钥只有用户自己才知道,也没有保存在系统任何一个地方。

你可以做什么

 有兴趣的话,可以看我的源代码:https://github.com/kenspirit/secret-note ,提提意见,一起研究。当然,你还可以自己部署一个,连到测试网络,那就不用给 Mainnet 的 Gas,花真正的钱了,Yeah。
欢迎各位币圈大佬打赏。应用|如何在区块链保存私密信息
ERC20 Token  打赏地址:0x713C8C77112858A3bd14A5FB380Fa0c4c5b1A8Bd
btc 打赏地址:196XA8S8ZwBu7UNap2A84cLzCAKoPPGck3

本文来自投稿,不代表IPFShare 分享站立场,如若转载,请注明出处:http://ipfshare.com/index.php/2018/04/03/ipfs-note-eth-smart-contract/

发表评论

邮箱地址不会被公开。 必填项已用*标注