在IPFS上存储经过身份验证和加密的数据是许多Web3应用程序的核心构建块,但是迄今为止,还没有标准化的方式来编码这种类型的数据。
没有标准,许多开发人员被迫为其签名和加密的数据创建自定义格式。通过将数据存储到IPFS的特定实现中,这已经阻碍了IPFS中存储的信息的开放性和互操作性。验证数据的另一种方法是将数据放入IPFS,并将数据的CID放入区块链的智能合约中。从本质上讲,这是在数据之上添加签名并将签名记录持久保存在区块链上的昂贵方法。
随着EIP-2844的引入,该标准允许钱包支持一些新的方法来基于DID和dag-joseIPLD编解码器对数据进行签名和解密,我们现在可以简单地将经过身份验证和加密的数据直接放入IPFS。
什么是DID和JOSE?
外媒:香港金融监管机构本周讨论了如何解决加密公司开设银行账户面临的挑战:6月16日消息,据彭博社援引知情人士报道,香港金融监管机构已于本周一召集银行、加密平台和其他行业参与者在一起,主要讨论如何解决加密公司在开设银行账户方面面临的持续挑战。这是香港监管机构自 4 月下旬以来第二次推动银行更多参与加密领域的会议。[2023/6/16 21:41:23]
DID是用于分散标识符的W3C标准。
具体内容可以参考我们上一篇文章:Astral构建新世界。本文仅在这里简单介绍,DID指定了从字符串标识符到包含用于签名验证和密钥交换的公共密钥的DID文档的一般方法。在大多数DID方法中,出于安全原因旋转键时可以更新文档。
JOSE是IETF国际互联网工程任务组的标准,代表JSON对象签名和加密,几乎可以解释其含义。该标准有两个主要原语:JWS和JWE。这两种格式都允许多个参与者:在JWS中,有效负载上可以有一个或多个签名,而在JWE中,加密明文可以有一个或多个接收者。
Bicc币交所早期投资人王小彬:如何在安全前提下实现高速处理是区块链底层公链突破重点之一:金色财经现场报道,“2020 Cointelegraph中文大湾区·国际区块链周”8月5日-7日在深圳举行。Bicc币交所早期投资人&CWV主链基金会管理人王小彬跨洋连线“公链下一轮,CWV2.0如何回答”,他表示,如何在安全的前提下实现高速处理是区块链底层公链突破的重点之一。CWV2.0相对传统公链在速度方面优势非常明显,因为采用了VRF(随机验证方法)共识,CWV2.0在运行过程中,通过随机函数确保出块节点的公平性和去中心化控制,同时在块高度上实现PBFT容错能力,使得VRF的主链更加稳定,在账本层面可以很好地实现快速出块。[2020/8/7]
使用dag-jose和EIP2844进行构建
声音 | 韦氏评级:无论比特币盈利能力如何 投资者都更倾向于存币而非卖币:韦氏评级今日称,超过60%的比特币一年多都存储于钱包中而非在市场流通。在此期间,比特币兑美元的价格从去年12月的3100美元上涨到仅6个月后2019年的13800美元高点。无论盈利能力如何,投资者都希望存币而不是卖币。[2019/12/3]
当我们使用dag-jose和EIP-2844作为基本构建模块来构建Ceramic时,我们创建了一些底层工具,这些工具使我们可以更轻松地使用这些技术。
js-3id-did-provider是使用3ID作为DID方法的EIP-2844的实现。它可以单独用作DID提供程序,也可以在3IDConnect库中更方便地使用。3IDConnect允许用户使用其以太坊钱包来访问DIDProvider。
动态 | 社科院法学所刊文《对“去中心化”的区块链如何监管》:中国社科院法学所赵磊在《经济参考报》发表题为《对“去中心化”的区块链如何监管》的文章。文章指出,对区块链技术的监管,应该分为两个层面:一是结合区块链技术的具体应用场景,分行业进行监管;另一是针对区块链,制定专门的技术标准,以实现区块链技术的规范、统一。而判断某种商业活动或者社会管理活动是否可以应用区块链,至少应该从以下两方面进行衡量:一方面是区块链技术只能在虚拟空间中应用;另一方面是区块链技术无论在何种场景中应用,必须符合其去中心化、共识机制与分布式记账等技术特征。[2019/1/10]
key-did-provider-ed25519是使用KeyDID方法的EIP-2844的实现。它是同时支持签名和加密的最简单的DID提供程序。
声音 | 薛蛮子:行业应重点关注如何建立信任机制:著名天使投资人、UT斯达康创始人薛蛮子在“重构新生态”2018全球第五届区块链技术应用论坛上,就区块链投资提到:很多散户依靠对百倍千倍的幻想而去投资数字货币是非常危险的事。同时就区块链监管也提到:如何在倒“洗澡水”的时候怎么又不把“澡盆里的孩子”倒出去,这是个很有技术难度的事情,也是短时间内很难实现的事。个人认为:接下来行业内胡乱“割韭菜”行为肯定行不通了,如何建立信任机制才是行业内应该去做的事情。[2018/7/26]
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实例时,需要执行以下操作:
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
)
请注意,由于有效负载将由您的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'}
摘要:CoverProtocol因合同漏洞遭黑客攻击;MicroStrategyCEO透露已购买超过25亿美元比特币;VanEck向SEC重新提交比特币ETF申请;深圳再度派出2000万元数字人.
老马是从2020年七月份开始做自己的视频号的,八月中旬开始玩流动性挖矿等DeFi项目,九月中旬创建了社区:心跳DeFi研究院Ethermine将向Polygon添加30万矿工:Ethermine.
你觉得挖一个比特币需要多少钱?假设你住在伦敦,有一台AntminerS9,目前价格为2186英镑。你支付16.3p/kWh,给你的小矿机提供22.36KW/h的电力.
\n\n 你的资产负债表里有比特币?随着比特币价格不断上涨,或许有很多人不认可比特币,但没有人会和钱过不去,比特币从人人喊打,变成了人见人爱.
吴说作者|ColinWu本期编辑|ColinWu老套的“蝴蝶效应”故事,在19日晚出现在中国加密行业.
讲道理的说,昨天之所以那么早就睡觉了,实在是令梭教授想起了312,一堆人看1000,让梭教授默默的将4000以下的所有买单全撤了,实在是慌得很.