CN111095861A - 用于保护区块链上资源的改进时间锁技术 - Google Patents
用于保护区块链上资源的改进时间锁技术 Download PDFInfo
- Publication number
- CN111095861A CN111095861A CN201880058255.XA CN201880058255A CN111095861A CN 111095861 A CN111095861 A CN 111095861A CN 201880058255 A CN201880058255 A CN 201880058255A CN 111095861 A CN111095861 A CN 111095861A
- Authority
- CN
- China
- Prior art keywords
- time
- supplied
- cltv
- output
- input
- 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.)
- Pending
Links
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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- 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
- G06Q20/4015—Transaction verification using location information
- G06Q20/40155—Transaction verification using location information for triggering transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Lock And Its Accessories (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明包括了用于在单个区块链(例如,比特币)交易(TX)中保护输出(UTXO)的解决方案,使得其只能由授权方在允许的时间内根据提供给交易的锁定脚本的外部数据来解锁。本发明可包括两个步骤,所述两个步骤在UTXO的锁定脚本内提供的赎回脚本中实现:1)使用提供的外部数据计算时间相关值(我们将其称为Tsupplied);以及2)在时间锁技术中使用计算出的Tsupplied值,以确保在预先确定的时间发生解锁。本发明允许将外部数据引入区块链上的交易的时间锁控制中。本发明还包括一种用于组合绝对时间锁和相对时间锁(如比特币协议中已知的CLTV和CSV)的技术。
Description
技术领域
本发明总体上涉及计算机实现的安全和控制方法、密码学和加密货币以及分布式账本(区块链)技术,例如与比特币相关的技术。本发明特别适用于需要在特定时间或时间范围之前保护区块链交易输出的情况下使用,以及基于时间相关条件允许或拒绝访问受控资源的情况。
背景技术
在本文中,使用术语“区块链(Blockchain)”来包括所有形式的电子的、基于计算机的分布式账本(Distributed Ledgers)。这些包括基于共识的区块链和交易链技术、许可及未许可的账本、共享账本及其变型。虽然也已经提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币账本(Bitcoin Ledger)。虽然出于方便和说明的目的,本文中涉及的是比特币(Bitcoin),但应当指出的是,本发明不限于与比特币区块链一起使用,其他的区块链实施方式和协议也落入本发明的范围内。术语“用户(User)”在本文中可以指由使用该术语的上下文确定的人或基于处理器的资源。
区块链是点对点(peer-to-peer)的电子账本,该账本被实现为由区块组成的基于计算机的去中心化的分布式系统,而区块由交易组成。每个交易(Tx)是对区块链系统中参与者之间的数字资产的控制的转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。每个区块包含前一区块的散列,如此,这些区块被链接在一起,以创建一个永久的、不可更改的所有交易的记录,这些交易自区块链诞生之始写入区块链。交易包含小程序,这些小程序称为脚本,嵌入至所述交易的输入和输出中,这些小程序指定了如何以及由谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
为了将交易写入区块链,必须对该交易进行“验证(Validated)”。网络节点(矿工)执行工作以确保每个交易有效,无效交易则被网络拒绝。安装在节点上的软件客户端通过执行其锁定和解锁脚本,对未花费的交易输出(Unspent Transaction Outputs,简称UTXO)执行验证此项工作。如果锁定和解锁脚本的执行评估为真(TRUE),则该交易有效,且该交易被写入区块链。因此,为了将交易写入区块链,该交易必须:i)由接收交易的第一节点进行验证——如果交易经验证通过,则该节点将该交易中继到网络中的其他节点;ii)添加到矿工建造的新区块中;iii)被挖掘,即添加到过去交易的公共账本中。
能够控制或影响何时可以解锁并因此花费输出通常是有利的。许多已知机制可用于合并与时间相关的控件(时间锁):
绝对时间锁:
·nLockTime
nLockTime交易字段可用于指定可将交易添加到区块链上的有效区块的最早绝对时间(根据时间戳或最低区块高度)。
·检查锁定时间验证(CheckLockTimeVerify,简称CLTV)
CLTV操作码(OP_CHECKLOCKTIMEVERIFY)与nLockTime相似,因为它允许绝对时间锁的指定;但是,CLTV可以应用于特定的交易输出(UTXO),而不是整个交易。它被插入与输出相关联的锁定/赎回脚本中,并锁定输出的资金,直到通过传递到CLTV操作码的单个参数指定的时间。当尝试花费输出时,只有当应用于交易的nLockTime等于或大于通过参数提供给CLTV操作码的时间时,脚本执行才会成功。否则,脚本执行将失败。因此,只有在nLockTime过去之后才能使用输出。
相对时间锁:
·nSequence
nSequence字段类似于nLockTime,但它是每个交易输入的一部分,可用于指定相对锁定时间。nSequence根据包含输入尝试花费的输出(UTXO)的交易被添加到区块链的时间,指定其可以被添加到区块的最早时间。
·检查序列验证(CheckSequenceVerify,简称CSV)
CSV操作码允许将相对锁定时间应用于输出。当尝试花费输出UTXO时,除非nSequence时间大于或等于提供给CSV操作码的参数,否则脚本执行将失败,即只有当nSequence指定的时间过去后,输出才能被添加到有效区块中并因此被花费。
因此,提供时间锁的常规方法是从区块链上的交易中获取nLockTime,并将其与所提供的CLTV参数进行比较(或者将nSequence时间与CSV时间进行比较)。
尽管这些技术是有用的,但是它们并不支持或促进与锁定时间相关的可变性。能够使用外部来源的(区块外)数据来控制如何以及何时可以解锁区块链输出将是非常有利的,因为这将提供一种大幅改进的锁定/解锁控制技术。
但是,在技术领域内公认的是,无法将外部数据插入或注入到区块链。例如,参见《了解比特币:密码学、工程学和经济学(Understanding Bitcoin:Cryptography,Engineering,and Economics)》的第190页(Pedro Franco,John Wiley&Sons,2015年),其中指出“比特币是一个自包含的系统,不引用外部数据”。此外,现有的时间锁机制为控制何时解锁输出提供了一个简单的解决方案,因为它们在达到指定时间时简单地激活,或者在未达到指定时间时保持锁定。然而,在许多情况下,对输出的锁定/解锁具有更高程度的控制是有利的,从而当通过网络进行传输时也是有利的。需要一种更复杂的方法,该方法在用于锁定/解锁资源的条件方面允许更高的粒度级别,和/或在满足这些条件时可以采取的行动方面允许更多的选择或可能性。
现有技术的解决方案教导多个交易的使用,每个交易具有其自己的简单时间锁,该时间锁指定了到达特定时间时可以采取的不同的行动过程。例如,在McCorry Patrick等人的《走向比特币支付网络(Towards Bitcoin Payment Networks)》(2016年6月30日,ECCV2016年会,[计算机科学讲座笔记]Springer International Publishing,CHAM,第57至76页,XP047348067)中公开了多重时间锁交易的使用。McCorry教授了使用微支付和闪电通道来实现多个可能的解锁时间。
但是,这种安排可能非常复杂,并且需要大量资源来生成、处理、操纵和存储多个交易。例如,McCorry的图3示出了建立闪电通道所需的多个交易和内部消息。在资源和时间方面,能够在区块链的一个交易中使用包含在单个脚本中的更复杂的时间锁机制会更为高效。
现在已经根据所附权利要求书中定义的本发明设计了这种改进的解决方案。
发明内容
根据本发明,可以提供一种方法(和相应的系统)。该方法可以被描述或称为控制方法。附加地或替代地,它可以被描述为保护和/或解锁资源的方法。该资源可以与区块链交易(TX0)中的输出(UTXO)相关联。它可以保护、控制和/或指定可以解锁UTXO的时间(和/或时间范围)。除了基于时间的锁定要求之外,可能还需要满足其他标准或条件。附加地或替代地,它可以控制何时可以解锁输出(即“花费”)。因此,它可以控制一部分加密货币或加密安全的资产,或者与输出相关联的令牌化实体,并且可以从一方转移到另一方。这样,本发明提供了区块链和/或加密货币的改进实现。附加地或替代地,它可以提供用于锁定/解锁区块链交易(TX)或更具体地,交易中的至少一个输出的改进的安全机制。
本发明可以包括以下步骤:
1.在区块链交易(TX0)的脚本中,使用从交易(TX0)外部的源提供的数据计算时间相关值(Tsupplied)
2.在时间锁机制中使用计算出的值(Tsupplied),以确保受控资源的解锁只能在预先确定的时间执行。
时间锁机制可以在与计算相同的脚本中提供。脚本可以与交易(TX0)的输出(UTXO)相关联,并且其中受控资源与输出(UTXO)相关联。
在附加或替代的措辞中,本发明可以提供一种用于在区块链交易(TX0)中保护和/或解锁输出(UTXO)的方法。该方法可以包括以下步骤:
使用时间锁机制来控制或影响何时可以解锁输出(UTXO);
其中时间锁机制使用作为使用输入(A)的计算结果而生成的参数(Tsupplied)。
在另一个附加或替代的措辞中,本发明可以包括:
在区块链交易中布置锁定脚本,使其获取输入(即,值)并在计算中使用该输入。该计算可以对输入执行数学运算。该计算可以产生与时间相关的结果,该结果然后可以用作时间锁机制(例如,包括CLTV,CSV和/或nLockTime)的输入。这可以确保输出仅在给定的时间根据至少一个已写入锁定/赎回脚本的条件是可花费的。
附加地或替代地,本发明可以被描述为包括:
一种用于保护或解锁区块链交易(TX0)中的输出(UTXO)的方法,包括:
i)为计算提供输入(A),以输出结果(Tsupplied);
和/或
基于输入(A)提供或使用计算来生成结果(Tsupplied);
和
ii)使用结果(Tsupplied)作为时间锁机制的参数,该时间锁机制用于控制或影响何时可以解锁输出(UTXO)。
附加地或替代地,本发明可以被描述为包括:
一种在特定时间或时间段之前在区块链交易(TX0)中保护或解锁输出(UTXO)的方法,包括以下步骤:
使用基于时间的参数或值(Tsupplied)作为时间锁机制的输入,其中:
时间锁机制包括CLTV和CSV操作的组合,或者取决于所使用的区块链协议的功能相似/等效的操作。
以上提供的优点是,可变输入可以从区块链外部的源接收,并由区块链上的交易中的脚本使用,以确定何时可以释放受控资源。
锁定脚本可用于锁定区块链交易中的输出。交易可以被提交到和/或记录在区块链。
计算结果可用于脚本中提供的条件语句或测试。这提供了由解锁脚本提供的不同的时间相关输入可以产生不同的结果或行为的优点。
根据一个或多个实施例,时间锁机制可以包括部分代码,该部分代码包括:
Tsupplied(CLTV);或
NOT[Tsupplied(CLTV)]+1;或
Tsupplied(CLTV)AND[NOT(Tsupplied(CLTV))+1];或
Tsupplied(CLTV)AND[NOT(Tsupplied(CLTV))+1]AND Tsupplied(CSV)
锁定脚本可以包括赎回脚本。赎回脚本可以包括用于执行时间锁机制的计算和/或代码。
优选地,输入(A)由外部源提供。相对于锁定/赎回脚本,外部源可以是外部的。它可能是一个区块外的源。
计算可以提供结果,该结果确保时间锁机制仅在已经达到期望的预先确定的时间时才允许输出(UTXO)的解锁。这可以在创建锁定脚本时或之前预先确定。结果可能基于时间相关值或受时间相关值影响。这在本文中可以称为Tsupplied。
在替代措辞中,时间锁机制可以被称为“时间锁技术”或“时间锁逻辑”。时间锁机制可以包括相对和/或绝对时间锁机制或其组合。这些可以是实施例中的nLockTime、CSV和/或CLTV操作,该实施例在使用这些操作的区块链(例如比特币及其变体)上实现。在使用其他区块链协议和平台的实施例中,时间锁机制可以包括在功能上基本等同于或类似于CSV/CLTV的操作。附加地或替代地,时间锁机制可以包括nLockTime(或功能上类似/等同)机制或字段。
参数(Tsupplied)可以是数字。它可能是32位数字。参数(Tsupplied)可以基于或代表:
至少一个区块链区块编号或高度,或其范围;或者
时间戳,时间的数字表示;或其范围;
时间戳;
整数(例如32位整数);
基于Unix的时间格式;和/或
可以用作时间锁机制输入的任何时间相关值。
Tsupplied可以使用以下计算来计算:
-Hash(A)+X=Tsupplied
其中A是秘密值,X是偏移值。
上述方法可以包括在将输入(A)用于计算之前,使用部分逻辑来处理输入(A)的步骤。部分逻辑可以在与输出(UTXO)相关联的锁定脚本中提供。部分逻辑可以包括至少一个布尔运算。
本发明的一个或多个实施例可以包括以下步骤:
使用时间锁机制来评估或影响条件运算的结果,以便当条件或测试评估为真(TRUE)时触发指定的事件。条件运算可以是基于一个或多个输入返回布尔结果的如果(IF)运算。这提供了这样的优点,即脚本可以用于根据时间规定和执行复杂的功能和行为。例如:
如果(<条件1>日期1)
然后执行动作1;
如果(<条件2>日期2)
然后执行动作2
如上所述,与现有技术相比,这是在单个交易的脚本中实现的。
计算可以在与输出(UTXO)相关联的锁定脚本中提供。
输入(A)可以通过与另一区块链交易(TX1)中的输入(In)相关联的解锁脚本来提供。输入(In)可用于尝试在第一个交易(TX0)中花费输出(UTXO)。
计算可以被设置成使得在为输入(A)提供特定值时,它将为基于时间的结果(Tsupplied)生成值。计算可以包括数学运算符。计算可以对多个操作数进行操作。操作数之一可以是输入(A)。其他操作数之一可以是散列函数。相反,现有技术简单地
本发明还提供了一种计算机实现的系统,该系统用于实现本文描述的方法的任何实施例。关于该方法提及的任何特征也可以应用于相应的系统。
本发明还提供了一种系统,包括:
处理器;和
包括可执行指令的存储器,该可执行指令作为处理器执行的结果,使得系统执行本文描述的计算机实现的方法的任何实施例。
本发明还提供了一种其上存储有可执行指令的非暂时性计算机可读存储介质,该可执行指令作为由计算机系统的处理器执行的结果,使得计算机系统至少执行本文描述的计算机实现的方法的实施例。
上述关于一种措辞、实施例或方面的任何特征也可适用于其他措辞、实施例或方面。
附图说明
参考本文描述的实施例,本发明的这些和其他方面将变得显而易见并得以阐明。现在仅通过示例并参考附图来描述本发明的实施例,其中:
图1是示出本发明的实施例的概况的流程图。
图2至6示出了电子表格,其中填充了不同的Tsupplied值,以及其与CLTV和/或CSV时间锁机制结合使用时的相应结果。
图7是示出可以实现各种实施例的计算环境的示意图。
具体实施方式
本发明包括一种用于保护区块链交易中的(未花费的)输出的解决方案,使得该输出只能由授权方在允许的时间内根据提供给交易脚本的外部数据解锁。该外部数据可以由授权方提供。
本发明主要包括在UTXO的锁定脚本中实现的两个步骤:
3.使用提供的外部数据计算时间相关值(我们将其称为Tsupplied)
4.在时间锁技术中使用计算出的Tsupplied值,以确保在预先确定的时间发生解锁。
本发明具有许多优点,这些优点包括(但不限于):
·提供可变的nLockTime机制
·本发明提供了可变的锁定时间机制,该机制可以在单个交易内在区块链上实现。它不需要在区块链之上开发复杂的、资源密集型支付渠道或第二层解决方案;因此,它提供了安全的、加密实施的解决方案,该解决方案在资源和处理方面是高效的,并且可以在现有的区块链平台上实现,无需改变底层协议;
·在如何以及何时可以解锁输出以及由谁解锁方面具有更大的灵活性和更复杂的控制程度;
即本发明提供了一种增强的技术,用于控制如何、何时以及向谁通过网络进行转移,
·指定仅对特定区块/时间有效的转移的能力;或多个区块/时间段或范围;
·指定特定时间将发生某个(或多个)区块链相关事件的更大的能力;
·对脚本中的时间相关值执行计算和数学/逻辑运算的能力
·在单个脚本中设置可允许的花费(即转移)配置的任意组合的能力
·设置并激活激励预先定义的期望行为的脚本
·实现本发明的必要逻辑和操作可以在交易脚本中提供,该交易脚本可以以常规方式记录在区块链上;
·本发明不需要对现有(如比特币)区块链协议或平台进行任何修改、扩展或其他重新配置。
步骤1:Tsupplied的计算
仅出于解释和说明的目的,我们现在提供一个可用于实现本发明的实施例的示例。在此示例中,我们假定本发明在比特币区块链的任何变体实现,因此我们使用CLTV和CSV作为时间锁机制。然而,其他实施例和实施方式可以使用替代的区块链平台和操作达到相同的效果,同时仍然落入所要求保护的发明的范围内。这种替代协议可以提供时间锁机制,该机制具有不同的标识符或稍有不同的功能,但是仍然落入本发明的范围内,因为它们允许基于时间的交易输出的锁定。
在本文中,我们使用术语“时间”来包括这些选项中的任何一个,以及以某种方式与时间点或时间点范围或一个或多个事件发生时相关的任何其他选项。
在我们的示例场景中,我们假设:
·在m/n无经销商分配方案中存在n个参与者组成的群组。无经销商分配方案在本领域中是已知的
·创建UTXO,支付群组的公钥和交易“谜题”(注意,谜题被设计为可变的)
·门限(m个成员)子组协作以通过区块外的机制转移对UTXO的控制。
这是通过使不同的子组在不同的条件下(例如,在不同的时间段或区块编号)对谜题具有唯一的解决方案来实现的。因此,目标是让不同的方能够在满足各自的标准时花费UTXO并解锁其资金。
假设已使用无经销商方案来建立未知私钥和相关的已知公钥。创建包括输出(UTXO)的比特币交易TX0。与此UTXO相关联的部分加密货币使用锁定脚本进行锁定,如下所示:
<input to redeem-script>[redeem script]
其中赎回脚本包括如下计算:
-H(A)+X=Tsupplied
其中H(A)代表A的散列
并且其中<input to redeem-script>可以包括如下值:
Signature A X
因此,尝试花费输出的一方将需要提供这三个输入来满足赎回脚本的标准并解锁UTXO。
因此,与现有技术相比,本发明的实施例在(单个)脚本中提供数学计算,该脚本通过要求授权用户通过解锁脚本提供值来保护受控资源(例如加密货币资金、令牌化资产),该解锁脚本将导致计算产生结果,该结果在随后被输入到时间锁机制时将导致真,从而解锁资源。计算包括数学运算,该数学运算对多个操作数(即上述–H(A)和X)进行运算,并将产生依赖于操作数的值的结果。因此,该脚本提供了一种机制,用于在解锁尝试期间输入一些值,以生成可变结果,然后在时间锁定机制中使用该结果。
在赎回脚本中,Tsupplied代表特定的时间或期间,或者特定的区块编号或区块编号范围。这是用户(UTXO的花费者)希望解锁并花费输出(UTXO)的时间。T可以通过时间锁机制CLTV和CSV的组合被锁定在脚本中,即,T是传递到CLTV/CSV锁定技术的参数值,其将在下文题为“步骤2:在时间锁机制中使用Tsupplied”一节中详细描述。
A是秘密号码。子组A是唯一可以(协作地)派生A的参与者集合,并且因此可以花费UTXO(如果它们能够提供其他未知数)。
X是偏移值,可通过锁定脚本中的计算来建立目标Tsupplied值。子组A预先知道A的值和目标值Tsupplied的值,但不知道X的值。因此,它仅知道所需的三个输入中的两个。但是,子组A可以使用以下公式推导出偏移量X:
X=Tsupplied+H(A)
因此,所需的输入的所有值都可用于子组A。
例如,假设协作子组(m个成员)已经将T的目标值(即,如果满足条件/标准,输出将为可花费的时间)决定为区块编号700,000。在另一个示例中,可以使用不同于该区块编号的时间。然后,m个成员设计计算,该计算将被插入到赎回脚本中,并且该计算将评估以产生其中T=700000的结果。赎回脚本将使用此结果Tsupplied 700000作为脚本中CLTV/CSV时间锁组合的参数(输入值)。
秘密值A和目标值T为创建交易的子组(即子组A)所知。因此,子组A可以通过以下公式计算出所需的X值:
X=700000+H(A)
因此,A和X的值现在对UTXO的授权花费者(子组A)都是可用的,并且如上文所述,可以通过另一交易TX1的解锁脚本以及相关签名被传递到赎回脚本中。
赎回脚本及其提供的输入的目的是,只有知道A的秘密值的人(即子组A)才能解锁交易,并且只能在区块编号700,000处解锁。为了实现这一点,锁定脚本的一部分需要通过将A的散列值与写入锁定脚本的存储的散列值进行比较来验证A的值。
锁定脚本的伪代码可以这样表达:
将输入值压入堆栈
对传入的A值(称为Ain)进行散列以创建H(Ain)
将H(Ain)与内部存储的值H(A)进行比较。如果不匹配,则中止。
使用Tsupplied=-H(A)+X计算Tsupplied
计算出的Tsupplied值用作CLTV和CSV锁定机制的输入(在下文“步骤2:
在时间锁机制中使用Tsupplied”一节中有更详细的描述)
检查签名
因此,本发明提供了以前不可能的可变nLockTime机制。因此,根据本发明设计了一种改进的转移控制机制。
上文解释的简单情况可以扩展到提供更复杂和更先进的控制行为,因为可以对值执行数学和逻辑运算。例如,完整的无经销商群组的任何子组都可以推导出所需的签名(前提是成员数量达到门限),并且任何子组都可以创建自己的秘密A值。因此,几个子组可以协作以使交易在锁定到特定子组的不同T值(例如,对于不同的区块编号)处可花费。
例如,假设子组0希望能够在时间T0花费交易;子组1希望能够在时间T1花费交易;子组2希望能够在T2时间花费交易。每个子组可以有其自己的秘密值An,每个子组可以设置自己的Tn目标区块编号并计算自己的Xn值:
Xn=Tn+H(An)
例如,交易将在区块编号700,000被锁定到的子组0;子组1在700,001,子组2在700,002。交易可以通过任何具有以下值的解锁脚本来解锁:
Signature AnXn
其中Xn被计算为:
X0=700000+H(A0)
X1=700001+H(A1)
X2=700002+H(A2)
为了实现这一点,每个An散列H(An)必须包含在脚本中,并分别用条件如果(IF)或“或者(OR)”操作进行检查。换句话说:
如果不是以下,则终止
H(Ain)=H(A0) OR
H(Ain)=H(A1) OR
H(Ain)=H(A2)
本领域技术人员将理解,在设置交易的锁定脚本时,基于所有子组的事先同意,可以创建可允许的花费配置的任何组合。例如:
·目标T值(例如区块编号)不必连续
·目标T值可能表示区块编号或时间段的范围
·可以允许不同的子组在相同的T值上花费(每个子组将有根据相同T值计算得出的不同Xn值)。
·(等)
在另一个示例中,可以扩展上述内容以将花费尝试限制为接近目标时间。考虑这样的情况,其中我们要求子组A向脚本提供另一个输入B,该输入B代表只能在目标时间段或接近目标时间段才能知道的值。例如,B可以是距离目标区块编号六个区块的区块散列。还可以想到其他示例,其中值B仅在给定时间或在给定时间附近被传达给授权的花费者或使其可用/可导出。在区块散列示例中,目的是解锁脚本所需的值不能在目标区块存在之前的大约一个小时之前导出。
在这种情况下,赎回脚本包括:
-[H(A)+H(B)]+X=T
并且子组A将需要创建满足<input to redeem-script>的值:
Signature A B X
一旦B的值可从区块链获得,子组A可以使用公式-[H(A)+H(B)]+X=T来推导出偏移量X,因为秘密值A和子组A也已知。假设花费尝试是在目标区块的一个小时内执行的(因此B的值是已知的),则X的所需值可以从下式计算:
X=700000+H(A)+H(B)
因此,子组A现在知道创建解锁脚本所需的所有信息,解锁脚本提供正确的输入以满足赎回脚本的条件并解锁输出。
本发明能够安全地并通过在区块链的单个交易实现上述目的,无需建立复杂且效率较低的第二层解决方案(例如支付渠道)。
步骤2:在时间锁机制中使用Tsupplied
一旦使用通过解锁脚本提供的外部输入在脚本中计算出Tsupplied的值,该值就可以用于时间锁技术中,以确保UTXO只能在期望的时间或期望的时间范围内解锁。
本发明可以被设置成使用CLTV操作或CSV操作或其组合。然而,每种方法都使用一些共同的、共享的特性:
·先前在锁定脚本中计算的Tsupplied值被用于时间锁目的的后续计算;正如所解释的,这是从外部源提供给脚本的值。
·我们在锁定脚本中使用时间T0作为常数。这是初始(即脚本开始)时间,因此任何低于T0的值都将被评估为假(false),因为它不能在锁定脚本首次作为区块链上的交易出现之前发生。此固定值在编写时被添加到锁定脚本中,并且不能改变。
·我们用Tnow来指当前时间。在我们的示例中,这是区块链此刻的区块高度,也是区块的共识上记录的实际时间。换句话说,它是来自网络的nLocktime,而不是可以被欺骗的东西。这提供了确保受控输出的安全性的技术效果。
Tnow是可变的而不是固定的,并且随着每个区块而变化。Tnow(当前时间)必须大于T0(初始/开始时间)。然而,当前时间可以用多种方式和格式来测量或表示。它可以从各种区块外或区块内来源获得。它可以表示为数值,并且可以用于数学计算和脚本内操作。
·如果使用外部源提供的数据计算的时间已经过去,则CLTV和CSV都可以使用。也就是说TSupplied<=Tnow
当TSupplied>Tnow时,脚本无效并失败。因此,任何大于当前时间的计算时间的使用都将失败。但是,我们可以创建逻辑操作集合来捕获这些情况。
·参考图2到图6,可以看出只有一种情况下,TSupplied和Tnow会导致单个可接受的值。唯一有效的情况是已到达当前时间时。
为了说明的目的,图2至图6示出了如何使用各种时间锁机制来将可花费的输出保护在特定的时间/范围内。
在图2至图6中的每个图中:
·A列第37行示出了Tnow的给定值
·A列第38行示出了初始时间常数T0的给定值
·A列第3到33行示出了使用外部源通过解锁脚本提供的输入在脚本内计算出的Tsupplied的不同值
电子表格单元格中的公式如下:
图2示出了Tnow为108且T0为100时,不同Tsupplied值的时间锁输出。注意,仅当Tsupplied为108时,该脚本有效,并在第21行(第H列和第I列)中评估为真(即1)结果。
图3示出了Tnow为118且T0为117时,不同Tsupplied值的时间锁输出。
图4示出了Tnow为115且T0为100时,不同Tsupplied值的时间锁输出。注意,仅当Tsupplied为115时,该脚本在第28行(第H列和第I列)中评估为真(即1)结果。
图5示出了Tnow为115且T0为95时,不同Tsupplied值的时间锁输出
图6示出了Tnow为90且T0为95时,不同Tsupplied值的时间锁输出。注意,在这种情况下,Tnow的值小于T0的值,这是无效的。因此,在第H列或第I列都没有真(“1”)结果
在时间锁机制使用CLTV操作的实施例中,TCLTV(图2至图6中的列D所示的输出)基于Tsupplied。
在时间锁机制使用CSV操作的实施例中,TCSV(如图2至6的列B所示)被计算为:
TCSV=TSupplied–T0
此计算在脚本中完成,并且不是由用户/花费者通过输入来提供。用户/外部源仅提供输入以影响TSupplied的计算。
在某些实施例中,时间锁机制包括组合的CSV和CLTV操作。这些示出在图2至5的第F至I列中。
现在转向图7,提供了可用于实践本发明的至少一个实施例的计算设备2600的说明性简化框图。在各种实施例中,计算设备2600可以用于实现上文示出和描述的任何系统。例如,计算设备2600可以用作数据服务器、网络服务器、便携式计算设备、个人计算机或任何电子计算设备。如图7所示,计算设备2600可以包括具有一级或多级的高速缓存存储器的一个或多个处理器以及可以与包括主存储器2608和持久性存储器2610的存储子系统2606通信的存储器控制器(统称为2602)。如图所示,主存储器2608可包括动态随机存取存储器(Dynamic Random-Access Memory,简称DRAM)2618和只读存储器(Read-Only Memory,简称ROM)2620。存储子系统2606和高速缓冲存储器2602可以用于信息(诸如与本发明中所描述的交易和区块相关联的细节)的存储。处理器2602可用于本发明中所描述的方法。
处理器2602还可以与一个或多个用户界面输入设备2612、一个或多个用户界面输出设备2614以及网络接口子系统2616通信。
总线子系统2604可以提供用于使计算设备2600的各个组件和子系统能够按预期彼此通信的机制。尽管总线子系统2604被图示为单个总线,但是总线子系统的替代实施例可以利用多个总线。
网络接口子系统2616可以提供到其他计算设备和网络的接口。网络接口子系统2616可以用作从计算设备2600从其他系统接收数据以及向其他系统传输数据的接口。例如,网络接口子系统2616可以使数据技术人员能够将设备连接至网络,使得数据技术人员能够在远程位置(例如数据中心)将数据传输到设备并从该设备接收数据。
用户界面输入设备2612可以包括一个或多个用户输入设备(诸如键盘);指向设备(诸如集成鼠标、轨迹球、触摸板或图形输入板);扫描仪;条形码扫描仪;集成到显示器中的触摸屏;音频输入设备(诸如语音识别系统、麦克风);和其他类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算设备2600的所有可能类型的设备和机制。
一个或多个用户界面输出设备2614可以包括显示子系统、打印机或非可视显示器(诸如音频输出设备)。显示子系统可以是阴极射线管(Cathode Ray Tube,简称CRT)、平板设备(诸如液晶显示器(Light Emitting Diode,简称LCD)、发光二极管(Light EmittingDiode,简称LED)显示器)或投影仪或其他显示设备。通常,术语“输出设备”的使用旨在包括用于从计算设备2600输出信息的所有可能类型的设备和机制。一个或多个用户界面输出设备2614可以用于展示用户界面,以便在适当的时候方便用户与执行所述流程及其变化的应用程序进行交互。
存储子系统2606可以提供用于存储基本编程和数据构造的计算机可读存储介质,其中,基本编程和数据构造可以提供本发明的至少一个实施例的功能。当由一个或多个处理器执行时,应用程序(程序、代码模块、指令)可以提供本发明的一个或多个实施例的功能,并且可以存储在存储子系统2606中。这些应用程序模块或指令可以由一个或多个处理器2602执行。存储子系统2606可以另外提供用于存储本发明使用的数据的存储库。例如,主存储器2608和高速缓冲存储器2602可以为程序和数据提供易失性存储。永久性存储装置2610可以为程序和数据提供永久性(非易失性)存储,并且可以包括闪速存储器、一个或多个固态驱动器、一个或多个具有相关可移动介质的光盘驱动器(例如CD-ROM或DVD或蓝光)以及其他类似的存储介质。这样的程序和数据可以包括用于执行如本发明中所描述的7的程序,以及与如本发明中所描述的与交易和区块相关联的数据。
计算设备2600可以是各种类型,包括便携式计算机设备、平板计算机、工作站或以下描述的任何其他设备。另外,计算设备2600可以包括能通过一个或多个端口(例如,USB、耳机插孔、闪电连接器等)连接到计算设备2600的另一设备。可以连接到计算设备2600的设备包括接受光纤连接器的多个端口。因此,该设备可以将光信号转换为电信号,该电信号可以通过将设备连接至计算设备2600的端口进行传输以进行处理。由于计算机和网络的不断变化的性质,图7中描述的计算设备2600仅作为说明该设备的优选实施例的具体示例。与图7中描绘的系统相比,许多具有更多或更少组件的其他配置也是可能的。
应当说明的是,上述实施例说明而非限制本发明,在不脱离本发明的由所附权利要求限定的范围的情况下,本领域技术人员将能够设计出许多替代性实施例。在权利要求中,括号中的任何附图标记不应解释为对权利要求的限制。词语“包括(Comprising)”和“包括(Comprises)”等并非在整体上排除其他元件和步骤的存在,尽管这些元件和步骤并没有在任何权利要求或说明书中列出。在本说明书中,“包括(Comprises)”意指“包括(Includes)或由......组成(Consists of)”,“包括(Comprising)”意指“包括(Including)或由......组成(Consisting of)”。元件的单数引用不意味着排除这些元件的复数引用,反之亦然。本发明可以借助包括若干不同元件的硬件,以及借助适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干个可以由硬件的同一个部件来体现。不争的事实是,在相互不同的从属权利要求中列举了某些方法,并不代表这些方法的结合不能获得有益效果。
Claims (17)
1.一种在区块链交易(TX0)中保护或解锁输出(UTXO)的方法,包括:
使用时间锁机制来控制或影响何时可以解锁所述输出(UTXO);
其中,所述时间锁机制使用作为计算结果生成的值(Tsupplied),所述计算使用由所述区块链交易(TX0)外部的源提供的输入(A)。
2.根据权利要求1所述的方法,其中:
所述输入(A)由以下外部的源提供:
所述区块链交易(TX0);和/或
与所述输出相关联的锁定脚本(LS)。
3.根据权利要求1或2所述的方法,其中:
所述时间锁机制仅允许在达到所需时间或时间范围时解锁所述输出(UTXO)。
4.根据任一项前述权利要求所述的方法,其中:
所述计算包括数学运算符,并且优选地,其中:
所述计算对多个操作数进行运算,其中,所述操作数之一是所述输入(A)。
5.根据权利要求所述4的方法,其中,至少一个所述其他操作数是散列函数。
6.根据任一项前述权利要求所述的方法,其中:
所述时间锁机制包括比特币CSV和/或CLTV运算,或者来自除所述比特币之外的区块链协议的其他功能类似的运算。
7.根据任一项前述权利要求所述的方法,其中:
所述值(Tsupplied)涉及、包含或表示:
至少一个区块编号或高度,或其范围;或者
时间戳,特定时间的数字表示,或其范围。
8.根据任一项前述权利要求所述的方法,包括以下步骤:
在所述输入(A)用于所述计算之前,使用部分逻辑来处理、操作或使用输入(A),优选地,其中:
i)在与所述输出(UTXO)相关联的锁定脚本中提供了所述部分逻辑;和/或
ii)所述部分逻辑包括至少一个布尔运算。
9.根据任一项前述权利要求所述的方法,其中:
i)在与所述输出(UTXO)相关联的锁定脚本中提供所述计算;和/或
ii)通过与另一区块链交易(TX1)中的输入(In)相关联的解锁脚本来提供所述输入(A)。
10.根据任一项前述权利要求所述的方法,还包括以下步骤:
使用所述时间锁机制来评估条件运算的结果,以便在所述条件运算评估为真时触发事件。
11.根据任一项前述权利要求所述的方法,其中:
安排和/或选择所述计算,以便在提供特定值给所述输入(A)时,所述计算将为值(Tsupplied)生成预先确定的值。
12.根据任一项前述权利要求所述的方法,其中:
所述时间锁机制包括部分代码,所述部分代码包括:
Tsupplied(CLTV);或者
NOT[Tsupplied(CLTV)]+1;或者
Tsupplied(CLTV)AND[NOT(Tsupplied(CLTV))+1];或者
Tsupplied(CLTV)AND[NOT(Tsupplied(CLTV))+1]AND Tsupplied(CSV)。
13.一种在区块链交易(TX0)中保护输出(UTXO)的方法,包括:
i)为计算提供输入(A),以输出结果(Tsupplied);
和/或
基于所述输入(A)提供或使用所述计算来生成所述结果(Tsupplied);和
ii)使用所述结果(Tsupplied)作为时间锁机制的参数,所述时间锁机制用于控制或影响何时可以解锁所述输出(UTXO)。
14.一种在特定时间或时间段之前在区块链交易(TX0)中保护或解锁输出(UTXO)的方法,包括以下步骤:
使用基于时间的值(Tsupplied)作为时间锁机制的输入,其中:
所述时间锁机制包括:CLTV运算和CSV运算的组合,或者功能上相似/等效的运算,所述功能相似/等效的运算取决于所使用的区块链协议。
15.根据权利要求14所述的方法,其中:
所述时间锁机制包括部分代码,所述部分代码包括:
Tsupplied(CLTV);或者
NOT[Tsupplied(CLTV)]+1;或者
Tsupplied(CLTV)AND[NOT(Tsupplied(CLTV))+1];或者
Tsupplied(CLTV)AND[NOT(Tsupplied(CLTV))+1]AND Tsupplied(CSV)
16.一种计算机实现的系统,包括:
处理器;和
包括可执行指令的存储器,所述可执行指令在由所述处理器执行,可使得所述系统执行权利要求1至15中任一项所述的方法。
17.一种存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令在由计算机系统的处理器执行,可使得所述计算机系统至少执行权利要求1至15中任一项所述的计算机实现的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1714517.8 | 2017-09-08 | ||
IB2017055430 | 2017-09-08 | ||
IBPCT/IB2017/055430 | 2017-09-08 | ||
GBGB1714517.8A GB201714517D0 (en) | 2017-09-08 | 2017-09-08 | Computer-implemented system and method |
PCT/IB2018/056734 WO2019049022A1 (en) | 2017-09-08 | 2018-09-04 | ENHANCED TIME LOCKING TECHNIQUE TO SECURE A RESOURCE ON A BLOCK CHAIN |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111095861A true CN111095861A (zh) | 2020-05-01 |
Family
ID=63722709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880058255.XA Pending CN111095861A (zh) | 2017-09-08 | 2018-09-04 | 用于保护区块链上资源的改进时间锁技术 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11978043B2 (zh) |
EP (1) | EP3679685A1 (zh) |
JP (2) | JP7264878B6 (zh) |
CN (1) | CN111095861A (zh) |
TW (1) | TWI812638B (zh) |
WO (1) | WO2019049022A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328621A (zh) * | 2022-10-10 | 2022-11-11 | 北京百度网讯科技有限公司 | 基于区块链的事务处理方法、装置、设备及存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11948132B2 (en) * | 2018-02-27 | 2024-04-02 | Fall Guy Llc | Cryptographically secure booster packs in a blockchain |
WO2019232679A1 (zh) * | 2018-06-04 | 2019-12-12 | 上海分赋信息科技有限公司 | 基于时间维度进行加密数字资产的切分锁定及合并控制方法 |
EP4004775B1 (en) | 2019-07-26 | 2024-02-28 | Hewlett-Packard Development Company, L.P. | Storage enclosures |
US11669812B2 (en) * | 2020-06-05 | 2023-06-06 | Serge M Krasnyansky | Contingent payments for virtual currencies |
CN113052576B (zh) * | 2020-11-05 | 2024-02-27 | 北京跨联元焕网络科技有限公司 | 跨链交换的托管方法和系统 |
GB202201962D0 (en) * | 2022-02-15 | 2022-03-30 | Nchain Licensing Ag | Blockchain transaction |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130042111A1 (en) * | 2011-08-09 | 2013-02-14 | Michael Stephen Fiske | Securing transactions against cyberattacks |
CN103765454A (zh) * | 2011-06-07 | 2014-04-30 | 维萨国际服务协会 | 支付隐私令牌化装置、方法和系统 |
US20160210627A1 (en) * | 2015-01-16 | 2016-07-21 | Red Hat, Inc. | Distributed transaction with dynamic form |
US20160342980A1 (en) * | 2015-05-20 | 2016-11-24 | 402 Technologies S.A. | Resource Transfer System |
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
US20170005804A1 (en) * | 2015-07-02 | 2017-01-05 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
US20170034197A1 (en) * | 2015-07-31 | 2017-02-02 | British Telecommunications Public Limited Company | Mitigating blockchain attack |
GB201705749D0 (en) * | 2017-04-10 | 2017-05-24 | Nchain Holdings Ltd | Computer-implemented system and method |
CN106780032A (zh) * | 2016-12-16 | 2017-05-31 | 杭州云象网络技术有限公司 | 一种多链场景下的区块链链间资产转移方法 |
US20170187569A1 (en) * | 2015-12-25 | 2017-06-29 | Fujitsu Limited | Apparatus and method to detect a fault in a communication path by using a detection packet |
CN106934624A (zh) * | 2017-01-04 | 2017-07-07 | 毛德操 | 在输入前端采用见证式指纹的区块链的方法 |
US20170220815A1 (en) * | 2016-01-28 | 2017-08-03 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002351715A (ja) * | 2001-03-19 | 2002-12-06 | Ricoh Co Ltd | 書き込み遅延データベース管理システム |
US20070245159A1 (en) * | 2006-04-18 | 2007-10-18 | Oracle International Corporation | Hash function strengthening |
EP3140979A4 (en) * | 2014-05-09 | 2017-12-27 | Veritaseum Inc. | Devices, systems, and methods for facilitating low trust and zero trust value transfers |
US20160070636A1 (en) * | 2014-09-04 | 2016-03-10 | Home Box Office, Inc. | Conditional wrapper for program object |
JP5871347B1 (ja) * | 2015-03-11 | 2016-03-01 | 株式会社Orb | 仮想通貨管理プログラム、及び仮想通貨管理方法 |
TWI676943B (zh) * | 2015-05-06 | 2019-11-11 | 現代財富控股有限公司 | 加密貨幣的電子交易系統及其方法 |
US9735958B2 (en) | 2015-05-19 | 2017-08-15 | Coinbase, Inc. | Key ceremony of a security system forming part of a host computer for cryptographic transactions |
GB2571390B (en) * | 2016-02-03 | 2022-07-20 | Luther Systems Ltd | Systems and method for secure management of digital contracts |
EP3257191B1 (en) | 2016-02-23 | 2018-04-11 | Nchain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US10523443B1 (en) * | 2016-08-24 | 2019-12-31 | Bruce Kleinman | Devices, methods, and systems for cryptographic authentication and provenance of physical assets |
CN107103537B (zh) * | 2017-06-20 | 2021-01-22 | 北京汇通金财信息科技有限公司 | 一种基于区块链的数字资产交易方法及系统 |
-
2018
- 2018-09-04 CN CN201880058255.XA patent/CN111095861A/zh active Pending
- 2018-09-04 EP EP18782190.5A patent/EP3679685A1/en active Pending
- 2018-09-04 US US16/645,437 patent/US11978043B2/en active Active
- 2018-09-04 JP JP2020512497A patent/JP7264878B6/ja active Active
- 2018-09-04 WO PCT/IB2018/056734 patent/WO2019049022A1/en unknown
- 2018-09-07 TW TW107131573A patent/TWI812638B/zh active
-
2023
- 2023-04-13 JP JP2023065557A patent/JP2023089153A/ja active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103765454A (zh) * | 2011-06-07 | 2014-04-30 | 维萨国际服务协会 | 支付隐私令牌化装置、方法和系统 |
US20130042111A1 (en) * | 2011-08-09 | 2013-02-14 | Michael Stephen Fiske | Securing transactions against cyberattacks |
US20160210627A1 (en) * | 2015-01-16 | 2016-07-21 | Red Hat, Inc. | Distributed transaction with dynamic form |
US20160342980A1 (en) * | 2015-05-20 | 2016-11-24 | 402 Technologies S.A. | Resource Transfer System |
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
US20170005804A1 (en) * | 2015-07-02 | 2017-01-05 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
US20170034197A1 (en) * | 2015-07-31 | 2017-02-02 | British Telecommunications Public Limited Company | Mitigating blockchain attack |
US20170187569A1 (en) * | 2015-12-25 | 2017-06-29 | Fujitsu Limited | Apparatus and method to detect a fault in a communication path by using a detection packet |
US20170220815A1 (en) * | 2016-01-28 | 2017-08-03 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
CN106780032A (zh) * | 2016-12-16 | 2017-05-31 | 杭州云象网络技术有限公司 | 一种多链场景下的区块链链间资产转移方法 |
CN106934624A (zh) * | 2017-01-04 | 2017-07-07 | 毛德操 | 在输入前端采用见证式指纹的区块链的方法 |
GB201705749D0 (en) * | 2017-04-10 | 2017-05-24 | Nchain Holdings Ltd | Computer-implemented system and method |
Non-Patent Citations (2)
Title |
---|
BITFURY GROUP: "Smart Contracts on Bitcoin Blockchain", HTTP://BITFURY.COM/CONTENT/5-WHITE-PAPERS-RESEARCH/CONTRACTS-1.1.1.PDF, pages 1 - 20 * |
PATRICK MCCORRY: "Towards Bitcoin Payment Networks", SPRINGERLINK, pages 57 - 76 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328621A (zh) * | 2022-10-10 | 2022-11-11 | 北京百度网讯科技有限公司 | 基于区块链的事务处理方法、装置、设备及存储介质 |
CN115328621B (zh) * | 2022-10-10 | 2023-06-23 | 北京百度网讯科技有限公司 | 基于区块链的事务处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11978043B2 (en) | 2024-05-07 |
EP3679685A1 (en) | 2020-07-15 |
JP2023089153A (ja) | 2023-06-27 |
US20200279256A1 (en) | 2020-09-03 |
JP2020533671A (ja) | 2020-11-19 |
JP7264878B6 (ja) | 2024-02-15 |
JP7264878B2 (ja) | 2023-04-25 |
TWI812638B (zh) | 2023-08-21 |
TW201921279A (zh) | 2019-06-01 |
WO2019049022A1 (en) | 2019-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111095861A (zh) | 用于保护区块链上资源的改进时间锁技术 | |
CN111480162B (zh) | 用于并发字节码解释的区块链实施的系统和方法 | |
JP7232776B2 (ja) | ブロックチェーントランザクションの中へ以前トランザクションのバイトコードを注入することの強制 | |
CN111316595A (zh) | 用于保护验证密钥不被更改并验证正确性证明的有效性的系统 | |
CN111052165A (zh) | 使用区块链的并发状态机处理 | |
EP3794768A1 (en) | Improved systems and methods for storage, generation and verification of tokens used to control access to a resource | |
CN109347651B (zh) | 基于msvl的区块链系统建模和安全性验证的方法及系统 | |
CN112789825A (zh) | 用于转移对数字资源的访问的计算机实现的系统和方法 | |
CN113228075A (zh) | 用于控制或强制执行在区块链上进行的转移的计算机实现的系统和方法 | |
CN112970227A (zh) | 包括公钥组合验证的计算机实现的系统和方法 | |
EP3718042A1 (en) | Computer-implemented systems and methods for enhanced bitcoin wallets | |
RU2755672C1 (ru) | Способ безопасного хранения и обновления данных в распределенном реестре с помощью сетей квантовых коммуникаций | |
US20230360123A1 (en) | Cryptocurrency exchange platform |
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 |