CN112184434A - 区块链系统、数据交互和处理方法、节点和存储介质 - Google Patents
区块链系统、数据交互和处理方法、节点和存储介质 Download PDFInfo
- Publication number
- CN112184434A CN112184434A CN202010908499.1A CN202010908499A CN112184434A CN 112184434 A CN112184434 A CN 112184434A CN 202010908499 A CN202010908499 A CN 202010908499A CN 112184434 A CN112184434 A CN 112184434A
- Authority
- CN
- China
- Prior art keywords
- contract
- data
- intelligent contract
- participant
- intelligent
- 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
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 24
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000012986 modification Methods 0.000 claims description 30
- 230000004048 modification Effects 0.000 claims description 30
- 230000004913 activation Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 20
- 230000009471 action Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 230000003213 activating effect Effects 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000003362 replicative effect Effects 0.000 claims description 4
- 238000013475 authorization Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Strategic Management (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请的区块链系统、数据交互和处理方法、节点和存储介质,通过部署在区块链的智能合约,以及相应在链外的合约参与方的链下合约代码之间的配合,使得每个合约参与方之间能就将数据加密而传输到智能合约中,从而以密文形式保存在区块链,解决现有技术的智能合约中明文数据的隐私泄露问题。这种模式可以实际运用于自然合同的电子化,因为自然合同中通常存在一些涉及商业机密的数据不便于明文展示在智能合约中,通过这种方法,既可以按照合同的执行去修改对应的数据,也能够将密文数据上传到智能合约中保证可追溯,在有冲突时可以进行验证。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及区块链系统、数据交互和处理方法、节点和存储介质。
背景技术
智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约在区块链中有普遍应用。
现有的智能合约中直接使用明文数据。由于区块链的共识机制,所有节点都可以重现区块链上的操作,区块链上智能合约里的数据对各个用户实际上都是公开的,但是某些数据实际上涉及隐私而不方便对所有用户公开,这就产生升了矛盾。即在满足区块链的可追溯特性时,也会失去数据的隐私性。
即使在智能合约中实现对涉及隐私数据的加密/解密,但由于智能合约是共识的特点,每个用户的节点都会知晓加密/解密的方式,而获得该隐私数据的明文,难以实现保护隐私的目的。而如果采用隐私保护的一些算法,例如在智能合约中使用同态加密算法。以同态加密算法中的加法同态举例来说,假设要计算明文“1”+明文“2”的结果,而1和2都加密而不可被获知,假设加密算法为f,则生成密文f(1)=x,f(2)=y,基于加法同态,那么我们直接在密文x和y进行特定的同态加密运算⊕,以实现对应明文相加的运算x⊕y=z,假设预先知道z的解密算法为g,通过解密z即g(z)得到1、2相加的结果明文“3”。运用这种方法,只需要在智能合约中保存数据密文,且在智能合约中可以执行同态加密算法允许的运算操作,即可实现数据的保密性。但这种方法同样存在问题:同态加密允许的运算符有限(如仅支持整数加法/乘法),无法简单的支持现有很多的代码逻辑;同态加密还存在性能问题,例如加法对应的同态加密运算符一次花费的操作远大于一次加法,会造成区块链性能下降。
因此,如何实现应用在使用智能合约的区块链中,将智能合约涉及的隐私数据不对某些用户公开的方案,已成为业界亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本申请的主要目的在于提供区块链系统、数据交互和处理方法、节点和存储介质,以解决现有技术中区块链智能合约的数据隐私问题。
为实现上述目的及其它相关目的,本申请第一方面提供一种区块链系统,包括:用于形成区块链的多个节点;部署在区块链的智能合约;所述智能合约包括:公示密文数据区以及执行队列;其中,所述智能合约在得到所述多个节点中与所述智能合约相关的各合约参与方的参与方节点的共识而激活;每个所述参与方节点,部署有链下合约代码;每个所述参与方节点使用合约密钥对与所述智能合约间交互数据的加密或解密;其中,每个参与方节点通过向所述智能合约提交经所述合约密钥加密的操作,以在智能合约的执行队列形成对应操作;每个参与方节点的链下合约代码监听所述执行队列中的操作并执行;在执行所述操作而产生修改数据时,参与方节点通过所述合约密钥对所述修改数据加密形成数据密文并传输给所述智能合约以展示于所述智能合约的公示密文区;当所述智能合约判断每个参与方节点提交至公示密文区中的数据密文一致时,接受所述修改数据于区块链。
在第一方面的某些实施例中,所述智能合约的激活方式包括:每个参与方节点生成声明并通过所述合约密钥加密为声明密文后传输至所述智能合约;其中,所述声明包括所述智能合约的链上合约代码、智能合约部署时的第一输入参数、链下合约代码、及链下合约代码部署时的第二输入参数;每个参与方节点通过与智能合约通信以检查其它参与方节点的声明,检查无误后发起智能合约的激活动作;在智能合约获得全部或预设数量以上的参与方节点都发起对所述智能合约的激活动作的情况下,所述智能合约激活。
在第一方面的某些实施例中,每个所述合约参与方具有表明其在区块链系统中身份的链上地址;和/或,每个所述参与方节点具有部署在区块链的用于代表所述链上地址与外部数据交互的代理地址,各合约参与方通过其代理地址向智能合约提交的声明经该代理地址对应的链上地址签名,以表示同意以代理地址代表该链上地址参与所述智能合约。
在第一方面的某些实施例中,所述代理地址配置在所述智能合约部署时的第一输入参数中。
在第一方面的某些实施例中,每个参与方节点使用的合约密钥相同。
在第一方面的某些实施例中,所述的区块链系统包括:第三方节点,用于在每个参与方节点对公示密文区中的数据密文中的修改数据不能达成共识而产生矛盾时,通过复现相关于所述修改数据的各参与方节点的操作以进行检查。
在第一方面的某些实施例中,所述通过复现相关于所述修改数据的各参与方节点的操作以进行检查,包括:获得对所述合约密钥的授权;通过所述合约密钥解密所述智能合约所得到的各合约参与方的声明密文,以得到声明的明文内容;检查当前区块链上的所述智能合约及第一输入参数是否与声明中的智能合约及第一输入参数一致;在检查所述智能合约及第一输入参数一致的情况下,按照各参与方节点的声明中的链下合约代码、及第二输入参数部署与链下合约代码逻辑相同的复现代码,并通过各所述复现代码执行所述执行队列中的操作以复现各参与方节点对所述数据密文中修改数据的共识过程;在复现的所述共识过程中,检查引起所述矛盾的原因。
在第一方面的某些实施例中,所述声明还包括:与所述链下合约代码逻辑相同或由所述链下合约代码作为的复现代码,用于在每个参与方节点对公示密文区中的数据密文中的修改数据不能达成共识而产生矛盾时,在所述智能合约复现各参与方节点对所述数据密文中修改数据的共识过程,以检查引起所述矛盾的原因。
为实现上述目的及其它相关目的,本申请第二方面提供一种数据交互方法,应用于区块链系统中与智能合约相关的合约参与方的参与方节点;其中,所述区块链系统对应的区块链部署有具有第一输入参数的智能合约并由相关的参与方节点激活,并具有用于与所述智能合约通信的链上地址;参与方节点还部署有链下合约代码;参与方节点间使用合约密钥进行与所述智能合约间交互数据的加密或解密;所述数据处理方法包括;参与方节点通过向所述智能合约提交经所述合约密钥加密的操作,以在智能合约的执行队列形成对应操作;参与方节点的链下合约代码监听所述执行队列中的操作并执行;在执行所述操作而产生修改数据时,参与方节点通过所述合约密钥对所述修改数据加密形成数据密文并传输给所述智能合约以展示于所述智能合约的公示密文区;当所述智能合约判断每个参与方节点提交至公示密文区中的数据密文一致时,接受所述修改数据于区块链。
在第二方面的某些实施例中,在所述智能合约激活的共识过程中,所述合约参与方执行包括:参与方节点生成声明;其中,所述声明包括所述智能合约的链上合约代码、智能合约部署时的第一输入参数、链下合约代码、及链下合约代码部署时的第二输入参数;参与方节点使用合约密钥加密所述声明后传输至所述智能合约;参与方节点与智能合约通信以检查其它参与方节点的声明,检查无误后发起智能合约的激活动作。
在第二方面的某些实施例中,所述参与方节点具有表明其在区块链系统中身份的链上地址;和/或,所述参与方节点使用部署在区块链的代理地址代表所述链上地址。
在第二方面的某些实施例中,所述代理地址配置在所述智能合约部署时的第一输入参数中。
在第二方面的某些实施例中,每个参与方节点使用的合约密钥相同。
为实现上述目的及其它相关目的,本申请第三方面提供一种基于智能合约的数据处理方法,应用于区块链系统中的节点;所述数据处理方法包括:部署具有第一输入参数的智能合约;其中,所述智能合约包括:公示密文数据区以及执行队列;所述智能合约在得到与所述智能合约相关的各合约参与方的参与方节点的共识而激活;所述智能合约接收参与方节点提交的经所述合约密钥加密的操作以在所述执行队列形成对应操作,以供其它参与方节点监听并执行;所述智能合约接收由参与方节点执行所述操作产生的修改数据的数据密文,展示于所述公示密文区;所述智能合约在判断每个参与方节点提交至公示密文区中的数据密文一致时,接受所述修改数据于区块链。
为实现上述目的及其它相关目的,本申请第四方面提供一种区块链系统中的节点,包括:通信器,用于与外部通信;存储器,用于存储计算机程序;处理器,用于运行所述计算机程序,以执行如第一方面任一项所述的数据交互方法;或执行第二方面任一项所述的数据处理方法。
为实现上述目的及其它相关目的,本申请第五方面提供一种计算机存储介质,存储有计算机程序,所述计算机程序被运行时如第一方面任一项所述的数据交互方法;或执行第二方面任一项所述的数据处理方法。
如上所述,本申请的区块链系统、数据交互和处理方法、节点和存储介质,通过部署在区块链的智能合约,以及相应在链外的合约参与方的链下合约代码之间的配合,使得每个合约参与方之间能就将数据加密而传输到智能合约中,从而以密文形式保存在区块链,解决现有技术的智能合约中明文数据的隐私泄露问题。这种模式可以实际运用于自然合同的电子化,因为自然合同中通常存在一些涉及商业机密的数据不便于明文展示在智能合约中,通过这种方法,既可以按照合同的执行去修改对应的数据,也能够将密文数据上传到智能合约中保证可追溯,在有冲突时可以进行验证。
附图说明
图1显示为本申请实施例中区块链系统的结构示意图。
图2显示为本申请实施例中智能合约的逻辑结构示意图。
图3显示为本申请实施例中智能合约激活的原理示意图。
图4显示为本申请实施例中区块链系统运行的原理示意图。
图5显示为本申请实施例中矛盾检查的原理示意图。
图6显示为本申请实施例中数据交互方法的流程示意图。
图7显示为本申请实施例中数据处理方法的流程示意图。
图8显示为本申请实施例中节点的结构示意图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其它优点及功效。
在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其它实施例,并且可以在不背离本公开的精神和范围的情况下进行模块或单元组成、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件、信息或参数,但是这些元件或参数不应当被这些术语限制。这些术语仅用来将一个元件或参数与另一个元件或参数进行区分。例如,第一元件可以被称作第二元件,并且类似地,第二元件可以被称作第一元件,而不脱离各种所描述的实施例的范围。第一元件和第二元件均是在描述一个元件,但是除非上下文以其它方式明确指出,否则它们不是同一个元件。取决于语境,比如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其它特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
区块链是一种分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。已知的区块链类型有公有链(Public blockchain)、私有链(Privateblockchain)及联盟链(Consortium blockchain)。
区块链是一种分布式的共享账本和数据库,由区块链系统中的各个节点在共识确认的机制下出块、更新。各个节点可以是服务器、服务器组、平板电脑、手机、个人计算机(Personal Computer,PC)、笔记本电脑等设备实现,或这些设备中的多种构成的分布式处理系统实现,节点间通过点对点网络通信连接以相互信息收发。
一个智能合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这些承诺的协议。具体来说,智能合约是区块链被称之为“去中心化的”重要原因,它允许在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。
智能合约包含了有关交易的所有信息,只有在满足要求后才会执行结果操作,其代码本身解释了参与方的相关义务。
在实际应用中,智能合约可用于交易两方/多方之间的任何交换行为,该智能合约的代码包含一些会触发合约自动执行的条件。智能合约已在各种区块链网络中得以实施,例如比特币网络和以太坊,其它场景例如选举、供应链优化、电子商务中也可以有效利用智能合约。
然而,现有的智能合约,在其共识过程中所涉及的数据皆为明文,这会导致数据相关的隐私信息对相关的合约参与方等相干方以外的不相干方泄露。且如前述背景技术所言,在智能合约中即使采用加密机制,但因为区块链的共识机制的特点,也就是区块链系统中各方包括不相干方都可以解密密文来得到明文,这样的加密就毫无意义。
鉴于此,本申请发明思想之一在于将对智能合约需处理数据的加/解密逻辑与智能合约分离,而由合约参与方等相干方在链下执行,从而使得不相干方在智能合约只能看到密文且无法获得加密/解密逻辑,有效保障数据隐私。
如图1所示,展示本申请实施例中的区块链系统的结构示意图。
所述区块链系统包括多个节点,通过共识形成区块链。所述区块链的类型可以是公链、私有链或联盟链等。
为了说明智能合约的原理,区块链上形成有至少一智能合约,在图中展示为A;节点B、C为分属于参与智能合约A的第一参与方和第二参与方的参与方节点,例如在实际应用中,第一参与方和第二参与方就某个交易合约形成对应的智能合约A并执行合约条款规定的交易操作。
在一些示例中,各合约参与方准备在区块链上表明其身份的链上地址,在与外部数据交互时可以使用。例如,节点A所对应第一参与方的第一链上地址,节点B所对应第二参与方的第二链上地址,以此类推。
在一些示例中,说明本申请实施例中链上地址的主要应用,其主要用于各合约参与方与合约交互(如在图2中新增操作至执行队列、提交数据修改至加密数据区)都要用各自的链上地址对交互签名,用于智能合约以及其它方之间相互确认身份,
在一些示例中,该智能合约可以部署于任意方,例如某个合约参与方的参与方节点上,在区块链系统中通过共识机制形成在区块链。在一些示例中,所述智能合约在部署时获得第一输入参数的输入,例如合约参与方的链上地址、转移金额等等。
在一些示例中,如图2所示,所述智能合约A包括:公示密文数据区、及执行队列。此外,所述智能合约还包含构造函数,而可具备在构造函数中初始化各参与方的链上地址的功能。其中,所述公示密文数据区可以用于向各区块链中各方展示参与方节点传输来的与智能合约相关的数据密文,而所述执行队列中可以列出需要执行的履行智能合约所规定的操作。
在一些示例中,各所述参与方具有对应所述智能合约的合约密钥,每个所述参与方节点使用合约密钥对与所述智能合约间交互数据的加密或解密。所述合约密钥用于防范对参与方以外的其它方的隐私泄露。为方便实现参与方之间的数据交互,各所述参与方之间的合约密钥可以是相同的。即例如第一参与方通过合约密钥将数据加密形成密文传输给智能合约,第二参与方可以读取该密文,并通过相同的合约密钥解密。当然,在其它实施例中,为达到更高的安全性高,也可以采用更加安全的加密安全机制,例如非对称加密等,即每个参与方具有各自的公私钥对,所述合约密钥可以是所述公私钥对实现,从而能实现公钥加密私钥解密、私钥签名公钥验签的更为安全的方案,并非以上述各参与方使用相同合约密钥为限。
每个所述参与方节点,部署有链下合约代码。在一些示例中,所述链下合约代码在部署时获得第二输入参数的输入。在一些示例中,所述链下代码合约是对应于所述智能合约的,可以执行例如监听并执行智能合约的执行序列中的操作等。在实际的实现方式中,如果用户已有现有智能合约X,但是它存在之前所说的隐私泄露的问题,则可以通过转化现有智能合约X的代码逻辑为对应的本申请实施例中的智能合约、以及对应部署在各参与方节点的链下合约代码,在执行相同的合约内容的情况下,还能防止隐私泄露。
在一些示例中,所述智能合约在得到所述多个节点中与所述智能合约相关的各合约参与方的参与方节点的共识而激活,激活后智能合约即可启用。
具体的,如图3所示,所述智能合约的激活方式包括:
每个参与方节点(例如图3中的参与方节点B和参与方节点C)生成声明并通过所述合约密钥加密为声明密文后传输至所述智能合约;其中,所述声明包括所述智能合约的链上合约代码、智能合约部署时的第一输入参数、链下合约代码、及链下合约代码部署时的第二输入参数。
每个参与方节点通过与智能合约通信以检查其它参与方节点的声明,检查无误后发起智能合约的激活动作。
在图3实施例中,由于只展示了节点A和节点B,故参与方节点A和B相互检查对方的声明;当然,在其它实施例中,如果参与方节点有更多个,例如A、B、C、D,4个,则每个参与方节点都检查其它3个参与方节点的声明。
在智能合约获得全部或预设数量以上的参与方节点都发起对所述智能合约的激活动作的情况下,所述智能合约激活。例如,在图3中,节点B和C检查对方的声明无误,而发起激活动作,智能合约由B、C的激活动作而正式激活;又或者,在其它实施例中,例如B、C、D、E,4个参与方节点,则每个参与方节点都检查其它3个参与方节点的声明无误时发起激活动作,智能合约由B、C、D、E的激活动作而正式激活;又或者,在其它实施例中,未必需要所有参与方节点激活动作就可以激活智能合约,例如超过1/2、2/3以上的参与方节点的激活动作,而将智能合约激活。
如图4所示,展示本申请实施例中区块链系统运行的原理示意图。
在本实施例中,所述智能合约已部署并被各个参与方节点所激活,例如智能合约A已由图示中的节点B、C激活。
运行过程包括:
每个参与方节点通过向所述智能合约提交经所述合约密钥加密的操作,以在智能合约的执行队列形成对应操作,图4中以单个参与方节点为例进行展示,例如节点B向智能合约A提交经所述合约密钥加密的操作D以在其执行队列A1中形成操作D的密文。
每个参与方节点的链下合约代码监听所述执行队列中的操作并执行,例如图4中节点C的链下合约代码E从执行队列A1中监听到了操作D(可通过合约密钥解密操作D的密文,得到操作D的明文),并执行操作D。
在执行所述操作而产生修改数据时,参与方节点通过所述合约密钥对所述修改数据加密形成数据密文并传输给所述智能合约以展示于所述智能合约的公示密文区;例如图4中,节点C通过合约密钥K加密修改数据X形成数据密文M,传输给智能合约A,以在公示密文区A2向其它参与方节点展示,在本实施例中,其它参与方节点仅有B。
当所述智能合约判断每个参与方节点提交至公示密文区中的数据密文一致时,接受所述修改数据于区块链。
例如图4中,节点B根据也监听操作D的密文,通过合约密钥K解密得到操作D,执行操作D并生成修改数据X,提交其X的数据密文N到智能合约A。当智能合约判断所有参与方上传同样的修改数据时则将接受该修改,例如本举例中只有节点B和节点C,若判断数据密文N和数据密文M一致,则接受对应的修改;反之,若存在节点提交的修改数据的数据密文与其它节点的数据密文不一致时,智能合约可判断不接受该修改。
也就是说,对修改数据的共识过程即为由各个合约参与方的节点执行监听自所述执行队列中的操作,并执行而得到相应的修改数据,并均将修改数据的数据密文向智能合约提交以供判断是否一致,该判断一致则认为该修改已被共识,从而接受该修改;若判断不一致,则表示该修改数据并不共识,则拒绝修改。
当各参与方节点对该修改数据存在不能达成共识而产生矛盾时,例如交易双方对某笔交易的交易金额不能达成共识等。在矛盾产生时,可以通过复现上述共识过程来检查矛盾所在位置。
在一些示例中,可以通过参与方节点以外的第三方来检查矛盾。相应的,所述区块链系统还可以包括第三方节点,用于在每个参与方节点对公示密文区中的数据密文中的修改数据不能达成共识而产生矛盾时,通过复现相关于所述修改数据的各参与方节点的操作以进行检查。
在具体实现中,如图5所示,展示本申请一种实施例中矛盾检查的原理示意图。在此实施例中,是通过第三方的第三方节点复现相关于所述修改数据的各参与方节点的操作以进行检查的。检查过程包括:
获得对所述合约密钥的授权。
例如在图5中,节点B、C之间就修改数据产生矛盾,通过第三方的节点D来进行检查。B、C中任一方可以将合约密钥K授权给节点D,图5中例示性地展示为节点B授权合约密钥给节点D。
通过所述合约密钥解密所述智能合约所得到的各合约参与方的声明密文,以得到声明的明文内容。
例如在图5中,节点D获取之前智能合约中节点B、C在例如激活智能合约时所发送的声明密文,其中声明的明文内容包含智能合约的链上合约代码和其部署时的第一输入参数、及链下合约代码和其部署时的第二输入参数,利用所述合约密钥K解开声明密文即可获得这些数据以用于模拟复现修改数据的共识过程。
检查当前区块链上的所述智能合约及第一输入参数是否与声明中的智能合约及第一输入参数一致。
此步骤是为了防范所获取的声明是被篡改过的、或者智能合约的版本更新过。
在检查所述智能合约及第一输入参数一致的情况下,按照各参与方节点的声明中的链下合约代码、及第二输入参数部署与链下合约代码逻辑相同或由所述链下合约代码作为的复现代码,并通过各所述复现代码执行所述执行队列中的操作以复现各参与方节点对所述数据密文中修改数据的共识过程。
在复现的所述共识过程中,检查引起所述矛盾的原因。
例如,节点D在通过链下合约代码、及第二输入参数来实现与链下合约代码逻辑功能相同或就是所述链下合约代码作为的复现代码,从而与所述智能合约来模拟执行例如前述S401~S403中执行队列中的操作,直至到矛盾处发现是哪一参与方的行为出现问题,以利于后续解决矛盾。
在实际应用场景中,如果参与方为进行实际合同交易的双方,则所述第三方可以是具有公信力的机构,例如法院、仲裁机构等。
在其它的一些示例中,如果在出现矛盾之后,对于智能合约中涉及的数据不需要再进行保密,则也可以通过智能合约来执行矛盾的检查。
在具体实现中,参与方节点发给智能合约的检查无误的声明中,还包括:与所述链下合约代码逻辑相同或由所述链下合约代码作为的复现代码,用于在每个参与方节点对公示密文区中的数据密文中的修改数据不能达成共识而产生矛盾时,在所述智能合约复现各参与方节点对所述数据密文中修改数据的共识过程,以检查引起所述矛盾的原因;通过智能合约代码来进行矛盾检查,相比于第三方检查会效率更高,但是公信力会相对弱,可以根据实际的合约场景加以选择。
在前述实施例中,合约参与方用链上地址表明其身份,而与智能合约或其它节点进行数据交互,但是,链上地址也有可能形成身份隐私的泄露。因此,在一些示例中,每个所述参与方节点具有部署在区块链的用于代表所述链上地址与外部数据交互的代理地址,各合约参与方通过其代理地址向智能合约提交的声明(如图3中声明密文中的声明)经该代理地址对应的链上地址签名,以表示同意以代理地址代表该链上地址参与所述智能合约。
例如在图3的激活方式中,节点B具有链上地址1,采用代理地址1来代表链上地址1向智能合约发出声明密文;节点C具有链上地址2,采用代理地址2来代表链上地址2向智能合约发出声明密文。
在一些示例中,所述代理地址可以配置在所述智能合约部署时的第一输入参数中。
通过一具体实例将上述实施例加以串联,以示例性地说明本申请实施例中区块链系统的具体应用场景。
例如,在工程建设领域的某项目设计阶段,项目开发方(甲方)与某设计方(乙方)签订了项目设计合同。合同中涉及到一些资金和项目相关的隐私敏感数据,原本使用智能合约明文公示,现在需要改成本申请上述实施例中区块链系统中的加密公示方式(见公示密文区域),甲方和乙方的参与方节点采用本方法改造,甲资金账户初始5万元、乙0元。
合约部署:
在区块链系统中,在有原智能合约的情况下,甲方可以将原智能合约的代码逻辑转换为区块链外的链下合约代码(如c代码);甲方准备仅包含公示密文区域和执行队列的智能合约,并部署智能合约到区块链,合约地址记为0xa;当然,在没有原智能合约的情况下,也可以直接建立智能合约和相关的链下合约代码。
甲、乙双方准备区块链上的链上地址(如甲方0x1,乙方0x2),当然也可以通过准备代理地址来加以匿名,为便于理解,本示例中不对代理地址的匿名方式进行举例。
甲方准备合约密钥QWER,并将合约密钥QWER告知乙方。
甲方将以上c代码、智能合约的链上地址、及合约密钥信息告知乙方,双方交换链上地址,且均部署链下合约代码即c代码。
合约激活:
甲、乙双方准备c代码及其第二输入参数、0xa的智能合约及其第一输入参数作为声明,用合约密钥QWER加密成声明密文,并上传到0xa的智能合约中。
甲、乙双方确认对方上传至0xa的智能合约中的声明无误,各自激活0xa的智能合约,0xa的智能合约被正式激活。
合约运行:
在一示例中,甲方上传“将甲资金账户金额转移10万元至乙方账户”的操作到0xa的智能合约的执行队列中(该操作用QWER加密),双方链下c代码监听到该操作(可通过各自的QWER解密得到操作内容)并执行;但是,由于甲资金账户初始为5万,c代码判断资金不够,未发生变化。
又或者在一示例中,甲方上传“将甲资金账户金额转移3万至乙方账户”的操作到0xa的执行队列中(该操作用QWER加密),双方链下c代码监听到该操作并执行,甲资金账户由5万转出3万变为2万,乙资金账户由0转入3万变为3万。甲、乙双方分别将2万和3万的余额值用合约密钥QWER加密后上传到0xa的智能合约的公示密文区域中;之后,0xa的智能合约判断双方上传修改数据一致,同意修改。
又或者在一示例中,甲方与乙方协商将建筑面积从11100平方米修改为11230平方米,乙方上传加密后的修改操作至0xa的智能合约的执行队列中,随后甲方上传了同意此次修改的请求至执行队列中。乙方由于某种原因停止了其节点上链下的c代码,只有甲方的c代码监听到此次的操作并将操作修改为11230数值的修改数据加密后的上传到0xa的智能合约的公示密文区域中。此时0xa的智能合约判断只有一方对数据进行修改,另一方长时间未进行一致的修改,状态冻结。
进一步的示例中,甲方由于该状态冻结的情况引入第三方(例如仲裁方)申诉,将合约密钥QWER授权给仲裁方,仲裁方用合约密钥QWER从0xa智能合约中获得了之前甲、乙的声明,按照声明部署了线下c代码,复现甲、乙方的操作并确认乙方未按照要求执行修改建筑面积数值的操作,定责乙方。
由以上示例可见,本申请实施例中的方案,可以实现将智能合约中涉及的数据以密文形式呈现,有效保障参与方的隐私、敏感商业信息等。此外,也提供了相应的追溯、参与方的矛盾纠纷的解决的方式。
如图6所示,展示本申请实施例中的数据交互方法,应用于区块链系统中与智能合约相关的合约参与方的参与方节点,例如图1的区块链系统中的参与方节点;其中,所述区块链系统对应的区块链部署有具有第一输入参数的智能合约并由相关的参与方节点激活,并具有用于与所述智能合约通信的链上地址;参与方节点还部署有链下合约代码;参与方节点间使用合约密钥进行与所述智能合约间交互数据的加密或解密;所述数据处理方法包括;
步骤S601:参与方节点通过向所述智能合约提交经所述合约密钥加密的操作,以在智能合约的执行队列形成对应操作;
步骤S602:参与方节点的链下合约代码监听所述执行队列中的操作并执行;
步骤S603:在执行所述操作而产生修改数据时,参与方节点通过所述合约密钥对所述修改数据加密形成数据密文并传输给所述智能合约以展示于所述智能合约的公示密文区;
步骤S604:当所述智能合约判断每个参与方节点提交至公示密文区中的数据密文一致时,接受所述修改数据于区块链。
在一些示例中,在所述智能合约激活的共识过程中,所述合约参与方执行包括:参与方节点生成声明;其中,所述声明包括所述智能合约的链上合约代码、智能合约部署时的第一输入参数、链下合约代码、及链下合约代码部署时的第二输入参数;参与方节点使用合约密钥加密所述声明后传输至所述智能合约;参与方节点与智能合约通信以检查其它参与方节点的声明,检查无误后发起智能合约的激活动作。
在一些示例中,所述参与方节点具有表明其在区块链系统中身份的链上地址;和/或,所述参与方节点使用部署在区块链的代理地址代表所述链上地址。
在一些示例中,所述代理地址配置在所述智能合约部署时的第一输入参数中。
在一些示例中,每个参与方节点使用的合约密钥相同。
需说明的是,本实施例中的数据交互方法可以前述实施例中区块链系统中的参与方节点为执行主体,因此,具体的技术细节可以参考之前实施例,此处不作重复赘述。
如图7所示,展示本申请实施例中提供的基于智能合约的数据处理方法,应用于区块链系统中的节点,例如图1中部署智能合约的参与方节点;所述数据处理方法包括:
步骤S701:部署具有第一输入参数的智能合约;
其中,所述智能合约包括:公示密文数据区以及执行队列;
步骤S702:所述智能合约在得到所述多个节点中与所述智能合约相关的各合约参与方的参与方节点的共识而激活;
步骤S703:所述智能合约接收参与方节点提交的经所述合约密钥加密的操作以在所述执行队列形成对应操作,以供其它参与方节点监听并执行;
步骤S704:所述智能合约接收由参与方节点执行所述操作产生的修改数据的数据密文,展示于所述公示密文区;
步骤S705:所述智能合约在判断每个参与方节点提交至公示密文区中的数据密文一致时,接受所述修改数据于区块链。
需说明的是,本实施例中的数据处理方法可以前述实施例中区块链系统中部署智能合约的节点为执行主体,因此,具体的技术细节可以参考之前实施例,此处不作重复赘述。
如图8所示,展示本申请一实施例中区块链系统中节点的电路结构示意图。
所述节点可以服务器、服务器组、平板电脑、手机、个人计算机(PersonalComputer,PC)、笔记本电脑等设备或构成的计算机网络实现。
本实施例中的节点800,包括:
通信器801,用于与外部通信。示例性地,所述通信器801包括有线或无线通信电路;所述有线通信电路包括:有线网卡等;所述无线通信电路包括例如WiFi、2G/3G/4G/5G通信模块等。
存储器802,用于存储至少一计算机程序。示例性地,所述存储器802可包括高速随机存取存储器,和/或包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其它非易失性固态存储设备。在某些实施例中,存储器还可以包括与一个或多个处理器分处于不同设备中但相连接的存储器,例如经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网、广域网、存储局域网等,或其适当组合。存储器控制器可控制设备的诸如CPU和外设接口之类的其它组件对存储器的访问。
处理器803,用于运行所述存储器802中的至少一计算机程序,以实现例如图6实施例中数据交互方法或图7实施例中数据处理方法中的步骤。在实现这些步骤的过程中,所述处理器803可以视通信需求而控制所述通信器801进行与外部的通信动作。
前述实施例中所实现的各种功能,涉及计算机软件产品;该计算机软件产品存储在存储介质中,用于在被运行时使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤,例如图6、7等方法实施例中所执行方法步骤对应的程序代码可分别存储在计算机存储介质。
于本申请提供的实施例中,所述计算机存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
在一个或多个示例性方面,本申请方法流程中涉及的计算机程序所描述的功能可以用硬件、软件、固件或者其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机存储介质上。有形、非临时性计算机存储介质可以是计算机能够存取的任何可用介质。
本申请上述的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
综上所述,本申请的区块链系统、数据交互和处理方法、节点和存储介质,通过部署在区块链的智能合约,以及相应在链外的合约参与方的链下合约代码之间的配合,使得每个合约参与方之间能就将数据加密而传输到智能合约中,从而以密文形式保存在区块链,解决现有技术的智能合约中明文数据的隐私泄露问题。这种模式可以实际运用于自然合同的电子化,因为自然合同中通常存在一些涉及商业机密的数据不便于明文展示在智能合约中,通过这种方法,既可以按照合同的执行去修改对应的数据,也能够将密文数据上传到智能合约中保证可追溯,在有冲突时可以进行验证。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (16)
1.一种区块链系统,其特征在于,包括:
用于形成区块链的多个节点;
部署在区块链的智能合约;所述智能合约包括:公示密文数据区以及执行队列;其中,所述智能合约在得到所述多个节点中与所述智能合约相关的各合约参与方的参与方节点的共识而激活;
每个所述参与方节点,部署有链下合约代码;每个所述参与方节点使用合约密钥对与所述智能合约间交互数据的加密或解密;
其中,每个参与方节点通过向所述智能合约提交经所述合约密钥加密的操作,以在智能合约的执行队列形成对应操作;每个参与方节点的链下合约代码监听所述执行队列中的操作并执行;在执行所述操作而产生修改数据时,参与方节点通过所述合约密钥对所述修改数据加密形成数据密文并传输给所述智能合约以展示于所述智能合约的公示密文区;当所述智能合约判断每个参与方节点提交至公示密文区中的数据密文一致时,接受所述修改数据于区块链。
2.根据权利要求1所述的区块链系统,其特征在于,所述智能合约的激活方式包括:
每个参与方节点生成声明并通过所述合约密钥加密为声明密文后传输至所述智能合约;其中,所述声明包括所述智能合约的链上合约代码、智能合约部署时的第一输入参数、链下合约代码、及链下合约代码部署时的第二输入参数;
每个参与方节点通过与智能合约通信以检查其它参与方节点的声明,检查无误后发起智能合约的激活动作;
在智能合约获得全部或预设数量以上的参与方节点都发起对所述智能合约的激活动作的情况下,所述智能合约激活。
3.根据权利要求1所述的区块链系统,其特征在于,每个所述合约参与方具有表明其在区块链系统中身份的链上地址;和/或,每个所述参与方节点具有部署在区块链的用于代表所述链上地址与外部数据交互的代理地址,各合约参与方通过其代理地址向智能合约提交的声明经该代理地址对应的链上地址签名,以表示同意以代理地址代表该链上地址参与所述智能合约。
4.根据权利要求3所述的区块链系统,其特征在于,所述代理地址配置在所述智能合约部署时的第一输入参数中。
5.根据权利要求1所述的区块链系统,其特征在于,每个参与方节点使用的合约密钥相同。
6.根据权利要求2所述的区块链系统,其特征在于,包括:第三方节点,用于在每个参与方节点对公示密文区中的数据密文中的修改数据不能达成共识而产生矛盾时,通过复现相关于所述修改数据的各参与方节点的操作以进行检查。
7.根据权利要求6所述的区块链系统,其特征在于,所述通过复现相关于所述修改数据的各参与方节点的操作以进行检查,包括:
获得对所述合约密钥的授权;
通过所述合约密钥解密所述智能合约所得到的各合约参与方的声明密文,以得到声明的明文内容;
检查当前区块链上的所述智能合约及第一输入参数是否与声明中的智能合约及第一输入参数一致;
在检查所述智能合约及第一输入参数一致的情况下,按照各参与方节点的声明中的链下合约代码、及第二输入参数部署与链下合约代码逻辑相同的复现代码,并通过各所述复现代码执行所述执行队列中的操作以复现各参与方节点对所述数据密文中修改数据的共识过程;
在复现的所述共识过程中,检查引起所述矛盾的原因。
8.根据权利要求2所述的区块链系统,其特征在于,所述声明还包括:与所述链下合约代码逻辑相同或由所述链下合约代码作为的复现代码,用于在每个参与方节点对公示密文区中的数据密文中的修改数据不能达成共识而产生矛盾时,在所述智能合约复现各参与方节点对所述数据密文中修改数据的共识过程,以检查引起所述矛盾的原因。
9.一种数据交互方法,其特征在于,应用于区块链系统中与智能合约相关的合约参与方的参与方节点;其中,所述区块链系统对应的区块链部署有具有第一输入参数的智能合约并由相关的参与方节点激活,并具有用于与所述智能合约通信的链上地址;参与方节点还部署有链下合约代码;参与方节点间使用合约密钥进行与所述智能合约间交互数据的加密或解密;所述数据处理方法包括;
参与方节点通过向所述智能合约提交经所述合约密钥加密的操作,以在智能合约的执行队列形成对应操作;
参与方节点的链下合约代码监听所述执行队列中的操作并执行;
在执行所述操作而产生修改数据时,参与方节点通过所述合约密钥对所述修改数据加密形成数据密文并传输给所述智能合约以展示于所述智能合约的公示密文区;当所述智能合约判断每个参与方节点提交至公示密文区中的数据密文一致时,接受所述修改数据于区块链。
10.根据权利要求9所述的数据交互方法,其特征在于,在所述智能合约激活的共识过程中,所述合约参与方执行包括:
参与方节点生成声明;其中,所述声明包括所述智能合约的链上合约代码、智能合约部署时的第一输入参数、链下合约代码、及链下合约代码部署时的第二输入参数;
参与方节点使用合约密钥加密所述声明后传输至所述智能合约;
参与方节点与智能合约通信以检查其它参与方节点的声明,检查无误后发起智能合约的激活动作。
11.根据权利要求9所述的数据交互方法,其特征在于,所述参与方节点具有表明其在区块链系统中身份的链上地址;和/或,所述参与方节点使用部署在区块链的代理地址代表所述链上地址。
12.根据权利要求11所述的数据交互方法,其特征在于,所述代理地址配置在所述智能合约部署时的第一输入参数中。
13.根据权利要求9所述的数据交互方法,其特征在于,每个参与方节点使用的合约密钥相同。
14.一种基于智能合约的数据处理方法,其特征在于,应用于区块链系统中的节点;所述数据处理方法包括:
部署具有第一输入参数的智能合约;其中,所述智能合约包括:公示密文数据区以及执行队列;所述智能合约在得到与所述智能合约相关的各合约参与方的参与方节点的共识而激活;
所述智能合约接收参与方节点提交的经所述合约密钥加密的操作以在所述执行队列形成对应操作,以供其它参与方节点监听并执行;
所述智能合约接收由参与方节点执行所述操作产生的修改数据的数据密文,展示于所述公示密文区;
所述智能合约在判断每个参与方节点提交至公示密文区中的数据密文一致时,接受所述修改数据于区块链。
15.一种区块链系统中的节点,其特征在于,包括:
通信器,用于与外部通信;
存储器,用于存储计算机程序;
处理器,用于运行所述计算机程序,以执行如权利要求9至13中任一项所述的数据交互方法;或执行如权利要求14所述的数据处理方法。
16.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算机程序被运行时执行如权利要求9至13中任一项所述的数据交互方法;或执行如权利要求14所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010908499.1A CN112184434B (zh) | 2020-09-02 | 2020-09-02 | 区块链系统、数据交互和处理方法、节点和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010908499.1A CN112184434B (zh) | 2020-09-02 | 2020-09-02 | 区块链系统、数据交互和处理方法、节点和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112184434A true CN112184434A (zh) | 2021-01-05 |
CN112184434B CN112184434B (zh) | 2024-07-02 |
Family
ID=73925221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010908499.1A Active CN112184434B (zh) | 2020-09-02 | 2020-09-02 | 区块链系统、数据交互和处理方法、节点和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184434B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691633A (zh) * | 2021-03-30 | 2021-11-23 | 支付宝(杭州)信息技术有限公司 | 一种用于区块链与链下设备之间的通信方法和装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559211A (zh) * | 2016-11-22 | 2017-04-05 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
CN106775619A (zh) * | 2016-11-12 | 2017-05-31 | 杭州复杂美科技有限公司 | 灵活区块链架构 |
CN106845960A (zh) * | 2017-01-24 | 2017-06-13 | 上海亿账通区块链科技有限公司 | 基于区块链的安全交易方法及系统 |
CN108632045A (zh) * | 2018-05-10 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置、处理设备及系统 |
CN108694669A (zh) * | 2018-07-18 | 2018-10-23 | 矩阵元技术(深圳)有限公司 | 一种区块链智能合约实现方法及装置 |
CN108881156A (zh) * | 2018-05-02 | 2018-11-23 | 深圳圣马歌科技有限公司 | 基于区块链的商品记录方法、系统以及计算机程序产品 |
CN109325871A (zh) * | 2018-10-17 | 2019-02-12 | 北京云保链科技有限公司 | 基于区块链的点对点风险自治保险方法及装置 |
CN109727131A (zh) * | 2018-12-28 | 2019-05-07 | 苏州鸿链信息科技有限公司 | 一种基于区块链合约层的链下执行交易方法及系统 |
CN110033269A (zh) * | 2019-03-18 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于区块链的合同磋商方法及装置、电子设备、存储介质 |
CN110060056A (zh) * | 2019-03-18 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的交易认证方法及系统 |
US20190349199A1 (en) * | 2018-05-10 | 2019-11-14 | Alibaba Group Holding Limited | Blockchain data processing methods, apparatuses, processing devices, and systems |
CN110472974A (zh) * | 2019-07-16 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于区块链智能合约的资产转移方法、装置及系统 |
US20200067697A1 (en) * | 2017-03-22 | 2020-02-27 | NEC Laboratories Europe GmbH | Method for operating a blockchain |
CN110912994A (zh) * | 2019-11-22 | 2020-03-24 | 中国联合网络通信集团有限公司 | 一种区块链共识方法及装置 |
CN111092726A (zh) * | 2020-03-18 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 生成共享合约密钥的方法及装置 |
WO2020108289A1 (zh) * | 2018-11-29 | 2020-06-04 | 华为技术有限公司 | 一种数据库系统、节点和方法 |
CN111241589A (zh) * | 2018-11-29 | 2020-06-05 | 华为技术有限公司 | 一种数据库系统、节点和方法 |
CN111444210A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链共识节点管理方法、装置、设备以及存储介质 |
-
2020
- 2020-09-02 CN CN202010908499.1A patent/CN112184434B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775619A (zh) * | 2016-11-12 | 2017-05-31 | 杭州复杂美科技有限公司 | 灵活区块链架构 |
CN106559211A (zh) * | 2016-11-22 | 2017-04-05 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
CN106845960A (zh) * | 2017-01-24 | 2017-06-13 | 上海亿账通区块链科技有限公司 | 基于区块链的安全交易方法及系统 |
US20200067697A1 (en) * | 2017-03-22 | 2020-02-27 | NEC Laboratories Europe GmbH | Method for operating a blockchain |
CN108881156A (zh) * | 2018-05-02 | 2018-11-23 | 深圳圣马歌科技有限公司 | 基于区块链的商品记录方法、系统以及计算机程序产品 |
US20190349199A1 (en) * | 2018-05-10 | 2019-11-14 | Alibaba Group Holding Limited | Blockchain data processing methods, apparatuses, processing devices, and systems |
CN108632045A (zh) * | 2018-05-10 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置、处理设备及系统 |
CN108694669A (zh) * | 2018-07-18 | 2018-10-23 | 矩阵元技术(深圳)有限公司 | 一种区块链智能合约实现方法及装置 |
CN109325871A (zh) * | 2018-10-17 | 2019-02-12 | 北京云保链科技有限公司 | 基于区块链的点对点风险自治保险方法及装置 |
WO2020108289A1 (zh) * | 2018-11-29 | 2020-06-04 | 华为技术有限公司 | 一种数据库系统、节点和方法 |
CN111241589A (zh) * | 2018-11-29 | 2020-06-05 | 华为技术有限公司 | 一种数据库系统、节点和方法 |
CN109727131A (zh) * | 2018-12-28 | 2019-05-07 | 苏州鸿链信息科技有限公司 | 一种基于区块链合约层的链下执行交易方法及系统 |
CN110033269A (zh) * | 2019-03-18 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于区块链的合同磋商方法及装置、电子设备、存储介质 |
CN110060056A (zh) * | 2019-03-18 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的交易认证方法及系统 |
CN110472974A (zh) * | 2019-07-16 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于区块链智能合约的资产转移方法、装置及系统 |
CN110912994A (zh) * | 2019-11-22 | 2020-03-24 | 中国联合网络通信集团有限公司 | 一种区块链共识方法及装置 |
CN111092726A (zh) * | 2020-03-18 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 生成共享合约密钥的方法及装置 |
CN111444210A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链共识节点管理方法、装置、设备以及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691633A (zh) * | 2021-03-30 | 2021-11-23 | 支付宝(杭州)信息技术有限公司 | 一种用于区块链与链下设备之间的通信方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112184434B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147994B (zh) | 一种基于同态加密的区块链的即时执行方法 | |
CN109478223B (zh) | 区块链实现的方法和系统 | |
CN108282459B (zh) | 基于智能合约的数据传递方法及系统 | |
CN112822181B (zh) | 跨链交易的验证方法、终端设备及可读存储介质 | |
CN110061845A (zh) | 区块链数据加密方法、装置、计算机设备及存储介质 | |
EP3673432B1 (en) | Implementing a blockchain-based workflow | |
JP2020528224A (ja) | 信頼できる実行環境におけるスマート契約動作のセキュアな実行 | |
CN110460439A (zh) | 信息传输方法、装置、客户端、服务端及存储介质 | |
CN109462472A (zh) | 数据加密和解密的方法、装置和系统 | |
CN114584307B (zh) | 一种可信密钥管理方法、装置、电子设备和存储介质 | |
CN111292041A (zh) | 一种电子合同生成方法、装置、设备及存储介质 | |
JP2023535040A (ja) | マスターキーエスクロープロセス | |
WO2022155803A1 (zh) | 数据加密的方法、数据传输的方法、相关装置以及设备 | |
CN114626088A (zh) | 基于算法互联的隐私计算平台的任务处理方法及装置 | |
Kaur et al. | Blockchain technology for convergence: an overview, applications, and challenges | |
WO2021057124A1 (zh) | 基于fpga实现隐私区块链的方法及装置 | |
Levshun et al. | A technique for design of secure data transfer environment: Application for I2C protocol | |
CN116992458A (zh) | 基于可信执行环境的可编程数据处理方法以及系统 | |
CN112184434B (zh) | 区块链系统、数据交互和处理方法、节点和存储介质 | |
Eldridge et al. | One-time programs from commodity hardware | |
CN113038463A (zh) | 一种通讯加密认证实验装置 | |
CN112765642A (zh) | 数据处理方法、数据处理装置、电子设备及介质 | |
CN114514550A (zh) | 将请求分区成区块链的交易 | |
CN115409511B (zh) | 一种基于区块链的个人信息保护系统 | |
CN114897177B (zh) | 数据建模方法、装置、电子设备及存储介质 |
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 |