CN109039648B - 一种区块链的创建方法、设备及可读存储介质 - Google Patents
一种区块链的创建方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109039648B CN109039648B CN201810874220.5A CN201810874220A CN109039648B CN 109039648 B CN109039648 B CN 109039648B CN 201810874220 A CN201810874220 A CN 201810874220A CN 109039648 B CN109039648 B CN 109039648B
- Authority
- CN
- China
- Prior art keywords
- block
- hash
- time
- token
- blocks
- 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/3297—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 involving time stamps, e.g. generation of time stamps
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/321—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 involving a third party or a trusted authority
- H04L9/3213—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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种区块链的创建方法、设备及可读存储介质。方法包括:创建区块链的权益证明机制;创建利用随机数策略的哈希时间戳机制;基于所形成的哈希时间戳,建立防止区块链分叉的机制;基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链。采用本技术方案,有权建立新块的各方竞争无法控制随机数,从而无法获得建块优先权限,提高区块链交易安全和不可篡改性,权益与系统保障驱动力成正比,基于哈希时间戳,决定谁有记账权时就最大可能的保障消除分叉,对于没有遵守规则和没有参与若干个区块维护的历史区块创建者建立惩罚机制,创建了公正、稳定、高效的区块链交易环境,同时优化了信任模型,提供好的机制控制链生长速率。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链的创建方法、设备及可读存储介质。
背景技术
区块链是一种数据结构,其中创建了一系列文件或块,并且每个都包含其前一个的加密散列(即哈希)。区块链将用于分布式系统,而为了保证在交易用户交易记录所传播网络的可访问性,将存在很多链的副本。当矿工们通过“挖矿”来产生新区块并添加到区块链上时,其中验证及添加区块链涉及到的共识系统被称为“工作量证明”。矿工们使用庞大的计算机算力来解决密码学难题,而难度值决定了难题解开所需要的计算量,这是区块链技术中最具有开拓意义的机制之一。权益的大小主要取决于区块链自身里的代币多少,目前PoS算法已经在电力和算力消耗上解决了很大的一部分了,是一个发展方向,然而POS机制仍然会导致分叉问题增大,从而交易时间过长,稳定性劣于POW机制,并没有解决区块链在商业应用上的局限。因此需要创建比常规的区块链POW共识机制更合理的权益证明,从而取得投资越大,权益越大,公正、稳定、高效的共识机制。采用一种新的机制以用来挖掘新的区块,因此哈希算法仍然至关重要,其工作原理是调整难度值的设定,从而使得在拜占庭将军问题得以避免的情况下有效确定谁可以开发下一个新块。
此外,由于区块链并不能提供一个理想的强制执行准确性的环境,这为时间戳可靠性的判断提出了更大的挑战,时间戳的可靠性非常重要。
另外,分叉问题是区块链机制中比较重要的一环,现有技术中解决分叉问题的方法效率低,并且无法防止在公共链条中出现的由于分配、恶意或巧合出现的分叉,即多块记账中仍然是两人分作两块,由于引入多个块,这些块会由单块中继续,从而使得分叉持续存在多个块中并永久存在。
只有确定合理的解决以上现有问题的机制才能高效创建可信的区块链,为区块链在各个行业中的应用奠定基础。
发明内容
鉴于上述技术问题,本公开内容提出了一种区块链的创建方法、设备及可读存储介质,发明的核心思想在于通过已有的区块生成和维护一个公平的随机数,用于建立相应的工作权益证明机制、时间戳机制、防止分叉机制,从而生成下一个区块,逐步建立区块链。
在本公开内容的一个方面,提供了一种区块链的创建方法,包括:第一步,创建区块链的权益证明机制;第二步,创建利用随机数策略的哈希时间戳机制;第三步,基于所形成的哈希时间戳,建立防止区块链分叉的机制;第四步,基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链。
在一些实施方式中,创建区块链的权益证明机制包括:通过代币购买令牌,所述令牌与购买者的特定身份绑定,并且由购买者在购买时确定令牌需要挖掘的区块编号;由前面的已有区块生成一个公平的随机数N,即比特串,与所述令牌进行哈希运算,获得的哈希运算值通过网络传播至各个节点从而决出下一个区块的记帐权。
在一些实施方式中,代币购买令牌的交易需公布于区块链的某区块中,并与为争夺记账权而使用令牌的区块之间的距离足够大,从而在挖矿前成为已得到确认的信息,所述令牌所绑定的特定身份与作为交易目标的类型相同的身份相关联,所述令牌的代币价值超过一个确定的最小值,所述最小值包括为开采一个区块所付出的最高金额与已支付的任何押金的总和,为了提高创建和锁定令牌的效率,单个交易可以创建多个可以共同使用的令牌,所述多个令牌使用代币购买,实际使用所述令牌前,承诺在所述令牌索引标识的特定块进行挖掘,所述承诺作为所创建的同一交易的一部分或者在创建交易后完成,以确保矿工在没有赢得比赛时同样需要支付费用,实施共识过程中,所述承诺写入后保持一段时间,从而确定所述承诺不会被删除而出现双重支出的分叉,使用所述令牌开采当前块时保证所述承诺不会被删除而保持不变,单个所述令牌对应单个身份,在同一块中支持两个不同的之前的分叉是非法的,采用惩罚机制对所述非法行为进行惩罚,所述惩罚机制包括没收所有押金,每个所述令牌只允许单个条目进入当前块的哈希竞争,采用三种方式中的一种运行记账权获胜竞争:第一种是邀请所有方进入竞赛,数量最小的获胜;第二种是设定一个随时间增加的获胜阈值,每个人都有权在比赛到达相应获胜阈值时宣布该轮胜利;第三种是获胜阈值不改变,随时间改变所述随机数的内容,直到获胜者出现。
在一些实施方式中,创建利用随机数策略的哈希时间戳机制包括:在每一个区块中嵌入一系列有承诺但未透露的信息;根据定义的规则通知这些区块的创建者,将序列的连续值释放到一些普通可读的空间,将释放动作链接到各自的观测序列,所述规则包含后续的一系列事件和基于历史的一些公式化延迟;按照时间或者后期的特定事件触发释放一组先前的随机数;以释放随机数时间作为计时基础控制时间从而形成哈希时间戳。
在一些实施方式中,多个节点提供哈希时间戳服务,服务为一种为了增强区块链而使得节点必需针对接收的费用而履行的服务,还可以通过节点进行大量的哈希运算控制时间从而形成哈希时间戳,即采用复杂顺序计算作为计时的基础和创建机制,设置一些基本顺序计算所花费时间的下限,设定一个节点用于获取一些最近获得的信息并指定比所述节点已经完成的哈希运算更多的哈希运算,而非直接获知该随机数,从而在块和块的创建之间施加一个最小的时间,任何比所述最小的时间长的顺序计算都不可能完成,同时也不能作为时间戳建立的基础,所述复杂顺序计算为多次迭代哈希,所述计算速度为400万次/秒,所述有承诺但未透露的信息包括隐藏迭代哈希的中间状态,并存储在块中,创建利用随机数策略的哈希时间戳机制允许计算机以不同的速率进行计算带来的变化,使用内置虚拟服务提供商作为标准为用户提供快速哈希服务,以减少计算机计算速率差异带来的影响,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。
在一些实施方式中,基于所形成的哈希时间戳,建立防止区块链分叉的机制包括:基于形成哈希时间戳,形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。
在一些实施方式中,返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的,通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布,所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关,所述释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算,由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位,对于不执行检查多个分叉的区块的所述历史区块的创建者实施惩罚,如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块,如果赢家提供了合法区块后,区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群,对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有,对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
在一些实施方式中,基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链包括:确定生成新区块的交易和相应的哈希值;如果该当前区块之前的k个块均公布承诺的隐藏数值作为第一随机数,并将随机数添加到当前区块中,则将k个区块的随机数与当前区块的交易部分的哈希值进行哈希运算生成一个随机字符串N,所述随机字符串N用于构建下一个区块记账权限;如果当前区块之前的区块随机数的数量不足k个,需要进行迭代哈希来计算所述随机字符串N,保障区块确定之前,没有用户有足够的时间可以计算出所述随机字符串N,所述随机字符串N不需要出现在当前区块中,只要当前块包含所有的输入信息,那么所有人都可以自己计算所述第二随机数N;进行哈希竞争,胜利者可以创建新的区块。
在一些实施方式中,创建所述新区块的具有记账权的一方在第一时间t1处提出关于新区块中的交易记录和交易的哈希H的声明,提示前k个区块的生成者将随机字符串公开,若某一时间点t2该所述区块之前的k个区块没有完全公布承诺的隐藏数值作为第一随机数,那么在t3时刻计算已经公布的所有随机数的迭代哈希值并放在当前区块上,新的区块确定之后计算出随机字符串N,新区块的生成者生成区块前购买令牌,所述令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息,若前k个块的生成者都将随机字符串公开,那么该随机字符串与哈希值H再次哈希后变成了下一块的加密谜题,并被放在将要构建的新块中完善新块;如果前k个块的生成者没有全部都将随机字符串公开,那么在第二时刻t2将这些值的哈希放置在将要构建的新块中,并且采用迭代哈希作为下一个区块公平竞赛的随机数,从而使得由于迭代次数的限制困难,当前块的生成者在第二时刻t2无法完成迭代哈希运算,从而使得在此后的第三时刻t3计算出新的哈希值,并放置在当前块中,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。
本发明的另一方面在于提供一种区块链的创建设备,其包括处理器,其中所述处理器可以用于:第一步,创建区块链的权益证明机制;第二步,创建利用随机数策略的哈希时间戳机制;第三步,基于所形成的哈希时间戳,建立防止区块链分叉的机制;第四步,基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链。
在一些实施方式中,创建区块链的权益证明机制包括:通过代币购买令牌,所述令牌与购买者的特定身份绑定,并且由购买者在购买时确定令牌需要挖掘的区块编号;由前面的已有区块生成一个公平的随机数N,即比特串,与所述令牌进行哈希运算,获得的哈希运算值通过网络传播至各个节点从而决出下一个区块的记帐权。
在一些实施方式中,代币购买令牌的交易需公布于区块链的某区块中,并与为争夺记账权而使用令牌的区块之间的距离足够大,从而在挖矿前成为已得到确认的信息,所述令牌所绑定的特定身份与作为交易目标的类型相同的身份相关联,所述令牌的代币价值超过一个确定的最小值,所述最小值包括为开采一个区块所付出的最高金额与已支付的任何押金的总和,为了提高创建和锁定令牌的效率,单个交易可以创建多个可以共同使用的令牌,所述多个令牌使用代币购买,实际使用所述令牌前,承诺在所述令牌索引标识的特定块进行挖掘,所述承诺作为所创建的同一交易的一部分或者在创建交易后完成,以确保矿工在没有赢得比赛时同样需要支付费用,实施共识过程中,所述承诺写入后保持一段时间,从而确定所述承诺不会被删除而出现双重支出的分叉,使用所述令牌开采当前块时保证所述承诺不会被删除而保持不变,单个所述令牌对应单个身份,在同一块中支持两个不同的之前的分叉是非法的,采用惩罚机制对所述非法行为进行惩罚,所述惩罚机制包括没收所有押金,每个所述令牌只允许单个条目进入当前块的哈希竞争,采用三种方式中的一种运行记账权获胜竞争:第一种是邀请所有方进入竞赛,数量最小的获胜;第二种是设定一个随时间增加的获胜阈值,每个人都有权在比赛到达相应获胜阈值时宣布该轮胜利;第三种是获胜阈值不改变,随时间改变所述随机数的内容,直到获胜者出现。
在一些实施方式中,创建利用随机数策略的哈希时间戳机制包括:在每一个区块中嵌入一系列有承诺但未透露的信息;根据定义的规则通知这些区块的创建者,将序列的连续值释放到一些普通可读的空间,将释放动作链接到各自的观测序列,所述规则包含后续的一系列事件和基于历史的一些公式化延迟;按照时间或者后期的特定事件触发释放一组先前的随机数;以释放随机数时间作为计时基础控制时间从而形成哈希时间戳。
在一些实施方式中,多个节点提供哈希时间戳服务,服务为一种为了增强区块链而使得节点必需针对接收的费用而履行的服务,还可以通过节点进行大量的哈希运算控制时间从而形成哈希时间戳,即采用复杂顺序计算作为计时的基础和创建机制,设置一些基本顺序计算所花费时间的下限,设定一个节点用于获取一些最近获得的信息并指定比所述节点已经完成的哈希运算更多的哈希运算,而非直接获知该随机数,从而在块和块的创建之间施加一个最小的时间,任何比所述最小的时间长的顺序计算都不可能完成,同时也不能作为时间戳建立的基础,所述复杂顺序计算为多次迭代哈希,所述计算速度为400万次/秒,所述有承诺但未透露的信息包括隐藏迭代哈希的中间状态,并存储在块中,创建利用随机数策略的哈希时间戳机制允许计算机以不同的速率进行计算带来的变化,使用内置虚拟服务提供商作为标准为用户提供快速哈希服务,以减少计算机计算速率差异带来的影响,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。
在一些实施方式中,基于所形成的哈希时间戳,建立防止区块链分叉的机制包括:基于形成哈希时间戳,形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。
在一些实施方式中,返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的,通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布,所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关,所述释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算,由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位,对于不执行检查多个分叉的区块的所述历史区块的创建者实施惩罚,如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块,如果赢家提供了合法区块后,区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群,对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有,对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
在一些实施方式中,基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链包括:确定生成新区块的交易和相应的哈希值;如果该当前区块之前的k个块均公布承诺的隐藏数值作为第一随机数,并将随机数添加到当前区块中,则将k个区块的随机数与当前区块的交易部分的哈希值进行哈希运算生成一个随机字符串N,所述随机字符串N用于构建下一个区块记账权限;如果当前区块之前的区块随机数的数量不足k个,需要进行迭代哈希来计算所述随机字符串N,保障区块确定之前,没有用户有足够的时间可以计算出所述随机字符串N,所述随机字符串N不需要出现在当前区块中,只要当前块包含所有的输入信息,那么所有人都可以自己计算所述第二随机数N;进行哈希竞争,胜利者可以创建新的区块。
在一些实施方式中,创建所述新区块的具有记账权的一方在第一时间t1处提出关于新区块中的交易记录和交易的哈希H的声明,提示前k个区块的生成者将随机字符串公开,若某一时间点t2该所述区块之前的k个区块没有完全公布承诺的隐藏数值作为第一随机数,那么在t3时刻计算已经公布的所有随机数的迭代哈希值并放在当前区块上,新的区块确定之后计算出随机字符串N,新区块的生成者生成区块前购买令牌,所述令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息,若前k个块的生成者都将随机字符串公开,那么该随机字符串与哈希值H再次哈希后变成了下一块的加密谜题,并被放在将要构建的新块中完善新块;如果前k个块的生成者没有全部都将随机字符串公开,那么在第二时刻t2将这些值的哈希放置在将要构建的新块中,并且采用迭代哈希作为下一个区块公平竞赛的随机数,从而使得由于迭代次数的限制困难,当前块的生成者在第二时刻t2无法完成迭代哈希运算,从而使得在此后的第三时刻t3计算出新的哈希值,并放置在当前块中,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。
在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如上文所述的区块链的创建方法。
与现有技术相比,本公开内容的有益效果为:
首先,本公开内容的技术方案的区块创建理念是有权建立新块的各方竞争,除非和以前的区块生成者勾结,否则无法控制方案中的随机数,从而无法获得建块优先权限,提高了区块链交易安全和不可篡改性,同时利用令牌机制下的共识机制,体现投资越大,权益越大的理念,从而创建了公正、稳定、高效的区块链交易环境,此外,基于哈希时间戳,决定谁有记账权时就最大可能的保障消除分叉,对于没有遵守规则和没有参与若干个区块维护的历史区块创建者建立惩罚机制,优化了信任模型,提供好的机制控制链生长速率。
附图说明
在所附权利要求书中具体阐述了本发明的新颖特征。通过参考对在其中利用到本发明原理的说明性实施方式加以阐述的以下详细描述和附图,将会对本发明的特征和优点获得更好的理解。附图仅用于示出实施方式的目的,而并不应当认为是对本发明的限制。而且在整个附图中,用相同的附图标记表示相同的元素,在附图中:
图1示出了依据本公开内容示例性实施方式的区块链的新区块生成方法的流程图;以及
图2示出了依据本公开内容示例性实施方式的区块链的新区块生成设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开内容的示例性实施方式。虽然附图中显示了本公开内容的示例性实施方式,然而应当理解,可以以各种形式实现本公开内容而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开内容,并且能够将本公开内容的范围完整地传达给本领域技术人员。在以下详细描述中没有任何内容旨在表明任何特定组件、特征或步骤对于本发明是必不可少的。本领域技术人员将会理解,在不脱离本公开内容的范围内各种特征或步骤可以彼此替代或结合。
图1示出了依据本公开内容示例性实施方式的区块链创建的流程图。如图1所示,一种区块链的创建方法,其包括如下步骤:
步骤S101,创建区块链的权益证明机制;
步骤S102,创建利用随机数策略的哈希时间戳机制;
步骤S103,基于所形成的哈希时间戳,建立防止区块链分叉的机制;
步骤S104,基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链。
在该实施例中,创建区块链的权益证明机制包括:通过代币购买令牌,令牌与购买者的特定身份绑定,并且由购买者在购买时确定令牌需要挖掘的区块编号;由前面的已有区块生成一个公平的随机数N,即比特串,与令牌进行哈希运算,获得的哈希运算值通过网络传播至各个节点从而决出下一个区块的记帐权。
在该实施例中,代币购买令牌的交易需公布于区块链的某区块中,并与为争夺记账权而使用令牌的区块之间的距离足够大,从而在挖矿前成为已得到确认的信息,令牌所绑定的特定身份与作为交易目标的类型相同的身份相关联,令牌的代币价值超过一个确定的最小值,所述最小值包括为开采一个区块所付出的最高金额与已支付的任何押金的总和,为了提高创建和锁定令牌的效率,单个交易可以创建多个可以共同使用的令牌,多个令牌使用代币购买,实际使用所述令牌前,承诺在令牌索引标识的特定块进行挖掘,承诺作为所创建的同一交易的一部分或者在创建交易后完成,以确保矿工在没有赢得比赛时同样需要支付费用,实施共识过程中,承诺写入后保持一段时间,从而确定承诺不会被删除而出现双重支出的分叉,使用令牌开采当前块时保证所述承诺不会被删除而保持不变,单个令牌对应单个身份,在同一块中支持两个不同的之前的分叉是非法的,采用惩罚机制对非法行为进行惩罚,惩罚机制包括没收所有押金,每个令牌只允许单个条目进入当前块的哈希竞争,采用三种方式中的一种运行记账权获胜竞争:第一种是邀请所有方进入竞赛,数量最小的获胜;第二种是设定一个随时间增加的获胜阈值,每个人都有权在比赛到达相应获胜阈值时宣布该轮胜利;第三种是获胜阈值不改变,随时间改变所述随机数的内容,直到获胜者出现。
在该实施例中,创建利用随机数策略的哈希时间戳机制包括:在每一个区块中嵌入一系列有承诺但未透露的信息;根据定义的规则通知这些区块的创建者,将序列的连续值释放到一些普通可读的空间,将释放动作链接到各自的观测序列,所述规则包含后续的一系列事件和基于历史的一些公式化延迟;按照时间或者后期的特定事件触发释放一组先前的随机数;以释放随机数时间作为计时基础控制时间从而形成哈希时间戳。
在该实施例中,多个节点提供哈希时间戳服务,服务为一种为了增强区块链而使得节点必需针对接收的费用而履行的服务,还可以通过节点进行大量的哈希运算控制时间从而形成哈希时间戳,即采用复杂顺序计算作为计时的基础和创建机制,设置一些基本顺序计算所花费时间的下限,设定一个节点用于获取一些最近获得的信息并指定比节点已经完成的哈希运算更多的哈希运算,而非直接获知该随机数,从而在块和块的创建之间施加一个最小的时间,任何比最小的时间长的顺序计算都不可能完成,同时也不能作为时间戳建立的基础,复杂顺序计算为多次迭代哈希,计算速度为400万次/秒,有承诺但未透露的信息包括隐藏迭代哈希的中间状态,并存储在块中,创建利用随机数策略的哈希时间戳机制允许计算机以不同的速率进行计算带来的变化,使用内置虚拟服务提供商作为标准为用户提供快速哈希服务,以减少计算机计算速率差异带来的影响,隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。
在该实施例中,基于所形成的哈希时间戳,建立防止区块链分叉的机制包括:基于形成哈希时间戳,形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。
在该实施例中,返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的,通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布,所述规则的细节与哈希运算相关,即释放随机数时与后面的区块相关,释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算,由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位,对于不执行检查多个分叉的区块的所述历史区块的创建者实施惩罚,如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块,如果赢家提供了合法区块后,区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,公平的事实在所述区块中可见,诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群,对投票设置数值阈值,超过一定数值阈值的投票结果有效,数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有,对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
在该实施例中,基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链包括:确定生成新区块的交易和相应的哈希值;如果该当前区块之前的k个块均公布承诺的隐藏数值作为第一随机数,并将随机数添加到当前区块中,则将k个区块的随机数与当前区块的交易部分的哈希值进行哈希运算生成一个随机字符串N,所述随机字符串N用于构建下一个区块记账权限;如果当前区块之前的区块随机数的数量不足k个,需要进行迭代哈希来计算随机字符串N,保障区块确定之前,没有用户有足够的时间可以计算出随机字符串N,所述随机字符串N不需要出现在当前区块中,只要当前块包含所有的输入信息,那么所有人都可以自己计算第二随机数N;进行哈希竞争,胜利者可以创建新的区块。
在该实施例中,创建新区块的具有记账权的一方在第一时间t1处提出关于新区块中的交易记录和交易的哈希H的声明,提示前k个区块的生成者将随机字符串公开,若某一时间点t2该所述区块之前的k个区块没有完全公布承诺的隐藏数值作为第一随机数,那么在t3时刻计算已经公布的所有随机数的迭代哈希值并放在当前区块上,新的区块确定之后计算出随机字符串N,新区块的生成者生成区块前购买令牌,所述令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息,若前k个块的生成者都将随机字符串公开,那么该随机字符串与哈希值H再次哈希后变成了下一块的加密谜题,并被放在将要构建的新块中完善新块;如果前k个块的生成者没有全部都将随机字符串公开,那么在第二时刻t2将这些值的哈希放置在将要构建的新块中,并且采用迭代哈希作为下一个区块公平竞赛的随机数,从而使得由于迭代次数的限制困难,当前块的生成者在第二时刻t2无法完成迭代哈希运算,从而使得在此后的第三时刻t3计算出新的哈希值,并放置在当前块中,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。
我们注意到,在PoW中,任何试图挖掘块的人的实际成本都与其解决难题所需要的时间成正比,无论最后是否赢得采矿权。而本实施方式实施共识过程中,所述承诺写入后保持一段时间,从而确定所述承诺不会被删除而出现双重支出的分叉,使用所述令牌开采当前块时保证所述承诺不会被删除而保持不变。
单个所述令牌对应单个身份,在同一级别中支持两个不同的块是非法的,这将是非常不正常的行为,如果没有这个规则,就会有试图利用这种规则漏洞的行为产生,进而为了监督行为,需要公开支持每个正在挖掘以扩展令牌身份的块,而这是不现实的,因此每个所述令牌只允许单个条目进入当前块的哈希竞争。假设令牌t已经被提交到待挖掘块n,并且块n-1现在已经出现。矿工必须首先决定是否通过扩展该令牌来支持该块。一般而言,如果前一个块遵守规则,则该令牌应当被扩展从而支持当前块,毕竟矿工已经投资于此。如果矿工知晓在块n-1存在两个或两个以上的块时,应当遵循规则决定返回哪个块。
一旦区块n不可变,那么存款(根据良好的行为)以及费用元素的任何平衡都可以:1)作为一种令牌,继续保持足够的平衡;2)被赎回成为硬币。
如前所述,由于每个令牌只允许单个条目进入块n的哈希竞争,因此,进入条目的代理程序无法选择哈希运算的内容。假设每个块可以确定一个构成下一次竞赛基础的值x,并且所述竞赛基于组合的哈希值Xt,其中组合的哈希值Xt是以令牌的值t为变量的,并随着该轮锁定的令牌变化而变化。
因此,创建前一个区块的一方与正在挖掘下一个区块的一方之间存在一场潜在的竞争游戏,前者可能会通过影响组合哈希值影响竞争游戏的结果,这是需要注意的。
当然,该方法实施的重要一点在于,如果不存在关于竞争结果的争议,矿工之间的时间通过度量标准是一致的,这个可以通过区块链的通用准则进行定义和规范。
哈希时钟方面,为了延迟1秒,将需要4000万哈希这样的东西,虽然并不是环境友好的处理方式,但只需要运算几个核心部分,而不是数千个核心部分,由于矿工需要相互检查,因此还是相当具有安全方面的优势的。如果所有的块创建者都以明确定义的方式或者符合安全预期的方式执行这样的方法,并且有足够的节点提供实际的保证,通常采用投票的方式进行保证,那么该哈希时间戳也就顺理成章的提供了一个设置哈希谜题的理想方式。对于定时属性,我们需要在正确的时间释放大多数的随机数,为了创建谜题,需要释放期望的随机数,而只有一个才是适合作为随机输入从而确保正确公平的选择后续区块的创建者记账权的随机数,哈希时间戳正是可以提供一方面的保证。
随机数的数量根据信任模型的规模和要求确定,并且均在时间戳创建前的很短时间内发布,信任模型包括:安全作为区块链系统的基础内置,对秘密数值进行有效性检查,认证和数据验证,在各个层面对秘密数值进行加密,层面包括应用层面,有效性检查、认证和数据验证对应稳定,有弹性和可信赖的代码,对代码在使用前进行威胁分析和测试,除非有证据表明当前区块的创建者知道在所述区块应该发行的时刻的最近发布的足够多的价值,否则该区块不会被信任。
对于防止分叉的机制,该方法比较实际能够实施在于一个事实:通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布,我们将挖矿的令牌放在区块链上,任何人都可以在获知当前块随机数的情况下将所需要的信息计算出来,当然只有在当前块的时候才能获知随机数,查询与身份绑定的令牌,从而获知所需要的赢家信息。因此,我们可以重复该计算,并且从根本上产生关于赢家和非赢家的公知的信息。我们强制执行仅接受每个阶段赢家生成的区块,并通过一定的合法性测试后作为合法区块纳入区块链中,这是通过写入区块链的机制进行保证的。
如果赢家提供了合法区块后,区块链需要一定的操作决定是否将赢家提供的合法区块包含在区块链之内,与前面提到的问题所选择的方法是相关的。当然这个问题的提出一方面是由于某些区块错误的选择了其祖先导致递归性的无效,或者是由于没有及时的提供区块,本实施防止分叉方法主要针对的是提供区块不及时地问题。区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,即所有的诚实用户对此都认同,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因。提供区块之后的原因被公告从而使得坏的节点返回坏的区块时更为明显。
分布式环境中,对于时间的绝对客观和公平我们是不能完全保证地,但是需要一个客观的方式决定对于时间公正性问题的答案。在该实施方式中,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群。例如,生成两个块的时间间隔为D,那么通常在D/3的时间处进行通讯,此时下一个区块已经出现,此时节点群内各个节点进行投票决定是否将该块作为他们投票的一部分,通过释放0或1分别表示不作为投票的一部分或者作为投票的一部分,此时为了更为客观和公正,对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有效。
本实施例中,援引本申请发明人另外一件申请中关于令牌的应用,包含随机字符串与当前区块进行哈希运算获得的哈希值或者单个迭代哈希值作为新的随机数,随机数也就是随机字符串,通常为一个随机十六进制数值。令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息。
此外,令牌也包含承诺可以通过哈希竞争揭示的秘密部分,从而降低创建新块各方的优势不均衡。具体来讲,本实施例消除创建新块各方不平等的优势主要体现在:一方面在每个令牌中嵌入一个随机化增加的随机数作为加密谜题,创建新块的各方对所述加密谜题没有控制权;另一方面为创建新块的各方构建新块中的随机数作为加密谜题是无法预测的值,从而使得恶意参与哈希竞争的一方不能在规定的有限时间内获得随机数参与的哈希运算的解。
本实施例中,创建新块的各方有权在n处构造新块,并在第一时间t1处提出关于新块中的交易记录和交易的哈希H的声明,提示前k个块的生成者将随机字符串公开。通过哈希竞争的胜利者的计算速度很快从而可以沿多条线竞争一个新区块的创建权,即记账权。
图2示出了依据本公开内容示例性实施方式的区块链的创建设备的结构示意图。如图2所示,一种区块链的创建设备,其包括处理器201,其中处理器201可以用于执行上述区块链创建方法。
在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如上文所述的区块链的创建方法
对于基于令牌、随机数、哈希时间戳以及防止分叉等新颖机制保障的区块创建方法的技术方案的实施例,在上文已经进行了详细描述,在此不再赘述。在一些实施方式中,机器可读存储介质是数字处理设备的有形组件。在另一些实施方式中,机器可读存储介质可选地是可从数字处理设备移除的。在一些实施方式中,举非限制性示例而言,机器可读存储介质可以包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、闪速存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、固态存储器、磁碟、光盘、云计算系统或服务等。
应当理解,本公开内容的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
在本文所提供的说明书中,说明了大量具体细节。然而,应当理解,本公开内容的实施方式可以在没有这些具体细节的情况下实践。在一些实施方式中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
虽然本文已经示出和描述了本发明的示例性实施方式,但对于本领域技术人员显而易见的是,这样的实施方式只是以示例的方式提供的。本领域技术人员现将会在不偏离本发明的情况下想到许多更改、改变和替代。应当理解,在实践本发明的过程中可以采用对本文所描述的本发明实施方式的各种替代方案。以下权利要求旨在限定本发明的范围,并因此覆盖这些权利要求范围内的方法和结构及其等同项。
Claims (7)
1.一种区块链的创建方法,其特征在于包括:
第一步,创建区块链的权益证明机制,所述创建区块链的权益证明机制包括:通过代币购买令牌,所述令牌与购买者的特定身份绑定,并且由购买者在购买时确定令牌需要挖掘的区块编号;由前面的已有区块生成一个公平的随机数N,即比特串,与所述令牌进行哈希运算,获得的哈希运算值通过网络传播至各个节点从而决出下一个区块的记帐权,其中,所述代币购买令牌的交易需公布于区块链的某区块中,并与为争夺记账权而使用令牌的区块之间的距离足够大,从而在挖矿前成为已得到确认的信息,所述令牌所绑定的特定身份与作为交易目标的类型相同的身份相关联,所述令牌的代币价值超过一个确定的最小值,所述最小值包括为开采一个区块所付出的最高金额与已支付的任何押金的总和,为了提高创建和锁定令牌的效率,单个交易可以创建多个可以共同使用的令牌,所述多个令牌使用代币购买,实际使用所述令牌前,承诺在所述令牌索引标识的特定块进行挖掘,所述承诺作为所创建的同一交易的一部分或者在创建交易后完成,以确保矿工在没有赢得比赛时同样需要支付费用,实施共识过程中,所述承诺写入后保持一段时间,从而确定所述承诺不会被删除而出现双重支出的分叉,使用所述令牌开采当前块时保证所述承诺不会被删除而保持不变,单个所述令牌对应单个身份,在同一块中支持两个不同的之前的分叉是非法的,采用惩罚机制对所述非法行为进行惩罚,所述惩罚机制包括没收所有押金,每个所述令牌只允许单个条目进入当前块的哈希竞争,采用三种方式中的一种运行记账权获胜竞争:第一种是邀请所有方进入竞赛,数量最小的获胜;第二种是设定一个随时间增加的获胜阈值,每个人都有权在比赛到达相应获胜阈值时宣布该轮胜利;第三种是获胜阈值不改变,随时间改变所述随机数的内容,直到获胜者出现;
第二步,创建利用随机数策略的哈希时间戳机制,所述创建利用随机数策略的哈希时间戳机制包括:在每一个区块中嵌入一系列有承诺但未透露的信息;根据定义的规则通知这些区块的创建者,将序列的连续值释放到一些普通可读的空间,将释放动作链接到各自的观测序列,所述规则包含后续的一系列事件和基于历史的一些公式化延迟;按照时间或者后期的特定事件触发释放一组先前的随机数;以释放随机数时间作为计时基础控制时间从而形成哈希时间戳,其中,多个节点提供哈希时间戳服务,所述服务为一种为了增强区块链而使得节点必需针对接收的费用而履行的服务,还可以通过节点进行大量的哈希运算控制时间从而形成哈希时间戳,即采用复杂顺序计算作为计时的基础和创建机制,设置一些基本顺序计算所花费时间的下限,设定一个节点用于获取一些最近获得的信息并指定比所述节点已经完成的哈希运算更多的哈希运算,而非直接获知该随机数,从而在块和块的创建之间施加一个最小的时间,任何比所述最小的时间长的顺序计算都不可能完成,同时也不能作为时间戳建立的基础,所述复杂顺序计算为多次迭代哈希,所述计算速度为400万次/秒,所述有承诺但未透露的信息包括隐藏迭代哈希的中间状态,并存储在块中,创建利用随机数策略的哈希时间戳机制允许计算机以不同的速率进行计算带来的变化,使用内置虚拟服务提供商作为标准为用户提供快速哈希服务,以减少计算机计算速率差异带来的影响,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏;
第三步,基于所形成的哈希时间戳,建立防止区块链分叉的机制,所述基于所形成的哈希时间戳,建立防止区块链分叉的机制包括:基于形成哈希时间戳,形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块;
第四步,基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链,所述基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链包括:确定生成新区块的交易和相应的哈希值;如果该当前区块之前的k个块均公布承诺的隐藏数值作为第一随机数,并将随机数添加到当前区块中,则将k个区块的随机数与当前区块的交易部分的哈希值进行哈希运算生成一个随机字符串N,所述随机字符串N用于构建下一个区块记账权限;如果当前区块之前的区块随机数的数量不足k个,需要进行迭代哈希来计算所述随机字符串N,保障区块确定之前,没有用户有足够的时间可以计算出所述随机字符串N,所述随机字符串N不需要出现在当前区块中,只要当前块包含所有的输入信息,那么所有人都可以自己计算所述第二随机数N;进行哈希竞争,胜利者可以创建新的区块。
2.根据权利要求1所述的一种区块链的创建方法,其特征在于:所述返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的,通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布,所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关,所述释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算,由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位,对于不执行检查多个分叉的区块的所述历史区块的创建者实施惩罚,如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块,如果赢家提供了合法区块后,区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群,对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有,对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
3.根据权利要求1所述的一种区块链的创建方法,其特征在于:创建所述新区块的具有记账权的一方在第一时间t1处提出关于新区块中的交易记录和交易的哈希H的声明,提示前k个区块的生成者将随机字符串公开,若某一时间点t2该所述区块之前的k个区块没有完全公布承诺的隐藏数值作为第一随机数,那么在t3时刻计算已经公布的所有随机数的迭代哈希值并放在当前区块上,新的区块确定之后计算出随机字符串N,新区块的生成者生成区块前购买令牌,所述令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息,若前k个块的生成者都将随机字符串公开,那么该随机字符串与哈希值H再次哈希后变成了下一块的加密谜题,并被放在将要构建的新块中完善新块;如果前k个块的生成者没有全部都将随机字符串公开,那么在第二时刻t2将这些值的哈希放置在将要构建的新块中,并且采用迭代哈希作为下一个区块公平竞赛的随机数,从而使得由于迭代次数的限制困难,当前块的生成者在第二时刻t2无法完成迭代哈希运算,从而使得在此后的第三时刻t3计算出新的哈希值,并放置在当前块中,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。
4.一种区块链的创建设备,其特征在于包括处理器,其中所述处理器可以用于:
第一步,创建区块链的权益证明机制,所述创建区块链的权益证明机制包括:通过代币购买令牌,所述令牌与购买者的特定身份绑定,并且由购买者在购买时确定令牌需要挖掘的区块编号;由前面的已有区块生成一个公平的随机数N,即比特串,与所述令牌进行哈希运算,获得的哈希运算值通过网络传播至各个节点从而决出下一个区块的记帐权,其中,所述代币购买令牌的交易需公布于区块链的某区块中,并与为争夺记账权而使用令牌的区块之间的距离足够大,从而在挖矿前成为已得到确认的信息,所述令牌所绑定的特定身份与作为交易目标的类型相同的身份相关联,所述令牌的代币价值超过一个确定的最小值,所述最小值包括为开采一个区块所付出的最高金额与已支付的任何押金的总和,为了提高创建和锁定令牌的效率,单个交易可以创建多个可以共同使用的令牌,所述多个令牌使用代币购买,实际使用所述令牌前,承诺在所述令牌索引标识的特定块进行挖掘,所述承诺作为所创建的同一交易的一部分或者在创建交易后完成,以确保矿工在没有赢得比赛时同样需要支付费用,实施共识过程中,所述承诺写入后保持一段时间,从而确定所述承诺不会被删除而出现双重支出的分叉,使用所述令牌开采当前块时保证所述承诺不会被删除而保持不变,单个所述令牌对应单个身份,在同一块中支持两个不同的之前的分叉是非法的,采用惩罚机制对所述非法行为进行惩罚,所述惩罚机制包括没收所有押金,每个所述令牌只允许单个条目进入当前块的哈希竞争,采用三种方式中的一种运行记账权获胜竞争:第一种是邀请所有方进入竞赛,数量最小的获胜;第二种是设定一个随时间增加的获胜阈值,每个人都有权在比赛到达相应获胜阈值时宣布该轮胜利;第三种是获胜阈值不改变,随时间改变所述随机数的内容,直到获胜者出现;
第二步,创建利用随机数策略的哈希时间戳机制,所述创建利用随机数策略的哈希时间戳机制包括:在每一个区块中嵌入一系列有承诺但未透露的信息;根据定义的规则通知这些区块的创建者,将序列的连续值释放到一些普通可读的空间,将释放动作链接到各自的观测序列,所述规则包含后续的一系列事件和基于历史的一些公式化延迟;按照时间或者后期的特定事件触发释放一组先前的随机数;以释放随机数时间作为计时基础控制时间从而形成哈希时间戳,其中,多个节点提供哈希时间戳服务,所述服务为一种为了增强区块链而使得节点必需针对接收的费用而履行的服务,还可以通过节点进行大量的哈希运算控制时间从而形成哈希时间戳,即采用复杂顺序计算作为计时的基础和创建机制,设置一些基本顺序计算所花费时间的下限,设定一个节点用于获取一些最近获得的信息并指定比所述节点已经完成的哈希运算更多的哈希运算,而非直接获知该随机数,从而在块和块的创建之间施加一个最小的时间,任何比所述最小的时间长的顺序计算都不可能完成,同时也不能作为时间戳建立的基础,所述复杂顺序计算为多次迭代哈希,所述计算速度为400万次/秒,所述有承诺但未透露的信息包括隐藏迭代哈希的中间状态,并存储在块中,创建利用随机数策略的哈希时间戳机制允许计算机以不同的速率进行计算带来的变化,使用内置虚拟服务提供商作为标准为用户提供快速哈希服务,以减少计算机计算速率差异带来的影响,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏;
第三步,基于所形成的哈希时间戳,建立防止区块链分叉的机制,所述基于所形成的哈希时间戳,建立防止区块链分叉的机制包括:基于形成哈希时间戳,形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块;
第四步,基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链,所述基于以上机制及随机数策略创建区块链上的每个新区块,形成区块链包括:确定生成新区块的交易和相应的哈希值;如果该当前区块之前的k个块均公布承诺的隐藏数值作为第一随机数,并将随机数添加到当前区块中,则将k个区块的随机数与当前区块的交易部分的哈希值进行哈希运算生成一个随机字符串N,所述随机字符串N用于构建下一个区块记账权限;如果当前区块之前的区块随机数的数量不足k个,需要进行迭代哈希来计算所述随机字符串N,保障区块确定之前,没有用户有足够的时间可以计算出所述随机字符串N,所述随机字符串N不需要出现在当前区块中,只要当前块包含所有的输入信息,那么所有人都可以自己计算所述第二随机数N;进行哈希竞争,胜利者可以创建新的区块。
5.根据权利要求4所述的一种区块链的创建设备,其特征在于:所述返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的,通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布,所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关,所述释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算,由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位,对于不执行检查多个分叉的区块的所述历史区块的创建者实施惩罚,如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块,如果赢家提供了合法区块后,区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群,对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有,对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
6.根据权利要求4所述的一种区块链的创建设备,其特征在于:创建所述新区块的具有记账权的一方在第一时间t1处提出关于新区块中的交易记录和交易的哈希H的声明,提示前k个区块的生成者将随机字符串公开,若某一时间点t2该所述区块之前的k个区块没有完全公布承诺的隐藏数值作为第一随机数,那么在t3时刻计算已经公布的所有随机数的迭代哈希值并放在当前区块上,新的区块确定之后计算出随机字符串N,新区块的生成者生成区块前购买令牌,所述令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息,若前k个块的生成者都将随机字符串公开,那么该随机字符串与哈希值H再次哈希后变成了下一块的加密谜题,并被放在将要构建的新块中完善新块;如果前k个块的生成者没有全部都将随机字符串公开,那么在第二时刻t2将这些值的哈希放置在将要构建的新块中,并且采用迭代哈希作为下一个区块公平竞赛的随机数,从而使得由于迭代次数的限制困难,当前块的生成者在第二时刻t2无法完成迭代哈希运算,从而使得在此后的第三时刻t3计算出新的哈希值,并放置在当前块中,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。
7.一种机器可读存储介质,其特征在于其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如权利要求1-3任一所述的区块链的创建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810874220.5A CN109039648B (zh) | 2018-08-03 | 2018-08-03 | 一种区块链的创建方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810874220.5A CN109039648B (zh) | 2018-08-03 | 2018-08-03 | 一种区块链的创建方法、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109039648A CN109039648A (zh) | 2018-12-18 |
CN109039648B true CN109039648B (zh) | 2021-09-03 |
Family
ID=64649078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810874220.5A Active CN109039648B (zh) | 2018-08-03 | 2018-08-03 | 一种区块链的创建方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109039648B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018347201B2 (en) | 2018-12-21 | 2020-08-27 | Advanced New Technologies Co., Ltd. | Blockchain data protection based on generic account model and homomorphic encryption |
CN109670956B (zh) * | 2018-12-21 | 2021-05-04 | 成都四方伟业软件股份有限公司 | 区块链交易方法及装置 |
MX2019008738A (es) | 2018-12-21 | 2019-09-09 | Alibaba Group Holding Ltd | Proteccion de datos de cadenas de bloques basada en modelo de cuenta generica y cifrado homomorfico. |
CN111382047B (zh) * | 2018-12-28 | 2023-07-14 | 中国电信股份有限公司 | 区块链的评测方法、装置及系统,和计算机可存储介质 |
CN109711844A (zh) * | 2018-12-31 | 2019-05-03 | 莆田市烛火信息技术有限公司 | 一种区块链网络的平行链管理方法 |
CN110060082A (zh) * | 2019-01-15 | 2019-07-26 | 加拿大辉莱广告公司 | 一种信息推广系统以及区块链代币的兑换方法 |
CN109787863A (zh) * | 2019-01-18 | 2019-05-21 | 杭州复杂美科技有限公司 | 分叉模拟方法、分叉测试方法、设备和存储介质 |
CN110008210B (zh) * | 2019-01-31 | 2023-06-30 | 创新先进技术有限公司 | 一种索引创建方法、装置及设备 |
CN110180188B (zh) * | 2019-05-22 | 2022-06-28 | 杭州复杂美科技有限公司 | 发牌方法、游戏方法、设备和存储介质 |
CN110233855A (zh) * | 2019-06-28 | 2019-09-13 | 浪潮卓数大数据产业发展有限公司 | 一种基于区块链的区域防暴力破解方法 |
CN110633142B (zh) * | 2019-07-30 | 2022-04-15 | 魏松杰 | 区块链的共识方法、管理节点、电子设备以及存储介质 |
CN111245569B (zh) * | 2020-01-14 | 2021-04-27 | 中国科学院软件研究所 | 一种基于节点唯一性标识排列的区块链网络隐蔽通信方法 |
CN111090891B (zh) * | 2020-03-23 | 2020-06-19 | 卓尔智联(武汉)研究院有限公司 | 一种基于区块链的公证人选取方法及系统 |
CN111488134B (zh) * | 2020-04-09 | 2021-04-27 | 堡垒科技有限公司 | 基于区块链的公开随机数生成方法及设备 |
CN111597264B (zh) * | 2020-05-15 | 2023-06-23 | 中国联合网络通信集团有限公司 | 一种区块链记账方法及装置 |
CN111641616B (zh) * | 2020-05-19 | 2023-02-03 | 全链通有限公司 | 区块链网络中记账权的处理方法、设备及存储介质 |
CN111885566A (zh) * | 2020-07-03 | 2020-11-03 | 易联众信息技术股份有限公司 | 一种基于物联网的区块链共识系统及共识方法 |
CN112256798A (zh) * | 2020-11-03 | 2021-01-22 | 公安部第三研究所 | 基于空间坐标引入实现去中心化区块链数据结构避免产生数据分叉的区块链系统及其方法 |
CN112927078A (zh) * | 2021-03-03 | 2021-06-08 | 关莉莉 | 区块链金融大数据分析处理系统及方法和交易平台系统 |
CN112989392B (zh) * | 2021-04-19 | 2022-08-30 | 河北科技大学 | 战场态势感知方法、系统和终端设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077674A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
WO2018067232A1 (en) * | 2016-10-03 | 2018-04-12 | Visa International Service Association | Network topology |
CN108306898A (zh) * | 2018-04-23 | 2018-07-20 | 北京奇虎科技有限公司 | 区块链攻击事件的感知方法、装置及计算设备 |
-
2018
- 2018-08-03 CN CN201810874220.5A patent/CN109039648B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018067232A1 (en) * | 2016-10-03 | 2018-04-12 | Visa International Service Association | Network topology |
CN107077674A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
CN108306898A (zh) * | 2018-04-23 | 2018-07-20 | 北京奇虎科技有限公司 | 区块链攻击事件的感知方法、装置及计算设备 |
Non-Patent Citations (1)
Title |
---|
Runtime verification for business processes utilizing the Bitcoin blockchain;Christoph Prybila;《Future Generation Computer Systems》;20170814;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109039648A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109039648B (zh) | 一种区块链的创建方法、设备及可读存储介质 | |
Yu et al. | Repucoin: Your reputation is your power | |
CN113794675B (zh) | 基于区块链和联邦学习的分布式物联网入侵检测方法及系统 | |
CN108352009B (zh) | 区块链生成装置、区块链生成方法、区块链验证装置、区块链验证方法以及计算机可读存储介质 | |
CN108292395B (zh) | 区块链生成装置、区块链生成方法、区块链验证装置、区块链验证方法以及计算机可读存储介质 | |
CN110097467B (zh) | 一种针对智能合约安全性和稳定性的侧链测试系统和方法 | |
Borkowski et al. | DeXTT: Deterministic cross-blockchain token transfers | |
KR102240939B1 (ko) | 트랜잭션 증명 방식의 합의 알고리즘이 적용된 블록체인 시스템 및 그 방법 | |
CN110517139B (zh) | 一种基于投票机制的联盟区块链分权共识方法 | |
CN111090892B (zh) | 一种基于vrf和门限签名的区块链共识方法和装置 | |
Courtois et al. | On subversive miner strategies and block withholding attack in bitcoin digital currency | |
US11381589B2 (en) | Systems and methods for distributed extended common vulnerabilities and exposures data management | |
CN110189128B (zh) | 一种用于区块快速生成的分布式共识的方法和装置 | |
CN111567009B (zh) | 声明式智能合约 | |
Chatterjee et al. | Ergodic mean-payoff games for the analysis of attacks in crypto-currencies | |
CN109245878B (zh) | 一种区块链的新区块生成方法、设备及可读存储介质 | |
Bartoletti et al. | A proof-of-stake protocol for consensus on bitcoin subchains | |
CN110298641B (zh) | 区块链的规则更新方法、装置、区块链节点及网络 | |
CN111034119A (zh) | 与包括一对耦合区块链的二进制区块链相关联的计算机实现的系统和方法 | |
Jia et al. | Delottery: a novel decentralized lottery system based on blockchain technology | |
Liu et al. | Decentralization is vulnerable under the gap game | |
TWM586416U (zh) | 基於區塊鏈技術實現交易的多中心分散驗證系統 | |
CN111865595A (zh) | 一种区块链的共识方法及装置 | |
CN111881147B (zh) | 计算任务的处理方法和装置、存储介质及处理器 | |
EP4046328A1 (en) | Computer-implemented method for reaching a distributed consensus in a blockchain network and node implementing the method |
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 |