CN110063041B - 使用多个区块链交易来执行计算机实现的任务的方法和系统 - Google Patents

使用多个区块链交易来执行计算机实现的任务的方法和系统 Download PDF

Info

Publication number
CN110063041B
CN110063041B CN201780073311.2A CN201780073311A CN110063041B CN 110063041 B CN110063041 B CN 110063041B CN 201780073311 A CN201780073311 A CN 201780073311A CN 110063041 B CN110063041 B CN 110063041B
Authority
CN
China
Prior art keywords
script
blockchain
stack
transaction
unlock
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
Application number
CN201780073311.2A
Other languages
English (en)
Other versions
CN110063041A (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.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings 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
Priority claimed from GBGB1621831.5A external-priority patent/GB201621831D0/en
Priority claimed from GBGB1621827.3A external-priority patent/GB201621827D0/en
Priority claimed from GBGB1621830.7A external-priority patent/GB201621830D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of CN110063041A publication Critical patent/CN110063041A/zh
Application granted granted Critical
Publication of CN110063041B publication Critical patent/CN110063041B/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及区块链技术,例如比特币区块链等。本发明使用新颖的技术来将区块链交易脚本的功能性分解为若干块或功能部分,且使用一块的输出作为下一块的输入。有利地是,这允许所述区块链用于非常复杂的任务和计算,同时最小化脚本大小,并且还为计算过程的分布式执行提供了新颖的架构。本发明包含一种使用多个区块链交易来执行计算机实现的任务的方法,所述方法包含以下步骤:使用区块链交易(Tx2)中的解锁脚本(ULS1)来将至少一个数据项呈现给另一交易(Tx1)的锁定脚本(LS1),从而在堆栈上提供结果;生成包含所述堆栈上提供的所述结果的另一解锁脚本(ULS2);将所述另一解锁脚本(ULS2)呈现给另一锁定脚本(LS2),使得来自所述堆栈的所述结果作为输入提供至所述另一锁定脚本。

Description

使用多个区块链交易来执行计算机实现的任务的方法和系统
技术领域
本发明大体上涉及区块链技术,且更具体地说,涉及通过区块链来实现复杂的功能性。有利地是,本发明允许计算或执行代码的结果彼此传送,提供了一种机制,该机制使用区块链交易作为控制机制,用于启动、影响和指导计算机实现的过程的活动。本发明特别适用于,但不限于,自动化过程的实现和控制。
背景技术
在本文件中,我们使用术语“区块链(blockchain)”以包括所有形式的电子、基于计算机的分布式分类账,包括但不限于区块链和交易链技术、许可和未经许可的分类账、共享分类账及其变体。尽管其他区块链实现方式已被提出和开发,区块链技术最广为人知的应用是比特币(Bitcoin)分类帐。出于方便和说明的目的,虽然在本文提及比特币,但是应注意,本发明不限于与比特币区块链一起使用,且其他的区块链实现方式和协议也落入本发明的范围内。
区块链是基于共识的电子分类账,它被实现为基于计算机的去中心化的分布式系统,由区块构成,而区块又由交易构成。每一交易包括至少一个输入和至少一个输出。每一区块包含前一个区块的散列(hash),使得这些区块链接在一起,以创建所有交易的永久的、不可更改的记录,自区块链创建以来的所有交易均写入区块链种。交易包含被称为脚本的小程序、这些小程序嵌入到其输入和输出中,这些小程序指定了如何以及由谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。脚本由指令(操作码)构成,这些指令将数据项推送到堆栈上,或者从堆栈中弹出。
为了将交易写入区块链,必须对交易进行“验证”。网络节点(矿工)执行工作以确保每一个交易有效,且无效交易被网络拒绝。安装在节点上的软件客户端通过执行锁定和解锁脚本来对未花费的交易(UTXO)执行此验证工作。如果锁定和解锁脚本的执行评估为真(TRUE),那么交易有效,并将交易写入区块链。因此,为了将交易写入区块链,其必须:i)由接收交易的第一节点验证——如果交易被验证,那么该节点将其中继到网络中的其他节点;和ii)添加到由矿工建立的新区块;和iii)挖掘,即添加到过去交易的公共分类账。
尽管区块链技术以加密货币的实现方案而闻名,但数字企业家已经开始探索使用比特币所基于的加密安全系统以及可存储在区块链上的数据两者来实现新系统。如果区块链可用于不局限于加密货币领域的自动化任务和过程,那将是非常有利的。此类解决方案将能够利用区块链的益处(例如永久的、防篡改的事件记录、分布式处理等),同时在其应用中更加通用。
当前研究的一个领域是使用区块链来实现“智能合约”——按照机器可读文件中规定的条件行事的机器可执行程序,且包括可处理输入以生成结果的规则,然后可以根据这些结果来执行操作。
然而,随着越来越复杂的应用被设计用于区块链技术,因此对日益复杂的脚本功能性的需求也随之增加。然而,这里出现了一个技术问题,因为区块链技术是有目的地被设计来约束和限制在脚本内可以合法实现的内容。例如,出于安全考虑,比特币脚本语言故意是非图灵完整的(non-Turing complete)。此外,每个脚本有200个操作码的上限值,从而防止拒绝服务攻击。只要比特币交易脚本包含少于200个操作码,它就可以被验证和广播。然而,随着更复杂的程序元素(例如,基元)的出现,这一限值限制了为诸如智能合同执行等应用开发更复杂的技术解决方案。
因此,需要一种技术解决方案,使复杂的功能性能够内置到区块链脚本中,而不损害安全性和/或需要对现有协议进行任何修改。优选地,此解决方案将允许现有区块链协议,例如比特币协议,能够通过使用区块链交易和堆栈将区块链的计算能力扩展到其当前极限值之外,从而使基础结构能够以新颖且有利的方式使用。此类技术将能够使用交易来控制、影响和指导技术过程的执行。
现在已经设计出此类解决方案。本发明至少提供了本文描述的优点。
发明内容
本发明在随附权利要求中定义。因此,根据本发明,可以提供一种方法和/或相应的系统。
根据一个观点,本发明可以被视为提供一种技术和相应的实现方式,能够通过使用区块链来实现复杂的功能。有利地是,此技术可以使用各种不同计算部件的组合来执行指定的功能。这些部件可以包含一个或多个基于软件的客户端、至少一个存储资源(优选基于堆栈的数据结构)、在至少一个处理器上执行并被布置以产生区块链交易的至少一个数字钱包、和/或区块链。优选地,这可以是比特币区块链。
本发明的实施例可以涉及针对多个交易及其各自的输入和输出的技术任务的分解。本发明的实施例可以从至少一个数据存储资源获得数据,并使用所述数据来控制在多个区块链交易上,特别是通过在各自的交易输入和输出之间传递脚本输出实现的任务或计算的执行。
上述各种系统部件可以被布置成在各部件之间获得和传递数据项,以便能够通过区块链交易来执行计算和任务。这些计算/任务可能是冗长和复杂的,并且在本发明之前,由于对脚本大小和/或其中使用的操作码数目的强制限值,而不能通过区块链交易来执行。
一旦在区块链上进行交易,交易就以不可变更且永久的方式记录下来。因此,从一个观点来看,本发明提供了一种改进的区块链协议、一种改进的区块链客户端、一种改进的计算技术和相应的设备、和/或一种改进的过程控制机制。
在一种意义上,本发明能够通过区块链协议来实现复杂的计算,同时仍然保留对脚本大小和操作码限值的基于安全性的限制。在本发明之前,此类冗长的计算将无法使用例如当前的比特币协议,或者必须使用不包括基于脚本的限制的区块链的替代形式。后者并不总是合乎需要的或可行的。因此,本发明提供一种增强的安全机制。由于它提供了一种实现迄今为止不可能通过协议实现的结果的方法,本发明提供了一种改进的区块链协议。
根据本发明的方法可以被描述为一种区块链方法(和相应的系统)。它可以被描述为使用多个区块链交易来执行计算机实现的任务的方法。另外或可选地,其可以被描述为以下方法:
·通过将部分任务的执行分配或分布给两个或两个以上相应的区块链交易中提供的锁定和解锁脚本来控制计算机实现的任务的执行;
·通过从基于堆栈的数据结构中读取值并将其作为值从解锁脚本传递给锁定脚本来控制计算机实现的任务的执行。
所述方法可以包含以下步骤:
使用区块链交易(Tx2)中的解锁脚本(ULS1)来将至少一个数据项呈现给另一交易(Tx1)的锁定脚本(LS1),从而在堆栈上提供结果;生成另一解锁脚本(ULS2),其包含所述堆栈上提供的所述结果;和/或
将所述另一解锁脚本(ULS2)呈现给另一锁定脚本(LS2),使得将来自所述堆栈的所述结果作为输入提供至所述另一锁定脚本。
所述区块链交易可以根据比特币协议的版本进行配置。
以上步骤中的一者或多者可以重复,即,不止一次地执行。
所述方法可以进一步包含以下步骤:
在执行所述锁定脚本(LS1)内提供的计算或指令序列时,使用所述至少一个数据项。
所述方法可以进一步包含以下步骤:
在执行所述另一锁定脚本(LS2)内提供的计算或指令序列时,使用所述堆栈上提供的所述结果。
所述方法可以进一步包含以下步骤:
从所述堆栈获得所述结果。
所述方法可以进一步包含以下步骤:
验证所述区块链交易(Tx2)和/或所述另一交易(Tx1)以在所述堆栈上生成所述结果。
可以提供与同一区块链交易(Tx2)内的不同输入相关联的所述解锁脚本(ULS1)和所述另一解锁脚本(ULS2)。
可以提供与同一区块链交易(Tx1)内的不同输出相关联的所述锁定脚本(LS1)和所述另一锁定脚本(LS2)。
可以提供与不同区块链交易内的输入相关联的所述解锁脚本(ULS1)和所述另一解锁脚本(ULS2)。可以提供与不同区块链交易内的输出相关联的所述锁定脚本(LS1)和所述另一锁定脚本(LS2)。
将所述另一解锁脚本(ULS2)呈现给另一锁定脚本(LS2)的步骤可以在所述堆栈上或不同的堆栈上提供另一结果。
生成所述另一解锁脚本(ULS2)的步骤可以包含:
修改所述区块链交易(Tx2)以插入输入(In2),其中所述另一解锁脚本(ULS2)与所述插入的输入(In2)相关联。
所述方法可以进一步包含以下步骤:
使用区块链客户端以从所述堆栈获得所述结果。所述区块链客户端可以是比特币客户端。所述堆栈可以是主堆栈或备用堆栈。
所述方法可以进一步包含以下步骤:
向区块链网络提交区块链交易(Tx2)和/或另一区块链交易(Tx1)。
所述至少一个数据项可以作为所述解锁脚本(ULS1)内的元数据而提供;和/或
所述结果可以作为所述另一解锁脚本(ULS2)内的元数据而提供。
本发明的实施例还可以提供一种使用多个区块链交易来执行计算机实现的任务的方法,包含以下步骤:
使用与区块链交易(Tx2)的第一输入(In1)相关联的解锁脚本(ULS1)来将至少一个数据项呈现给另一交易(Tx1)的锁定脚本(LS1),从而在堆栈上提供结果;
修改所述区块链交易(Tx2)以包括第二输入(In2);
生成与所述第二输入(In2)相关联的另一解锁脚本(ULS2),所述另一解锁脚本(ULS2)包含来自所述堆栈的结果;以及
将所述另一解锁脚本(ULS2)呈现给另一锁定脚本(LS2),使得来自所述堆栈的所述结果作为输入提供至所述另一锁定脚本(LS2)。
所述方法可以进一步包含以下步骤:
不止一次地执行以上步骤中的一者或多者;和/或
在执行所述锁定脚本(LS1)内提供的计算或指令序列时使用所述至少一个数据项;和/或
在执行所述另一锁定脚本(LS2)内提供的计算或指令序列时使用所述堆栈上提供的所述结果;和/或
从所述堆栈获得所述结果;和/或
验证所述区块链交易(Tx2)和/或所述另一交易(Tx1)以在所述堆栈上生成所述结果。
可以提供与同一区块链交易(Tx2)内的不同输入(In1 In2)相关联的所述解锁脚本(ULS1)和所述另一解锁脚本(ULS2)。可以提供与同一区块链交易(Tx1)内的不同输出相关联的所述锁定脚本(LS1)和所述另一锁定脚本(LS2)地。
将所述另一解锁脚本(ULS2)呈现给另一锁定脚本(LS2)的步骤可以在所述堆栈上或不同的堆栈上提供另一结果。
所述方法可以包含使用区块链客户端从所述堆栈获得所述结果的步骤。所述区块链客户端可以是比特币客户端。
本发明还可以提供使用多个区块链交易来执行计算机实现的任务的方法,包含以下步骤:
使用与区块链交易(Tx2)中的第一输入(In1)相关联的解锁脚本(ULS1)来将至少一个数据项呈现给另一交易(Tx1)的第一锁定脚本(LS1),从而
在堆栈上提供结果;
生成与第二输入(In2)相关联并包含来自所述堆栈的所述结果的另一解锁脚本(ULS2);其中所述第二输入(In2)在另一区块链交易(Tx3)中
提供;以及
将所述另一解锁脚本(ULS2)呈现给另一锁定脚本(LS2),使得来自所述堆栈的所述结果作为输入提供至所述另一锁定脚本。
所述锁定脚本(LS1)和另一锁定脚本(LS2)可以与不同区块链交易中的输出相关联。所述解锁脚本(ULS1)和另一解锁脚本(ULS2)可以与不同区块链交易中的输入相关联。
所述方法可以进一步包含在执行所述锁定脚本(LS1)内提供的计算或指令序列时使用所述至少一个数据项的步骤。
所述方法可以进一步包含在执行所述另一锁定脚本(LS2)内提供的计算或指令序列时使用所述堆栈上提供的所述结果的步骤。
所述方法可以进一步包含从所述堆栈获得所述结果的步骤。
所述方法可以进一步包含使用区块链客户端从所述堆栈获得所述结果的步骤,优选地其中所述区块链客户端是比特币客户端。
所述方法可以进一步包含验证所述区块链交易(Tx2)和/或所述另一交易(Tx1)、和/或另一交易(Tx3)以在所述堆栈上生成所述结果的步骤。
所述方法可以进一步包含从所述堆栈获得所述结果并在返回命令或指令之后将所述结果插入到解锁脚本中的步骤。所述命令或指令可以是比特币OP_RETURN操作码。
本发明的实施例还包含相应的系统和设备。本发明可以包含计算机实现的系统,所述系统被布置和配置成实现上述或基本上如下所述的任何前述的方法步骤。
附图说明
参考本文描述的实施例,本发明的这些和其他方面将变得显而易见并得以阐明。现将仅以实例的方式并参考附图来描述本发明的实施例,其中:
图1示出了根据本发明第一实施例的多输入/输出方法中涉及的交易链和顺序步骤。
图2展示根据本发明的第一实施例的说明性版本的交易1(Tx1)。
图3展示根据本发明的第一实施例的说明性版本的交易2(Tx2)。
图4展示根据实施例2的说明性版本的说明性交易链
图5至8展示根据实施例2的说明性版本的交易1、2、3和4。
图9a和9b展示根据实施例1如何提供本发明的示例性版本的说明。
图10展示区块链被用来获得堆栈顶部剩余项目的简单说明。
具体实施方式
在以下实例中,我们将使用比特币作为说明性区块链实现方式和协议,因为它是最广为人知的。这仅仅是为了说明的目的,且应注意本发明不限于此方面。其他区块链实现方式也将落入本发明的范围内。
为了防止展开DoS(拒绝服务)攻击,默认比特币客户端对有效脚本中可以包括的最大字节数和操作码数目设置了限值。在本申请的优先权日,这个限值是10,000字节和201个操作码。包含超过201个操作码或10,000字节的任何脚本都将无效。尽管出于有价值的原因,但这一限制阻碍了更复杂的脚本功能性的开发,且因此也阻碍了可以被设计成与区块链技术结合操作的技术解决方案的复杂性。
本发明提供了两种技术(实施例),这两种技术使用户能够通过使用两个或两个以上区块链交易来将区块链脚本分成多个输入/输出。两个实施例都可以依赖于自动化计算代理(或“机器人”)的能力,该自动化计算代理被配置成:
·读取堆栈的状态,
·传播,即将执行脚本的结果传送给未花费的交易输出的输入,
·将大型复杂脚本分为多个较小的、简单的单元。
应注意,在一些区块链实现方式中,诸如比特币,可能需要定制的参考客户端来使得在脚本终止之后能够读取堆栈的状态,因为默认比特币客户端不提供对此信息项的访问。堆栈以.cpp文件中的列表表示,该文件包括在比特币核心程序中。通过在模拟堆栈行为的类中插入几行代码,有可能获得并返回列表中所含的信息。该信息然后可以被传递给另一计算资源使用和/或用于另一计算中。这如图10所示。因此,本发明提供一种新颖形式的区块链客户端和设备。
执行脚本的结果的传播不需要任何自动化,且可以手动执行(至少原则上是这样)。然而,在典型的实现方式中,预期诸如编译器等外部系统将处置拆分复杂脚本所涉及的操作的自动化。
有利地是,本发明不需要比特币协议的修改。换句话说,虽然可能需要定制客户端来准备交易,但是一旦交易被广播,比特币网络的所有节点将能够验证它们。
因此,根据本发明(的所有版本),基本概念是将脚本分成若干块或功能部分,并将块的输出用作下一块的输入。这是与现有技术的重要改变。其允许区块链用于非常复杂的任务和计算,同时保留脚本大小的基于安全性的限值,并为计算过程的分布式执行提供了新颖的技术和架构。因此,本发明提供一种改进的安全区块链。
然而,必须记住,脚本执行的最终结果是二进制的,即,交易被标记为无效,或者被标记为有效(假定它也满足其他要求)。因此,如上所述,为了将一个计算块的输出与下一个计算块的输入“连接”,必须使用可以访问堆栈上的值并重新使用它们的非参考客户端。
我们从以下简单的实例开始:
x+y>3
其可以用以下方式用操作码编写:
OP_<x>OP_<y>OP_ADD OP_3OP_GREATERTHAN
我们将此分成以下两个块:
z=x+y
z>3
根据第一方法,可以采用现在描述的解决方案。
爱丽丝(Alice)准备如下的Tx1:
Figure GDA0003584275940000091
现在鲍勃(Bob)开始用以下方式准备Tx2:
Figure GDA0003584275940000092
鲍勃现将签署该交易,验证它,并(使用定制的客户端来)从堆栈读取与Tx1:Out1解锁脚本链接的Tx2:In1解锁脚本的输出。
然后,他将通过添加以下输入和输出来更改Tx2:
Figure GDA0003584275940000101
其中OP_5显然是第一个计算块的结果。同样在此情况下,可以使用多重签名来防止鲍勃广播OP_5被其他东西替换的交易。此方法的优点是,只需使用两个交易就可以链接大量的块(达到交易中输入和输出数目的限值)。因此,复杂的功能性和计算可以以高效的方式执行,只需要通过区块链网络验证和挖掘两个交易,并在区块链上使用最小的存储要求。
根据替代的方法,可以采用以下步骤。
第一交易Tx1由输入的全部所有者准备并共同签署。使用以下锁定脚本将输入发送到爱丽丝的公钥:
Figure GDA0003584275940000102
爱丽丝现将用以下方式准备Tx2:
Figure GDA0003584275940000103
Figure GDA0003584275940000111
其中Tx2:In2现将用标志SIGHASH_NONE签署,以便可以添加其他输出。如相关技术中已知,SIGHASH_NONE是仅对输入进行签署的比特币签名散列类型。因此,在使用SIGHASH_NONE时,任何人都可以用他们选择的任何方式来修改输出。
Tx2:In1假设是指爱丽丝的资金,且可以用SIGHASH_SINGLE解锁,因此可以再次添加其他输出。在当前形式中,交易将金额A作为交易费用进行传递。然而,爱丽丝没有以当前的形式广播交易,只是在本地进行验证。在验证过程中,Tx2:In2的解锁脚本将与Tx1:Out的锁定脚本一起执行:
<Alice’s signature>OP_2OP_3OP_ADD OP_SWAP<Alice’s pubKey>OP_SWAP
OP_CHECKSIG OP_DROP
且在堆栈执行结束时,剩余结果将是5,即第一计算块的结果。爱丽丝的定制比特币客户端现将保存或记录第一计算块的结果,并通过添加以下两个输出来修改
Figure GDA0003584275940000112
但她将再次对Tx2的输入进行签署,这次使用的是通常的标志SIGHASH_ALL,因此现在所述交易的输出都不可以被修改。鲍勃现在可以在OP_RETURN后读取存储在Out3中的数据来完成计算。
如现有技术中已知的,OP_RETURN是一种比特币OP_CODE,其可以用于将交易输出(TxO)标记为无效。在比特币支付方面,OP_RETURN之后提供的任何数据都将被忽略,且因此OP_RETURN在现有技术中被用作通过区块链传送非支付相关数据的机制。
鲍勃现在准备以下的交易:
Figure GDA0003584275940000121
原则上,在OP_RETURN之后,可以存储以分布式散列表(DHT)进行索引的散列,因此可以在交易之间传递任意长的中间结果。显然,在此实例中,爱丽丝相信鲍勃会如上所述准备Tx3,使得计算可以成功完成。简单的扩展可能需要Tx2:Out2由爱丽丝和鲍勃两人签署,这样,爱丽丝可以验证鲍勃已准备好了正确的交易。然而,鲍勃可以通过拒绝准备交易或签署来无限期地推迟该执行。爱丽丝还可以准备Tx3,将其发送给鲍勃,并避免在OP_RETURN之后存储数据。应注意,此方法需要等待确认每一计算块都在区块链中。
下文参考附图提供了基础技术的这两种实现方式的详细实例。以下描述组织如下:
·“实施例1”描述了仅使用两个交易的第一方法;操纵多个输入和输出
·“实施例2”描述了“连接”或链接多个交易以实现相同技术效果的替代方法。值得注意的是,两种方法的组合也是可能的。
为了说明两个实施例的使用,我们现在考虑下面的实例,所述实例评估如下定义的函数f(x,y,z)
f(x,y,z)=(x·y+z)·x
我们(或编译器)将f(x,y,z)表示为简单函数的总和
g1(x,y)=x·y
g2(g1(x,y),z)=g1(x,y)+z
f(g2(g1(x,y),z),x)=g2(g1(x,y),z)·x
在两个实施例中,代表自变量g1和g2的变量x、y和z将包含在交易解锁脚本中,而函数g1和g2自身将包含在锁定脚本中。因此,此后,我们将互换地使用术语“函数”和“锁定脚本”。特别地,x和y将处于解锁含有g1的锁定脚本的脚本中。类似地,g1(x,y)和z将处于解锁含有的锁定脚本的脚本中。
在本文的后续部分,我们使用的实例包括操作码OP_ADD和PrO_MULT。这些识别符分别表示算术运算加法(+)和乘法(·)。操作码OP_X、OP_Y和OP_Z表示变量x、y和z。符号G1和G2表示对应于g1和g2的锁定脚本被解锁之后的堆栈顶部的值。OP_ADD是形成比特币脚本语言的部分的操作码。我们使用术语“PrO_MULT”(“原始运算符”的缩写)来指代可以被执行来执行乘法运算的运算。在比特币的当前版本中,乘法操作码(诸如OP_MUL、OP_2MUL)被禁用,因此PrO_MULT可以是用以提供当前禁用的功能性的自定义运算。当然,如果OP_MUL等操作码被重新启用,那么可以代替使用这些操作码。因此,本发明可以仅与使用标准(启用的)操作码的函数一起使用,且定制操作符的实现方式并不是本发明的一部分或与本发明有关。因此,关于可以如何实现PrO_MULT的细节对于理解本发明来说不是必需的,且为了清楚起见,本文没有包括这些细节。
本文呈现的实例对应于非常简单的智能合约的执行,其中资金从爱丽丝转账到鲍勃,但条件是长脚本的成功执行。脚本输入由鲍勃提供,且可以设想两种可能的恶意行为。第一,鲍勃可能会提供不正确的输入,使得脚本得以成功执行且资金被转账给他。然而,当交易存储在区块链中时,所述输入将变得公开可用,从而允许爱丽丝对合同提出异议。第二,如果鲍勃有任何理由拒绝爱丽丝的转账,他可能会决定无限期地拖延交易,因此阻止合同的执行。在最简单的场景中,爱丽丝必须简单地相信鲍勃将不会拖延合同的执行,且他将会提供正确的输入。额外的安全机制可以与本发明的概念结合使用,以增强安全性。
实施例1:将脚本拆分为多个输入和输出
图1、图9a和图9b示出实施例1的多输入/输出方法中涉及的交易链和顺序步骤。Tx1包含将由Tx2消耗的一组未花费的交易输出(UTXO)。Tx2的构造逐步递增进行。在每一阶段,(自动化软件)代理将解锁脚本呈现给Tx1的一个UTXO。代理验证Tx2,读取堆栈顶部的值,并准备新的解锁脚本。区块链交易和脚本的自动化生成在相关技术中是已知的且因此本文不再解释。
代理可以使用在先前步骤(或从早期步骤)中从堆栈获得的信息,并将此新的解锁脚本呈现给Tx1内所包含的另一UTXO。当完成当前任务的所有必要步骤时,Tx2被广播。
有利地是,此技术将Tx1的锁定脚本中所包含的函数与Tx2提供的解锁脚本中所包含的参数分离。一旦Tx1已被添加到区块链并被验证,函数就变得不可变更。另外,在此阶段,函数参数(输入)甚至可以是未知的。它们仅是在Tx2准备好之后才被揭示出来。这可能是有利的,并提供了增强的安全性。
实施例1的步骤顺序展示在图1、图9a和图9b中,并可以描述如下:
步骤0:爱丽丝向比特币网络提交交易1(如图1所示)。
步骤1:鲍勃准备交易2的初始版本
步骤3:鲍勃将<鲍勃的签名><OP_X><OP_Y><赎回脚本1>呈现给输出0。鲍勃验证交易2,读取堆栈顶部的值G1,但不广播交易2。
步骤4:鲍勃将<鲍勃的签名><G1><OP_Z><赎回脚本2>呈现给输出1。鲍勃验证交易2,读取堆栈顶部的值G2,但不广播交易2。
步骤5:鲍勃将<鲍勃的签名><G2><OP_X><赎回脚本3>呈现给输出2。鲍勃验证交易2并将其广播。
为了简单起见,我们并不提供关于Tx1的输入和Tx2的输出的大量细节。图2展示交易1(Tx1)。图3展示交易2(Tx2)。
实施例2:将脚本拆分为多个交易
第二实施例使用区块链交易来编写函数(参见图4)。此方法在原则上类似于先前的实施例。然而,在验证阶段期间,代理读取堆栈顶部的值,并在如上所述的OP_RETURN之后添加它/它们。
图5至8展示根据实施例2的说明性版本的交易1、2、3和4。
应注意,上述实施例用于说明而非限制本发明,且本领域技术人员将能够在不脱离由所附权利要求限定的本发明范围的情况下设计许多替代实施例。在权利要求中,括号中的任何附图标记不应被理解为限制权利要求。词“包含(comprising)”和“包括(comprises)”等并不排除除了在任何权利要求或说明书整体中列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包含(comprises)”意味着“包括(includes)或由其组成(consists of)”,且“包括(comprising)”意味着“包含(including)或由其组成(consisting of)”。元件的单数引用并不排除此类元件的复数引用,且元件的复数引用并不排除此类元件的单数引用。本发明可以借助于包含若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的装置权利要求中,这些装置中的几个可以由同一个硬件项目来体现。在相互不同的从属权利要求中引用某些措施的事实并不表示这些措施的组合不能被有利地使用。

Claims (19)

1.一种使用多个区块链交易来执行计算机实现的任务的方法,所述方法包含以下步骤:
使用区块链交易(Tx2)中的解锁脚本(ULS1)来将至少一个数据项呈现给另一交易(Tx1)的锁定脚本(LS1),从而在堆栈上提供结果;
生成另一解锁脚本(ULS2),所述另一解锁脚本包含所述堆栈上提供的所述结果;
将所述另一解锁脚本(ULS2)呈现给另一锁定脚本(LS2),使得来自所述堆栈的所述结果作为输入提供至所述另一锁定脚本。
2.根据权利要求1所述的方法,进一步包括:
不止一次地执行根据权利要求1所述的步骤中的一者或多者。
3.根据权利要求1所述的方法,进一步包括以下步骤:
在执行所述锁定脚本(LS1)内提供的计算或指令序列时使用所述至少一个数据项。
4.根据权利要求1所述的方法,进一步包括以下步骤:
在执行所述另一锁定脚本(LS2)内提供的计算或指令序列时使用所述堆栈上提供的所述结果。
5.根据权利要求1所述的方法,进一步包括以下步骤:
从所述堆栈获得所述结果。
6.根据权利要求1所述的方法,进一步包括以下步骤:
验证所述区块链交易(Tx2)和/或所述另一交易(Tx1)以在所述堆栈上生成所述结果。
7.根据权利要求1至6中的任一项所述的方法,其中:
提供与同一区块链交易(Tx2)内的不同输入相关联的所述解锁脚本(ULS1)和所述另一解锁脚本(ULS2)。
8.根据权利要求1至6中的任一项所述的方法,其中:
提供与同一区块链交易(Tx1)内的不同输出相关联的所述锁定脚本(LS1)和所述另一锁定脚本(LS2)。
9.根据权利要求1至6中的任一项所述的方法,其中:
提供与不同区块链交易内的输入相关联的所述解锁脚本(ULS1)和所述另一解锁脚本(ULS2)。
10.根据权利要求1至6中的任一项所述的方法,其中:
提供与不同区块链交易内的输出相关联的所述锁定脚本(LS1)和所述另一锁定脚本(LS2)。
11.根据权利要求1至6中的任一项所述的方法,其中:
将所述另一解锁脚本(ULS2)呈现给另一锁定脚本(LS2)的步骤在所述堆栈上或不同的堆栈上提供另一结果。
12.根据权利要求1至6中的任一项所述的方法,其中
生成所述另一解锁脚本(ULS2)的步骤包含:
修改所述区块链交易(Tx2)以插入输入(In2),其中所述另一解锁脚本(ULS2)与所述插入的输入(In2)相关联。
13.根据权利要求1至6中的任一项所述的方法,进一步包括以下步骤:
使用区块链客户端从所述堆栈获得所述结果。
14.根据权利要求13所述的方法,其中:
所述区块链客户端是比特币客户端。
15.根据权利要求1至6中的任一项所述的方法,进一步包括以下步骤:
向所述区块链网络提交所述区块链交易(Tx2)和/或另一区块链交易(Tx1)。
16.根据权利要求14所述的方法,其中:
所述区块链是基于共识的分布式电子分类帐;和/或
所述区块链是所述比特币区块链;
所述交易中的一个、一些或全部是比特币交易;和/或
所述方法被布置用于在所述比特币区块链上执行。
17.根据权利要求1至6中的任一项所述的方法,其中:
所述至少一个数据项作为所述解锁脚本(ULS1)内的元数据而提供;和/或
所述结果作为所述另一解锁脚本(ULS2)内的元数据而提供。
18.根据权利要求1至6中的任一项所述的方法,进一步包括以下步骤:
使用所述方法计算最终结果,且使用所述最终结果来控制在所述区块链以外执行的过程。
19.一种经布置且被配置成执行任一前述权利要求所述的方法的计算机实现的系统。
CN201780073311.2A 2016-12-21 2017-12-15 使用多个区块链交易来执行计算机实现的任务的方法和系统 Active CN110063041B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB1621831.5 2016-12-21
GB1621830.7 2016-12-21
GB1621827.3 2016-12-21
GBGB1621831.5A GB201621831D0 (en) 2016-12-21 2016-12-21 Computer-implemented system and method
GBGB1621827.3A GB201621827D0 (en) 2016-12-21 2016-12-21 Computer-implemented system and method
GBGB1621830.7A GB201621830D0 (en) 2016-12-21 2016-12-21 Computer-implemented system and method
PCT/IB2017/058009 WO2018116106A1 (en) 2016-12-21 2017-12-15 Computer-implemented systems and methods to enable complex functionality on a blockchain while preserving security-based restrictions on script size and opcode limits

Publications (2)

Publication Number Publication Date
CN110063041A CN110063041A (zh) 2019-07-26
CN110063041B true CN110063041B (zh) 2022-08-05

Family

ID=60990839

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201780073311.2A Active CN110063041B (zh) 2016-12-21 2017-12-15 使用多个区块链交易来执行计算机实现的任务的方法和系统
CN201780073344.7A Active CN110169013B (zh) 2016-12-21 2017-12-15 在区块链上实现复杂功能性的计算机实现的系统和方法
CN201780073343.2A Active CN110169012B (zh) 2016-12-21 2017-12-15 使用多个区块链交易来执行计算机实现的任务的方法和装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201780073344.7A Active CN110169013B (zh) 2016-12-21 2017-12-15 在区块链上实现复杂功能性的计算机实现的系统和方法
CN201780073343.2A Active CN110169012B (zh) 2016-12-21 2017-12-15 使用多个区块链交易来执行计算机实现的任务的方法和装置

Country Status (9)

Country Link
US (5) US11669836B2 (zh)
EP (3) EP3387787B1 (zh)
JP (3) JP6983890B2 (zh)
KR (3) KR102504033B1 (zh)
CN (3) CN110063041B (zh)
HK (3) HK1254559B (zh)
TW (1) TWI753983B (zh)
WO (3) WO2018116105A1 (zh)
ZA (2) ZA201903969B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6983890B2 (ja) * 2016-12-21 2021-12-17 エヌチェーン ホールディングス リミテッドNchain Holdings Limited スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
GB201701589D0 (en) 2017-01-31 2017-03-15 Nchain Holdings Ltd Computer-implemented system and method
US11989208B2 (en) * 2018-08-06 2024-05-21 Inveniam Capital Partners, Inc. Transactional sharding of blockchain transactions
CN109447636A (zh) * 2018-10-15 2019-03-08 联动优势科技有限公司 一种资产转移方法及装置
CN109903161B (zh) * 2019-02-28 2021-11-09 百度在线网络技术(北京)有限公司 基于区块链的对象处理方法、装置、设备及介质
GB201907345D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Protocol for validating blockchain transactions
GB201907346D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Using blockchain transactions to provide off-chain functionality
CN110337102A (zh) * 2019-06-28 2019-10-15 阿里巴巴集团控股有限公司 基于区块链的终端锁定方法及装置
KR102057570B1 (ko) * 2019-09-16 2020-01-23 (주) 모로보기 블록체인 네트워크
GB2588660A (en) * 2019-10-31 2021-05-05 Nchain Holdings Ltd Request and response protocol using blockchain transactions
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN112488712A (zh) * 2020-06-24 2021-03-12 杨刘琴 基于区块链大数据的安全识别方法及安全识别系统
CN112801665B (zh) * 2021-03-19 2021-08-24 北京万物智链科技有限公司 一种基于服务器中继的跨链交易方法及系统
GB202109064D0 (en) * 2021-06-24 2021-08-11 Nchain Licensing Ag Computer implemented method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106096967A (zh) * 2016-06-20 2016-11-09 深圳市淘淘谷信息技术有限公司 一种用区块链来标示数字货币流通的方法
CN106130738A (zh) * 2016-08-25 2016-11-16 杭州天谷信息科技有限公司 一种支持国密算法的区块链系统

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430097B1 (ko) * 2006-09-15 2014-08-13 샌디스크 테크놀로지스, 인코포레이티드 비휘발성 메모리 및 클래스 기반의 업데이트 블록 대체 규칙을 위한 방법
US20160085955A1 (en) * 2013-06-10 2016-03-24 Doosra, Inc. Secure Storing and Offline Transferring of Digitally Transferable Assets
US11250493B2 (en) 2014-03-31 2022-02-15 Monticello Enterprises LLC System and method for performing social media cryptocurrency transactions
US11270298B2 (en) * 2014-04-14 2022-03-08 21, Inc. Digital currency mining circuitry
CN103927397B (zh) * 2014-05-05 2017-02-22 湖北文理学院 一种基于区块树的Web页面链接块的识别方法
CA2985040A1 (en) 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
EP4148642A1 (en) 2014-05-09 2023-03-15 Veritaseum, Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
KR101660627B1 (ko) * 2015-02-03 2016-09-28 한양대학교 에리카산학협력단 암호화 화폐의 거래를 보호하는 방법 및 장치
CN105991731A (zh) 2015-02-13 2016-10-05 中兴通讯股份有限公司 一种获取信息的方法、智能终端和服务端
US20160260095A1 (en) 2015-03-02 2016-09-08 Dell Products, Lp Containerized Computational Task Execution Management Using a Secure Distributed Transaction Ledger
US10484168B2 (en) 2015-03-02 2019-11-19 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
SI3073670T1 (sl) 2015-03-27 2021-07-30 Black Gold Coin, Inc. Sistem in postopek za osebno identifikacijo in verifikacijo
AU2016242888A1 (en) 2015-03-31 2017-11-16 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
SG11201708295XA (en) * 2015-04-06 2017-11-29 Bitmark Inc System and method for decentralized title recordation and authentication
US10963881B2 (en) * 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
JP6636058B2 (ja) 2015-07-02 2020-01-29 ナスダック, インコーポレイテッドNasdaq, Inc. 分散トランザクションデータベースにおける出所保証のシステムおよび方法
CN105573828B (zh) * 2015-12-17 2019-04-12 布比(北京)网络技术有限公司 一种操作处理方法及装置
US9948467B2 (en) * 2015-12-21 2018-04-17 Mastercard International Incorporated Method and system for blockchain variant using digital signatures
WO2017145004A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
US20170287090A1 (en) 2016-03-31 2017-10-05 Clause, Inc. System and method for creating and executing data-driven legal contracts
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US10838846B1 (en) 2016-05-16 2020-11-17 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework
CN106503053B (zh) 2016-09-26 2019-07-16 江苏通付盾科技有限公司 Utxo查询方法及装置
JP6983890B2 (ja) * 2016-12-21 2021-12-17 エヌチェーン ホールディングス リミテッドNchain Holdings Limited スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
CA3055829A1 (en) * 2017-03-08 2018-09-13 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
US10891384B2 (en) * 2017-10-19 2021-01-12 Koninklijke Kpn N.V. Blockchain transaction device and method
WO2019116249A1 (en) * 2017-12-15 2019-06-20 nChain Holdings Limited Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords
JP6736033B2 (ja) 2018-06-12 2020-08-05 フレセッツ株式会社 暗号通貨のためのウォレット装置及びその装置を用いる署名方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106096967A (zh) * 2016-06-20 2016-11-09 深圳市淘淘谷信息技术有限公司 一种用区块链来标示数字货币流通的方法
CN106130738A (zh) * 2016-08-25 2016-11-16 杭州天谷信息科技有限公司 一种支持国密算法的区块链系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
区块链技术发展现状与展望;袁勇;《自动化学报》;20160430;第42卷(第4期);481-493 *

Also Published As

Publication number Publication date
TWI753983B (zh) 2022-02-01
JP7003133B2 (ja) 2022-01-20
ZA201903968B (en) 2021-01-27
HK1254558B (zh) 2020-03-20
JP2020503749A (ja) 2020-01-30
EP3387785A1 (en) 2018-10-17
WO2018116106A1 (en) 2018-06-28
JP7039594B2 (ja) 2022-03-22
JP2020514853A (ja) 2020-05-21
EP3387786B1 (en) 2019-02-20
WO2018116105A1 (en) 2018-06-28
WO2018116104A1 (en) 2018-06-28
KR20190094229A (ko) 2019-08-12
US20200092105A1 (en) 2020-03-19
US11669836B2 (en) 2023-06-06
US20190354976A1 (en) 2019-11-21
US11238450B2 (en) 2022-02-01
CN110169013A (zh) 2019-08-23
CN110063041A (zh) 2019-07-26
JP6983890B2 (ja) 2021-12-17
EP3387787A1 (en) 2018-10-17
US20230410106A1 (en) 2023-12-21
ZA201903969B (en) 2021-01-27
CN110169013B (zh) 2023-04-18
HK1254559B (zh) 2020-03-20
JP2020514854A (ja) 2020-05-21
US11087322B2 (en) 2021-08-10
KR102525244B1 (ko) 2023-04-24
TW201830271A (zh) 2018-08-16
KR102481934B1 (ko) 2022-12-27
US20220398579A1 (en) 2022-12-15
HK1254560B (zh) 2020-03-27
CN110169012B (zh) 2023-04-18
KR102504033B1 (ko) 2023-02-28
KR20190094217A (ko) 2019-08-12
EP3387786A1 (en) 2018-10-17
US20190356467A1 (en) 2019-11-21
CN110169012A (zh) 2019-08-23
EP3387787B1 (en) 2019-03-20
EP3387785B1 (en) 2019-02-20
KR20190094224A (ko) 2019-08-12

Similar Documents

Publication Publication Date Title
CN110063041B (zh) 使用多个区块链交易来执行计算机实现的任务的方法和系统
US11941381B2 (en) Method for compiling from a high-level scripting language to a blockchain native scripting language
EP4012636A1 (en) Constraints on outputs of an unlocking transaction in a blockchain

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