0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

p2p哈希游戏开发方案—哈希竞猜系统开发逻辑

a1271916008 来源:a1271916008 作者:a1271916008 2022-06-01 09:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

哈希算法是一种典型的分布式的受伤的海燕表算法,哈西系统多用于p2p网络的构建,由Petar Maymounkov和David Mazieres共同创造。

poYBAGKWxoSAF_AGAAVkUR8uInQ583.png

分布式环境下的受伤的海燕表的难点在于以下几点:

分布式环境下每个服务器不可能掌握所有服务器的情况,因此如何保证你的请求能在没有中央节点定位的情况下找到对应的服务器是一大难点。同样由于分布式环境的服务器的掌握信息有限,那么服务器的加入和退出如何能够被集群知晓也是一大难点。

import random

def gcd(a,b):

if a<>

a,b=b,a

while b!=0:

temp=a%b

a=b

b=temp

return a

def getpq(n,e,d):

p=1

q=1

while p==1 and q==1:

k=d*e-1

g=random.randint(0,n)

while p==1 and q==1 and k%2==0:

k/=2

y=pow(g,k,n)

if y!=1 and gcd(y-1,n)>1:

p=gcd(y-1,n)

q=n/p

return p,q

n=0x71ee0f4883690893ab503e97e25e6308d4c1e0a050cbea7b9c040f7a5b5b484afcecc8a9b3cc6bf089a1e83281562df217caab7220e3dfc14399139ce437af2f131f9345675e4d848cfab5827818eeab7834374be4a0513f81f3df125a932c2bb4c24c834d798bcc80f9c4a8770b01f8e54620b72a4f0491edd391e635d48e71

e=0x10001

d=0x455e1c421b78f536ec24e4a797b5be78df09d8d9e3b7f4e2244138a7583e810adf6ad056bb59a91300c9ead5ed77ea6bafdebf7ab2d9ec200127901083c7ffca45e83f2c934358366a2b6207b96a0eae6df0476060c063c281512834a42350a3b56bc09f5cec1a6975257d7f12a58f6389060e49b41f05e88ea2b30b395f6391

p,q=getpq(n,e,d)

print("p=",p)

print("q=",q)

print(p*q==n)

哈希算法在区块链中有着广泛的使用,交易信息的存储、工作量证明算法、密钥对的产生等过程中都有哈希算法的存在。

哈希(Hash)也被翻译为散列。任意长度的输入经过散列函数,都能够输出为固定长度的值,该输出就是散列值。SHA(secureHashalgorithm)也被称为安全散列算法,直译为哈希算法,由美国国家安全局所设计,由美国国家标准与技术研究院发布。SHA家族现有五个算法,分别是SHA-1.SHA-224、SHA-256、SHA-384和SHA-512,后四者并称为SHA-2

如果将区块链看作一个公共账本,节点中每个人都备份一份账本数据,任何人都可以对账本上的内容进行写入和读取。如果有用户对内容进行了恶意算改,依照少数服从多数的原则,将差异数据与全网数据进行比较后,就能够发现存在的异常。但是,账本上的内容随着时间的累积,数据量必然会越来越庞大,如果将交易数据进行原始存储,利用大量数据直接进行比对,工程量对于一个货币系统而言是十分不现实的。对此,在交易信息的存储中,区块链利用了哈希函数能够方便实现数据压缩的特性:一段数据在经过哈希函数的运算后,就能够得到相较而言很短的摘要数据。

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • P2P网络
    +关注

    关注

    0

    文章

    23

    浏览量

    11653
  • 哈希算法
    +关注

    关注

    1

    文章

    56

    浏览量

    11186
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    做机械臂开发,不想折腾底层?试试ESP32- P4C5

    写夹爪控制不难,难的是系统“掉链子”协议拿到了,界面画好了,逻辑也写完了。结果程序一运行,不是崩溃,就是卡顿,甚至连最基础的控制都不稳定。很多做机械臂和工业控制的开发者,都会遇到同样的问题:功能本身
    的头像 发表于 05-11 18:03 134次阅读
    做机械臂<b class='flag-5'>开发</b>,不想折腾底层?试试ESP32- <b class='flag-5'>P</b>4C5

    深入解析 onsemi FDC658PP 沟道逻辑电平 MOSFET 的卓越之选

    深入解析 onsemi FDC658PP 沟道逻辑电平 MOSFET 的卓越之选 在电子工程师的日常设计工作中,MOSFET 是不可或缺的关键元件。今天,我们就来详细探讨 onsemi 推出
    的头像 发表于 04-21 13:50 155次阅读

    2022全新版!Java分布式架构设计与开发实战(完结)

    2022全新版!Java分布式架构设计与开发实战(完结) 分库分表实战:Java海量数据存储架构设计 在现代互联网应用中,随着业务规模的指数级增长,数据库性能瓶颈已成为制约系统发展的关键因素。当单
    发表于 03-30 15:20

    【ESP32-P4系列】WT9932P4-MINI开发板上手指南

    开发板介绍ESP32-P4-MINI开发板是深圳市启明云端有限公司推出的,基于WT0132P4-A1核心板设计的多媒体开发板。WT0132
    的头像 发表于 02-12 18:16 556次阅读
    【ESP32-<b class='flag-5'>P</b>4系列】WT9932<b class='flag-5'>P</b>4-MINI<b class='flag-5'>开发</b>板上手指南

    【ESP32-P4系列】WT99P4C5-S1开发板上手指南

    ✦₊点击上方名片关注了解更多开发板简介1开发板介绍WT99P4C5-S1开发板是深圳市启明云端有限公司推出的,基于WT0132P4-A1核心
    的头像 发表于 02-12 18:16 448次阅读
    【ESP32-<b class='flag-5'>P</b>4系列】WT99<b class='flag-5'>P</b>4C5-S1<b class='flag-5'>开发</b>板上手指南

    【ESP32-P4系列】WT9932P4-MINI开发板规格书

    开发板介绍ESP32-P4-MINI开发板是深圳市启明云端有限公司推出的,基于WT0132P4-A1核心板设计的多媒体开发板。WT0132
    的头像 发表于 02-03 18:14 679次阅读
    【ESP32-<b class='flag-5'>P</b>4系列】WT9932<b class='flag-5'>P</b>4-MINI<b class='flag-5'>开发</b>板规格书

    【ESP32-P4系列】WT99P4C5-S1开发板规格书

    开发板简介1开发板介绍WT99P4C5-S1开发板是深圳市启明云端有限公司推出的,基于WT0132P4-A1核心板设计的多媒体
    的头像 发表于 02-03 18:14 664次阅读
    【ESP32-<b class='flag-5'>P</b>4系列】WT99<b class='flag-5'>P</b>4C5-S1<b class='flag-5'>开发</b>板规格书

    OPC UA 服务端用户认证的底层逻辑哈希与加盐应用详解

    摘要在基于UnifiedAutomationSDK开发OPCUA服务端时,用户认证(UserAuthentication)是安全体系的第一道防线。除了传输层的加密通道外,服务端如何安全地存储和验证
    的头像 发表于 01-15 17:29 388次阅读
    OPC UA 服务端用户认证的底层<b class='flag-5'>逻辑</b>:<b class='flag-5'>哈希</b>与加盐应用详解

    ESP32-P4全功能开发板和ESP32-P4-TINY开发板该怎么选?看这篇就够了!

    启明云端基于乐鑫科技ESP32-P4芯片设计了多款开发板,这些开发板有什么区别?基于应用场景如何选择?本期,我们聚焦两款代表性产品:WT99P4C5-S1
    的头像 发表于 12-09 18:02 1439次阅读
    ESP32-<b class='flag-5'>P</b>4全功能<b class='flag-5'>开发</b>板和ESP32-<b class='flag-5'>P</b>4-TINY<b class='flag-5'>开发</b>板该怎么选?看这篇就够了!

    Molex OTS零哈希电缆组件技术解析与应用指南

    Molex现成(OTS)零哈希电缆组件是标准分立式电线电缆组件,设计用于应对电子设备日益缩小的挑战。这些电缆组件提供节省空间的薄型解决方案,具有创新的双点接触特性,有2、4、6和8电路尺寸可供选择
    的头像 发表于 11-17 16:44 958次阅读

    fpga开发板 璞致 Kintex UltraScale Plus PZ-KU3P 与 PZ-KU5P核心板与开发板用户手册

    的Kintex UltraScale+开发板采用核心板+底板结构,核心板提供KU3P/KU5P两种型号,配备2GB DDR4、256Mb QSPI Flash等资源,通过240
    的头像 发表于 09-26 10:46 1882次阅读
    fpga<b class='flag-5'>开发</b>板 璞致 Kintex UltraScale Plus PZ-KU3<b class='flag-5'>P</b> 与 PZ-KU5<b class='flag-5'>P</b>核心板与<b class='flag-5'>开发</b>板用户手册

    睿擎混合部署方案:基于QT的电机驱动系统开发|技术集结

    一、方案核心概述本方案旨在解决系统开发中“高性能实时控制”与“丰富人机交互”的需求矛盾。它采用混合部署的架构,将系统清晰地分为两个层面:1.实时层:部署在睿擎派设备的RT-Thread
    的头像 发表于 09-11 18:33 5717次阅读
    睿擎混合部署<b class='flag-5'>方案</b>:基于QT的电机驱动<b class='flag-5'>系统开发</b>|技术集结

    ESP32-P4 口袋开发板 启明云端 WT9932P4-TINY开发

    在万物互联的智能时代,您是否还在为寻找一款性能强大、接口丰富、应用灵活的嵌入式开发板而烦恼?启明云端全新推出的WT9932P4-TINY开发板,基于乐鑫科技高性能ESP32-P4芯片匠
    的头像 发表于 09-11 18:06 2087次阅读
    ESP32-<b class='flag-5'>P</b>4 口袋<b class='flag-5'>开发</b>板 启明云端 WT9932<b class='flag-5'>P</b>4-TINY<b class='flag-5'>开发</b>板

    P2P技术——数据采集系统高效存储的关键

    P2P技术凭借其直连高效、低延迟的特点,已成为数据采集系统实现高效数据存储的关键技术。作为专业的数据采集与存储方案提供商,度纬科技的ASMC-PXIe-8016存储卡,不仅完美融合了P2P
    的头像 发表于 07-24 17:24 877次阅读
    <b class='flag-5'>P2P</b>技术——数据采集<b class='flag-5'>系统</b>高效存储的关键

    哈希极化到零拥塞:主动路径规划在RoCE网络中的负载均衡实践

    集群整体性能的瓶颈。本文将探讨哈希极化的成因、影响,并介绍一种通过主动路径规划(PPD)来优化网络配置、提升性能的解决方案
    的头像 发表于 07-21 17:27 2204次阅读
    从<b class='flag-5'>哈希</b>极化到零拥塞:主动路径规划在RoCE网络中的负载均衡实践