区块链的权限IPFS协议能否使加密数据更安全
扫描二维码
随时随地手机看文章
区块链的透明度很好,但对于许多涉及用户数据的用例来说,隐私和保密性是至关重要的。
在构建任何应用程序时,无论其集中性或分散性如何,您迟早都需要保持用户数据。
它已成为项目在IPFS上公开加密和存储敏感数据的一种流行方法 - 实质上是为每个人提供加密数据!不要误会我的意思,加密绝对是重要的。但是,如果加密数据只能由授权方访问,那会不会更安全?
智能保险柜(Smart Vault)
连接到区块链的权限IPFS协议。
数据是在需要知道的基础上访问的,可以永久删除。访问由包含访问控制列表(ACL)的可编程智能合约控制。这提供了透明,公共和可验证的访问,无需中央控制器。控制始终掌握在数据所有者,智能合约作者手中,这意味着它默认符合GDPR标准。
它是如何工作的?
让我向您介绍一个潜在的分散式Google云端硬盘应用的示例,其中两个用户(peer)彼此之间共享机密文档。
#1,Alice将机密文档存储在她的Smart Vault中
·在区块链上部署ACL智能合约
·该文档将添加到权限增强的IPFS存储中
·IPFS Merkle DAG与ACL智能合约相关联
·生成公共可共享文档引用,元数据文件及其哈希
#2,Alice想与她的同事Bob分享这份文件,所以她使用ACL智能合约授予他读取权限
·Alice与Bob共享文档引用(元数据的哈希)
#3,Bob尝试获取并打开文档
·Bob的Smart Vault向所有对等方执行读取请求
·IPFS协议解析持有文档Alice的节点的对等体
·在分发内容之前,Alice的Smart Vault会对机密文档的ACL执行授权检查
·Bob已被授予访问权限,因此授权成功
·Alice的Smart Vault将文档发送给Bob
·Bob打开文件
#4,该文档现在存储在两个分散的智能保管库中,使用相同的ACL进行保护
添加文件
对于代码爱好者来说,这就是内部结构的工作方式:
如何开始使用Smart Vault?
为了让开发人员只关注真正重要的事情,DApp业务逻辑,我们将所有技术存储细节抽象为开发人员友好的SDK,Leth。
根据您的项目需求,Leth允许您以多种方式与Smart Vault交互。将Leth导入Go库。执行CLI命令或执行HTTP通信。
需要前端集成?使用Leth JS SDK包装HTTP调用并在客户端(浏览器/移动设备)直接签署ACL事务,并使用智能合约ABI和web3.js库将它们广播到区块链。
HTTP使用示例
curl -X POST
http://localhost:9091/storage/add
-H ‘Content-Type: multipart/form-data’
-F owner=0xa92e3705e6d70cb45782bf055e41813060e4ce07
-F password=$PWD
-F file=“@/tmp/secret_file.txt”
{
“meta”:“QmZYSewpHNvdW1TTgska792QAT7Yd6yxZAoybpYFskTZSf”,
“acl”:“0xc2DBC8CdAba2df432C821639B80302f0675D6f74”
}
CLI使用示例
leth storage add --nodeid=1 --network=mainnet
--owner=0xa92e3705e6d70cb45782bf055e41813060e4ce07
--file=/tmp/secret_file.txt
可用命令的完整列表
智能保险柜目前处于alpha阶段,还有许多要求的功能正在进行中!
我是否必须使用Lightstreams区块链才能使用Smart Vault?
您也可以将它与以太坊连接。
Smart Vault是云存储吗?
作为IFPS,Smart Vault不是云存储。它是点对点存储。文件在请求时分发给其他设备。使用我们的IPFS修改版本,文件仅与授权计算机共享。在理想的分散式环境中,每个用户都在运行自己的Smart Vault节点。