宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 酷币 > 正文

如何在IPFS上存储签名和加密的数据-ODAILY

作者:

时间:1900/1/1 0:00:00

在IPFS上存储经过身份验证和加密的数据是许多Web3应用程序的核心构建块,但是迄今为止,还没有标准化的方式来编码这种类型的数据。

没有标准,许多开发人员被迫为其签名和加密的数据创建自定义格式。通过将数据存储到IPFS的特定实现中,这已经阻碍了IPFS中存储的信息的开放性和互操作性。验证数据的另一种方法是将数据放入IPFS,并将数据的CID放入区块链的智能合约中。从本质上讲,这是在数据之上添加签名并将签名记录持久保存在区块链上的昂贵方法。

随着EIP-2844的引入,该标准允许钱包支持一些新的方法来基于DID和dag-joseIPLD编解码器对数据进行签名和解密,我们现在可以简单地将经过身份验证和加密的数据直接放入IPFS。

什么是DID和JOSE?

DID是用于分散标识符的W3C标准。

具体内容可以参考我们上一篇文章:Astral构建新世界。本文仅在这里简单介绍,DID指定了从字符串标识符到包含用于签名验证和密钥交换的公共密钥的DID文档的一般方法。在大多数DID方法中,出于安全原因旋转键时可以更新文档。

JOSE是IETF国际互联网工程任务组的标准,代表JSON对象签名和加密,几乎可以解释其含义。该标准有两个主要原语:JWS和JWE。这两种格式都允许多个参与者:在JWS中,有效负载上可以有一个或多个签名,而在JWE中,加密明文可以有一个或多个接收者。

使用dag-jose和EIP2844进行构建

当我们使用dag-jose和EIP-2844作为基本构建模块来构建Ceramic时,我们创建了一些底层工具,这些工具使我们可以更轻松地使用这些技术。

“如何看待比特币大跳水?”登上知乎热榜:金色财经报道,根据知乎首页,提问“如何看待比特币大跳水?”登上知乎热榜,现排名第3位,热度686万。[2021/1/12 15:57:18]

js-3id-did-provider是使用3ID作为DID方法的EIP-2844的实现。它可以单独用作DID提供程序,也可以在3IDConnect库中更方便地使用。3IDConnect允许用户使用其以太坊钱包来访问DIDProvider。

key-did-provider-ed25519是使用KeyDID方法的EIP-2844的实现。它是同时支持签名和加密的最简单的DID提供程序。

js-did是一个库,允许开发人员以DID的形式表示用户。这是我们在本教程中将要看到的主要界面。它使我们能够与当前经过身份验证的用户签署数据,将数据加密给任何用户,以及与当前经过身份验证的用户解密数据。

IPFS中的签名数据

通过使用dag-joseIPLD编解码器,我们可以创建链接和签名的数据结构。这是通过创建包含指向其他数据链接的JSONWeb签名来完成的。dag-jose编解码器解决的主要问题之一是,传统上将JWS的有效负载编码为:base64url这意味着,如果其中包含IPLD链接,则您将无法遍历这些链接。

相反,我们对DagJWS所做的是将有效负载强制为CID的字节。然后,编解码器将有效负载转换为CID实例,并将其设置link为DagJWS的属性。这使我们可以轻松地遍历生成的DAG。

设置具有dag-jose支持的IPFS

由于dag-jose是新的IPLD编解码器,因此默认情况下它尚未包含在js-ipfs中。它还实现了新的IPLD编解码器API,js-ipfs尚不支持该API。因此,在创建IPFS实例时,需要执行以下操作:

Robinhood因未恰当披露如何应对高频交易机构而遭到调查:金色财经报道,股票与加密货币投资平台Robinhood因未能恰当地披露如何将客户订单发送给高频交易机构而受到民事欺诈调查。根据报告,这项由美国证券交易委员会(SEC)进行的调查已进入“高级阶段”,可能导致其遭到1000万美元的罚款。[2020/9/3]

importIPFSfrom'ipfs'importdagJosefrom'dag-jose'importmultiformatsfrom'multiformats/basics'importlegacyfrom'multiformats/legacy'multiformats

)\n//putthepayloadintotheipfsdag\nawaitipfs

)//LogtheDagJWS:console

//Logthepayload:ipfs

)

//Createanothersignedobjectthatlinkstothepreviousoneconstcid2=addSignedObject({hello:'gettingthehangofthis',prev:cid1})//Logthenewpayload:ipfs

)

//Logtheoldpayload:ipfs

)

大咖零距离 | 如何使用火箭战法2天盈利20倍:3月19日18:00,金色盘面邀请实盘大V庄见愁做客金色财经《大咖零距离》直播间,将分享《如何使用火箭战法2天盈利20倍》,敬请关注,欲进群观看直播扫描海报二维码报名即可![2020/3/19]

请注意,由于有效负载将由您的DID签名,因此CID和JWS的值对您而言将有所不同。

验证签名的数据结构

验证JWS非常简单。只需检索JWS对象并将其传递给verifyJWS方法。如果签名无效,则此函数将引发错误。如果签名有效,它将返回用于签名JWS的DID。

constjws1=awaitipfs

一旦有了此功能,我们就可以创建一些加密的对象。在下面的示例中,我们首先创建一个简单的加密对象,然后创建一个链接到前一个对象的附加加密对象。

constcid3=awaitaddEncryptedObject({hello:'secret'},)constcid4=awaitaddEncryptedObject({hello:'cool!',prev:cid3},)

请注意,在上面的示例中,我们用于(<)将数据加密为当前已验证的DID。我们当然也可以将数据加密为未经本地身份验证的用户的DID!\"_src=\"http://did

//RetrivemultiplelinkedobjectsfollowSecretPath(cid4)//>{hello:'cool!',path:CID(bagcqceraqittnizulygv6qldqgezp3siy2o5vpg66n7wms3vhffvyc7pu7ba。//>{hello:'secret'}

标签:DIDDAGTHECONDIDODAG价格3X Short Ethereum Classic TokenContractNet

酷币热门资讯
加密艺术家专访:Haru的故事-ODAILY

受邀加密艺术家Haru Haru是位中国加密艺术家,具有数学系专业背景,后转学景观建筑设计专业。Haru专攻城市绿地规划,曾参与城市公园、住宅、幼儿园、博物馆和别墅等建筑设计项目.

1900/1/1 0:00:00
俄罗斯发布禁令,市场恐迎来抛压!1月23日加密货币市场行情分析,主流币、Layer2和波卡系列 | 烤仔星选-ODAILY

今天市场上有两则重要消息。一则是针对昨日流出的灰度基金山寨币投资组合清单,今日,灰度CEOMichaelSonnenshein在接受采访时回应称,信托基金的成立并不意味着灰度将推出这些产品.

1900/1/1 0:00:00
空单韭菜惨遭爆仓,比特币以太坊牛市各自秀-ODAILY

狼来了,狼来了,狼真的来了,笔者想要告诉你的不是狼来了,是牛市来了,疯牛。大饼自强势突破25000美元关口之后,多头一路狂奔剑指30000美元关口.

1900/1/1 0:00:00
比特币反弹无力再承压,以太坊跟随下跌关注1200关口-ODAILY

投资千万条,风险第一条;策略千百种,哪个适合我;思路没跟上,踏空两行泪。关注谈喻凯公众號币圈散户联盟,精选全球最准行情分析,消息面,技术面为你指引解读,带你把握行情,瞄准良机,稳健交易.

1900/1/1 0:00:00
2月4日BTC ETH LINK AAVE行情解析-ODAILY

2021年02月04日腊月廿三比特币及以及主流币、山寨币的行情分析!圈内各方机构持续在增持,这是对市场后期一个好的开始吗?比特币、以太坊2021年是否还能继续在牛市中运作?年底带领主流一路上涨的大哥会是谁?ETH年底能否突破2000等.

1900/1/1 0:00:00
新手必读:区块链与比特币-ODAILY

区块链——分布式数据储存系统,恰如其名,他是由一个个“区块”组成的一整条“链”。“区块”是分布式储存的“数据库”,即将物理上处于不同区域的个体分别储存的数据库,通过共识机制链接到一起,形成能够起到记账作用的、逻辑上统一的线上链状系统.

1900/1/1 0:00:00