CN106548349B - 交易信息验证方法及系统 - Google Patents
交易信息验证方法及系统 Download PDFInfo
- Publication number
- CN106548349B CN106548349B CN201610948632.XA CN201610948632A CN106548349B CN 106548349 B CN106548349 B CN 106548349B CN 201610948632 A CN201610948632 A CN 201610948632A CN 106548349 B CN106548349 B CN 106548349B
- Authority
- CN
- China
- Prior art keywords
- node
- transaction information
- verification
- nodes
- hash value
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 149
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000005065 mining Methods 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000009412 basement excavation Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (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)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种交易信息验证方法及系统,根据交易信息的至少一个哈希值和区块链网络中所有节点的哈希值来确定每个第二节点是否作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点,使得确定作为验证节点的第二节点的选择是随机的,没有规律可循的,确定作为挖矿节点的第二节点是根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过,防止了恶意造假、作弊的可能性,而且无需每个节点都对交易信息进行验证,降低了交易信息验证的工作量。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种交易信息验证方法及系统。
背景技术
区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,可以自动执行智能合约,无需任何中心化机构的审核。
在区块链网络上,为了保证所有交易信息的有效性,每个节点接收到交易信息之后,都要对交易信息进行验证,只有通过验证的交易,该节点才会将它传播给与其连通的节点,否则就丢弃交易信息。
但是,由于对于每一笔交易信息,每一个节点都要对交易信息进行验证,当区块链网络中节点数量非常多时,这个过程会产生相当大的工作量,对节点造成了很大的压力。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的交易信息验证方法和相应的交易信息验证系统。
根据本发明的一个方面,提供了一种交易信息验证方法,方法包括:
第一节点在产生交易后向区块链网络中的多个第二节点直接或间接发送交易信息,以使每个第二节点利用至少一种哈希算法计算交易信息的至少一个哈希值;
每个第二节点根据交易信息的至少一个哈希值和预先计算的所有节点的哈希值,确定是否作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点;
其中,确定作为验证节点的第二节点对交易信息进行验证得到签名信息,并将签名信息添加至交易信息,向区块链网络中确定作为挖矿节点的第二节点直接或间接发送添加签名信息后的交易信息;
确定作为挖矿节点的第二节点根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过。
根据本发明的另一方面,提供了一种交易信息验证系统,系统包括:位于区块链网络中的第一节点和多个第二节点;
第一节点,用于在产生交易后向区块链网络中的多个第二节点直接或间接发送交易信息,以使每个第二节点利用至少一种哈希算法计算交易信息的至少一个哈希值;
每个第二节点,用于根据交易信息的至少一个哈希值和所有节点的哈希值,确定是否作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点;
其中,确定作为验证节点的第二节点,用于对交易信息进行验证得到签名信息,并将签名信息添加至交易信息,向区块链网络中确定作为挖矿节点的第二节点直接或间接发送添加签名信息后的交易信息;
确定作为挖矿节点的第二节点,用于根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过。
根据本发明提供的方案,根据交易信息的至少一个哈希值和区块链网络中所有节点的哈希值来确定每个第二节点是否作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点,使得确定作为验证节点的第二节点的选择是随机的,没有规律可循的,确定作为挖矿节点的第二节点是根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过,防止了恶意造假、作弊的可能性,而且无需每个节点都对交易信息进行验证,降低了交易信息验证的工作量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的交易信息验证方法的流程图;
图2示出了根据本发明另一个实施例的交易信息验证方法的流程图;
图3示出了根据本发明一个实施例的交易信息验证系统的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的交易信息验证方法的流程图。如图 1所示,该方法包括以下步骤:
步骤S101,第一节点在产生交易后向区块链网络中的多个第二节点直接或间接发送交易信息,以使每个第二节点利用至少一种哈希算法计算交易信息的至少一个哈希值。
本发明实施例中的第二节点指能够接收到第一节点发送的交易信息的节点。
当在第一节点上产生交易后,第一节点可以通过直接或间接方式将交易信息发送给区块链网络中的多个第二节点,其中,第一节点向区块链网络中的多个第二节点直接发送交易信息指第一节点向与其具有直接连通关系的多个第二节点发送交易信息,第一节点向区块链网络中的多个第二节点间接发送交易信息指第一节点向与其具有间接连通关系的多个第二节点发送交易信息,举例说明,区块链网络中包括节点A、B、C、D、E,节点A与节点B、 C连通,节点B与节点D、E连通,节点A向节点B、C发送交易信息为直接发送,节点A向节点D、E发送交易信息为间接发送。
每个第二节点在接收到交易信息后,利用至少一种哈希算法计算交易信息的至少一个哈希值,本发明实施例中每个第二节点利用多种哈希算法计算交易信息的哈希值,可以提高该第二节点被用于验证交易信息的概率,以及提高验证的准确度。
步骤S102,每个第二节点根据交易信息的至少一个哈希值和预先计算的所有节点的哈希值,确定是否作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点。
每个第二节点在计算得到交易信息的至少一个哈希值后,可以根据交易信息的至少一个哈希值和所有节点的哈希值,来确定其是否能够作为验证交易信息的验证节点,利用本方法可以最终得到交易信息的每个哈希值对应的验证节点。
具体地,接入区块链网络的每个节点均有唯一的节点ID,节点的哈希值可以是节点利用哈希算法对节点ID进行哈希处理得到的,由于每个节点的节点ID是唯一的,因此,节点的哈希值也是唯一的。区块链网络中的所有节点是相连通的,区块链网络中的每个节点在计算各自的哈希值后,可以将其哈希值广播至区块链网络中,这样,区块链网络中的每个节点可以获知区块链网络中其他节点的哈希值,当有新的节点接入区块链网络时,这个新的节点将会利用哈希算法对节点ID进行哈希处理得到该节点的哈希值,并通过直接或间接发送的方式通知给区块链网络中的其他节点。
步骤S103,确定作为验证节点的第二节点对交易信息进行验证得到签名信息,并将签名信息添加至交易信息,向区块链网络中确定作为挖矿节点的第二节点直接或间接发送添加签名信息后的交易信息。
在得到交易信息的每个哈希值对应的验证节点后,可以由验证节点对交易信息进行验证,这里对交易信息进行验证主要是为了防止一些恶意节点产生恶意的交易信息,给用户造成损失。验证节点在对交易信息验证通过后,会对交易信息进行签名得到签名信息,并将该签名信息添加至交易信息中,然后将添加签名信息后的交易信息直接或间接发送至区块链网络中确定作为挖矿节点的第二节点。
步骤S104,确定作为挖矿节点的第二节点根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过。
确定作为验证节点的第二节点在对交易信息验证通过后,会对交易信息进行签名处理,确定作为挖矿节点的第二节点可以根据交易信息对应的验证节点的签名数量来判断交易信息验证是否通过。
根据本发明上述实施例提供的方法,根据交易信息的至少一个哈希值和区块链网络中所有节点的哈希值来确定每个第二节点是否作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点,使得确定作为验证节点的第二节点的选择是随机的,没有规律可循的,确定作为挖矿节点的第二节点是根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过,防止了恶意造假、作弊的可能性,而且无需每个节点都对交易信息进行验证,降低了交易信息验证的工作量。
图2示出了根据本发明另一个实施例的交易信息验证方法的流程图。如图2所示,该方法包括以下步骤:
步骤S200,计算区块链网络中所有节点的哈希值,并将节点的哈希值映射到环形哈希空间。
接入区块链网络的每个节点均有唯一的节点ID,节点的哈希值可以是节点利用哈希算法对节点ID进行哈希处理得到的,由于每个节点的节点ID是唯一的,因此,节点的哈希值也是唯一的。区块链网络中的所有节点是相连通的,因此,区块链网络中的每个节点可以获知区块链网络中其他节点的哈希值,当有新的节点接入区块链网络时,这个新的节点将会利用哈希算法对节点ID进行哈希处理得到该节点的哈希值,并通过直接或间接发送的方式通知给区块链网络中的其他节点。
区块链网络中每个节点在计算各自的哈希值后,将各自节点的哈希值映射到环形哈希空间,其中,环形哈希空间是由哈希值构成的。
步骤S201,第一节点在产生交易后向区块链网络中的多个第二节点直接或间接发送交易信息,以使每个第二节点利用至少一种哈希算法计算交易信息的至少一个哈希值,并将交易信息的至少一个哈希值映射到环形哈希空间。
本发明实施例中的第二节点指能够接收到第一节点发送的交易信息的节点。
当在第一节点上产生交易后,第一节点可以通过直接或间接方式将交易信息发送给区块链网络中的多个第二节点,其中,第一节点向区块链网络中的多个第二节点直接发送交易信息指第一节点向与其具有直接连通关系的多个第二节点发送交易信息,第一节点向区块链网络中的多个第二节点间接发送交易信息指第一节点向与其具有间接连通关系的多个第二节点发送交易信息,举例说明,区块链网络中包括节点A、B、C、D、E,节点A与节点B、 C连通,节点B与节点D、E连通,节点A向节点B、C发送交易信息为直接发送,节点A向节点D、E发送交易信息为间接发送。
每个第二节点在接收到交易信息后,利用至少一种哈希算法计算交易信息的至少一个哈希值,本发明实施例中每个第二节点利用多种哈希算法计算交易信息的哈希值,可以提高该第二节点被用于验证交易信息的概率,以及提高验证的准确度。每个第二节点在计算得到交易信息的至少一个哈希值后,将交易信息的至少一个哈希值映射到环形哈希空间。
步骤S202,针对交易信息的每个哈希值,判断第二节点在环形哈希空间中是否为与交易信息的哈希值相邻的节点,若是,则执行步骤S203;若否,则执行步骤S207。
在将交易信息的哈希值映射到环形哈希空间后,每个第二节点将针对交易信息的每个哈希值,判断第二节点在环形哈希空间中是否为与交易信息的哈希值相邻的节点,具体地,第二节点可以在环形哈希空间中顺时针或者逆时针查找与其哈希值相邻的哈希值是否为交易信息的哈希值,从而确定第二节点在环形哈希空间中是否为与交易信息的哈希值相邻的节点。
步骤S203,确定第二节点能够作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点。
在判断出第二节点在环形哈希空间中为与交易信息的哈希值相邻的节点,则可以确定第二节点能够作为验证交易信息的验证节点,利用本方法可以最终得到交易信息的每个哈希值对应的验证节点。
步骤S204,确定作为验证节点的第二节点对交易信息进行验证得到签名信息,并将签名信息添加至交易信息,向区块链网络中确定作为挖矿节点的第二节点直接或间接发送添加签名信息后的交易信息。
在得到交易信息的每个哈希值对应的验证节点后,可以由验证节点对交易信息进行验证,这里对交易信息进行验证主要是为了防止一些恶意节点产生恶意的交易信息,给用户造成损失。验证节点在对交易信息验证通过后,会利用私钥对交易信息进行签名得到签名信息,并将该签名信息添加至交易信息中,然后将添加签名信息后的交易信息直接或间接发送至区块链网络中的确定作为挖矿节点的第二节点。对于验证未通过的交易信息,可以直接丢弃。
在本发明实施例中,验证节点可以是多个,例如,验证节点A、B、C,验证节点A对交易信息进行验证并验证通过后,会将添加签名信息后的交易信息直接或间接发送给区块链网络中其他的第二节点,然而,区块链网络中其他的第二节点可能为验证节点B、C,这样,验证节点B、C所接收到的是包含有签名信息的交易信息,为了避免重复签名给挖矿节点造成的错误判定验证通过的节点的数量,在本发明中,验证节点在对交易信息进行验证之前,可以先判断接收到的交易信息中是否包含签名信息;若是,则删除签名信息。
步骤S205,确定作为挖矿节点的第二节点根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过。
在本发明的一种可选实施方式中,可以采用如下方法来判断交易信息验证是否通过:确定作为挖矿节点的第二节点通过判断签名数量是否超过预设阈值,来确定交易信息验证是否通过。
具体地,区块链网络中的每个节点都存储有区块链网络中其他节点的哈希值,因此,确定作为挖矿节点的第二节点可以根据交易信息的哈希值和区块链网络中的每个节点的哈希值确定出作为验证节点的第二节点,也就是说,从区块链网络中的节点确定用于验证交易信息的第二节点。确定作为挖矿节点的第二节点可以利用公钥来对交易信息中的签名信息进行验证,以确定签名数量,其中,签名数量对验证通过的节点的数量相对应,并判断签名数量是否超过预设阈值,若签名数量超过预设阈值,则可以确定交易信息验证通过;若签名数量未超过预设阈值,则可以确定交易信息验证未通过。
其中,预设阈值根据区块链网络中所有节点的数量确定。区块链网络中节点的数量是动态变化的,因此,预设阈值可以根据区块链网络中节点的总数量动态变化。当然,还可以将预设阈值设定为固定值,这里不做具体限定。
在本发明的另一种可选实施方式中,可以采用如下方法来判断交易信息验证是否通过:确定作为挖矿节点的第二节点通过判断签名数量在验证节点的数量中的占比是否超过预设占比值来确定交易信息验证是否通过。
在步骤S203中,得到交易信息的每个哈希值对应的验证节点,从而可以确定验证节点的数量,在本实施方式中,可以设定签名数量占验证节点的数量的比值,其中,签名数量对验证通过的节点的数量相对应,也就是,设定验证通过的节点数量与验证节点的数量的比值,例如,设定预设占比值为 70%,也就是说,签名数量与验证节点的数量的比值超过70%时,交易信息验证才通过,如果小于70%,则交易信息验证不通过。
步骤S206,在确定交易信息验证通过之后,挖矿节点将交易信息打包至区块链中。
在确定交易信息验证通过后,挖矿节点需要将交易信息打包至区块链中,这样区块链网络中的其他节点可以直接存储交易信息,而无需再对交易信息进行验证,节省了验证次数。
步骤S207,第二节点将交易信息直接或间接发送给区块链网络中其他的第二节点。
若判断出第二节点在环形哈希空间中不是与交易信息的每个哈希值相邻的节点,第二节点将交易信息直接或间接发送给区块链网络中其他的第二节点。由区块链网络中其他的第二节点确定是否作为验证交易信息的验证节点。
根据本发明上述实施例提供的方法,根据交易信息的至少一个哈希值和区块链网络中所有节点的哈希值来确定每个第二节点是否作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点,使得确定作为验证节点的第二节点的选择是随机的,没有规律可循的,确定作为挖矿节点的第二节点是根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过,防止了恶意造假、作弊的可能性,而且无需每个节点都对交易信息进行验证,降低了交易信息验证的工作量。
图3示出了根据本发明一个实施例的交易信息验证系统的结构框图。如图3所示,该系统300包括:位于区块链网络中的第一节点310和多个第二节点320。
第一节点310,用于在产生交易后向区块链网络中的多个第二节点直接或间接发送交易信息,以使每个第二节点利用至少一种哈希算法计算交易信息的至少一个哈希值;
每个第二节点320,用于根据交易信息的至少一个哈希值和所有节点的哈希值,确定是否作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点;
其中,确定作为验证节点的第二节点,用于对交易信息进行验证得到签名信息,并将签名信息添加至交易信息,向区块链网络中确定作为挖矿节点的第二节点直接或间接发送添加签名信息后的交易信息;
确定作为挖矿节点的第二节点,用于根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过。
可选地,区块链网络中的每个节点将节点的哈希值映射到环形哈希空间。
每个第二节点进一步用于:将交易信息的至少一个哈希值映射到环形哈希空间;针对交易信息的每个哈希值,判断第二节点在环形哈希空间中是否为与交易信息的哈希值相邻的节点,若是,则确定第二节点能够作为验证交易信息的节点。
可选地,每个第二节点进一步用于:在判断出第二节点在环形哈希空间中不是与交易信息的每个哈希值相邻的节点的情况下,将交易信息直接或间接发送给区块链网络中其他的第二节点。
可选地,确定作为验证节点的第二节点进一步用于:判断接收到的交易信息中是否包含签名信息,若是,则删除签名信息。
可选地,确定作为挖矿节点的第二节点进一步用于:将交易信息打包至区块链中。
可选地,确定作为挖矿节点的第二节点进一步用于:通过判断签名数量是否超过预设阈值,来确定交易信息验证是否通过。
可选地,预设阈值根据区块链网络中所有节点的数量确定。
可选地,确定作为挖矿节点的第二节点进一步用于:通过判断签名数量在验证节点的数量中的占比是否超过预设占比值来确定交易信息验证是否通过。
可选地,区块链网络中的每个节点计算各自的哈希值。
根据本发明上述实施例提供的系统,根据交易信息的至少一个哈希值和区块链网络中所有节点的哈希值来确定每个第二节点是否作为验证交易信息的验证节点,从而最终得到交易信息的每个哈希值对应的验证节点,使得确定作为验证节点的第二节点的选择是随机的,没有规律可循的,确定作为挖矿节点的第二节点是根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过,防止了恶意造假、作弊的可能性,而且无需每个节点都对交易信息进行验证,降低了交易信息验证的工作量。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的交易信息验证设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (16)
1.一种交易信息验证方法,其特征在于,所述方法包括:
第一节点在产生交易后向区块链网络中的多个第二节点直接或间接发送交易信息,以使每个第二节点利用至少一种哈希算法计算交易信息的至少一个哈希值;
每个第二节点根据所述交易信息的至少一个哈希值和预先计算的所有节点的哈希值,确定是否作为验证所述交易信息的验证节点,从而最终得到所述交易信息的每个哈希值对应的验证节点;
其中,确定作为验证节点的第二节点对所述交易信息进行验证得到签名信息,并将所述签名信息添加至交易信息,向区块链网络中确定作为挖矿节点的第二节点直接或间接发送添加签名信息后的交易信息;
确定作为挖矿节点的第二节点根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过;
所述方法还包括:验证节点为多个,在对交易信息进行验证之前,每个验证节点判断接收到的交易信息中是否包含签名信息;若是,则删除所述签名信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将预先计算的所有节点的哈希值和交易信息的至少一个哈希值映射到环形哈希空间;
所述每个第二节点根据所述交易信息的至少一个哈希值和预先计算的所有节点的哈希值,确定是否作为验证所述交易信息的验证节点进一步包括:
针对交易信息的每个哈希值,判断第二节点在所述环形哈希空间中是否为与交易信息的哈希值相邻的节点;
若是,则确定第二节点能够作为验证所述交易信息的验证节点。
3.根据权利要求2所述的方法,其特征在于,若判断出第二节点在所述环形哈希空间中不是与交易信息的每个哈希值相邻的节点,所述方法还包括:所述第二节点将所述交易信息直接或间接发送给区块链网络中其他的第二节点。
4.根据权利要求1-3任一项所述的方法,其特征在于,在确定交易信息验证通过之后,所述方法还包括:所述挖矿节点将所述交易信息打包至区块链中。
5.根据权利要求1所述的方法,其特征在于,所述确定作为挖矿节点的第二节点根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过进一步包括:
确定作为挖矿节点的第二节点通过判断签名数量是否超过预设阈值,来确定交易信息验证是否通过。
6.根据权利要求5所述的方法,其特征在于,所述预设阈值根据区块链网络中所有节点的数量确定。
7.根据权利要求1所述的方法,其特征在于,所述确定作为挖矿节点的第二节点根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过进一步包括:
确定作为挖矿节点的第二节点通过判断签名数量在验证节点的数量中的占比是否超过预设占比值来确定交易信息验证是否通过。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:计算区块链网络中所有节点的哈希值。
9.一种交易信息验证系统,其特征在于,所述系统包括:位于区块链网络中的第一节点和多个第二节点;
第一节点,用于在产生交易后向区块链网络中的多个第二节点直接或间接发送交易信息,以使每个第二节点利用至少一种哈希算法计算交易信息的至少一个哈希值;
每个第二节点,用于根据所述交易信息的至少一个哈希值和所有节点的哈希值,确定是否作为验证所述交易信息的验证节点,从而最终得到所述交易信息的每个哈希值对应的验证节点;
其中,确定作为验证节点的第二节点,用于对所述交易信息进行验证得到签名信息,并将所述签名信息添加至交易信息,向区块链网络中确定作为挖矿节点的第二节点直接或间接发送添加签名信息后的交易信息;
确定作为挖矿节点的第二节点,用于根据交易信息对应的验证节点的签名数量判断交易信息验证是否通过;
确定作为验证节点的第二节点进一步用于:在对交易信息进行验证之前,判断接收到的交易信息中是否包含签名信息,若是,则删除所述签名信息。
10.根据权利要求9所述的系统,其特征在于,区块链网络中的每个节点将节点的哈希值映射到环形哈希空间;
每个第二节点进一步用于:将交易信息的至少一个哈希值映射到环形哈希空间;针对交易信息的每个哈希值,判断第二节点在所述环形哈希空间中是否为与交易信息的哈希值相邻的节点,若是,则确定第二节点能够作为验证所述交易信息的节点。
11.根据权利要求10所述的系统,其特征在于,每个第二节点进一步用于:在判断出第二节点在所述环形哈希空间中不是与交易信息的每个哈希值相邻的节点的情况下,将所述交易信息直接或间接发送给区块链网络中其他的第二节点。
12.根据权利要求9-11任一项所述的系统,其特征在于,确定作为挖矿节点的第二节点进一步用于:将所述交易信息打包至区块链中。
13.根据权利要求9所述的系统,其特征在于,确定作为挖矿节点的第二节点进一步用于:通过判断签名数量是否超过预设阈值,来确定交易信息验证是否通过。
14.根据权利要求13所述的系统,其特征在于,所述预设阈值根据区块链网络中所有节点的数量确定。
15.根据权利要求9所述的系统,其特征在于,确定作为挖矿节点的第二节点进一步用于:通过判断签名数量在验证节点的数量中的占比是否超过预设占比值来确定交易信息验证是否通过。
16.根据权利要求9所述的系统,其特征在于,区块链网络中的每个节点计算各自的哈希值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610948632.XA CN106548349B (zh) | 2016-11-02 | 2016-11-02 | 交易信息验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610948632.XA CN106548349B (zh) | 2016-11-02 | 2016-11-02 | 交易信息验证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106548349A CN106548349A (zh) | 2017-03-29 |
CN106548349B true CN106548349B (zh) | 2020-09-29 |
Family
ID=58392634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610948632.XA Active CN106548349B (zh) | 2016-11-02 | 2016-11-02 | 交易信息验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106548349B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210083852A1 (en) | 2017-06-07 | 2021-03-18 | nChain Holdings Limited | Computer-implemented system and method for managing large blocks over a blockchain network |
CN107239954B (zh) * | 2017-06-07 | 2021-01-22 | 北京汇通金财信息科技有限公司 | 一种提高区块产生速度的方法及装置 |
CN109118214B (zh) * | 2017-06-26 | 2020-11-17 | 华为技术有限公司 | 运行智能合约的方法和装置 |
CN107294729B (zh) * | 2017-07-25 | 2020-03-13 | 中国联合网络通信集团有限公司 | 区块链中不同节点之间的通信方法及装置 |
KR20200102460A (ko) * | 2017-12-19 | 2020-08-31 | 알고란드 인코포레이티드 | 고속 파티션 탄력적 블록체인 |
CN108390848B (zh) * | 2017-12-29 | 2020-11-17 | 北京世纪互联宽带数据中心有限公司 | 一种信息见证方法及装置 |
CN109842606B (zh) * | 2018-02-24 | 2020-08-18 | 中国科学院计算技术研究所 | 基于一致性哈希算法的区块链共识算法和系统 |
CN110298657A (zh) * | 2018-03-21 | 2019-10-01 | 中思博安科技(北京)有限公司 | 一种区块链共识方法、相关装置及系统 |
CN108648081B (zh) * | 2018-05-07 | 2020-08-18 | 北京柏链基石科技有限公司 | 一种基于区块链的交易处理方法、装置和电子设备 |
CN108777704A (zh) * | 2018-05-16 | 2018-11-09 | 横琴密达科技有限责任公司 | 一种区块链共识方法及系统 |
CN108833484B (zh) * | 2018-05-22 | 2020-12-08 | 四川海纳仁东科技有限公司 | Pos机制下记账节点选择方法 |
CN108769054B (zh) * | 2018-06-14 | 2019-05-21 | 北京邮电大学 | 一种基于等值测试承诺的区块链交易验证方法及装置 |
CN108989288B (zh) * | 2018-06-20 | 2021-02-09 | 佛山科学技术学院 | 一种基于区块链的移动数字版权保护方法及装置 |
CN108898490A (zh) * | 2018-06-25 | 2018-11-27 | 北京奇虎科技有限公司 | 智能合约的执行方法、节点、系统、电子设备及存储介质 |
CN109126098A (zh) * | 2018-07-26 | 2019-01-04 | 深圳市梵高夫科技有限公司 | 基于区块链的竞赛仲裁方法、系统、核心节点及存储介质 |
CN109242500B (zh) * | 2018-09-20 | 2021-07-02 | 百度在线网络技术(北京)有限公司 | 区块链交易有效性验证方法、装置及存储介质 |
CN109472678B (zh) * | 2018-09-29 | 2022-08-30 | 刘建平 | 一种基于区块链的会计账本管理方法、电子装置及可读存储介质 |
CN111182009B (zh) * | 2018-11-09 | 2023-06-20 | 北京天德科技有限公司 | 一种区块链交易消息多汇点分发的方法 |
KR102206940B1 (ko) * | 2018-11-27 | 2021-01-26 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 스마트 계약을 사용하여 다자간 트랜잭션을 실행하는 방법 |
CN109783569A (zh) * | 2018-12-06 | 2019-05-21 | 深圳市极致游科技有限公司 | 一种基于区块链的账本记录方法、装置及终端设备 |
CN110223070B (zh) * | 2019-06-17 | 2020-12-11 | 北京瑞策科技有限公司 | 基于区块链节点网络的验证方法及装置 |
CN113055345B (zh) * | 2019-12-27 | 2022-11-08 | 中国移动通信集团湖南有限公司 | 基于区块链的数据安全认证方法及装置 |
CN111324633A (zh) * | 2020-02-18 | 2020-06-23 | 杭州复杂美科技有限公司 | 一种区块链交易分布式缓存方法和系统、设备及存储介质 |
CN112712366B (zh) * | 2021-01-11 | 2024-12-27 | 卓密密 | 区块执行方法、计算机设备和存储介质 |
CN112883038B (zh) * | 2021-04-29 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据管理方法、计算机及可读存储介质 |
CN112988852B (zh) * | 2021-05-11 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据管理方法、设备以及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488665A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种去中心化的交易方法 |
CN105808325B (zh) * | 2016-03-03 | 2019-04-12 | 布比(北京)网络技术有限公司 | 一种数据处理的方法及装置 |
-
2016
- 2016-11-02 CN CN201610948632.XA patent/CN106548349B/zh active Active
Non-Patent Citations (1)
Title |
---|
A Secure Sharding Protocol For Open Blockchains;Loi Luu等;《CCS’16 Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security》;20161031;17-30页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106548349A (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106548349B (zh) | 交易信息验证方法及系统 | |
US12147584B2 (en) | Source data secured on blockchains | |
CN108241968B (zh) | 前置机参与区块链共识的方法 | |
CN108023896B (zh) | 区块同步方法及系统 | |
US11128603B2 (en) | Method and system for providing a transaction forwarding service in blockchain implementations | |
CN110505305B (zh) | 一种区块链分片方法、装置及区块链系统 | |
CN108334753B (zh) | 盗版应用验证方法和分布式服务器节点 | |
TWI679550B (zh) | 帳號登入方法及裝置 | |
WO2020173287A1 (en) | Systems and methods for determining network shards in blockchain network | |
CN105653951B (zh) | 基于数字证书的信任等级来反病毒检查文件的系统和方法 | |
CN107911819B (zh) | 基于手机号码选取打包节点的方法及系统 | |
CN108737109A (zh) | 数据持有证明方法、装置及系统 | |
US11374766B2 (en) | Devices and methods for key attestation with multiple device certificates | |
CN111415161A (zh) | 基于区块链的数据验证方法、装置及计算机可读存储介质 | |
CN104933366A (zh) | 一种移动终端应用程序处理方法 | |
US11362836B2 (en) | Consensus protocol for permissioned ledgers | |
CN110704464B (zh) | 一种分叉问题的处理方法及装置 | |
CN110543488A (zh) | 一种验证节点更新方法、装置及设备 | |
JP2016524431A (ja) | 電子署名システム | |
CN111327565B (zh) | 区块链出块方法和系统 | |
CN111147477A (zh) | 一种基于区块链网络的验证方法及装置 | |
CN107506355B (zh) | 对象分组方法及装置 | |
CN108629040A (zh) | 数据持有证明方法、装置及系统 | |
CN109670956B (zh) | 区块链交易方法及装置 | |
US20220171789A1 (en) | Sgx based flow control for distributed ledgers |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200826 Address after: 215028 No. 88 Dongchang Road, Suzhou Industrial Park, Jiangsu Province Applicant after: JIANGSU PAY EGIS TECHNOLOGY Co.,Ltd. Applicant after: Jiangsu tongfudun blockchain Technology Co., Ltd Address before: A street in Suzhou City, Jiangsu Province Industrial Park No. 388 innovation park off No. 6 Building 5 floor Applicant before: JIANGSU PAY EGIS TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |