以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > Uniswap > Info

BASE:探索CID(內容標識符)的來龍去脈

Author:

Time:1900/1/1 0:00:00

當我們在分散的Web上與對等體交換數據時,我們依靠內容尋址來安全地定位和識別數據。本文中,了解重要的分散Web概念的基礎知識,如內容尋址、加密哈希、內容標識符和與對等方共享。

1、什么是CID?

CID規范起源于IPFS,現在采用多格式,支持廣泛的項目,包括IPFS、IPLD、libp2p和Filecoin。本部分將介紹CID本身的解剖,這些分布式信息系統都用作引用內容的核心標識符。

內容標識符是自描述內容尋址標識符。它不指示內容的存儲位置,但它基于內容本身形成一種地址。CID中的字符數取決于基礎內容的加密哈希,而不是內容本身的大小。由于IPFS中的大多數內容都是使用進行哈希處理的,因此您遇到的大多數CID大小相同。這使得它們更易于管理,尤其是在處理多個內容時。sha2-256

例如,如果我們在IPFS網絡上存儲了aardvark的圖像,其CID將看起來像這樣:

Qmcrd4wkppi6dig81r5slj9zm1gdcl4zgpej9cfurrgbzf

創建CID的第一步是使用加密算法轉換輸入數據,該算法將任意大小的輸入映射到固定大小的輸出。此轉換稱為加密哈希摘要或只是哈希。

使用的加密算法必須生成具有以下特征的哈希:

1、確定性:相同的輸入應始終生成相同的哈希。

2、不相關:輸入中的小變化應生成完全不同的哈希。

人民日報:《人民法院在線訴訟規則》本月起施行,探索區塊鏈存證:8月9日,人民日報刊文《網上審案,便民又規范(法治聚焦)》,文章指出《人民法院在線訴訟規則》本月起正式施行,探索區塊鏈存證,也被視為“網上打官司最權威的規則”。最高法司改辦副主任劉崢表示,《規則》首次規定了區塊鏈存證的效力范圍,明確了區塊鏈存儲的數據具有推定上鏈后未經篡改的效力。有利于規范區塊鏈技術司法應用,嚴格區塊鏈存證審查標準,充分發揮區塊鏈技術優勢,進一步促進區塊鏈存證行業有序發展。[2021/8/9 1:42:55]

3、單向:從哈希中重建數據應該是不可行的。

4、唯一:只有一個文件可以生成一個特定的哈希。

請注意,如果我們在aardvark圖像中更改單個像素,我們的加密算法將為圖像生成完全不同的哈希值。當我們使用內容地址獲取數據時,我們保證會看到該數據的預期版本。這與集中式Web上的位置尋址大不相同,其中給定地址上的內容可能會隨著時間而變化。

加密哈希不是IPFS所獨有的,而且有許多散列算法,如、和、不再安全等。IPFS默認情況下使用sha2-256,但CID幾乎支持任何強加密哈希算法。sha2-256blake2bsha3-256sha3-512sha1md5

2、多哈希

有時,散列算法可能被證明是不安全的,這意味著它不再符合我們前面定義的特征。這種情況已經發生了。隨著時間的推移,其他算法可能不足以用于IPFS和其他分布式信息系統中的內容尋址。因此,為了支持多個加密算法,我們需要能夠知道使用哪種算法來生成特定內容的哈希。

法國巴黎銀行等三大巨頭利用以太坊和Tezos技術探索數字資產結算業務:11月19日消息,法國巴黎銀行、法國CA CIB銀行和法國投資公司Caisse des Depots宣布共同啟動一項探索數字銀行間貨幣(DIBC)的項目。該項目選擇利用Ethereum和Tezos區塊鏈技術來探索如何在平臺上結算涉及數字資產的金融交易。探索該項目的企業還包括標記化解決方案公司Tokeny和Blockchain Group子公司XDEV。該項目預計將于2021年完成。(AMBCrypto )[2020/11/19 21:17:50]

那么,我們該怎么做呢?為了支持多哈希算法,我們使用多哈希。

多哈希格式

多哈希是一種自描述的哈希,它本身包含元數據,描述其長度和生成它的加密算法。多格式CID是面向未來的,因為它們使用多哈希來支持多個哈希算法,而不是依賴于特定的哈希算法。

多哈什遵循模式。從本質上講,"原始哈希"的前綴是應用的哈希算法和哈希的。TLVtype-length-valuetypelength

1、type:用于生成哈希的加密算法的標識符-請參閱所有標識符的多代碼表sha2-256180x12

2、length:哈希的實際長度sha2-256256

3、value:實際哈希值

為了將CID表示為壓縮字符串而不是普通二進制,我們可以使用基礎編碼。

昆明市將探索區塊鏈在公共資源交易監管服務領域應用:4月8日,昆明市人民政府辦公室對外發布的《昆明市建設區域性國際中心城市2020年度行動計劃》。《行動計劃》提到加快建設區域性國際經濟貿易中心,探索區塊鏈技術在公共資源交易監管服務領域的應用。(云南發布)[2020/4/10]

首次創建IPFS時,它使用編碼創建看起來像這樣1的CIP:10base58btc

QmY7Yh4UquoXHLPFo2XbhXkhBvFoPwmQUSa92pxnxjQuPU

多哈希格式和編碼啟用了CID的第一個版本,其初始字符仍然很容易發現。base58btcCIDv0Qm...

然而,隨著時間的推移,人們開始懷疑這種多哈希格式是否足夠:

1、我們怎么知道使用什么方法來編碼數據?

2、我們怎么知道使用什么方法來創建CID的字符串表示形式?我們會一直使用嗎?base58btc

為了解決這些顧慮,有必要對下一個版本的CID進行演化。

3、CIDv1:多代碼前綴

CIDv0使用多哈希支持多個哈希函數。這意味著我們可以使用不同的哈希算法成功生成特定內容的哈希,以后能夠使用此哈希識別內容。

但是,當我們試圖讀取數據本身時,我們怎么知道使用的編碼方法?它可以編碼與CBOR,原型,普通JSON等。若要解決此問題,請引入另一個唯一標識所用編碼方法的前綴。

動態 | 青島正推動試點探索區塊鏈政務應用:據悉,青島相關部門正在推動試點探索區塊鏈政務應用,通過政務“上鏈”實現各職能部門的數據互享互用提高辦事效率,從而讓百姓“少跑腿”,同時利用區塊鏈技術建立信用和資料檔案信用社會提供依據。下一步,在鼓勵企業繼續加強區塊鏈理論研究和底層技術的突破創新的同時,青島還將圍繞政用、民用和商務領域的重大需求和主要痛點,推動區塊鏈技術在政府管理、民生項目、跨境貿易、金融投資、企業信息化管理等行業開展先試先行,努力建設立足青島、面向全國的區塊鏈產業應用高地。(青島全搜索)[2019/12/9]

多代碼前綴指示對數據使用哪種編碼。

多碼c支持許多不同類型的編碼,每個編碼都有自己的短編解碼器標識符,如完整表所示。

在上面的示例中,我們可以看到使用編解碼器編碼的數據如何在我們的CID中表示。是許多不同類型的IPLD編解碼器之一。由于IPFS始終對數據使用這些IPLD格式之一,因此IPFSCID中的多代碼前綴將始終是IPLD編解碼器。dag-pbdag-pb

但是,需要注意的是,多代碼不僅由IPFS和IPLD使用。除了多哈希和其他一些自描述協議一樣,它是多格式項目的一部分,該項目從IPFS中剝離出來,現在支持各種各樣的其他項目和協議,包括我們在這里學習的CID規范。

CIDv1:版本前綴

現在,我們添加了多代碼,我們的版本1CID包含以下字段:

聲音 | 上海保險交易所董事長曾于瑾:正在探索高價值區塊鏈運用場景:據上海證券報消息,6月12日,上海保險交易所董事長曾于瑾接受采訪時表示,數字化應用方面,上海保險交易所正在研究以下舉措:打造技術先進、自主可控的“保交鏈”,探索高價值區塊鏈運用場景,并針對保險生命周期的關鍵領域探索人工智能技術應用,推動行業創新升級等。[2019/6/13]

但是,如果您還記得前面的課程,版本0CID僅包含部件,那么我們如何區分不同版本的CID?你猜對了,更多的前綴!

現在我們的CID如下所示:

表示CID的版本。

4、CIDv1:多基前綴

因此,現在我們的CIDv1在二進制給我們的信息:

由于二進制CIP不是很人性化,我們可以以字符串形式表示這些二進制CID。例子:

bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

在二進制格式和字符串格式之間轉換數據需要基本編碼,因此在使用字符串CD時,我們了解應用于二進制數據的基本編碼類型非常重要。但是,我們如何識別這一點呢?

哈希始終使用進行編碼。這意味著我們可以安全地解釋哈希值,假設它們正在使用。但是,由于環境限制,我們還需要支持其他基本編碼的能力。為此,我們可以再加一個前綴!

CIDv0base58btcCIDv0base58btc

5、多基前綴

多基前綴表示在字符串格式和二進制格式之間轉換CID時使用的基本編碼,僅在CID的字符串形式中使用:

讓我們以字符串形式檢查兩個CID示例:

我們知道第一個是,因為它以開頭。從0開始的所有哈希都可以安全地解釋為版本0的CID。

CIDv0Qm...Qmbase58btc

第二個示例以開頭的base編碼前綴標識符,默認情況下,大多數IPFS實現都使用該標識符。bbase32

有關標識符的完整列表,請參考下圖。

6、一個哈希,多個CID版本

您可以將任何IPFSCID粘貼到方便的CID檢查器中,以可視化其所有前綴及其表示內容。

我們將使用CIDv0和CIDv1格式查看此工具的一些結果。

示例1:CIDv1

bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

第一個示例是版本1CID。

查看CID檢查器工具的結果,我們可以看到該工具能夠為我們分析的幾個部分:

1、HumanReadableCID:分解Cid的每個部分,以便我們人類易于閱讀

2、Multibase:是基的標識符,在這種情況下,對于。codebbase32

3、Multicodec:是編解碼器的標識符,在這種情況下,IPLD格式code0x70dag-pb

4、Multihash:將多哈希分解為使用的哈希算法的代碼,哈希的長度,以及內容哈希本身。18sha2-256

從"人類可讀CID"細分中,我們可以看到在添加適當的CIDv1前綴之前,內容的原始哈希是。C3C4733EC8AFFD06CF9E9FF50FFC6BCD2EC85A6170004BB709669C31DE94391A

示例2:CIDv0

QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR

此版本0CID顯示了一些不同的結果:和都被列為"隱式"。由于版本02D沒有這些前綴,因此它們始終假定為和分別。

multibasemulticodecbase58btcdag-pb

在標簽下,我們看到:這是相同的CID從第一個示例!CID檢查器為我們提供了從CIDv0轉換為CIDv1的轉換。

Base32CIDV1bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

另請注意,"人類可讀CID"的末尾在此CIDv0示例中與CIDv1示例中完全相同:。C3C4733EC8AFFD06CF9E9FF50FFC6BCD2EC85A6170004BB709669C31DE94391A

為什么?這兩個CID指向相同的內容。基本上,它是在CID規范的兩個不同版本中表示的相同哈希。C3C4733EC8AFFD06CF9E9FF50FFC6BCD2EC85A6170004BB709669C31DE94391A

轉換CID版本

您可以將任何前綴轉換為,因為隱式前綴在變為顯式。但是,由于支持多個編解碼器和多個基,并且不支持,因此并非所有代碼都可以轉換為。實際上,只有具有以下屬性的才能轉換為:

CIDv0CIDv1v0v1CIDv1CIDv0CIDv1CIDv0CIDv1CIDv0

1、multibase=base58btc

2、multicodec=dag-pb

3、multihash-algorithm=sha2-256

4、multihash-length=32

為了驗證這一理論,您可以在此處查看我們心愛的aardvark圖像,該映像托管在IPFS網絡上:https://ipfs.io/ipfs/QmcRD4wkPPi6dig81r5sLj9Zm1gDCL4zgpEj9CfuRrGbzF

1、打開瀏覽器中的鏈接,從URL的末尾復制CID(QmcRD4wkPPi6dig81r5sLj9Zm1gDCL4zgpEj9CfuRrGbzF)

2、在新的瀏覽器窗口中,將其粘貼到CID檢查器工具中,并查找屏幕底部顯示的等效CIDv1值

3、回到aardvark選項卡中,將CID替換為原始URL中轉換后的CID并刷新頁面v0v1

你應該看到我們的阿爾德瓦爾克相同的圖像。

編輯:星際視界IPFSNEWSSue

Tags:IDV區塊鏈BASBASEidv幣今日價格區塊鏈專業畢業后到底做什么databasexMBASE

Uniswap
瑞波幣:谷燕西:簡析SEC對Ripple的起訴,對市場有何影響?

SEC剛剛開始發起對Ripple的起訴。SEC認為瑞波幣是未登記的證券,但卻從2013年以來一直到今天在非法地銷售.

1900/1/1 0:00:00
NFT:教程 | 動態NFT的構建、部署和出售

NFT是只有在區塊鏈領域里才存在的工具,有著廣泛的應用和機遇。ERC721代幣標準可以構建收藏品、獨立代幣、票據、游戲等多種應用,對于那些想要參與構建的開發者來說,一個動態和隨機的NFT是一個很.

1900/1/1 0:00:00
區塊鏈:ETC前業務開發經理:ETC將在未來十年超過7000美元

1月3日,ETC前業務開發經理DonaldMcIntyre撰文指出,ETC將在未來十年超過7000美元,并提出了8條理由。1.很少有系統能贏得區塊鏈格式之戰.

1900/1/1 0:00:00
DORA:Findora公布審核代碼庫結果并計劃于2021Q1發布開源代碼

據官方消息,Findora與一家美國上市的軟件行業安全審計公司合作,對方對Findora即將開源代碼庫進行分析檢測.

1900/1/1 0:00:00
NEO:分析 | ??我國央行數字貨幣發行的4個法律問題

|合規聯盟原創出品?| 我國DCEP進程從2014年開始啟動,從2019年下半年進入應用落地階段.

1900/1/1 0:00:00
FIN:3萬美元正成為比特幣新阻力位

周四市值最大的加密貨幣比特幣再次上漲突破2.9萬美元,年漲幅超過300%,3萬美元正成為比特幣的新阻力位。比特幣的市值也已經達到5400億美元,超過了巴菲特旗下的伯克希爾哈撒韋公司.

1900/1/1 0:00:00
ads