一种去中心化的交易方法
【技术领域】
[0001]本发明涉及互联网上的数字资产交易,特别涉及一种去中心化的快速交易验证与共识方法。
【背景技术】
[0002]自2009年比特币系统推出以来,以比特币及其衍生竞争币为代表的去中心化加密货币受到了广泛关注。以比特币为代表的分布式加密货币体系采用PoW(Proof of Work,俗称“挖矿”)机制进行交易验证与共识达成,存在如下问题:
[0003](1)交易确认时间长,区块产生速度在10分钟以上,交易确认时间更是长达一小时;
[0004](2)存在51%的攻击漏洞,即当攻击者掌握超过51%计算能力时,可恶意更改区块链信息;
[0005](3)用户需要下载整个区块链信息,充当矿工进行“挖矿”,浪费计算资源。
【发明内容】
[0006]鉴于上述问题,提出了本发明,以便提供一种克服上述问题或至少部分地解决上述问题的一种去中心化的交易方法。
[0007]作为本发明的一个方面,提供一种去中心化的交易方法,所述方法包括如下步骤:
[0008]验证节点获取待验证的交易;
[0009]信任节点向验证节点发送提议,提议中包含了该信任节点认为应该包含在账本中的所有交易;
[0010]验证节点检查收到的提议是否来自于信任节点列表中的合法信任节点,如果是则存储,如果不是则丢弃,最后根据存储的多个提议确定被认可的交易列表;
[0011]如果信任节点列表中的每笔交易都获得至少超过设定阈值数量的信任节点认可,则生成最终账本并对该账本达成共识。
[0012]进一步的,所述验证节点是指参与区块链验证的节点,可以是由发行机构部署的固定节点,或者是由商业伙伴部署的固定节点,或者是由用户节点竞争后动态进入或退出的节点。
[0013]进一步的,所述信任节点向验证节点发送提议,具体包括:所述信任节点根据自身掌握的交易信息对交易做出判断,并将判断结果加入到提议中进行发送,即提议中包含了所有待确认交易及其验证信息。
[0014]进一步的,每个验证节点都有一个信任节点邻居列表,其中包含了该验证节点信任的所有邻居节点,该验证节点的提议信息会发送给这些邻居节点,同时也会接收这些邻居节点发过来的提议信息。
[0015]进一步的,所有验证节点构成验证池,所述信任节点列表是验证池的一个子集,信任节点列表首先可由系统推荐产生,进而可由用户结合信誉度进行更新;每个验证节点都存储有一份自己的信任节点列表。
[0016]进一步的,所述信任节点为来自信任节点列表中活跃状态的信任节点。
[0017]进一步的,所述验证节点与所述信任节点间存在保活机制,长期不活跃的节点将被从信任节点列表删除;所述保活机制指节点间的通讯保持机制,用于探测对端是否处于活跃状态。
[0018]进一步的,每个验证节点设置有一个计数器,对于超时接收的信任节点的提议会被删除。
[0019]进一步的,所述方法还包括:本轮共识过程结束后,将上轮剩余的待确认交易以及新交易纳入待确认交易列表,开始新一轮共识过程。
[0020]根据本发明的另一方面,本发明还提供一种去中心化的交易方法,所述方法包括:[0021 ]验证节点获取待验证的交易;
[0022]来自信任节点列表中活跃状态的信任节点向验证节点发送提议;
[0023]验证节点根据收到的多个提议确定被认可的交易列表;
[0024]如果信任节点列表中的每笔交易都获得至少超过设定阈值数量的信任节点认可,则生成最终账本并对该账本达成共识。
[0025]本发明可有效缩短交易确认验证时间,有效避免了攻击漏洞,用户无需下载整个系统区块链进行“挖矿”验证,进而节约了大量的计算资源。
【附图说明】
[0026]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为本发明一个实施例的去中心化的交易方法的流程示意图。
[0028]图2为本发明另一个实施例的去中心化的交易方法的流程示意图。
【具体实施方式】
[0029]下面将参照附图更详细的描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明,而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能更透彻的理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
[0030]图1示出了根据本发明一个实施例的去中心化的交易方法的流程示意图。如图1所示,一种去中心化的交易方法,包括如下步骤:
[0031 ]步骤S110,验证节点获取待验证的交易。
[0032]验证节点,指参与区块链验证的节点,所有验证节点的集合构成验证池。验证节点产生方式可以有多种,比如可以是由发行机构部署的固定节点;由商业伙伴部署的固定节点;由用户节点竞争后动态进入/退出的节点。对于不符合验证节点条件的部分节点(比如低信誉度、低计算能力),可以将其从验证池中删除。验证节点获取需要确认的交易并存放在本地,或者说,验证节点本地存放了本轮共识过程需要确认的所有交易。
[0033]步骤S120,信任节点向验证节点发送提议,提议中包含了该信任节点认为应该包含在账本中的所有交易。
[0034]信任节点是指与验证节点能够保持正常通信、报文保活,积极参与验证节点交易验证,并且对交易的判断结果能够得到验证节点认可的节点,它可由合作伙伴或系统推荐并被采纳产生、或是公认的高可信权威节点等。信任节点根据自身掌握的双方额度、交易历史等信息对交易做出判断,并将判断结果加入到提议中进行发送,即提议中包含了所有待确认交易及其验证信息,比如“交易1认可”、“交易2不认可”等。比如根据自身掌握的交易余额,确认交易量是否超出了余额,如果超出了,则显然是不合理的交易,认为是错误交易。每个验证节点都有一个信任节点邻居列表,其中包含了该验证节点信任的所有邻居节点,该验证节点的提议信息会发送给这些邻居节点,同时也会接收这些邻居节点发过来的提议信息。
[0035]步骤S130,验证节点检查收到的提议是否来自于信任节点列表中的合法信任节点,如果是则存储,如果不是则丢弃,最后根据存储的多个提议确定被认可的交易列表。
[0036]信任节点列表,是验证池的一个子集,每个验证节点s维持一个信任列表,信任列表中的节点被s所信任,只有信任列表中的节点才能参与s的共识验证过程。信任节点列表首先可由系统推荐产生,进而可由用户结合信誉度等信息进行更新。每个验证节点都存储有一份自己的信任节点列表。
[0037]步骤S140,如果信任节点列表中的每笔交易都获得至少超过设定阈值数量的信任节点认可,则生成最终账本并对该账本达成共识。
[0038]验证节点认可的交易列表生成并不代表最终账本的形成以及共识的达成,账本共识只有在每笔交易都获得至少超过设定阈值数量的信任节点认可才能达成。比如设定认可度阈值为80%的话,则至少80%的信任节点认可,才形成新的账本并达成共识。只有当每笔待验证交易都有明确的验证结果时,本轮共识过程结束,比如如果认可度阈值设为80%,那么每笔交易要么认可度超过80%,要么不认可度超过80%,得到共识结果后,本轮共识结束,开始下一轮共识。
[0039]作为上述实施例的进一步改进,所述方法还包括:本轮共识过程结束后,将上轮剩余的待确认交易以及新交易纳入待确认交易列表,开始新一轮共识过程。
[0040]与图1所定义的各概念一致,在此基础上,图2示出了根据本发明一个实施例的去中心化的交易方法的流程示意图。如图2所示,一种去中心化的交易方法,包括如下步骤:[0041 ]步骤S210,验证节点获取待验证的交易。
[0042]本轮共识过程中新到的交易需要等待,在下次共识时再确认。共识过程是一个迭代过程,目的是最终形成全网认可的一个最新账本,其中存放所有经过验证的交易。
[0043]步骤S220,来自信任节点列表中活跃状态的信任节点向验证节点发送提议。
[0044]信任节点列表是验证池的一个子集,其信任节点首先来源于验证池。参与共识过
程的信任节点须处于活跃状态,验证节点与信任节点间存在保活机制,长期不活跃节点将被从信任节点列表删除。保活机制指节点间的通讯保持机制,用于探测对端是否处于活跃状态。在共识过程中,验证节点需要接收来自信任节点邻居的提议信息,为避免信息超时或信任节点离线长期等待,节点需要设置一个计数器,超时的信任节点可能会被删除,以免延长共识时间。
[0045]步骤S230,验证节点根据收到的多个提议确定被认可的交易列表。
[0046]步骤S240,如果信任节点列表中的每笔交易都获得至少超过设定阈值数量的信任节点认可,则生成最终账本并对该账本达成共识。
[0047]信任节点列表中所有活跃的信任节点均向验证节点发送提议。假设信任节点列表中活跃的信任节点个数为Μ(比如5个),本轮中交易认可阈值为N(百分比,比如50%),则每一个超过M*N个信任节点认可的交易将被本验证节点认可,并生成认可交易列表,本验证节点仍然在接收来自信任节点列表中信任节点的提议,并持续更新认可交易列表。系统为验证节点设置一个计数器,如果计数器时间已到,本信任节点需要发送自己的认可交易列表给验证节点,验证节点和信任节点是互为邻居、互相信任的,因此认可交易列表会互相发送。验证节点认可列表的生成并不代表最终账本的形成以及共识的达成,账本共识只有在每笔交易都获得至少超过设定阈值数量的信任节点列认可才能达成。换句话说,如果账本中每笔交易都获得至少超过设定阈值数量的信任节点列认可,则共识达成,交易验证结束,否则继续上述过程。
[0048]进一步的,交易认可阈值可以动态变化,比如如果本轮中交易认可阈值为50%,下一轮可以将其增加为60%。
[0049]上述两个实施例中的原理实质是一致的,因此各步骤环节的解释可以相互参考,在此不再赘述。
[0050]在本发明中,所述的交易是指数字资产所有权在密码学上的标识和转移,而不是商业本身的交易行为。
[0051 ] 通过上述实施例可以看出,本发明的去中心化的快速交易验证与共识方法比已有传统单区块链方法更高效,在保证交易验证安全可靠的前提下,提升了交易验证效率,表现在:
[0052]1)缩短交易确认验证时间,可以控制在1分钟内完成;
[0053 ] 2)不再采用“挖矿”验证机制,也就避免了 51 %攻击漏洞;
[0054]3)用户无需下载整个系统区块链进行“挖矿”验证,节约大量计算资源。
[0055]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0056]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0057]需要说明的是:
[0058]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定的编程语言。应当明白,可以利用各种编程语言实现在此描述的本
【发明内容】
。
[0059]本领域那些技术人员可以理解,可以对实施例中各模块进行自适应性的改变并且把它们设置在与该实施例不同的一个或多个设备中。除非另有明确陈述,本说明书中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0060]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。
[0061]以上所述仅为本发明之较佳实施例,并非用以限定本发明的权利要求保护范围。同时以上说明,对于相关技术领域的技术人员应可以理解及实施,因此其他基于本发明所揭示内容所完成的等同改变,均应包含在本权利要求书的涵盖范围内。
【主权项】
1.一种去中心化的交易方法,其特征在于,所述方法包括: 验证节点获取待验证的交易; 信任节点向验证节点发送提议,提议中包含了该信任节点认为应该包含在账本中的所有交易; 验证节点检查收到的提议是否来自于信任节点列表中的合法信任节点,如果是则存储,如果不是则丢弃,最后根据存储的多个提议确定被认可的交易列表; 如果信任节点列表中的每笔交易都获得至少超过设定阈值数量的信任节点认可,则生成最终账本并对该账本达成共识。2.根据权利要求1所述的一种去中心化的交易方法,其特征在于: 所述验证节点是指参与区块链验证的节点,可以是由发行机构部署的固定节点,或者是由商业伙伴部署的固定节点,或者是由用户节点竞争后动态进入或退出的节点。3.根据权利要求1所述的一种去中心化的交易方法,其特征在于,所述信任节点向验证节点发送提议,具体包括:所述信任节点根据自身掌握的交易信息对交易做出判断,并将判断结果加入到提议中进行发送,即提议中包含了所有待确认交易及其验证信息。4.根据权利要求1所述的一种去中心化的交易方法,其特征在于,每个验证节点都有一个信任节点邻居列表,其中包含了该验证节点信任的所有邻居节点,该验证节点的提议信息会发送给这些邻居节点,同时也会接收这些邻居节点发过来的提议信息。5.根据权利要求1所述的一种去中心化的交易方法,其特征在于: 所有验证节点构成验证池,所述信任节点列表是验证池的一个子集,信任节点列表首先可由系统推荐产生,进而可由用户结合信誉度进行更新;每个验证节点都存储有一份自己的信任节点列表。6.根据权利要求1所述的一种去中心化的交易方法,其特征在于: 所述信任节点为来自信任节点列表中活跃状态的信任节点。7.根据权利要求6所述的一种去中心化的交易方法,其特征在于: 所述验证节点与所述信任节点间存在保活机制,长期不活跃的节点将被从信任节点列表删除;所述保活机制指节点间的通讯保持机制,用于探测对端是否处于活跃状态。8.根据权利要求1所述的一种去中心化的交易方法,其特征在于:每个验证节点设置有一个计数器,对于超时接收的信任节点的提议会被删除。9.根据权利要求1所述的一种去中心化的交易方法,其特征在于,所述方法还包括: 本轮共识过程结束后,将上轮剩余的待确认交易以及新交易纳入待确认交易列表,开始新一轮共识过程。10.一种去中心化的交易方法,其特征在于,所述方法包括: 验证节点获取待验证的交易; 来自信任节点列表中活跃状态的信任节点向验证节点发送提议; 验证节点根据收到的多个提议确定被认可的交易列表; 如果信任节点列表中的每笔交易都获得至少超过设定阈值数量的信任节点认可,则生成最终账本并对该账本达成共识。
【专利摘要】本发明涉及互联网上的数字资产交易,提供一种去中心化的交易方法,所述方法包括:验证节点获取待验证的交易;信任节点向验证节点发送提议,提议中包含了该信任节点认为应该包含在账本中的所有交易;验证节点检查收到的提议是否来自于信任节点列表中的合法信任节点,如果是则存储,如果不是则丢弃,最后根据存储的多个提议确定被认可的交易列表;如果信任节点列表中的每笔交易都获得至少超过设定阈值数量的信任节点认可,则生成最终账本并对该账本达成共识。本发明可缩短交易确认验证时间,节约大量计算资源。
【IPC分类】G06Q20/06, G06Q40/04, G06Q20/38
【公开号】CN105488665
【申请号】CN201510830140
【发明人】蒋海, 翟海滨, 王璟
【申请人】布比(北京)网络技术有限公司
【公开日】2016年4月13日
【申请日】2015年11月25日