IPFS原力区技术解码与Filecoin的选择

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册
免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表官方立场。

小编:记得

来源:IPFS原力区

散列(hash)函数是区块链所利用的技术中的最为基础的部分了,也是非常重要的部分之一。一个好的散列函数在一个密码体系中的地位也十分重要。Filecoin在散列函数的采用上也十分大胆。其中Posaidon就是比较新的散列算法。

散列的基本概念

IT人士对于散列(Hash)再熟悉不过了。Hash表是一种基本的数据结构,而这种数据结构是依靠hash函数来进行索引和访问的。由于Hash函数在寻址上具有很高的效率上的优势,算法复杂度基本上是O(1)。因此,Hash函数被广泛应用与数据库和其他数据处理系统中。

简单来说,散列函数就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。通常输入的数据长度要大于运算得出的散列值,同时因为这个散列值一定程度上可以代表原数据,因此也被成为摘要。工程师比较熟悉的md5就是使用最为广泛的hash函数,一般用来验证数据的完整性。

因为散列值是一个固定长度,比如说md5sum的输出是128位,也就是16字节,那么这个散列值的所有可能性就是2^128。这个范围和IPv6的地址范围差不多。

一个hash函数可以由以下特性来进行评估:

均匀度(Uniformity):前面提到了一个散列值的空间,那么一个hash函数对于一个输入的运算结果落到这个散列值空间中的概率最好是均等的。这样可以降低碰撞率(不同的输入得出相同结果的比率)

效率(Efficiency):hash函数本身的计算复杂度也是一个考量因素。在很多场合,要求快速响应,因此最好计算简单。但是太简单的hash函数在均匀性上可能不理想,因此这里需要考虑一些权衡

确定性(Deterministic):对于固定的输入,输出固定。这也是一般函数的特征

用于密码学的散列函数

对于区块链从业者而言,很多时候使用hash函数的场合并不是用于索引或检索数据(尽管这种情况也很普遍),通常可以看见的是用来进行单向计算和验证。比如说在比特币中采用SHA256来进行选举运算获得出块权,以及采用SHA256和RIPEMD-160来从私钥计算公钥和地址。

除了hash函数的一般性特性只要,用于密码学的hash函数有更严格的要求:

单向性:从数据求散列值很容易,但不能倒推。或者倒推十分困难,理论上不可行

无相关性:要求在输入有一点点改变的情况下,要产生完全不同的输出。这样,从散列值完全不能看出数据之间的相关性

本文来自用户投稿,不代表币大大立场,如若转载,请注明出处:https://czxurui.com/zx/10220.html

上一篇 2023年07月09日
下一篇 2023年07月09日

相关推荐

  • 使用Web3.js调用币安Web3链合约函数实战指南

    使用Web3.js调用币安Web3链合约函数实战指南 在去中心化应用(DApp)开发中,通过Web3.js与区块链智能合约交互是核心环节,本文将以币安智能链(BSC,现称BNB Smart Chain)为例,详细介绍如何使用Web3.js调用合约函数的完整流程。 前置准备与环境配置 首先需安装Web3.js库:

    2026-06-23 08:30:03
    13 0
  • 契约函数怎么求,x的三次方图像是什么

    一、怎么用效用函数 推导需求函数还有用生产函数推成本函数微观经济学理论消费者理论:马歇尔需求函数求法,性质,Roy恒等式,间接效用函数;希克斯需求函数,性质,shepard引理,支出函数。注意常用的L型,完全替代型,C--D效用,拟线性效用。注意间接效用函数与支出函数互为

    2026-04-30 06:30:01
    45 0
  • 比特币中块哈希存在哪里,比特币的哈希函数是什么

    一、比特币哈希字符要求前几位为零是的。运算是将任意长度的0,变成固定长度的0。所以比特币哈希字符要求前几位为零的,任何信息,不管多长算法“SHA1”,算出的结果是160位,也就是由160个0或1组成;比特币挖矿用到的是“SHA256”,算出的结果是256位。至于具体怎么算的,我

    2025-02-07 02:00:01
    156 0
  • 比特币的交易哈希是什么,比特币的哈希函数是什么

    一、怎么最快看到区块链哈希值(区块链中的哈希到底是做什么)钱包提币到交易所,哈希值有吗?如何查?比特币的交易去向是可以查询的,比特币交易都会记录在比特币区块链上,可以查到比特币的流动性,从哪一个钱包转移到了哪一个钱包。但是,你只知道转移到哪一个钱包里了,你并

    2025-01-06 14:30:01
    510 0
  • 什么是Stacks Stacks与STAR原则:进步工做效率的法门

    本文目次导读:StacksSTAR原则StacksStacks是一种数据构造,它是一种线性表,具有后进先出(Last In First Out,LIFO)的特征,那意味着最初一个进入栈的元素将会是第一个被拜候或移除的元素,在计算机科学和编程

    2024-04-24 22:30:16
    188 0
  • 「金色财经」Phalcon:合约0x8c2d4e遭受攻击,损失约36.5万美元

    「金色财经」根据金融报道,Phalcon在X平台上发布消息称,由于缺乏访问控制,合约0x8c2d4e(可能是MEV机器人)受到攻击,损失约36.5万美元攻击者首先调用函数0xac3994ec将自己指定为特权地址(可能是债务所有者的角色)随后

    2023-11-13 11:30:06
    268 0

发表回复

8206

评论列表(0条)

    暂无评论

binance币安交易所
已有2000万用户加入币安交易所

立即下载