在IPFS上存儲經過身份驗證和加密的數據是許多Web3應用程序的核心構建塊,但是迄今為止,還沒有標準化的方式來編碼這種類型的數據。
沒有標準,許多開發人員被迫為其簽名和加密的數據創建自定義格式。通過將數據存儲到IPFS的特定實現中,這已經阻礙了IPFS中存儲的信息的開放性和互操作性。驗證數據的另一種方法是將數據放入IPFS,并將數據的CID放入區塊鏈的智能合約中。從本質上講,這是在數據之上添加簽名并將簽名記錄持久保存在區塊鏈上的昂貴方法。
隨著EIP-2844的引入,該標準允許錢包支持一些新的方法來基于DID和dag-joseIPLD編解碼器對數據進行簽名和解密,我們現在可以簡單地將經過身份驗證和加密的數據直接放入IPFS。
什么是DID和JOSE?
FIBA提問:15個比特幣你如何選球員?郭艾倫周琦上榜:金色財經報道,國際籃球聯合會(FIBA)亞洲杯官方更新社媒,拋出了“用15個比特幣組建陣容”的話題。“你會用哪些亞洲球星來組建你的最佳陣容?”FIBA亞洲杯官方社媒寫道。其中,郭艾倫出現在了得分后衛的位置上,需要用最多的5個比特幣來選擇。出現在中鋒位置上的周琦,需要用2個比特幣選擇,而在中鋒位置上,比特幣最高的是哈達迪。[2022/6/28 1:35:49]
DID是用于分散標識符的W3C標準。
具體內容可以參考我們上一篇文章:Astral構建新世界。本文僅在這里簡單介紹,DID指定了從字符串標識符到包含用于簽名驗證和密鑰交換的公共密鑰的DID文檔的一般方法。在大多數DID方法中,出于安全原因旋轉鍵時可以更新文檔。
大咖零距離 | 半年收益38倍教你如何成就自己的交易系統:3月10日18:00,金色盤面邀請實盤大V以太坊大手子做客金色財經《大咖零距離》直播間,將分享《半年收益38倍教你如何成就自己的交易系統》,敬請關注,欲進群觀看直播掃描下圖二維碼報名即可![2020/3/10]
JOSE是IETF國際互聯網工程任務組的標準,代表JSON對象簽名和加密,幾乎可以解釋其含義。該標準有兩個主要原語:JWS和JWE。這兩種格式都允許多個參與者:在JWS中,有效負載上可以有一個或多個簽名,而在JWE中,加密明文可以有一個或多個接收者。
使用dag-jose和EIP2844進行構建
當我們使用dag-jose和EIP-2844作為基本構建模塊來構建Ceramic時,我們創建了一些底層工具,這些工具使我們可以更輕松地使用這些技術。
聲音 | 華盛頓與李大學法學院教授:加密貨幣用途決定了如何監管:在美國眾議院農業委員會昨日舉辦的加密貨幣聽證會上,華盛頓與李大學法學院教授Josh Fairfield表示,加密貨幣的用途決定了如何對其進行監管。不同的人因為不同的目的而持有加密貨幣,有的為了消費,有的為了儲存,有的為了投機,有的為了交易,有的隨時改變主意,甚至在使用(消費或交易)加密貨幣之前,不知道其用途。Fairfield表示,一般情況下,加密貨幣作為個人財產持有和消費是沒有問題的,只有交易和投機才會引發監管方面的擔憂,尤其是一些從結構流程上看起來像是試圖繞過某些監管的交易。[2018/7/20]
js-3id-did-provider是使用3ID作為DID方法的EIP-2844的實現。它可以單獨用作DID提供程序,也可以在3IDConnect庫中更方便地使用。3IDConnect允許用戶使用其以太坊錢包來訪問DIDProvider。
英國央行:正在研究如何維護區塊鏈網絡的隱私以及對數據進行監管:本周三,英國中央銀行英格蘭銀行(Bank of England)發布文件顯示,該行正在與區塊鏈創業公司Chain合作開發一種概念驗證,研究如何在基于區塊鏈(或分布式賬本)的網絡上維護隱私,同時仍允許對數據進行監管。[2018/4/11]
key-did-provider-ed25519是使用KeyDID方法的EIP-2844的實現。它是同時支持簽名和加密的最簡單的DID提供程序。
js-did是一個庫,允許開發人員以DID的形式表示用戶。這是我們在本教程中將要看到的主要界面。它使我們能夠與當前經過身份驗證的用戶簽署數據,將數據加密給任何用戶,以及與當前經過身份驗證的用戶解密數據。
中紀委機關報談區塊鏈發展:如何讓監管理解并適度監管是挑戰:今日東方財富網發文稱,在今年的全國兩會上,“區塊鏈”成為一些代表委員熱議的話題,近日中紀委機關報談到區塊鏈發展時,認為:如何讓監管理解并適度監管是挑戰。[2018/3/6]
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'}
過去一年來,去中心化金融的迅猛增長證明了去中心化網絡影響投資世界的能力。去中心化平臺已經開始為實現區塊鏈及其支持的數字資產的承諾提供新的可能性.
1900/1/1 0:00:00加入PolkaWorld社區,共建Web3.0! 在2020年的最后一天,林哥發布了波卡2020年的總結報告!為了幫助大家get到重要信息.
1900/1/1 0:00:00\n\n EOS創始人BM因理念不和宣布辭去EOS的2CTO職務,此消息起初被辟謠為謠言,但隨后Block.one官網確認BM離職,這是繼BTS和STEEM項目后BM第三次離開他的項目.
1900/1/1 0:00:002014年Juan團隊創建IPFS,是一種旨在替代HTTP的協議,其通過內容和身份尋址,支持創建完全分布式應用程序,特點為“分布式、抗審查、更開放”.
1900/1/1 0:00:00本月中下旬比特幣現.貨價格在32000美元區間小幅震蕩。由于過去比特幣現貨價格的逐漸向下調整,投資者買入看跌期權尋求價格保護,比特幣期權中短期隱含波動率曲面已經看不到明顯的右偏態勢.
1900/1/1 0:00:00UmbrellaNetwork是一款旨在賦能下一代DeFi應用的Layer2預言機項目。作為后來者,UmbrellaNetwork在搶占市場,締結新合作上有何策略?其在Polkastarter上.
1900/1/1 0:00:00