CN109003003A - 一种工作量算法难度叠加方法 - Google Patents
一种工作量算法难度叠加方法 Download PDFInfo
- Publication number
- CN109003003A CN109003003A CN201811023356.1A CN201811023356A CN109003003A CN 109003003 A CN109003003 A CN 109003003A CN 201811023356 A CN201811023356 A CN 201811023356A CN 109003003 A CN109003003 A CN 109003003A
- Authority
- CN
- China
- Prior art keywords
- difficulty
- block
- transaction
- work
- stacking method
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种工作量算法难度叠加方法,包括以下步骤:在一个交易结构中添加随机设置参数;通过随机设置参数计算用户n个交易的的哈希值;保留前置位0的数量最多的随机设置参数;交易区块链中的记账节点接收到用户的所有交易信息,并遍历每个交易过程,计算每个交易的哈希值;把用户所有交易的置位0的数量相加,作为区块链的难度区块;然后在整个交易区块链中,选出总难度高的区块,淘汰难度低的区块,并形成共识。本发明通过将多个交易的难度叠加起来,增加了矿工收集交易的积极性,实现了交易即挖坑,矿工不需要耗费工作量,提高了出块性能。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种工作量算法难度叠加方法。
背景技术
区块链(Blockchain)技术由于其具有去中心化、自治性、防篡改性、完备可追溯等特点,近些年受到了广泛的关注。区块链建立在分布式网络上,维护系统的节点将一段时间内的数据整合打包为一个区块,后生成的区块包含之前区块的哈希信息,以保证区块间可形成连贯的链条。区块链本质上是一种数据存储技术,最初它实现于比特币中负责保存所有的交易记录。
为实现公平、安全、可靠的分布式系统,区块链引入了P2P网络、密码学、共识算法、梅克尔树等多个元素。所以严格意义上说,区块链并不是一种全新的技术,而是多种已有成熟技术的巧妙整合。比如其中的共识算法,作为区块链中解决一致性问题的关键,它最初诞生于分布式系统中,经过多年的研究探索,共识已经演变出多种体系。
pow共识算法是在区块链中被普遍使用的共识算法,pow算法的的核心思想是对区块难度进行计量,然后保留难度大的区块链,丢弃难度小的区块链,难度值(difficulty)是矿工们在挖矿时候的重要参考指标,它决定了矿工大约需要经过多少次哈希运算才能产生一个合法的区块。但是该种方法会直接影响矿工收集交易的积极性,本发明提出一种一种工作量算法难度叠加方法,使多个交易的难度能被叠加起来,增加了矿工收集交易的积极性,提高出块性能。
发明内容
本发明的目的是为了解决现有技术中的问题,而提出的一种工作量算法难度叠加方法。
为了实现上述目的,本发明采用了如下技术方案:
一种工作量算法难度叠加方法,包括以下步骤:
(1)、在一个交易结构中添加随机设置参数;
(2)、通过随机设置参数计算用户n个交易的的哈希值;
(3)、保留前置位0的数量最多的随机设置参数;
(4)、交易区块链中的记账节点接收到用户的所有交易信息,并遍历每个交易过程,计算每个交易的哈希值;
(5)、把用户所有交易的置位0的数量相加,作为区块链的难度区块;
(6)、然后在整个交易区块链中,选出总难度高的区块,淘汰难度低的区块,并形成共识。
优选的,所述步骤(5)中的难度区块生成后,生成该难度区块的节点会将该难度区块的工作量证明连同记账信息一起广播给其他节点,其它节点接收到此消息后,会首先验证难度区块的工作的有效性,如果有效且记账信息也验证无误,则可以将难度区块加入本地维护的区块链中;若如验证失败,则丢弃此信息。
优选的,所述步骤(3)中前置位0的数量即从高至最高位计数,一共有多少个连续的0。
优选的,所述步骤(2)和步骤(4)中所计算的哈希值任何人都可以复现并验证。
优选的,所述步骤(6)中选出总难度高的区块后,会对生成总难度高的区块的节点一定的奖励。
优选的,所述交易区块链系统每生成M个区块后都会调整一次难度,调整函数为:新难度=实际生成M个区块的时间×旧难度/14天的秒数。
优选的,所述难度的调整是在每个完整节点中独立自动发生的。
与现有技术相比,本发明提供了一种工作量算法难度叠加方法,具备以下有益效果:该工作量算法难度叠加方法,通过将多个交易的难度叠加起来,增加了矿工收集交易的积极性,实现了交易即挖坑,矿工不需要耗费工作量,提高了出块性能。
该装置中未涉及部分均与现有技术相同或可采用现有技术加以实现,本发明结构简单,操作方便。
附图说明
图1为本发明提出的一种工作量算法难度叠加方法的结构示意图;
图2为本发明实施例2的流程图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1所示,一种工作量算法难度叠加方法,包括以下步骤:
(1)、在一个交易结构中添加随机设置参数;
(2)、通过随机设置参数计算用户n个交易的的哈希值;
(3)、保留前置位0的数量最多的随机设置参数;
(4)、交易区块链中的记账节点接收到用户的所有交易信息,并遍历每个交易过程,计算每个交易的哈希值;
(5)、把用户所有交易的置位0的数量相加,作为区块链的难度区块;
(6)、然后在整个交易区块链中,选出总难度高的区块,淘汰难度低的区块,并形成共识。
进一步的,所述步骤(3)中前置位0的数量即从高至最高位计数,一共有多少个连续的0,0的个数越多,代表难度越大。
进一步的,所述步骤(2)和步骤(4)中所计算的哈希值任何人都可以复现并验证,可以提高系统的性能。
实施例2
如图2所示,一种工作量算法难度叠加方法,所述步骤(5)中的难度区块生成后,生成该难度区块的节点会将该难度区块的工作量证明连同记账信息一起广播给其他节点,其它节点接收到此消息后,会首先验证难度区块的工作的有效性,如果有效且记账信息也验证无误,则可以将难度区块加入本地维护的区块链中;若如验证失败,则丢弃此信息,工作量证明需要有一个目标值,目标值的大小与难度值成反比,工作量证明的达成就是矿工计算出来的区块哈希值必须小于目标值,工作量证明的过程,就是通过不停的变换区块头中随机数作为输入进行哈希运算,然后找出一个特定格式哈希值的过程(即要求有一定数量的置位0);所述步骤(6)中选出总难度高的区块后,会对生成总难度高的区块的节点一定的奖励,提高矿工收集交易的积极性,节点只有主动花费自己的资源用于工作量证明,新的数据才能够加入到区块链中,保证系统的正常运转;所述交易区块链系统每生成M个区块后都会调整一次难度,调整函数为:新难度=实际生成M个区块的时间×旧难度/14天的秒数;所述难度的调整是在每个完整节点中独立自动发生的,如果要在不同的全网算力条件下,新区块的产生保持都基本同样速率,难度值必须根据全网算力的变化进行调整,以此达到系统稳定运行的目的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (7)
1.一种工作量算法难度叠加方法,其特征在于:包括以下步骤:
(1)、在一个交易结构中添加随机设置参数;
(2)、通过随机设置参数计算用户n个交易的的哈希值;
(3)、保留前置位0的数量最多的随机设置参数;
(4)、交易区块链中的记账节点接收到用户的所有交易信息,并遍历每个交易过程,计算每个交易的哈希值;
(5)、把用户所有交易的置位0的数量相加,作为区块链的难度区块;
(6)、然后在整个交易区块链中,选出总难度高的区块,淘汰难度低的区块,并形成共识。
2.根据权利要求1所述的一种工作量算法难度叠加方法,其特征在于:所述步骤(5)中的难度区块生成后,生成该难度区块的节点会将该难度区块的工作量证明连同记账信息一起广播给其他节点,其它节点接收到此消息后,会首先验证难度区块的工作的有效性,如果有效且记账信息也验证无误,则可以将难度区块加入本地维护的区块链中;若如验证失败,则丢弃此信息。
3.根据权利要求1所述的一种工作量算法难度叠加方法,其特征在于:所述步骤(3)中前置位0的数量即从高至最高位计数,一共有多少个连续的0。
4.根据权利要求1所述的一种工作量算法难度叠加方法,其特征在于:所述步骤(2)和步骤(4)中所计算的哈希值任何人都可以复现并验证。
5.根据权利要求1所述的一种工作量算法难度叠加方法,其特征在于:所述步骤(6)中选出总难度高的区块后,会对生成总难度高的区块的节点一定的奖励。
6.根据权利要求1所述的一种工作量算法难度叠加方法,其特征在于:所述交易区块链系统每生成M个区块后都会调整一次难度,调整函数为:新难度=实际生成M个区块的时间×旧难度/14天的秒数。
7.根据权利要求6所述的一种工作量算法难度叠加方法,其特征在于:所述难度的调整是在每个完整节点中独立自动发生的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811023356.1A CN109003003A (zh) | 2018-09-03 | 2018-09-03 | 一种工作量算法难度叠加方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811023356.1A CN109003003A (zh) | 2018-09-03 | 2018-09-03 | 一种工作量算法难度叠加方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109003003A true CN109003003A (zh) | 2018-12-14 |
Family
ID=64591024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811023356.1A Pending CN109003003A (zh) | 2018-09-03 | 2018-09-03 | 一种工作量算法难度叠加方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109003003A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445852A (zh) * | 2019-07-29 | 2019-11-12 | 杭州复杂美科技有限公司 | 通证发放方法、设备和存储介质 |
CN110855603A (zh) * | 2018-12-24 | 2020-02-28 | 互联网域名系统北京市工程研究中心有限公司 | 一种基于区块链技术的抗DoS攻击防护的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181797A (zh) * | 2017-05-11 | 2017-09-19 | 中国农业银行股份有限公司 | 一种区块链的区块压缩方法和系统 |
CN108270821A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链网络中的区块生成方法和网络节点 |
CN108399051A (zh) * | 2018-02-05 | 2018-08-14 | 南京信息工程大学 | 基于区块链激励的wsn数据存储机制 |
-
2018
- 2018-09-03 CN CN201811023356.1A patent/CN109003003A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270821A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链网络中的区块生成方法和网络节点 |
CN107181797A (zh) * | 2017-05-11 | 2017-09-19 | 中国农业银行股份有限公司 | 一种区块链的区块压缩方法和系统 |
CN108399051A (zh) * | 2018-02-05 | 2018-08-14 | 南京信息工程大学 | 基于区块链激励的wsn数据存储机制 |
Non-Patent Citations (2)
Title |
---|
段希楠: ""区块链共识算法研究与趋势分析"", 《科研信息化技术与应用》 * |
邹均等: "《区块链技术指南》", 30 November 2016, 机械工业出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855603A (zh) * | 2018-12-24 | 2020-02-28 | 互联网域名系统北京市工程研究中心有限公司 | 一种基于区块链技术的抗DoS攻击防护的方法 |
CN110855603B (zh) * | 2018-12-24 | 2021-11-09 | 互联网域名系统北京市工程研究中心有限公司 | 一种基于区块链技术的抗DoS攻击防护的方法 |
CN110445852A (zh) * | 2019-07-29 | 2019-11-12 | 杭州复杂美科技有限公司 | 通证发放方法、设备和存储介质 |
CN110445852B (zh) * | 2019-07-29 | 2021-12-10 | 杭州复杂美科技有限公司 | 通证发放方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104219056B (zh) | 一种智能电网中具有隐私保护的实时电量收集方法 | |
CN108470276A (zh) | 一种采用代理记账的区块链共识方法 | |
CN106982203A (zh) | 基于区块链技术的鲁棒的atm网络系统及其信息处理方法 | |
Wang et al. | Sok: Dag-based blockchain systems | |
CN109039847A (zh) | 一种利用dmt解决区块链全网消息一致性问题的方法及装置 | |
CN103259650A (zh) | 一种对诚实参与者公平的理性多秘密分享方法 | |
CN108600161A (zh) | 一种公平高效的区块链共识方法 | |
CN102802158A (zh) | 基于信任评估的无线传感器网络异常检测方法 | |
CN111431695A (zh) | 一种基于区块链的软件定义战术网络节点信誉的管理方法 | |
Lo Re et al. | Secure random number generation in wireless sensor networks | |
CN103595734B (zh) | 基于用户关联结构划分的在线社交网络快速修复方法 | |
CN109003003A (zh) | 一种工作量算法难度叠加方法 | |
CN114282855B (zh) | 负荷重分配攻击下电-气耦合系统的综合防护方法 | |
CN110210229A (zh) | 电网信息物理系统的脆弱性的评估方法、系统及存储介质 | |
Long et al. | An advanced key management scheme for secure smart grid communications | |
Qian et al. | The secure lattice-based data aggregation scheme in residential networks for smart grid | |
CN114971421B (zh) | 一种基于区块链技术的水电站运行风险管控系统 | |
CN106549767A (zh) | 一种具有隐私保护的数据认证及追踪系统 | |
CN113992526A (zh) | 一种基于可信度计算的联盟链跨链数据融合方法 | |
Li et al. | Efficient and fault‐diagnosable authentication architecture for AMI in smart grid | |
Laube et al. | A solution to the split & merge problem for blockchain-based applications in ad hoc networks | |
KR101548876B1 (ko) | 동형 암호기법을 사용하는 스마트 그리드 시스템에서 공격 노드를 식별하는 방법 및 공격 노드를 식별하는 스마트 그리드 시스템 | |
CN113923217B (zh) | 一种基于dag的异步拜占庭共识方法及系统 | |
Aggarwal et al. | Smart grid | |
Wei et al. | Rethinking blockchains in the internet of things era from a wireless communication perspective |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181214 |