Alice 在 IPFS 上存储了一张猫的图片,该猫的图片由一个内容标识符来表示。为简单起见,我们假设标识符为 C。 鲍勃请求那张猫的照片,然后给那只可怜的猫画上胡子。...因为他改变了底层数据(从猫到胡子猫),所以 Bob 的标识符可能是 M。 如果鲍勃想把他的照片冒充爱丽丝的照片任何人都会知道他在撒谎。...最后,创建一个映射来关联 IPFS 哈希与代币。这将有助于防止发行相同哈希值的代币。...检查hashes映射是否有匹配的整数为 1 的哈希值,如果有,那么这个哈希值已经被使用了。 如果哈希没有被使用,我们将通过函数传递的哈希添加到哈希映射中,并将其值设为 1。...快速总结一下,合约现在需要一个以太坊钱包地址和一个 IPFS 哈希。它会检查以确保哈希值没铸造过 NFT。如果一切正常,就会创建一个新的 NFT,来对应该 IPFS 哈希。 好了,我们已经写好了合约。
我:Redis的基本数据类型有:字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(zset)。 面试官:字符串类型的内部实现方式是什么?...我们通常说的字符串、哈希、列表、集合、有序集合都是redisObject中的类型,实际上针对每一个数据结构在Redis内部都有自己底层的多种内部编码实现,这样是为了在合适的场景选择合适的内部编码,以达到内存空间和处理效率的平衡...OK 127.0.0.1:6379> object encoding one-more-num "int" 短字符串类型效果如下: 127.0.0.1:6379> set one-more-str 万猫学社...127.0.0.1:6379> object encoding one-more-str "embstr" 长字符串类型效果如下: 127.0.0.1:6379> set one-more-str 万猫学社...|万猫学社|万猫学社|万猫学社|万猫学社|万猫学社|万猫学社|万猫学社 OK 127.0.0.1:6379> object encoding one-more-str "raw" 当然,了解以上细节还没能完全
原文详情: “Python猫” ? 本周的PyCoder's Weekly上分享了一篇小文章,它里面提到的冷知识很有意思,我稍作补充,分享给大家。...我们可以推理出一条简单的结论:不相等的两个对象,其哈希结果可能相等。 原因在于,hash(float('nan')) 的结果等于 0,它是个固定值,作比较时当然就相等了。...在早期的 Python 版本中,负无穷大数的哈希结果其实是 -271828,正是取自于自然对数 e。这两个数都是硬编码在 Python 解释器中的,算是某种致敬吧。...'nan') 的哈希结果为 0,float('inf') 的哈希结果为 314159 参考资料: https://docs.python.org/3/library/functions.html#float...作者简介:豌豆花下猫,生于广东毕业于武大,现为苏漂程序员,有一些极客思维,也有一些人文情怀,有一些温度,还有一些态度。
猫,欢迎你关注哦,喵喵喵喵~~~" 然后,再重复上面的操作。...字典要求键值是可哈希对象,可是计算字符串的哈希值是根据字面值计算,所以对多个相等的字符串对象,其哈希值其实是一样的,对计算和查找根本无影响。...w1 = "Python猫是来自喵星的客人,它喜欢地球和人类,正在学习Python,而且想借助Python变成人,它的微信公众号也叫Python猫,欢迎你关注哦,喵喵喵喵~~~" w2 = "Python...猫是来自喵星的客人,它喜欢地球和人类,正在学习Python,而且想借助Python变成人,它的微信公众号也叫Python猫,欢迎你关注哦,喵喵喵喵~~~" print(w1 == w2) >>> True...欢迎关注公众号 Python猫 ,来跟我交流,一起来学习 Python ,做个合格的 Pythonista。
[区块链关系图] 每个区块包含两个部分: 区块头(Head):记录当前区块的特征值 区块体(Body):实际数据 先说区块体,区块体里可以存任意东内容:比特币,以太币,狗币,猫币,你欠翠花5块钱...等等存什么都可以...再说区块头,这区块头就厉害了,区块头主要包括: 本区块产生时间 本区块的哈希 (Hash) 上一个区块的哈希 (Hash) 本区块的哈希值由打包本区块内容的时候生产,打包完内容就不能变了,内容变了哈希就变了...哈希值是唯一的,也是关联上下区块的重要信息。 所以你不能随意篡改打包后的内容,若是篡改,那么这个区块就“掉链子”没有意义了。 这也是区块链可信,厉害的地方。
字典的实现 在Redis中的字典是由dict结构表示的,其底层实现使用了哈希表,一个哈希表包含多个哈希表结点,每一个哈希表结点都保存了字典中的一个键值对。下面我们一个一个地详细了解一下。...ht属性:一个包含两个项的数组,每一项都是一个哈希表。一般情况下,字典只使用第一个哈希表,只有在重新散列(rehash)的时候才会用到第二个哈希表。...哈希表 哈希表使用dictht结构表示,它包含以下几个属性: table属性:一个哈希表数组,数组中每个项都是指向哈希表结点的指针,每一个哈希表结点都保存了字典中的一个键值对。...size属性:哈希表的大小,也就是哈希表数组(table)的大小。 sizemask属性:哈希表大小掩码,用于计算索引值,一直等于哈希表大小(size)-1。 used属性:哈希表中已有结点的数量。...字典示例 说了这么多,都比较抽象不容易理解,我们来举个例子: 这就是一个字典的内部结构,其中有3个键值对,键分别是:万、猫、学社。
哈希的编码 哈希的编码有两种,分别是压缩列表(ziplist)和哈希表(hashtable)。...,否则使用哈希表作为编码。...我们来举个例子: 127.0.0.1:6379> hset one-more-hash name "万猫学社" (integer) 1 127.0.0.1:6379> hset one-more-hash...哈希表虽然没有压缩列表节省内存,但是它的读写时间复杂度为O(1),在时间效率方面比压缩列表表现的更加优秀。 总结 哈希数据类型的内部实现有压缩列表(ziplist)和哈希表(hashtable)两种。...当哈希数据类型的键和值的长度较小并且键值对数量较少时,使用压缩列表作为内部实现,否则使用哈希表作为内部实现。
什么是布隆过滤器 关于布隆过滤器,老猫在此也展开说一下,因为老猫觉得这个可能是这些防雪崩方案中最好的一种方案。那么咱们来看一下什么是布隆过滤器。...这种过滤器是一个叫做Bloom的哥们于1970年提出的,咱们可以把它看做由二进制向量(或者说位数组)和一系列随机映射函数(哈希函数)两部分组成的数据结构。...布隆过滤器原理 其基本原理是利用多个哈希函数,将一个元素映射成多个位,然后将这些位设置为 1。当查询一个元素时,如果这些位都被设置为 1,则认为元素可能存在于集合中,否则肯定不存在。...所以,布隆过滤器可以准确的判断一个元素是否一定不存在,但是因为哈希冲突的存在,所以他没办法判断一个元素一定存在。只能判断可能存在。 如下图: 添加元素的流程。...我是老猫,资深研发老鸟,让我们一起聊聊技术,聊聊人生。 原创不易,都看到这了,求个点赞、关注、在看三连呗,感谢支持。
点击上方蓝字“Python猫”,免费获得一个公众号 花下猫语:本文是学习群内樱雨楼小姐姐的投稿。之前已发布过她的一篇作品《当谈论迭代器时,我谈些什么?》,大受好评。...樱雨楼 | 原创作者豌豆花下猫 | 编辑润色0 引言指针(Pointer)是 C、C++ 以及 Java、Go 等语言的一个非常核心且重要的概念,而引用(Reference)是在指针的基础上构建出的一个同样重要的概念...由于 Python 对哈希表的高度依赖,“涉及__setitems__的操作”在 Python 中实际上是一个非常广泛的行为,这主要包括:对数组的索引操作对哈希表的查找操作涉及__setattr__的操作...(由于 Python 将 attribute 存储在哈希表中,所以__setattr__操作最终将是某种__setitems__操作)我们用一个稍复杂的例子说明这一点:对于以下Python代码:class...(猫注:本文所有赞赏,归樱雨楼小姐姐所有,鼓励优质原创,支持好文章!)? 扫码赞赏她
元链星系、哈希庄园、加密羊驼……尽管这些区块链游戏受到玩家一致认可,但在以太猫面前,也不得不毕恭毕敬起来。作为全球第一款区块链游戏,以太猫自诞生起,就享受到了莫大的荣耀。...但是,全球第一款区块链游戏真的是以太猫吗? 8(1).png 最近有消息称,阿里巴巴2年前就已经推出了自己的区块链游戏。...它是最早一批在以太猫的养宠风之外,独辟蹊径,丰富了游戏内容的区块链游戏。宇宙星系、挖矿、运动、能量收集、知识问答、四大种族等等,都是让人眼前一亮的设定,满足了游戏用户的创新需求。...6(6).jpg 以太猫作为公认第一款区块链游戏,引领着宠物养殖的热潮。
一只以太猫飙升七十万的成功好像才刚刚过去不久,全球范围内每天都有不同的区块链游戏上线,但对比这些区块链游戏,我们会发现这些游戏有一些相似的地方。每一款区块链游戏都有自己的代币体系。...代币体系.jpg 其实以太猫的首次上线的成功就已经奠基了区块链游戏前期发展的基本格调。当下类似以太猫的游戏,背后的核心驱动力主要是投机,而不是游戏本身。...现在代币的作用还不是很明显,将来代币将会与更多的实体商品结合,比如哈希庄园与京东APP的合作,将代币作为一种积分使用,兑换交易中的折扣甚至是商品本身,这是区块链代币中的一种价值体现。
代码里编入固定ip •代码里编入固定域名 2,提供换peer和数据服务的peer:即任意普通节点用户 •Peer信息保存在本地磁盘 比特币的发行:Proof of Work 共涉及以下几个概念 1,竞争哈希计算...2,BlockHeader,区块头【3】 •PrevHash,前一区块的哈希值 •Nonce,随机值,哈希计算过程中可以自行调整以获得新的哈希结果 •Difficulty,当前的全网难度情况 3,BlockBody...—新币发行 •Normal:花钱行为——花若干旧钱,生成若干新钱(差值为手续费,由出块的矿工获得) image.png 比特币的交易 1,币,本质是一对公私钥,面值不限 2,比特币地址,本质是公钥的哈希...3,所有交易呈链式结构【4】 •避免双重支付 •所有交易可追溯 image.png 算力的安全性 1,挖矿设备的演变 •CPU:~100M H/s(单位为:次哈希每秒) •GPU:~1G H/s •...ECDSA(椭圆曲线数字签名算法) •数学上基于离散对数难题 •同样密钥长度下,ECC比RSA安全性高 •确保数字资产控制权的安全性 共识算法的对比 image.png 区块链行业商业模式 1,矿机 •烤猫矿机
我回答:“我叫万猫学社。”小姐姐笑出了声,说道:“这名字好怪,谁给你起的啊。”我面无表情地回答:“俺爹。”小姐姐收起了笑容,说道:“跟我来吧。”...集合的编码 集合的编码有两种,分别是:整数集合(intset)和哈希表(hashtable)。...,哈希表的每一个键都是字符串对象,每一个字符串包含一个集合的元素,哈希表的值全部为NULL。...把原来保存在整数集合中的所有元素转移到哈希表中,并且把集合的编码用整数集合修改为哈希表。不过,把非整数的元素从集合中移除,或者减少整数元素的个数,以哈希表为编码的集合也不会转化为整数集合。...当条件不满足时,整数集合可以转换为哈希表,但哈希表不能转换为整数集合。
京东发布了哈希庄园,新加坡ACNC发布了元链星系,腾讯发布了一起来捉妖,就连说过阿里巴巴不会插手游戏的马云爸爸也实力打脸,转头就发布了中国版旅行青蛙。...自2017年11月底,以太猫的问世,一大批的区块链游戏开发商竞相模仿起来,以太猫的成功以及较低的入门门槛在一定程度上也导致了区块链游戏初期的同质化。...截至今年2月底,已经有超过150多款类似以太猫的区块链游戏问世。
在游戏领域,各种打着区块链游戏旗号的产品层出不穷,经过区块链领域泡沫潮的洗礼,各类猫狗“养宠”把戏也已经被淘汰的差不多,各类拥有特色的区块链游戏脱颖而出。...旅行青蛙 中国版.jpg 哈希庄园——重新上线,有待优化 在经历了短暂的上线测试就被下线之后,京东的区块链小游戏哈希庄园终于重新上线,对游戏也是进行了小幅度的优化。...但兑换窗口仍未开通,除了日常登陆,现阶段的哈希庄园并不能直接带来收益,但作为京东区块链游戏首秀,我们相信其在玩法形式和技术改进方面或许会有新的突破,并不仅是“养鸡”这么简单。...哈希庄园.jpg 从各大公司对于区块链游戏的动作来看,虽然借着技术实力和资金强流或者自身文化的优势从成千上万的区块链游戏中冲出重围,走进大家的视线。
哈希法使用哈希函数将数据转换为易管理的小数值哈希(被称作 hash)。哈希被存储在表格中,类似于印刷书中的索引。...仅有几层的神经网络即可识别面部、猫狗、交通指示牌和校车等概念。...算法 1:使用随机化哈希的深度学习 图 2:一个使用随机化哈希的神经网络的可视化表示。...(1) 通过对每一隐藏层的权重进行哈希操作来构建哈希表;(2) 使用该层的随机化哈希函数来对该层的输入进行哈希操作;(3) 查询该层用于活动集 AS 的哈希表;(4) 仅在该活动集中的神经元上执行前向和反向传播...(5) 对更新后的权重重新执行哈希至新的哈希位置,从而更新 AS 权重和哈希表。
class TestEquals { public static void main(String[] args) { /** * 这里使用构造方法Cat()在堆内存里面new出了两只猫,...* 这两只猫的color,weight,height都是一样的, * 但c1和c2却永远不会相等,这是因为c1和c2分别为堆内存里面两只猫的引用对象, * 里面装着可以找到这两只猫的地址...,但由于两只猫在堆内存里面存储在两个不同的空间里面, * 所以c1和c2分别装着不同的地址,因此c1和c2永远不会相等。...* 这里我们定义如果两只猫的color,weight,height都相同, * 那么我们就认为这两只猫在逻辑上是一模一样的,即这两只猫是“相等”的。...于是Java采用了哈希表的原理。 当Set接收一个元素时根据该对象的内存地址算出hashCode,看它属于哪一个区间,再这个区间里调用equeals方法。
Bcrypt 和密码哈希简史 以下文章简要介绍了密码哈希以及与算法同步的密码破解软件的发展历程。...以下文章是密码哈希和跟进算法的密码破解软件的简要历史。在密码哈希出现之前,密码只是以明文形式存储在密码数据库中。我们已经走了很长的路程,但还有很多工作要做。...密码哈希起源于 Unix ,像大多数事物一样。Crypt 是 Unix 的哈希函数。 Robert Morris 在 Unix 的第六版中发布了 Crypt 。...密码哈希函数及其随时间演变的安全性比较表(Usenix) 今天的哈希景观 我们已经远离明文密码存储的时代。现在,随着所有这些新的高级技术,黑客需要更多的步骤。...GPU 的 des-crypt )→ 63 亿个密码/秒 2022年:Hashcat(使用工作因子 5 的基于 RTX 4090 GPU 的 bcrypt )→ 18.4 万个密码/秒 未来发展方向 猫捉老鼠的游戏将继续进行
基于局部敏感哈希 摆脱GPU的核心思想,是利用局部敏感哈希来摆脱矩阵乘法。 ? 代码采用C++编写。...网络的每个层模块由神经元和一些哈希表组成,神经元ID被哈希到其中。 ?...每层中的LSH哈希表构造都是一次性操作,可以与该层中不同神经元上的多个线程并行。...举个例子,数据并行的情况下,要训练两个数据实例,一个是猫的图像,另一个是公共汽车的图像,它们可能会激活不同的神经元,而SLIDE可以分别独立地更新、训练它们。 如此,就能更好地利用CPU的并行性。...有网友分析说: 该方法不仅使用了哈希表,其速度之快还得归功于OpenMP的硬件多核优化。
DeepHash - An Open-Source Package for Deep Learning to Hash (DeepHash) DeepHash是一个轻量级的深度学习哈希库,它实现了最先进的深度哈希...我们将根据我们发布的深度哈希论文列表不断地实现更具代表性的深度哈希模型。另外要特别提到的是,我们欢迎其他研究人员根据我们的框架为此工具包提供深度哈希模型。...Intelligence (AAAI), 2016 DHN: Deep Hashing Network for Efficient Similarity Retrieval(用于高效相似性检索的深度哈希网络...Pattern Recognition (CVPR), 2017 DCH: Deep Cauchy Hashing for Hamming Space Retrieval(用于汉明空间检索的深度柯西哈希...Dataset上已经预先训练好的word2vec模型(例如:https://github.com/mmihaltz/word2vec-GoogleNews-vectors)来提取图像标签的单词嵌入,如:狗,猫等
领取专属 10元无门槛券
手把手带您无忧上云