CN109104289B - 基于p2p区块链的网络贡献证明共识的证明方法 - Google Patents
基于p2p区块链的网络贡献证明共识的证明方法 Download PDFInfo
- Publication number
- CN109104289B CN109104289B CN201810945317.0A CN201810945317A CN109104289B CN 109104289 B CN109104289 B CN 109104289B CN 201810945317 A CN201810945317 A CN 201810945317A CN 109104289 B CN109104289 B CN 109104289B
- Authority
- CN
- China
- Prior art keywords
- network
- node
- contribution
- proving
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种基于P2P区块链的网络贡献证明共识的证明方法,P2P区块链网络中任意一个节点作为网络路由对交易或者区块进行广播时,确定该节点到每一个目的邻节点之间的网速度量值,并且该节点将所述该节点到每一个目的邻节点之间的网速度量值合并构成网速集合St;所述P2P区块链网络中,节点间定时同步其他节点的St并且创建管理远程临节点网速集合管理集合Sc,节点定时更新本地邻节点账户地址集合Sa,根据所述Sc和Sa确定网络贡献集合Sp,并且根据所述网络贡献集合Sp确定共识的矿工。本发明能够通过网络的带宽准确地证明一个节点的贡献,有助于P2P网络节点提高自己的网络带宽,以此提高P2P网络的网络容量。
Description
技术领域
本发明属于P2P区块链技术领域,具体涉及一种基于P2P区块链的网络贡献证明共识的证明方法。
背景技术
现在有的区块链共识方案POW(工作量证明),该方案以证明自己付出了一定计算机算力为核心。
POW方案,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。要得到合理的Block Hash需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的Block Hash值,说明该节点确实经过了大量的尝试计算,当然,并不能得出计算次数的绝对值,因为寻找合理hash是一个概率事件。当节点拥有占全网n%的算力时,该节点即有n/100的概率找到Block Hash。
POW方案存在能源消耗大,交易量TPS不足问题,原因:
1、由于1MB的最大区块规模限制,以及各区块存在约10分钟的确认延迟(取决于平均交易规模),最大交易量为7次/秒(tps),7TPS无法满足上层业务需求。
2、比特币网络目前每年消耗约25.5吉瓦(GW)的电力;从这个角度来看,整个爱尔兰的平均用电量仅为3.1吉瓦,而奥地利的平均用电量为8.2吉瓦。在过去一年中,比特币网络每年消耗的太千瓦时(TwH)数估计增加了413.37%。与捷克这样的国家相比,比特币网络每年消耗的电量占该国总用电量的102.3%。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于P2P区块链的网络贡献证明共识的证明方法。
为达到所述目的,本发明的技术方案是这样实现的:
本发明实施例提供一种基于P2P区块链的网络贡献证明共识的证明方法,该方法为:P2P区块链网络中任意一个节点作为网络路由对交易或者区块进行广播时,所述任意一个节点通过遍历P2P区块链网络中邻节点并且分别发送网络数据给邻节点,根据向邻节点发送网络数据的时间确定该节点到每一个目的邻节点之间的网速度量值,并且该节点将所述该节点到每一个目的邻节点之间的网速度量值合并构成网速集合St;所述P2P区块链网络中,节点间定时同步其他节点的网速集合St并且创建管理远程临节点网速集合管理集合Sc,节点定时更新本地邻节点账户地址集合Sa,根据所述管理远程临节点网速集合管理集合Sc和本地邻节点账户地址集合Sa确定网络贡献集合Sp,并且根据所述网络贡献集合Sp确定共识的矿工。
上述方案中,所述根据向邻节点发送网络数据的时间确定该节点到每一个目的邻节点之间的网速度量值,具体为:所述任意一个节点调用socket发送交易或者区块网络数据前记录当时时间T1,该节点在socket发送API返回时记录当时时间T2,通过T2-T1获取到该节点到目的邻节点网速度量值t。
上述方案中,所述该节点将所述该节点到每一个目的邻节点之间的网速度量值合并构成网速集合St,具体为:该节点本地创建存储交易或者区块数据广播时网速集合St,St={t|t>0},每个t值与对应远程节点的账户地址对应。
上述方案中,该方法还包括:所述P2P区块链网络中所有节点对应的网速集合St按照升序进行排序。
上述方案中,所述创建管理远程临节点网速集合管理集合Sc,具体为:所述P2P网络中每个节点都创建一个管理远程临节点网速集合管理集合Sc,Sc={c|c=St}。
上述方案中,所述节点定时更新本地邻节点账户地址集合Sa,具体为:节点定时更新本地邻节点账户地址集合Sa,Sa={a|a≠a},a是节点的账户地址,保证邻节点账户地址集合为最新并且不存在重复的。
上述方案中,所述根据所述管理远程临节点网速集合管理集合Sc和本地邻节点账户地址集合Sa确定网络贡献集合Sp,具体为:邻节点的账户地址集合Sa的元素a作为key值遍历集合Sc中的St集合中是否存在a,遍历过程中统计a被包含的次数Number、以及该元素a在所有St集合中t值的总和Total,根据所述次数Number、以及该a在所有St集合中t值的总和Tota确定元素a通信时间的平均值AVG,根据所述元素a通信时间的平均值AVG确定元素a的网络贡献POCa,最后,根据所述元素a的网络贡献POCa确定网络贡献集合Sp。
上述方案中,该方法还包括对所述网络贡献集合Sp按升序进行排序。
上述方案中,所述根据所述网络贡献集合Sp确定共识的矿工,具体为,所述网络贡献集合Sp排序后第一个成员p就是本次共识出来的旷工。
与现有技术相比,本发明能够通过网络的带宽准确地证明一个节点的贡献,有助于P2P网络节点提高自己的网络带宽,以此提高P2P网络的网络容量。
附图说明
图1为本发明实施例提供一种基于P2P区块链的网络贡献证明共识的证明方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种基于P2P区块链的网络贡献证明共识的证明方法,如图1所示,该方法通过以下步骤实现:
步骤101:P2P区块链网络中任意一个节点作为网络路由对交易或者区块进行广播时,所述任意一个节点通过遍历P2P区块链网络中邻节点并且分别发送网络数据给邻节点;
步骤102:根据向邻节点发送网络数据的时间确定该节点到每一个目的邻节点之间的网速度量值,并且该节点将所述该节点到每一个目的邻节点之间的网速度量值合并构成网速集合St;
具体地,所述任意一个节点调用socket发送交易或者区块网络数据前记录当时时间T1,该节点在socket发送API返回时记录当时时间T2,通过T2-T1获取到该节点到目的邻节点网速度量值t。
该节点本地创建存储交易或者区块数据广播时网速集合St,St={t|t>0},每个t值与对应远程节点的账户地址对应。
所述P2P区块链网络中所有节点对应的网速集合St按照升序进行排序。
步骤103:所述P2P区块链网络中,节点间定时同步其他节点的网速集合St并且创建管理远程临节点网速集合管理集合Sc;
具体地,所述P2P网络中每个节点都创建一个管理远程临节点网速集合管理集合Sc,Sc={c|c=St}。
步骤104:节点定时更新本地邻节点账户地址集合Sa;
具体地,节点定时更新本地邻节点账户地址集合Sa,Sa={a|a≠a},a是节点的账户地址,保证邻节点账户地址集合为最新并且不存在重复的。
步骤105:根据所述管理远程临节点网速集合管理集合Sc和本地邻节点账户地址集合Sa确定网络贡献集合Sp,并且根据所述网络贡献集合Sp确定共识的矿工。
具体地,邻节点的账户地址集合Sa的元素a作为key值遍历集合Sc中的St集合中是否存在a,遍历过程中统计a被包含的次数Number、以及该元素a在所有St集合中t值的总和Total,根据所述次数Number、以及该a在所有St集合中t值的总和Tota确定元素a通信时间的平均值AVG,AVG=所述Total/Number,根据所述元素a通信时间的平均值AVG确定元素a的网络贡献POCa,POCa=Number*30%+AVG*70%,最后,根据所述元素a的网络贡献POCa确定网络贡献集合Sp,Sp={p|p=POCa}。
对所述网络贡献集合Sp按升序进行排序。
所述网络贡献集合Sp排序后第一个成员p就是本次共识出来的旷工。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (8)
1.一种基于P2P区块链的网络贡献证明共识的证明方法,其特征在于,该方法为:P2P区块链网络中任意一个节点作为网络路由对交易或者区块进行广播时,所述任意一个节点通过遍历P2P区块链网络中邻节点并且分别发送网络数据给邻节点,根据向邻节点发送网络数据的时间确定该节点到每一个目的邻节点之间的网速度量值,并且该节点将所述该节点到每一个目的邻节点之间的网速度量值合并构成网速集合St;所述P2P区块链网络中,节点间定时同步其他节点的网速集合St并且创建管理远程临节点网速集合管理集合Sc,节点定时更新本地邻节点账户地址集合Sa,根据所述管理远程临节点网速集合管理集合Sc和本地邻节点账户地址集合Sa确定网络贡献集合Sp,并且根据所述网络贡献集合Sp确定共识的矿工;
所述根据所述管理远程临节点网速集合管理集合Sc和本地邻节点账户地址集合Sa确定网络贡献集合Sp,具体为:邻节点的账户地址集合Sa的元素a作为key值遍历集合Sc中的St集合中是否存在a,遍历过程中统计a被包含的次数Number、以及该元素a在所有St集合中t值的总和Total,根据所述次数Number、以及该a在所有St集合中t值的总和Tota确定元素a通信时间的平均值AVG,根据所述元素a通信时间的平均值AVG确定元素a的网络贡献POCa,最后,根据所述元素a的网络贡献POCa确定网络贡献集合Sp。
2.根据权利要求1所述的基于P2P区块链的网络贡献证明共识的证明方法,其特征在于,所述根据向邻节点发送网络数据的时间确定该节点到每一个目的邻节点之间的网速度量值,具体为:所述任意一个节点调用socket发送交易或者区块网络数据前记录当时时间T1,该节点在socket发送API返回时记录当时时间T2,通过T2-T1获取到该节点到目的邻节点网速度量值t。
3.根据权利要求2所述的基于P2P区块链的网络贡献证明共识的证明方法,其特征在于,所述该节点将所述该节点到每一个目的邻节点之间的网速度量值合并构成网速集合St,具体为:该节点本地创建存储交易或者区块数据广播时网速集合St,St={t|t>0},每个t值与对应远程节点的账户地址对应。
4.根据权利要求3所述的基于P2P区块链的网络贡献证明共识的证明方法,其特征在于,该方法还包括:所述P2P区块链网络中所有节点对应的网速集合St按照升序进行排序。
5.根据权利要求1-4任意一项所述的基于P2P区块链的网络贡献证明共识的证明方法,其特征在于,所述创建管理远程临节点网速集合管理集合Sc,具体为:所述P2P区块链网络中每个节点都创建一个管理远程临节点网速集合管理集合Sc,Sc={c|c=St}。
6.根据权利要求5所述的基于P2P区块链的网络贡献证明共识的证明方法,其特征在于,所述节点定时更新本地邻节点账户地址集合Sa,具体为:节点定时更新本地邻节点账户地址集合Sa,Sa={a|a≠a},a是节点的账户地址,保证邻节点账户地址集合为最新并且不存在重复的。
7.根据权利要求6所述的基于P2P区块链的网络贡献证明共识的证明方法,其特征在于,该方法还包括对所述网络贡献集合Sp按升序进行排序。
8.根据权利要求7所述的基于P2P区块链的网络贡献证明共识的证明方法,其特征在于,所述根据所述网络贡献集合Sp确定共识的矿工,具体为,所述网络贡献集合Sp排序后第一个成员p就是本次共识出来的矿工。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810945317.0A CN109104289B (zh) | 2018-08-20 | 2018-08-20 | 基于p2p区块链的网络贡献证明共识的证明方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810945317.0A CN109104289B (zh) | 2018-08-20 | 2018-08-20 | 基于p2p区块链的网络贡献证明共识的证明方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109104289A CN109104289A (zh) | 2018-12-28 |
CN109104289B true CN109104289B (zh) | 2021-04-16 |
Family
ID=64850310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810945317.0A Active CN109104289B (zh) | 2018-08-20 | 2018-08-20 | 基于p2p区块链的网络贡献证明共识的证明方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109104289B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109859024B (zh) * | 2019-01-23 | 2023-06-13 | 陕西优米数据技术有限公司 | 一种基于联盟链的税务***共识方法 |
CN111586068B (zh) * | 2020-05-14 | 2021-05-04 | 上海简苏网络科技有限公司 | 一种解决dpos共识节点权益安全隐患的方法及*** |
CN112737857B (zh) * | 2020-12-31 | 2022-07-22 | 杭州趣链科技有限公司 | P2p网络节点结构的优化方法、装置和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296191A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种区块链功耗感知的PoW共识机制 |
CN108182636A (zh) * | 2018-01-30 | 2018-06-19 | 杨显波 | 基于贡献的区块链共识机制 |
CN108416593A (zh) * | 2018-03-20 | 2018-08-17 | 杨鉴 | 一种基于网络分散度证明的区块链共识方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170193464A1 (en) * | 2015-12-18 | 2017-07-06 | Justin SHER | Protocol utilizing bitcoin blockchain for maintaining independently proposed and approved set contents |
-
2018
- 2018-08-20 CN CN201810945317.0A patent/CN109104289B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296191A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种区块链功耗感知的PoW共识机制 |
CN108182636A (zh) * | 2018-01-30 | 2018-06-19 | 杨显波 | 基于贡献的区块链共识机制 |
CN108416593A (zh) * | 2018-03-20 | 2018-08-17 | 杨鉴 | 一种基于网络分散度证明的区块链共识方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN109104289A (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109104289B (zh) | 基于p2p区块链的网络贡献证明共识的证明方法 | |
CN109150972B (zh) | 一种双层分片的高效区块链的共识机制的工作方法 | |
CN100558062C (zh) | 无线传感器网络中虚拟骨干网的分布式构造方法 | |
Ioannidis et al. | Optimal and scalable distribution of content updates over a mobile social network | |
CN103647714B (zh) | 一种基于社交能量的移动社交容迟网络路由方法 | |
Liu et al. | On multicopy opportunistic forwarding protocols in nondeterministic delay tolerant networks | |
CN1677940A (zh) | 高速业务量测量和分析方法及协议 | |
CN102185916A (zh) | 具有小世界和无标度特性的传感器网络建立方法 | |
CN103297547B (zh) | 使用基于dht的p2p***构建云存储辅助***的方法 | |
CN103401951B (zh) | 基于对等架构的弹性云分发方法 | |
CN107171957B (zh) | 一种基于资源受限条件下的自适应dtn路由算法 | |
CN104994464A (zh) | 基于等级社区结构的移动社交网络数据转发方法 | |
CN104053207B (zh) | 一种无线传感器网络空间查询方法 | |
CN111327669A (zh) | 一种去中心化区块链解决方法 | |
CN114745102B (zh) | 一种基于边缘计算的轻量级且可扩展的区块链*** | |
CN105634947A (zh) | 一种机会移动社会网络中基于热点的消息转发方法 | |
CN105959991A (zh) | 一种基于等量线模型的能量优化路由方法 | |
Peng et al. | Delivery probability prediction based efficient routing in DTN | |
Shakkira | Advanced Lightweight, Dependable and secure Trust System for Clustered wireless sensor networks | |
CN105323320A (zh) | 一种内容分发的方法及装置 | |
Huang et al. | TTL sensitive social-aware routing in mobile opportunistic networks | |
Li et al. | Performance evaluation of multicasting in energy-constrained dtn with selfish nodes | |
WO2012109946A1 (zh) | 一种大规模网络的数据采集方法和网络节点 | |
CN116389193B (zh) | 一种基于双联盟区块链和联邦学习的虚拟网络映射方法 | |
CN106612523A (zh) | 一种基于信息论的分布式无线网络可信路由建立方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |