火星链 火星链
Ctrl+D收藏火星链
首页 > 以太坊 > 正文

SHA:探索CID(内容标识符)的来龙去脉

作者:

时间: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、不相关:输入中的小变化应生成完全不同的哈希。

BNB Chain将于2023年上半年探索zkBNB、Optimistic Rollup等拓展解决方案:2月16日消息,据 BNB Chain 2023 年路线图内容显示,BNBChain 将于 2023 年上半年通过启动 ZkBNB 以及 Optimistic Rollup 主网来探索多样化的网络扩展解决方案,为不同的业务案例提供更多选择。ZkBNB 以及 Optimistic Rollup 主网都将继续使用 BNB 作为 Gas Token,Optimistic Rollup 主网的网络吞吐量大约在 5000-10000Tps/s,Gas 将比 BSC 更少。[2023/2/16 12:10:54]

3、单向:从哈希中重建数据应该是不可行的。

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

请注意,如果我们在aardvark图像中更改单个像素,我们的加密算法将为图像生成完全不同的哈希值。当我们使用内容地址获取数据时,我们保证会看到该数据的预期版本。这与集中式Web上的位置寻址大不相同,其中给定地址上的内容可能会随着时间而变化。

加密哈希不是IPFS所独有的,而且有许多散列算法,如、和、不再安全等。IPFS默认情况下使用sha2-256,但CID几乎支持任何强加密哈希算法。sha2-256blake2bsha3-256sha3-512sha1md5

2、多哈希

有时,散列算法可能被证明是不安全的,这意味着它不再符合我们前面定义的特征。这种情况已经发生了。随着时间的推移,其他算法可能不足以用于IPFS和其他分布式信息系统中的内容寻址。因此,为了支持多个加密算法,我们需要能够知道使用哪种算法来生成特定内容的哈希。

北京丰台:提高加密等数字货币关键密码技术研发,探索数字金融沙盒实验:金色财经报道,北京市丰台区人民政府印发《“十四五”时期丰台区高精尖产业发展规划》,在金融科技(数字金融)方面,支持中国人民银行数字货币研究所加强技术研发投入,稳妥推进数字人民币试点应用场景建设,提高对称、非对称密码算法、认证和加密等数字货币关键密码技术研发能力,支持数字货币及相关底层平台软硬件系统的架构设计和开发。加强区块链等技术发展,研究网络模型、分布式存储、零知识证明、链上链下协同、监管科技等技术,以应用场景开放推动区块链技术在更大规模的商业场景中落地。探索数字金融沙盒实验等业务监管新模式。[2022/2/19 10:02:38]

那么,我们该怎么做呢?为了支持多哈希算法,我们使用多哈希。

多哈希格式

多哈希是一种自描述的哈希,它本身包含元数据,描述其长度和生成它的加密算法。多格式CID是面向未来的,因为它们使用多哈希来支持多个哈希算法,而不是依赖于特定的哈希算法。

多哈什遵循模式。从本质上讲,"原始哈希"的前缀是应用的哈希算法和哈希的。TLVtype-length-valuetypelength

1、type:用于生成哈希的加密算法的标识符-请参阅所有标识符的多代码表sha2-256180x12

2、length:哈希的实际长度sha2-256256

3、value:实际哈希值

YouTube探索Web3.0和区块链技术:金色财经报道,谷歌旗下的视频平台YouTube宣布,它正在基于 Web3.0和区块链技术进军NFT和元宇宙。YouTube在美国时间2 月10日由首席产品官 Neil Mohan 撰写的一篇博文中表示,希望在“更深层次”上将艺术家与他们的观众联系起来,并探索 Web3.0等最新技术的应用,从而让创作者、观众与广告合作伙伴都能获得最大利益。。

在博文中,Mohan 表示 YouTube 希望为粉丝提供一种可验证的方式,让他们拥有来自他们最喜欢的创作者的独特视频、照片、艺术,甚至是 NFT 体验。在源于元宇宙的建设方面,Mohan 表示 YouTube 可以让用户在元宇宙中一起观看视频。目前,YouTube 上的元宇宙将专注于展示与游戏相关的视频,让它们感觉更生动。Mohan 还表示,YouTube 希望对 Web3.0应用程序采取负责任的态度。“要确保我们以负责任的方式使用这些新技术,需要考虑很多因素,但我们认为也有令人难以置信的潜力。”

此外,Mohan 还谈到了 YouTube 即将推出的一些其他功能,例如频道指南、直播的分类评论和 YouTube 短片的超级留言。[2022/2/13 9:48:03]

为了将CID表示为压缩字符串而不是普通二进制,我们可以使用基础编码。

首次创建IPFS时,它使用编码创建看起来像这样1的CIP:10base58btc

QmY7Yh4UquoXHLPFo2XbhXkhBvFoPwmQUSa92pxnxjQuPU

CVT联合创始人Jerry:未来CyberVein还将以数据为基础,探索智慧城市发展:9月20日,CyberVein全国品牌行活动第五站重返厦门。CyberVein作为首席合作方出席金色财经由金色财经主办的《共为·创业者大会-厦门站》,同50+区块链企业、30+媒体、500+参会人员同聊聊当前区块链行业的最新动态。

会议上,CV Technology基金会联合创始人 Jerry发表了《CVT3.0 ——阔步迈进数据资本时代》的主题演讲。?Jerry表示“数脉链用三年的时间,实现了新型区块链数据库到DAVE智慧城市解决方案的飞跃性发展。未来CyberVein还将以数据为基础,以技术创新为驱动,搭建数据智能领域,探索智慧城市发展”

同时Jerry还表示希望更多企业、机构、创业者加入CyberVein的数据价值生态中,发挥自身技术、资源、资金优势,打造智慧城市建设领域的标杆。[2020/9/20]

多哈希格式和编码启用了CID的第一个版本,其初始字符仍然很容易发现。base58btcCIDv0Qm...

然而,随着时间的推移,人们开始怀疑这种多哈希格式是否足够:

1、我们怎么知道使用什么方法来编码数据?

2、我们怎么知道使用什么方法来创建CID的字符串表示形式?我们会一直使用吗?base58btc

为了解决这些顾虑,有必要对下一个版本的CID进行演化。

3、CIDv1:多代码前缀

声音 | 中国证券报:探索区块链在证券公司风险管理中的应用:中国证券业协会与中国证券报联合发文《推动证券行业高质量发展的五大建议》。文章指出,防范化解重大风险尤其是金融风险是当前及今后一段时间经济工作的首要任务。应创新风险管理工具和方法,推动传统风险管理转型升级。应用新技术使防风险空间更广。探索区块链在证券公司风险管理中的应用,基于区块链技术多点存储、不可篡改等特征,探索应用私有链或联盟链模式,在关键业务环节设置监控探针,形成追溯机制,提升跨行业、跨市场交叉性金融风险的甄别、防范和化解能力。[2019/6/5]

CIDv0使用多哈希支持多个哈希函数。这意味着我们可以使用不同的哈希算法成功生成特定内容的哈希,以后能够使用此哈希识别内容。

但是,当我们试图读取数据本身时,我们怎么知道使用的编码方法?它可以编码与CBOR,原型,普通JSON等。若要解决此问题,请引入另一个唯一标识所用编码方法的前缀。

多代码前缀指示对数据使用哪种编码。

多码c支持许多不同类型的编码,每个编码都有自己的短编解码器标识符,如完整表所示。

在上面的示例中,我们可以看到使用编解码器编码的数据如何在我们的CID中表示。是许多不同类型的IPLD编解码器之一。由于IPFS始终对数据使用这些IPLD格式之一,因此IPFSCID中的多代码前缀将始终是IPLD编解码器。dag-pbdag-pb

但是,需要注意的是,多代码不仅由IPFS和IPLD使用。除了多哈希和其他一些自描述协议一样,它是多格式项目的一部分,该项目从IPFS中剥离出来,现在支持各种各样的其他项目和协议,包括我们在这里学习的CID规范。

CIDv1:版本前缀

现在,我们添加了多代码,我们的版本1CID包含以下字段:

但是,如果您还记得前面的课程,版本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

标签:IDVBASEBASSHAIDV价格coinbase下载钱包地址BasisX ShareSHAG价格

以太坊热门资讯
DID:研究 | 分布式数字身份的原理、模型与关键技术

本文来源:金融科技产业资讯前情提要2021年1月15日,北京金融科技产业联盟成功举办“基于区块链的金融分布式数字身份技术应用研讨会”.

1900/1/1 0:00:00
RAN:迈阿密市长考虑将该市部分财政储备投资比特币

据TheBlock报道,美国迈阿密市市长FrancisSuarez正在考虑将该市的部分财政储备投资比特币。他在周四接受采访时表示:“我们正在考虑使投资组合多样化,并持有比特币投资.

1900/1/1 0:00:00
区块链:科普 | 隐私交集是什么?

为什么要隐私交集安全多方计算技术是现在国家极为重视的技术,在数据要素市场的建设中也扮演了非常重要的角色.

1900/1/1 0:00:00
JOY:2021年币市行情分析:比特币走势是关键

自去年12月份以来,比特币一路势如破竹般的上涨彻底激发了圈内人的情绪和圈外人的关注。比特币连创新高,从冲破19000美元一直到昨天最高涨到34000美元,在这一路凌冽的涨势中几乎没有遇到什么障碍.

1900/1/1 0:00:00
AVE:财联社:疯狂比特币史上首次突破4万美元 不到一月价格已翻倍

财联社讯,美东时间周四,比特币继续疯狂走势,一举突破4万美元关口,再度创下历史新高,同时日内振幅也高达6000美元.

1900/1/1 0:00:00
NCE:Balancer启动Gas费补贴计划,平均补贴Gas费用的40%

据官方消息,去中心化交易协议Balancer宣布启动为期四周的Gas费补贴试行计划,社区已批准3万枚BAL用于Gas费补贴.

1900/1/1 0:00:00