CN111539816A - 一种区块链中确定交易标识的方法、装置和电子设备 - Google Patents

一种区块链中确定交易标识的方法、装置和电子设备 Download PDF

Info

Publication number
CN111539816A
CN111539816A CN202010102413.6A CN202010102413A CN111539816A CN 111539816 A CN111539816 A CN 111539816A CN 202010102413 A CN202010102413 A CN 202010102413A CN 111539816 A CN111539816 A CN 111539816A
Authority
CN
China
Prior art keywords
transaction
encryption
leaf nodes
content
taking
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.)
Granted
Application number
CN202010102413.6A
Other languages
English (en)
Other versions
CN111539816B (zh
Inventor
王晓亮
张亚宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Rivtower Technology Co Ltd
Original Assignee
Hangzhou Rivtower Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Rivtower Technology Co Ltd filed Critical Hangzhou Rivtower Technology Co Ltd
Priority to CN202010102413.6A priority Critical patent/CN111539816B/zh
Publication of CN111539816A publication Critical patent/CN111539816A/zh
Application granted granted Critical
Publication of CN111539816B publication Critical patent/CN111539816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本说明书一个或多个实施例公开了一种区块链中确定交易标识的方法、装置和电子设备,该方法包括:将交易拆分为多个交易内容,基于预设加密算法计算每个交易内容的加密值作为叶子节点,然后,根据多个叶子节点构建默克尔树,并将默克尔树的根节点对应的加密值作为交易的交易标识。这样,通过将交易拆分为多个交易内容的方式,解耦多个交易内容的加密值,以便于后续验证交易内容时可以减少数据传输量,保护交易内容中的隐私信息。

Description

一种区块链中确定交易标识的方法、装置和电子设备
技术领域
本文件涉及区块链技术领域,尤其涉及一种区块链中确定交易标识的方法、 装置和电子设备。
背景技术
区块链,是利用分布式账本技术解决多方信任问题的去中心化创新性的解 决方案,是当前社会的前沿技术。
在区块链技术中,用户通过发送交易来进行业务处理,区块链一般会返回 一个交易哈希作为交易的唯一性标识,以此来进行交易检索、交易结果查询等。 传统的交易哈希的计算方法是:将交易的所有交易内容简单拼接到一起,并采 用密码学的摘要算法,计算出这些交易内容的摘要,并以此作为交易哈希。
但是,考虑到传统计算交易哈希的方式是将所有交易内容简单拼接并序列 化,再计算哈希值,例如,可以简单地描述为交易哈希=Hash(input0+intput1 +output0+output1+output2)。这样,在后续对交易内容进行验证时,相应地 需要将交易所包含的所有交易内容揭示给验证方。而交易内容的数据量较大, 且可能部分存在隐私性,所以,传统的交易哈希确定方案会导致后续验证过程 的数据传输量较大,且可能泄露交易中的隐私信息。
发明内容
本说明书一个或多个实施例的目的是提供一种区块链中确定交易标识的 方法、装置和电子设备,以通过将交易拆分为多个交易内容的方式,解耦多个 交易内容的加密值,以便于后续验证交易内容时可以减少数据传输量,保护交 易内容中的隐私信息。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
第一方面,提出了一种区块链中确定交易标识的方法,应用于包含至少一 个交易的业务处理过程中,所述方法包括:
将任一交易拆分为多个交易内容,其中,每个交易内容对应所述交易中的 任一交易输入或交易输出;
基于预设加密算法计算每个交易内容的加密值,并作为叶子节点;
根据所述多个叶子节点构建默克尔树;
将所述默克尔树的根节点对应的加密值作为所述交易的交易标识。
第二方面,提出了一种区块链中确定交易标识的装置,应用于包含至少一 个交易的业务处理过程中,所述装置包括:
拆分模块,用于将任一交易拆分为多个交易内容,其中,每个交易内容对 应所述交易中的任一交易输入或交易输出;
计算模块,用于基于预设加密算法计算每个交易内容的加密值,并作为叶 子节点;
构建模块,用于根据所述多个叶子节点构建默克尔树;
确定模块,用于将所述默克尔树的根节点对应的加密值作为所述交易的交 易标识。
第三方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使 所述处理器执行:
将任一交易拆分为多个交易内容,其中,每个交易内容对应所述交易中的 任一交易输入或交易输出;
基于预设加密算法计算每个交易内容的加密值,并作为叶子节点;
根据所述多个叶子节点构建默克尔树;
将所述默克尔树的根节点对应的加密值作为所述交易的交易标识。
第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存 储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执 行时,使得所述电子设备执行:
将任一交易拆分为多个交易内容,其中,每个交易内容对应所述交易中的 任一交易输入或交易输出;
基于预设加密算法计算每个交易内容的加密值,并作为叶子节点;
根据所述多个叶子节点构建默克尔树;
将所述默克尔树的根节点对应的加密值作为所述交易的交易标识。
由以上本说明书一个或多个实施例提供的技术方案可见,将交易拆分为多 个交易内容,基于预设加密算法计算每个交易内容的加密值作为叶子节点,然 后,根据多个叶子节点构建默克尔树,并将默克尔树的根节点对应的加密值作 为交易的交易标识。这样,通过将交易拆分为多个交易内容的方式,解耦多个 交易内容的加密值,以便于后续验证交易内容时可以减少数据传输量,保护交 易内容中的隐私信息。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案, 下面将对一个或多个实施例或现有技术描述中所需要使用的附图作简单地介 绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对 于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这 些附图获得其他的附图。
图1a是本说明书实施例提供的一种区块链中确定交易标识的方法步骤示 意图之一。
图1b是本说明书实施例提供的一种区块链中确定交易标识的方法步骤示 意图之二。
图2a是本说明书的一个实施例提供的交易模型示意图。
图2b是本说明书的一个实施例提供的通过默克尔树计算交易哈希的原理 示意图。
图3是本说明书的一个实施例提供的区块链中确定交易标识的装置结构示 意图。
图4是本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合 本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术 方案进行清楚、完整地描述,显然,所描述的一个或多个实施例仅仅是本说明 书一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例, 都应当属于本文件的保护范围。
实施例一
参照图1a所示,为本说明书实施例提供的一种区块链中确定交易标识的 方法步骤示意图,应理解,该方法应用在包含至少一个交易的区块链业务处理 过程中,且其执行主体可以是区块链中确定交易标识的装置,该装置作为软件 功能模块通过智能合约部署在区块链网络中。所述方法可以包括以下步骤:
步骤102:将任一交易拆分为多个交易内容,其中,每个交易内容对应所 述交易中的任一交易输入或交易输出。
在本步骤中,应理解任一交易可以包含有交易输入和交易输出,将交易拆 分为多个交易内容,可以基于单个交易输入和交易输出进行拆分。例如,假设 一个交易有2个交易输入:input0和input1,3个交易输出:output0、output1 和output2,则可以将该交易拆分为5个交易内容1-5,其中,每个交易输入或 每个交易输出可分别对应一个交易内容。
步骤104:基于预设加密算法计算每个交易内容的加密值,并作为叶子节 点。
换言之,分别对每个交易输入及每个交易输出进行加密计算,得到对应交 易输入或交易输出的加密值。在这里,可以将计算得到的加密值作为叶子节点, 以便于后续构建默克尔树。
步骤106:根据所述多个叶子节点构建默克尔树。
上述叶子节点作为树高的最高层级,可以反向推导构建默克尔树,其中, 在该默克尔树中,叶子节点的层级最高而位于最底层,即越往树的上层遍历, 层级越低,越往树的下层遍历,层级越高。应理解,本步骤所构建的默克尔树 可以是二叉树也可以是多叉树,说明书实施例并不对此进行限定。
为了方便描述,本说明书以二叉树为例。具体地,分别基于计算得到的叶 子节点中相邻两个叶子节点进行加密计算,得到的加密值作为叶子节点所在层 级的上一层的叶子节点;其中,如果最高层级的叶子节点数目N为偶数,那么, 其上一层级的叶子节点数目为N/2,相邻叶子节点两两进行加密计算;如果最 高层级的叶子节点数目N为奇数,那么,其上一层级的叶子节点数目至少为 (N-1)/2,相邻叶子节点两两进行加密计算后,还余下一个最高层级的叶子 节点。默克尔树的构建可参照现有的方案实现,本说明书在此不作赘述。
在本说明书实施例中,可采用默克尔树的方式,根据所述多个叶子节点对 应的加密值分别向上逐层计算每层的叶子节点对应的加密值,直至计算出根节 点对应的加密值为止。其中,每一层级的叶子节点对应的加密值可以记录保存。
步骤108:将所述默克尔树的根节点对应的加密值作为所述交易的交易标 识。
在构建默克尔树之后,最终计算得到该默克尔树的根节点,即基于各层级 的叶子节点逐层计算得到的加密值。将该根节点对应的加密值作为本次交易的 交易标识以进行后续的验证。
在本说明书实施例中,所涉及的加密算法可以是各类可以应用在区块链网 络中的密码学算法,在此并不做限定。具体可以是对称加密算法、非对称加密 算法、哈希算法。其中,本说明书实施例所涉及方案主要以哈希算法为例。
相应地,所述预设加密算法为哈希算法;那么,可以将所述默克尔树的根 节点对应的哈希值作为所述交易的交易标识,也称为:交易哈希。
一种可实现的方案,本说明书实施例中确定的交易标识,可以用于对交易 的交易内容进行验证,因此,在基于步骤108确定出交易标识后,还可以进一 步基于交易标识对交易内容进行验证,具体参照图1b所示,包括:
步骤110:将所述交易中未携带隐私信息的交易输入和/或交易输出确定为 非隐私交易内容。
在本说明书实施例中,非隐私交易内容可以是某个交易输入或交易输出, 也可以是多个交易输入,或者多个交易输出,或者交易输入和交易输出的组合。 其实,在交易中全部是携带隐私信息的交易内容的情况下以及交易中全部是未 携带隐私信息的交易内容的情况下,非隐私交易内容可以根据用户的主观设定 来进行定义。
步骤112:将所述非隐私交易内容,以及与所述非隐私交易内容的加密值 具有证明关联关系的叶子节点对应的加密值,发送给验证方进行交易内容的验 证。
考虑到一般会将交易的所有内容及交易标识(这里可以是交易哈希)发送 给验证方进行验证,而交易中并不是所有内容都是希望公开的,存在一些隐私 信息不便泄露。针对传统的交易哈希的确定方式而言,只能公开交易的所有内 容,而本说明书实施例中的交易哈希是根节点的哈希值,因此,可将交易中非 隐私交易内容发送给验证方进行验证,同时,还需要发送与所述非隐私交易内 容的加密值具有证明关联关系的叶子节点对应的加密值,以实现对交易内容的 验证。
其中,与所述非隐私交易内容的加密值具有证明关联关系的叶子节点,包 括:所述非隐私交易内容的加密值作为叶子节点所在层的其它叶子节点;以及, 所述默克尔树的其它层中不能溯源到所述非隐私交易内容的叶子节点。由于交 易内容的数据量远大于哈希值,因此,仅将非隐私交易内容及部分哈希值发送 给验证方,从而,既可以减少数据传输量,又可以防止泄露隐私信息,保护隐 私交易内容。
应理解,验证方可以根据接收到的部分交易内容,以及哈希值,证明某部 分内容是包含在该交易中的,整个过程无需揭示交易的所有内容,因此,私密 性好,更加安全。
下面通过具体的实例对本说明书实施例所涉及的方案进行详述。
参照图2a所示,假设该交易涉及两个交易输入input0和input1以及三个 交易输出output0、output1和output2。
假设按照传统的方式为上述交易确定交易哈希,会将交易中所有的交易内 容进行简单拼接并序列化,再计算其总的额哈希值作为交易哈希,例如, Hash(input0+input1+output0+output1+output2)。这种确定交易哈希的方式简单粗 暴,且后续验证过程存在传输数据量大及揭示交易内容中隐私信息的风险。
而本说明书实施例的确定方案,会将上述交易的交易内容,按照交易输入、 交易输出的单位进行拆分,具体参照图2b所示,input0、input1、output0、output1 和output2分别进行哈希算法,对应得到Hash0、Hash1、Hash2、Hash3、Hash4。 将5个哈希值作为默克尔树的叶子节点,之后,构建完整的默克尔树。基于 Hash0和Hash1计算得到Hash01,基于Hash2和Hash3计算得到Hash23,进 一步,基于Hash01和Hash23计算得到Hash0123。然后,基于Hash0123和 Hash4计算得到RootHash。最后,将该RootHash作为交易的交易哈希。由此, 提出了一种新的交易哈希确定方案。
假设该交易为隐私交易,用户需要向外界证明output0是包含在交易中, 即可向外界揭示output0,以及与output0的加密值具有证明关联关系的叶子节 点对应的加密值,如图中Hash3、Hash01、Hash4以及RootHash。无需向外界 揭示交易的全部内容即可验证output0确实包含在该交易中,这样可以最大程 度保护交易内容的隐私性。
在本说明书实施例中,将交易拆分为多个交易内容,基于预设加密算法计 算每个交易内容的加密值作为叶子节点,然后,根据多个叶子节点构建默克尔 树,并将默克尔树的根节点对应的加密值作为交易的交易标识。这样,通过将 交易拆分为多个交易内容的方式,解耦多个交易内容的加密值,以便于后续验 证交易内容时可以减少数据传输量,保护交易内容中的隐私信息。
实施例二
参照图3所示,为本说明书实施例提供的区块链中确定交易标识的装置, 该装置300可以包括:
拆分模块302,用于将任一交易拆分为多个交易内容,其中,每个交易内 容对应所述交易中的任一交易输入或交易输出;
计算模块304,用于基于预设加密算法计算每个交易内容的加密值,并作 为叶子节点;
构建模块306,用于根据所述多个叶子节点构建默克尔树;
确定模块308,用于将所述默克尔树的根节点对应的加密值作为所述交易 的交易标识。
可选地,作为一个实施例,所述构建模块306,具体用于:
采用默克尔树的方式,根据所述多个叶子节点对应的加密值分别向上逐层 计算每层的叶子节点对应的加密值,直至计算出根节点对应的加密值为止。
在本说明书实施例的一种具体实现方式中,参照图3所示,所述 装置还包括:
揭示模块310,用于在对所述交易的交易内容进行验证时,将所述交易中 未携带隐私信息的交易输入和/或交易输出确定为非隐私交易内容;以及,用于
将所述非隐私交易内容,以及与所述非隐私交易内容的加密值具有证明关 联关系的叶子节点对应的加密值,发送给验证方进行交易内容的验证;
其中,与所述非隐私交易内容的加密值具有证明关联关系的叶子节点,包 括:
所述非隐私交易内容的加密值作为叶子节点所在层的其它叶子节点;
所述默克尔树的其它层中不能溯源到所述非隐私交易内容的叶子节点。
在本说明书实施例的再一种具体实现方式中,所述预设加密算法为哈希算 法;
所述确定模块308,具体用于:
将所述默克尔树的根节点对应的哈希值作为所述交易的交易哈希。
在本说明书实施例中,将交易拆分为多个交易内容,基于预设加密算法计 算每个交易内容的加密值作为叶子节点,然后,根据多个叶子节点构建默克尔 树,并将默克尔树的根节点对应的加密值作为交易的交易标识。这样,通过将 交易拆分为多个交易内容的方式,解耦多个交易内容的加密值,以便于后续验 证交易内容时可以减少数据传输量,保护交易内容中的隐私信息。
实施例三
图4是本说明书的一个实施例电子设备的结构示意图。请参考图4,在硬 件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。 其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory, RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个 磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以 是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总 线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但 并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码 包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提 供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在 逻辑层面上形成区块链中确定交易标识的装置。处理器,执行存储器所存放的 程序,并具体用于执行以下操作:
将任一交易拆分为多个交易内容,其中,每个交易内容对应所述交易中的 任一交易输入或交易输出;
基于预设加密算法计算每个交易内容的加密值,并作为叶子节点;
根据所述多个叶子节点构建默克尔树;
将所述默克尔树的根节点对应的加密值作为所述交易的交易标识。
上述如本说明书图1a和图2b所示实施例揭示的装置执行的方法可以应用 于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号 的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集 成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括 中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor, NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集 成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field -Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶 体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例 中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法 的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件 及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器, 可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介 质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成 上述方法的步骤。
该电子设备还可执行图1a和图2b的方法,并实现相应装置在图1a和图 2b所示实施例的功能,本说明书实施例在此不再赘述。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他 实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程 的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在本说明书实施例中,将交易拆分为多个交易内容,基于预设加密算法计 算每个交易内容的加密值作为叶子节点,然后,根据多个叶子节点构建默克尔 树,并将默克尔树的根节点对应的加密值作为交易的交易标识。这样,通过将 交易拆分为多个交易内容的方式,解耦多个交易内容的加密值,以便于后续验 证交易内容时可以减少数据传输量,保护交易内容中的隐私信息。
实施例四
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介 质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应 用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1a和图2b 所示实施例的方法,并具体用于执行以下方法:
将任一交易拆分为多个交易内容,其中,每个交易内容对应所述交易中的 任一交易输入或交易输出;
基于预设加密算法计算每个交易内容的加密值,并作为叶子节点;
根据所述多个叶子节点构建默克尔树;
将所述默克尔树的根节点对应的加密值作为所述交易的交易标识。
在本说明书实施例中,将交易拆分为多个交易内容,基于预设加密算法计 算每个交易内容的加密值作为叶子节点,然后,根据多个叶子节点构建默克尔 树,并将默克尔树的根节点对应的加密值作为交易的交易标识。这样,通过将 交易拆分为多个交易内容的方式,解耦多个交易内容的加密值,以便于后续验 证交易内容时可以减少数据传输量,保护交易内容中的隐私信息。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书 的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、 改进等,均应包含在本说明书的保护范围之内。
上述一个或多个实施例阐明的系统、装置、模块或单元,具体可以由计算 机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备 为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、 相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、 游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任 何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序 的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、 静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机 存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、 快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光 盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备 或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中 的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非 排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包 括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、 方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括 一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设 备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相 似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。 尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较 简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的 范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实 施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过 程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施 方式中,多任务处理和并行处理也是可以的或者可能是有利的。

Claims (10)

1.一种区块链中确定交易标识的方法,应用于包含至少一个交易的业务处理过程中,所述方法包括:
将任一交易拆分为多个交易内容,其中,每个交易内容对应所述交易中的任一交易输入或交易输出;
基于预设加密算法计算每个交易内容的加密值,并作为叶子节点;
根据所述多个叶子节点构建默克尔树;
将所述默克尔树的根节点对应的加密值作为所述交易的交易标识。
2.如权利要求1所述的方法,根据所述多个叶子节点构建默克尔树,具体包括:
采用默克尔树的方式,根据所述多个叶子节点对应的加密值分别向上逐层计算每层的叶子节点对应的加密值,直至计算出根节点对应的加密值为止。
3.如权利要求1所述的方法,在对所述交易的交易内容进行验证时,所述方法还包括:
将所述交易中未携带隐私信息的交易输入和/或交易输出确定为非隐私交易内容;
将所述非隐私交易内容,以及与所述非隐私交易内容的加密值具有证明关联关系的叶子节点对应的加密值,发送给验证方进行交易内容的验证;
其中,与所述非隐私交易内容的加密值具有证明关联关系的叶子节点,包括:
所述非隐私交易内容的加密值作为叶子节点所在层的其它叶子节点;
所述默克尔树的其它层中不能溯源到所述非隐私交易内容的叶子节点。
4.如权利要求1-3任一项所述的方法,所述预设加密算法为哈希算法;
将所述默克尔树的根节点对应的加密值作为所述交易的交易标识,具体包括:
将所述默克尔树的根节点对应的哈希值作为所述交易的交易哈希。
5.一种区块链中确定交易标识的装置,应用于包含至少一个交易的业务处理过程中,所述装置包括:
拆分模块,用于将任一交易拆分为多个交易内容,其中,每个交易内容对应所述交易中的任一交易输入或交易输出;
计算模块,用于基于预设加密算法计算每个交易内容的加密值,并作为叶子节点;
构建模块,用于根据所述多个叶子节点构建默克尔树;
确定模块,用于将所述默克尔树的根节点对应的加密值作为所述交易的交易标识。
6.如权利要求5所述的装置,所述构建模块,具体用于:
采用默克尔树的方式,根据所述多个叶子节点对应的加密值分别向上逐层计算每层的叶子节点对应的加密值,直至计算出根节点对应的加密值为止。
7.如权利要求5所述的装置,所述装置还包括:
揭示模块,用于在对所述交易的交易内容进行验证时,将所述交易中未携带隐私信息的交易输入和/或交易输出确定为非隐私交易内容;以及,用于
将所述非隐私交易内容,以及与所述非隐私交易内容的加密值具有证明关联关系的叶子节点对应的加密值,发送给验证方进行交易内容的验证;
其中,与所述非隐私交易内容的加密值具有证明关联关系的叶子节点,包括:
所述非隐私交易内容的加密值作为叶子节点所在层的其它叶子节点;
所述默克尔树的其它层中不能溯源到所述非隐私交易内容的叶子节点。
8.如权利要求5-7任一项所述的装置,所述预设加密算法为哈希算法;
所述确定模块,具体用于:
将所述默克尔树的根节点对应的哈希值作为所述交易的交易哈希。
9.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行:
将任一交易拆分为多个交易内容,其中,每个交易内容对应所述交易中的任一交易输入或交易输出;
基于预设加密算法计算每个交易内容的加密值,并作为叶子节点;
根据所述多个叶子节点构建默克尔树;
将所述默克尔树的根节点对应的加密值作为所述交易的交易标识。
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行:
将任一交易拆分为多个交易内容,其中,每个交易内容对应所述交易中的任一交易输入或交易输出;
基于预设加密算法计算每个交易内容的加密值,并作为叶子节点;
根据所述多个叶子节点构建默克尔树;
将所述默克尔树的根节点对应的加密值作为所述交易的交易标识。
CN202010102413.6A 2020-02-19 2020-02-19 一种区块链中确定交易标识的方法、装置和电子设备 Active CN111539816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010102413.6A CN111539816B (zh) 2020-02-19 2020-02-19 一种区块链中确定交易标识的方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010102413.6A CN111539816B (zh) 2020-02-19 2020-02-19 一种区块链中确定交易标识的方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN111539816A true CN111539816A (zh) 2020-08-14
CN111539816B CN111539816B (zh) 2022-07-15

Family

ID=71974795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010102413.6A Active CN111539816B (zh) 2020-02-19 2020-02-19 一种区块链中确定交易标识的方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN111539816B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
CN107358424A (zh) * 2017-06-26 2017-11-17 中国人民银行数字货币研究所 一种基于数字货币的交易方法和装置
CN110415117A (zh) * 2019-06-28 2019-11-05 阿里巴巴集团控股有限公司 基于区块链的交易处理方法、装置和电子设备
US20200042635A1 (en) * 2018-08-06 2020-02-06 Factom Transactional Sharding of Blockchain Transactions
CN113924747A (zh) * 2019-05-24 2022-01-11 区块链控股有限公司 区块链交易数据字段验证

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
CN107358424A (zh) * 2017-06-26 2017-11-17 中国人民银行数字货币研究所 一种基于数字货币的交易方法和装置
US20200042635A1 (en) * 2018-08-06 2020-02-06 Factom Transactional Sharding of Blockchain Transactions
CN113924747A (zh) * 2019-05-24 2022-01-11 区块链控股有限公司 区块链交易数据字段验证
CN110415117A (zh) * 2019-06-28 2019-11-05 阿里巴巴集团控股有限公司 基于区块链的交易处理方法、装置和电子设备

Also Published As

Publication number Publication date
CN111539816B (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN109409889B (zh) 一种区块链中的区块确定方法、装置及电子设备
AU2019101613A4 (en) Method and apparatus for processing transaction requests
US10855449B2 (en) Blockchain system and data storage method and apparatus
US11626972B2 (en) Data processing method and apparatus
CN111522833B (zh) 一种区块链中的mpt树的更新方法、装置和电子设备
CN110795501A (zh) 基于区块链的可验证声明的创建方法、装置、设备及系统
CN110020544B (zh) 区块链的区块中存储记录的哈希信息处理方法和系统
JP2020515197A (ja) ブロックデータ検証方法および装置
CN111092724B (zh) 一种区块链系统数字证书签发方法、设备、系统及介质
CN111461886B (zh) 区块链上不依赖智能合约的系统配置的管理方法和装置
CN115733763A (zh) 一种关联网络的标签传播方法、装置及计算机可读存储介质
CN110060055B (zh) 一种区块链中的数字资产托管方法、装置和电子设备
CN111539816B (zh) 一种区块链中确定交易标识的方法、装置和电子设备
CN113407156B (zh) 基于去中心化可验证延迟函数生成随机数的方法及系统
CN111464312B (zh) 一种区块链中账户地址的处理方法、装置和电子设备
CN112487497A (zh) 基于智能合约对链外文件的管理方法、装置和电子设备
CN112650715A (zh) 区块链系统中存储数据的方法、装置及相关产品
CN112465642A (zh) 一种基于状态通道实现区块链交易的方法和系统
CN111884808A (zh) 一种防止交易跨链重放的方法、装置及电子设备
CN111030826A (zh) 一种区块链网络的证书吊销方法、装置、及电子设备
CN114723445A (zh) 一种创建区块链母子链的方法和装置
CN113704249A (zh) 一种区块链中使用静态默克尔树的方法和装置
CN115118424A (zh) 一种可信区块链的联盟管理方法、装置及可信区块链系统
CN115757571A (zh) 一种基于图计算的多方计算方法及装置
CN111353886A (zh) 基于utxo模型的资产交易方法、装置和电子设备

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