CN115136169A - 与区块链相关联的多项服务的平台 - Google Patents
与区块链相关联的多项服务的平台 Download PDFInfo
- Publication number
- CN115136169A CN115136169A CN202180015550.9A CN202180015550A CN115136169A CN 115136169 A CN115136169 A CN 115136169A CN 202180015550 A CN202180015550 A CN 202180015550A CN 115136169 A CN115136169 A CN 115136169A
- Authority
- CN
- China
- Prior art keywords
- client
- blockchain
- service
- request
- platform
- 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
- 238000000034 method Methods 0.000 claims abstract description 110
- 238000012546 transfer Methods 0.000 claims abstract description 34
- 238000013515 script Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 230000008901 benefit Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
-
- 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
- H04L9/3239—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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
在第一方面,本公开提出了用于使用与应用程序编程接口(API)相关联的平台处理器来实现提供与区块链相关联的多项服务的平台的方法、设备和系统,所述平台处理器能够以服务的超文本传输协议(HTTP)传输协议格式接收客户端请求。进一步适当地验证所述客户端的身份和/或所述请求,确定所述请求的区块链服务的目的地址或端点,并且基于所述目的地址生成至少一个区块链事务以获取输出脚本。然后,以所述HTTP传输协议格式将基于所述输出脚本的结果发送到给定客户端。在一些方面,所述区块链事务与在所述区块链上实现为有限状态机的事件流相关联。
Description
技术领域
本公开总体涉及用于实现与一个或更多个客户端的分布式分类账(即区块链)相关联的一项或更多项服务的平台的方法和系统。具体而言,本公开涉及但不限于提供对与一个或更多个客户端的区块链相关联的多个功能和应用程序的访问,例如事件流或机器可读合约的实现方式。
背景技术
在本文中,术语“区块链”涵盖所有形式的基于计算机的电子分布式分类账。这些分类账包括基于共识的区块链和事务链技术、许可和非许可的分类账、共享分类账、公共和私有区块链,及其变型。虽然已提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币分类账。为了方便和说明的目的,在本文中可能会提及比特币。但应注意,本公开不限于与落入本公开范围内的比特币区块链以及与任何类型的数字资产或数字资产的表示相关联的替代区块链实施方案和协议一起使用。术语“客户端”、“实体”、“节点”、“用户”、“发送方”、“接收方”、“支付方”、“收受方”在本文中可指计算资源或基于处理器的资源。在本文中,术语“比特币”可包括源自或基于比特币协议的任何版本或变型。术语“数字资产”可以指任何可转让的资产,诸如加密货币、表示至少一部分财产的代币、智能合同、许可证(即软件许可证)或媒体内容的DRM合约等。应当理解的是,贯穿本文使用的术语“数字资产”表示可能与价值相关联的商品,该价值可以作为事务中的支付从一个实体转移到另一实体或提供给另一实体。
区块链是一种点对点的电子分类账,其实现为基于计算机的去中心化的分布式系统,所述系统由区块组成,而区块又由事务(transaction)组成。每个事务是一种数据结构,所述数据结构对所述区块链系统中参与者之间的数字资产控制权的转移进行编码,并且包括至少一个输入和至少一个输出。每个区块都包含先前区块的哈希值,由此区块被链接在一起,以创建自所述区块链创建以来写入其中的所有事务的永久性的不可更改的记录。事务包括嵌入到其输入和输出中的小程序,称为脚本,这些脚本指定如何以及由谁访问所述事务的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
为了将事务写入区块链,必须对其进行“验证”。网络节点(矿工)进行工作以确保每个事务均有效,而无效事务则被网络拒绝。安装在所述节点上的软件客户端通过执行其锁定和解锁脚本对未花费的事务输出(UTXO)执行此验证工作。如果所述锁定和解锁脚本的执行评估为TRUE,则所述事务有效,然后将所述事务写入所述区块链。因此,为了将事务写入所述区块链,所述事务必须:i)由接收所述事务的第一个节点进行验证——如果所述事务通过验证,则此节点将其中继到网络中的其他节点;ii)添加到由矿工建造的新区块中;iii)已开采,即,添加到过去事务的公共分类账中。
应当理解,矿工执行的工作的性质将取决于用于维护区块链的共识机制的类型。虽然工作量证明(PoW)与原始比特币协议相关联,但应当理解,可以使用其他共识机制,诸如股权证明(PoS)、委托股权证明(DPoS)、容量证明(PoC)、过去时间证明(PoET)、权威证明(PoA)等。不同的共识机制在节点之间的挖掘分布方式上有所不同,成功挖掘区块的几率取决于矿工的哈希能力(PoW)、矿工持有的加密货币的数量(PoS)、委托矿工持有的加密货币的数量(DPoS)、矿工存储加密难题的预定解决方案的能力(PoC)、随机分配给矿工的等待时间(PoET)等。通常,矿工会因挖掘区块而获得激励或奖励。例如,比特币区块链用新发行的加密货币(比特币)和与区块中的事务相关联的费用(事务费用)奖励矿工。对于比特币区块链,加密货币的发行量会随时间的推移而减少,其激励最终仅由事务费用组成。因此,可以理解,事务费用的处理是将数据提交到公共区块链(诸如比特币区块链)的底层机制的一部分。
如先前所提及的,给定区块中的每个事务对区块链系统参与者之间的数字资产控制权转移进行编码。数字资产不一定对应于加密货币。例如,数字资产可能与文档、图像、实体对象等的数字表示有关。向矿工支付加密货币和/或事务费用可能只是作为一种激励,通过执行必要的工作来维持区块链的有效性。与区块链相关联的加密货币可能是矿工的安全保障,区块链本身是主要与加密货币以外的数字资产相关的事务的账本,而区块链本身是主要与加密货币以外的数字资产相关的事务分类账。在某些情况下,参与者之间的加密货币转账可能由不同于和/或独立于使用区块链维护事务分类账的实体的实体来处理。
一旦作为UTXO存储在区块链中,用户就可将相关联资源的控制权转移到与另一事务中的输入相关联的另一地址。这种转移通常使用数字钱包完成,但实际上并非如此。该数字钱包可以是:设备;物理介质;程序;诸如台式机、笔记本电脑或移动终端等计算设备上的应用程序;或与诸如互联网等网络上的域相关联的远程托管服务。数字钱包存储公钥和私钥,并可用于:跟踪与用户相关联的资源、代币和资产等的所有权;接收或花费数字资产;转移可能与诸如加密货币、许可证、财产或其他类型的资源等数字资产相关的代币。
虽然区块链技术最广为人知的是用于实现加密货币,但数字企业家正在探索如何利用比特币所基于的加密安全系统和可存储在区块链上的数据来实现新的系统。如果区块链可以用于加密货币领域之外的自动任务和过程,则会非常有利。这种解决方案将能够发挥区块链的优势(例如,永久性防篡改事件记录、分布式处理等),同时其应用将更加广泛。
当前研究的一个领域是使用区块链实现“智能合约”。这些是设计成自动执行机器可读合约或协议条款的计算机程序。与以自然语言编写的传统合约不同,智能合约是机器可执行程序,它包括能够处理输入以产生结果的规则,然后使得根据这些结果执行动作。与区块链相关的另一关注领域是使用“代币”(或“彩色币”)来表示现实世界的实体,并通过区块链转移现实世界的实体。潜在的敏感或保密项目可以由无可辨别意义或价值的代币表示。因此,代币充当允许从区块链引用现实世界项目的标识符。
利用区块链的优点提供永久性防篡改事件记录时,上述示例或场景需要客户端、客户端实体、计算设备或与客户端相关联的终端,以包括或实现软件和/或硬件或处理器/模块,例如一种数字钱包,这种数字钱包用于实现用于管理数字资产以及管理由比特币中本聪愿景(BSV)区块链等使用的椭圆曲线数字签名算法(ECDSA)的加密密钥的功能。此外,客户端设备还需要能够实现区块链事务构建并能够访问BSV库。因此,客户端不仅需要包括实现此类功能的处理,还需要确保在能够利用区块链网络发送、接收和查看数据和/或数字资产之前,对此类流程实施适当的安全措施,其中所述数据和/或数字资产涉及智能合约或表示现实世界资产事务的代币。
因此,需要实现安全、低复杂度、用户友好、高效和稳健的技术,这些技术将允许任何客户端(无论在计算上是否复杂)能够以简单、快速、准确、可靠和安全的方式即时访问与所述区块链相关联的有用应用程序并与其交互,该方式在计算上和功能上不那么繁琐。更具体地,需要利用分布式分类账(区块链)技术,以及提高记录的安全性、透明度和可靠性的优点来为多个区块链相关服务或应用程序提供公共平台或接口,使任何客户端计算设备能够确保与该客户端相关联的任何数据、事件或数字资产能够被即时且安全地挖掘或轻松地写入区块链,从而提供其持久性防篡改和可审计记录,其可以根据需要创建、写入、更新、读取或查看。
现在已设计出这种改进的解决方案。本公开通过提出一种或更多种技术来解决上述技术问题,因此,与客户端相关联的数据或信息可以通过为与区块链相关联的一项或更多项服务提供应用程序编程接口(API)的方法、设备和系统来简单、安全且即时地写入区块链或从区块链获取,而无需此类客户端实现用于使用区块链的任何处理或功能,同时仍然能够利用与区块链相关联的所有优点。
发明内容
在第一方面,本公开提出了用于使用与应用程序编程接口(API)相关联的平台处理器来实现提供与区块链相关联的多项服务的平台的方法、设备和系统,所述平台处理器能够以服务的超文本传输协议(HTTP)传输协议格式接收客户端请求。进一步适当地验证所述客户端的身份和/或所述请求,确定所述请求的区块链服务的目的地址或端点,并且基于所述目的地址生成至少一个区块链事务以获取输出脚本。然后,以所述HTTP传输协议格式将基于所述输出脚本的结果发送到给定客户端。
在第二方面,本公开提出了用于基于来自客户端的HTTP请求并且涉及使用区块链实现的事件流ES来实现与所述客户端的所述区块链相关联的事务的数据写入服务的方法、设备和系统,其中所述事件流可以用于表示或跟踪有限状态机(FSM)。例如,该FSM可以是智能合约。确定所述区块链上的所述事件流ESn的当前状态,在所接收的请求中标识所述事件流ES的新事件或下一事件En+1,并通过为所述事件流ES创建区块链事务来处理所述新事件或下一事件En+1,所述区块链事务包括:与上一事务TX的事务输出相关联的输入;以及与表示所述新事件En+1的事件数据相关联的未花费输出UTXO。提交给所述区块链后,基于所述新事件En+1,将所述区块链上的所述事件流的所述当前状态更新为ESn+1。以HTTP传输协议格式提供与所述当前状态ESn+1相关联的结果。
贯穿本说明书使用的词语“包含”或变体(例如“包括”或“包含”)将被理解为意味着包含规定的元素、整数、步骤或元素、整数或步骤组,但不排除任何其他元素、整数或步骤或元素、整数或步骤组。
附图说明
现将仅通过举例的方式并参考附图对本公开的各方面和实施例进行说明,其中:
图1是示出第一方面提供的与区块链相关联的多项服务的平台的概述的示意图;
图2a是示出第一方面提供的用于提供与区块链相关联的多项服务的平台的方法的流程图,所述方法由与所述平台相关联的一个或更多个处理器实现;
图2b是示出第一方面提供的用于访问与区块链相关联的多项服务的平台的方法的流程图,所述方法由与客户端相关联的一个或更多个处理器实现;
图3是示出第一方面提供的与区块链相关联的多项服务的平台的组件的示意图;
图4是示出第二方面提供的用于实现与区块链相关联的事务的数据写入服务的方法的流程图,所述方法由与平台服务相关联的一个或更多个处理器实现;
图5是示出可以实现本公开的各个方面和实施例的计算环境的示意图。
具体实施方式
根据第一方面,本公开提供了一种用于提供与区块链相关联的多项服务的平台的计算机实现的方法,该平台被提供给多个客户端,该方法由与应用程序编程接口(API)相关联的平台处理器实现。
有利地,平台处理器API允许基于Web的交互界面,即在一些实施例中,其可以实现为一个或更多个客户端的Web服务,使得可以使用基于Web的服务的标准互联网通信协议通过互联网进行通信。例如,在一些实施例中,可以基于诸如TCP/IP等传输层协议来发送和接收诸如HTTP、HTTPS等应用层或客户端与服务器之间的层(在这种情况下为平台服务)中的HTTP消息或请求。在本公开中,对HTTP传输协议或HTTP API的引用也包括诸如TCP/IP、UDP、HTTPS等所有标准互联网通信协议。
在一些实施例中,平台处理器实现为HTTP API端点。在一些实施例中,平台处理器实现为表征状态转移(REST)端点。有利地,该API可以实现为REST端点,从而还允许客户端使用标准互联网或基于网络的协议(例如,HTTP或HTTPS)进行通信。
根据第一方面所述的方法包括以下步骤:从多个客户端中的给定客户端接收请求,该请求与多项服务中的给定服务有关,并且来自给定客户端的请求基于超文本传输协议(HTTP)传输协议格式。然后,基于确定客户端身份和/或请求有效,该方法包括:获取与给定服务相关联的目的地址。在一些实施例中,目的地址可以是IP地址或网络地址端点。例如,这可以是端点统一资源标识符(URI),并且可以包括Web服务器的统一资源定位符(URL),其中支付处理器或所请求的服务的一个或更多个其他实体(包括客户端)可以从该URL访问所请求的服务。
在一些实施例中,该目的地址可以是与平台API端点相同的端点。如果平台提供诸如主要服务或核心服务等此类所请求的服务,则可能会出现这种情况。在其他实施例中,如果存在由平台提供的多种不同类型的服务,且每种类型的服务由不同的处理器或Web服务器实现,则目的地址可以不同于平台API,平台API可以充当与平台相关联的其他处理器和Web服务器的主机服务器。在这种情况下,平台处理器包括多个处理器,或者与多个处理器相关联,每个处理器用于实现区块链上的多项服务中的给定服务,并且每个处理器与相应处理器唯一的特定目的地址或端点相关联。
根据第一方面所述的方法进一步包括以下步骤:基于与获取的目的地址对应的至少一个区块链事务,处理给定服务的请求,以获取输出脚本。在一些实施例中,输出脚本与和所请求的服务有关的数据相关联,或者所请求的服务的结果包括在UTXO中并且包括用于事务的此类数据或数字资产。
在第一方面,然后以HTTP或类似传输协议格式将与输出脚本相关联的该结果发送到给定(请求)客户端。
有利地,通过实现作为用于一个或更多个客户端的API提供的平台,根据本公开第一方面所述的方法允许与客户端相关联的一个或更多个处理器注册,或者使用平台处理器提供的Web服务向区块链写入或访问数据。与平台相关联的一个或更多个处理器可以使用基于标准的接口设计来实现所提供的一项或更多项服务,例如但不限于表征状态转移(REST),REST是用于开发Web服务和基于Web的交互的架构模式。在REST API的上下文中,资源可以定义为具有类型、关联数据、与其他资源的关系以及在其上操作的一组方法的对象。因此,有利地,提供由根据第一方面所述的平台处理器实现的平台或服务作为API实现方式,以访问比特币SV(BSV)区块链等区块链或分布式分类账(的状态)并触发可通过应用程序接口改变该状态的操作或功能,并且将其公开为REST API。换言之,与平台相关联的一个或更多个服务器或处理器可以被视为选择使用此类服务的一个或更多个客户端的REST端点。因此,有利地,客户端可以通过HTTP或类似互联网命令与平台服务通信。更有利地,对于任何所提供的服务,客户端不需要实现BSV、比特币、区块链知识、ECDSA或其他加密密钥管理库或事务构建软件(例如数字钱包软件等)。使用一个或更多个处理资源或用户终端的客户端仅可通过某些公知的认证技术进行注册以使用平台,该认证技术包括密码保护授权或标准公钥基础设施(PKI)等,用于验证客户端身份。然后,客户端应能够通过基本HTTP或类似格式与平台服务通信。
在一些实施例中,可以通过该平台提供的与区块链相关联的服务的一些示例包括:
-数据服务,用于将数据写入/提交给区块链,以改变区块链的状态;
-数据服务,用于读取/获取反映区块链的当前状态的数据;
-与简单支付验证相关联的服务,用于与区块链相关联的事务;
-与管理与区块链相关联的一个或更多个事件流和/或机器可读合约相关
联的服务;
-与管理数字钱包框架相关联的服务,用于多个客户端;
-与提供点对点通信信道相关联的信道服务;
-与数据存储相关联的存储服务。
在实施例中,如果有多个处理器或Web服务器与根据第一方面所述的平台处理器相关联,则根据第一方面所述的方法进一步包括:提供应用程序编程接口(API)转换器的步骤,用于执行以下步骤:以HTTP传输协议格式从客户端接收请求;将所接收的请求转换为远程过程调用(RPC)格式;将RPC请求发送到多个处理器中的给定处理器,该给定处理器被配置用于实现所接收的请求中标识的服务。在反向流路径中,该实施例包括以RPC格式接收来自给定处理器的相关联的响应,并使用HTTP或类似传输协议来转换要发送到客户端的相应响应。
这是有利的,因为它允许客户端使用基于Web的平台API经由简单的HTTP来传送与区块链相关联的请求,并且无缝地提供与实现上述服务的任何节点或服务器的互操作性,但是这些节点或服务器不使用针对Web服务的互联网协议通信标准进行通信。该实施例中实现的API转换器不限于HTTPS到RPC的转换,反之亦然;或者就此而言,也不限于其他基于Web的协议到平台处理器支持的替代通信协议的转换,此类平台处理器实现上述服务、用于给定加密货币的网络或以其他方式可以设想的数字资产中的一个或更多个。在反向流路径中,根据第一方面所述的方法还包括:以RPC格式从相应处理器接收与对应的区块链事务相关联的响应,并且相应地使用HTTP转换相应响应以发送到客户端。因此,有利地,由平台处理器实现所提出的接口能够实现无缝通信,用于在客户端(收受者)和矿工使用不同的无线数据通信协议和机制时向区块链提交事务。
在第一方面的一些实施例中,来自客户端的所接收请求是HTTP GET或HTTP POST或HTTP PUT或HTTP PATCH请求,该HTTP GET或HTTP PUT或HTTP PATCH请求包括特定于给定客户端的客户端标识符以及该平台提供的多项服务中所请求的给定服务的服务标识符或与其相关联,如上所述。在一些实施例中,发送到客户端的结果是基于客户端标识符的HTTPPOST请求。
在一些实施例中,为了简化区块链事务的客户端寻址,已经存在一些机制,其中使用可记忆且用户更友好的别名而不是一个或更多个客户端实体的复杂公共地址。此类解决方案以nChain Holdings Limited的名义在申请号为16/384696的美国专利申请案和申请号为1907180.2的英国专利申请案中提出。这些文档陈述了基于别名的支付服务和相关协议,其称为bsvalias支付服务,其中别名用于目标寻址,而不是客户端实体的公共地址。此类系统中的别名通常与发送/接收客户端实体的域名相关联,并且可以是URI或电子邮件地址。因此,只要发送者或实体知道别名或者向发送者或实体提供别名,这对于bsvalias支付系统或基于别名的寻址机制就足够了。例如,可以使用保存在用于bsvalias或其他支付服务的公知URI或位置中的机器可读资源(例如,JavaScript对象表示法(JSON)文档)中提供的指令,将消息发送到客户端的别名。在本公开的一些实施例中,多个客户端中的一个或更多个客户端可以具有上述别名等别名来标识相应客户端。
在相关实施例中,根据第一方面所述的方法包括:基于客户端标识符以及与客户端标识符对应的记录核实客户端,该记录与平台处理器相关联。例如,此类记录可以在客户端登录或注册时创建并存储在平台处理器中或与平台处理器关联。然后,基于客户端的成功核实,该方法包括:基于服务标识符以及相应记录中包括的属性或设置,确定来自客户端的所接收请求是否有效。在一些实施例中,所述属性或设置可以指示是否允许给定客户端访问全部或部分所请求的服务。例如,可以在属性或设置中提供与客户端标识符相关联的一个或更多个级别的权限。例如,可以允许给定客户端请求服务以读取区块链上关于特定事件的数据,但不允许修改、删除或终止此类事件;而另一客户端可能具有与一项或更多项服务有关的所有操作的权限。
在一些实施例中,验证给定客户端的身份的步骤可以基于与客户端相关联的数字签名。包括与每个客户端相关联的私钥和公钥(或公共地址)的加密密钥对可用于验证对服务的请求确实源自给定客户端,即其中由私钥签名的数据只能使用对应的公钥进行恢复或核实。如果验证基于数字签名,则可以使用和实现标准公钥基础设施(PKI)技术。
在第一方面的一些实施例中,提供了一种用于访问由多个客户端中的给定客户端的一个或更多个处理器实现的多项服务的平台的计算机实现的方法,该方法包括以下步骤:获取或标识与和平台相关联的一个或更多个处理器相关联的应用程序编程接口(API)端点;以及发送与多项服务中的给定服务有关的请求,该请求包括给定客户端的客户端标识符以及所请求的给定服务的服务标识符或与之相关联。如上所述,使用超文本传输协议(HTTP)或类似传输协议格式来发送请求。该方法还包括:接收和与请求相关联的区块链事务的输出脚本有关的结果,所述结果以HTTP传输协议格式提供给客户端。
在第二方面,本公开提供了一种用于实现与区块链相关联的事务的数据写入服务的计算机实现的方法,该方法由与应用程序编程接口(API)相关联的平台处理器实现,以使客户端能够访问该服务以将数据写入区块链。根据第二方面所述的方法包括以下步骤:从客户端接收请求,该请求与使用区块链实现的事件流ES有关,来自客户端的请求基于超文本传输协议(HTTP)传输协议格式。在一些实施例中,事件流可以跟踪或表示为确定有限状态自动机(DFA)等有限状态机(FSM),FSM是公知的计算术语,表示具有有限数量状态的系统,并且可以在给定时间内仅处于一种状态,具有用于从一个阶段转换到下一个阶段的转换函数或触发事件。在一些实施例中,此类事件流可用于表示技术过程的控制手段或技术。在一些实施例中,事件流可以表示或跟踪与区块链上的机器可读合约或智能合约相关联的输入、状态和/或事件,其中,有利地,记录了该合约的过去状态和当前状态的不可变记录。在一些实施例中,从客户端接收的请求包括触发事件,以使得能够在与事件流相关联的智能合约中进行状态转换。
根据第二方面所述的方法包括以下步骤:确定事件流ESi=n的当前状态,其中,i是从0至N的整数,每个整数i表示事件流ES的给定状态,因此i=0表示创建的事件流ES,i=n表示区块链中处于当前状态的事件流ES,i=N表示事件流ES的最终状态。在一些实施例中,确定当前状态可以基于与事件流相关联的最新结果来指示当前状态,所述结果存储在区块链上或事件流的一个或更多个单独的链下存储资源中。这可以基于与事件流相关联的较早或先前区块链事务的标识符。如果没有标识事件流的先前状态,则这将导致确定当前状态为n=0,即要创建新事件流。在一些实施例中,当前状态也可以从区块链中检索或读取。这可以由如上所述的数据读取器执行,其可以是平台处理器提供的多项服务中的一项服务。
在根据第二方面所述的方法中,基于所接收的请求处理事件流ES的新事件En+1包括以下步骤:创建区块链事务TXn+1,区块链事务TXn+1包括与先前的事务TXn的事务输出(TXOn)相关联的输入以及与表示新事件En的事件数据相关联的未花费输出(UTXOn+1)。在一些实施例中,如果n=0,则不存在花费先前输出的输入。然而,可能存在表示与事件流ES相关联的数字资产的其他输入。然后,该方法包括将事务TXn+1提交给区块链。
提交后,将事件流的当前状态更新为基于提交的区块链事务,即基于新创建的事件En+1,将状态更新为ESi=n+1,使得ESi=n=ESn+1。在一些实施例中,更新的状态基于事件流中最新事务的未花费输出UTXOn+1中存在的数据。然后,该方法包括:基于事件流ESn+1的更新后的当前状态发送结果,该结果基于HTTP传输协议格式提供。
本公开的第二方面讨论了由平台处理器实现的数据写入服务的实现方式;或者,换言之,该实现方式使得能够实现写入与现实世界过程相关联的数据的功能,例如控制智能合约的状态。根据第二方面所述的平台处理器与第一方面中讨论的平台处理器相关联,其中,第二方面讨论了多项区块链服务中的一项,即用于将数据写入区块链以改变其当前状态。由于请求是通过平台的API接收和提供的,因此第二方面提供了与第一方面相关联的所有优点。此外,数据写入服务有利地允许一个或更多个客户端通过简单地从效果中提取触发条件或事件来实现区块链实现的智能合约的状态事务。因此,智能合约的各个阶段的不可变记录可以由根据第二方面所述的数据写入服务提供。
本公开的各方面还包括一种计算设备,所述计算设备包括处理器和存储器,所述存储器包括可执行指令,在由所述处理器执行时,所述可执行指令使得所述设备执行如上所述的计算机实现的方法,其中所述计算设备与平台处理器有关。
本公开的各方面还包括一种计算设备,所述计算设备包括处理器和存储器,所述存储器包括可执行指令,在由所述处理器执行时,所述可执行指令使得所述设备执行如上所述的计算机实现的方法,其中所述计算设备与客户端有关。
本公开的各方面还包括一种计算机系统,所述计算机系统包括:至少一个平台处理器,通过无线通信网络与至少一个客户端通信耦合,所述至少一个平台处理器与用于处理来自所述至少一个客户端的HTTP请求的应用程序编程接口(API)端点相关联,所述至少一个平台处理器根据上述计算设备实现,所述至少一个客户端根据上述客户端计算设备实现。
本公开的各方面还包括其上存储有可执行指令的计算机可读存储介质,在由计算机的处理器执行时,所述可执行指令使得所述计算机执行上述任何方面和实施例的方法。
现在参照附图以图示方式描述一些具体实施例,其中相似的附图标记表示相似的特征。
第一方面–一种用于与区块链相关联的多项服务的平台API
用于提供第一方面的上述多项服务的平台处理器可以是平台即服务(PaaS)和软件即服务(SaaS)产品,有利地,平台处理器使得能够使用BSV区块链等区块链网络来快速交付有用的现实世界业务和技术应用,例如管理软件控制的技术系统或智能合约。平台服务概述见图1,其中示出了系统的概要示意图。平台服务具有提供API 108的平台处理器100,通过API108,一个或更多个客户端可以访问服务。
如图所示,平台服务100由三个服务系列组成,旨在让用户和组织轻松、安全地利用区块链的独特属性提供的优势,而无需在客户端实际实现任何基于区块链的软件、知识或库。这些服务包括:
-数据服务102,旨在简化链作为商品数据分类账的使用;
-计算服务104,旨在提供由比特币SV等数字资产支持的通用计算框架;
-商务服务106,提供企业级能力,用于使用比特币SV等数字资产处理事务;
-可能与上述核心服务相关联的附加服务,例如基于简单支付验证(SPV)的服务、用于点对点通信的信道服务和/或存储服务。
如上所述,可以在API处通过或使用HTTPS协议从客户端接收请求,因为API实现为Web服务。然后,所请求的服务由一个或更多个服务模块或处理资源102-106使用底层软件110来实现,此类底层软件110与区块链相关联,即实现用于创建、处理和提交与区块链相关联的事务的资源、库和/或密钥管理钱包实现方式。处理后,可以将事务提交给区块链网络112(而不是实现任何此类功能或事务库的客户端)。客户端最多可以或能够实现与加密货币或某些其他数字资产相关联的数字钱包等,但这并不是必需的,因为平台服务100也可以为客户端提供和管理数字资产。
图2a涉及本公开的第一方面,并示出一种用于提供与区块链相关联的多项服务的平台(例如,图1中所示的平台100)的计算机实现的方法。图2a中的方法由与应用程序编程接口(API)相关联的平台处理器实现。
步骤202a描述从多个客户端中的给定客户端接收请求。在一些实施例中,所述客户端可以是与客户端相关联的一个或更多个计算设备、资源或处理器,所述客户端已经登录或注册以访问由平台处理器提供的多项服务。如上所述,平台处理器可以是一个或更多个处理器,每个处理器提供要使用区块链实现的不同类型的功能或服务,例如比特币SV区块链(例如,用于图1中所示的数据服务、计算服务和商务服务的处理器)。对于单项服务,也可以仅有一个处理器。由于平台处理器与平台的URI等API端点相关联,来自给定客户端的请求可以基于诸如超文本传输协议(HTTP)传输协议格式的标准互联网协议。在一些实施例中,请求可以包括客户端的标识符以及所请求的服务的标识符。
在步骤204a中,检查客户端的身份以查看该客户端是否是注册为使用平台处理器及其所提供的功能的有效客户端。在一些实施例中,这可以基于已知的认证方法,诸如受密码保护的登录认证等。在这种情况下,可以基于密码以及请求中包括的客户端标识符或别名来为给定客户端创建记录。核实可以基于在API处接收的与记录中的密码匹配的密码。在其他实施例中,还可以使用基于加密私钥/公钥对的标准PKI技术来核实在步骤202中从客户端接收的请求中存在的数字签名。在这种情况下,可以通过检查私钥签名的请求是否可以使用公钥成功恢复或核实来验证客户端的身份。
如果客户端身份无法验证或验证失败,则在步骤206a中不再进一步处理该请求。
如果客户端成功核实,则在步骤208a中,检查步骤202a中对服务的请求的有效性。这一步骤是为了确保给定客户端确实获授权使用所请求的服务。对此的权限或属性可以存在于客户端的记录中,以指示可以或不可以提供给相应客户端的一种或更多种类型的访问级别或服务。
如果发现该请求对于请求客户端是不允许的或无效的,则在步骤210a中不再进一步处理该请求。
应当理解的是,尽管上述核实客户端和/或服务的实施例对于第一方面的操作是有用的,但并不是必需的。在一些情况下,可以仅执行步骤204a或208a中的核实。在一些情况下,不执行核实。在这种情况下,无论是否注册,任何客户端都可以在适当支付后使用服务或平台进行此类访问。
在步骤212a中,获取目的地址,该目的地址可以是负责在步骤202a中实现所请求的服务的服务器或处理器的端点URI。在一些实施例中,如果有多个平台处理器,则主机服务器或平台API可以将所接收的请求转换为远程过程调用(RPC)格式,以发送至与用于实现所标识的服务的处理器相关联的目的地址。
在步骤214a中,由负责所请求服务的相应平台处理器处理所请求的服务。由平台处理器基于负责处理器的目的地址/端点获取或读取或生成区块链事务,并获取该事务的输出脚本。虽然图2a是指在该步骤中生成区块链事务,但应当理解的是,本公开的第一方面并不限于此。如果步骤202a中的请求是从区块链中读取或获取数据,则不能生成事务,只能从区块链中读取或获取事务。对于所生成的一个或更多个区块链事务,可以存在多个区块链事务或更多个输出脚本。
在步骤216a中,输出脚本可以包括作为结果的数据输出(例如,可以有数据载体UTXO),也可以基于事务标识符或事务的其余输出来获取结果。此外,还可以存在与可从其中获取结果的事务相关联的不可花费的OP-RETURN输出。
在步骤218a中,以HTTP或类似传输协议格式将与输出脚本相关联的结果提供至给定客户端。在一些实施例中,如果服务的负责处理器位于主机平台API的远程位置,则平台处理器以RPC格式从负责处理器接收与区块链事务相关联的响应。然后,API转换器将其转换为可以基于HTTP格式发送的消息,然后再发送到客户端。如上所述,如果所述客户端使用别名寻址服务,例如bsvalias,则结果在寻址到客户端别名的HTTP消息中以bsvalias机器可读资源规定的格式发送。
图2b涉及本公开的第一方面,并示出一种用于访问与区块链相关联的多项服务的平台(例如,图1中所示的平台100)的计算机实现的方法。图2b中的方法由与客户端相关联的一个或更多个处理器实现。
在步骤202b中,标识与平台相关联的应用程序编程接口(API)端点。如前所述,这可以是与主机平台处理器相关联的API,并且可以有一个或更多个其他处理器负责实现服务,每个处理器具有自己的服务端点或目的地址。
在步骤204b中,客户端准备对图1中的数据写入服务102等服务的请求。在一些实施例中,客户端在请求中包括客户端别名或标识符和/或服务标识符,使得请求可以路由到正确的服务端点。这对于平台处理器检查请求客户端的有效性以及客户端使用所请求服务的权限是有用的。
在步骤206b中,使用超文本传输协议(HTTP)或类似传输协议格式发送在步骤204b中准备的请求,因为平台处理器实现为HTTP或REST API。
在步骤208b中,从平台处理器提供和与请求相关联的区块链事务的输出脚本有关的结果。该结果以HTTP传输协议格式提供给客户端。
有利地,利用根据第一方面所述的方法,客户端以HTTP传输协议格式发送和接收基于区块链的服务的请求,因此客户端可以利用区块链独有的所有优势和服务,而无需实现任何事务能力或区块链库。这是因为该服务是通过平台API提供的,该平台API可以是HTTP或REST API端点。例如,REST API设计标准可以通过互联网使用以下HTTP命令处理HTTP请求和通信,这是客户端所需的全部功能,即能够通过互联网发送和接收消息。平台处理器远程执行命令,或为客户端单独执行命令。
命令 | GET | POST | PUT | DELETE | PATCH |
资源 | 读取 | 创建 | 更新或创建 | 删除 | 部分更新 |
图3示出了与区块链相关联的多项服务的更细粒度示意图,所述多项服务可以由平台300实现,平台300与API相关联,通过API可以访问所提供的任何一项或更多项服务。如图所示,数据服务302可以包括数据写入器302a和数据读取器服务302b。附图将详细说明使用数据写入器服务302a实现事件流,以使客户端能够以简单、安全和优化的方式将数据写入区块链中。数据读取器服务302b使客户端能够发送查询,该查询返回存储在区块链中的数据。这可以使用过滤后的流,其中,客户端可以临时或定期(即,在特定时间范围内)预定义他们希望从区块链中读取的数据类型,或与在区块链310中处理的一组相关或不相关事件或文档相关联的数据类型。数据存档功能允许访问指定事件或合约的先前的事务的日志。
平台300的计算服务306包括与智能合约相关联的应用程序306a和框架306b,在一些实施例中,应用程序306a和框架306b可以表示为区块链310中的状态机。例如,计算服务可以管理与客户端的区块链相关联的智能合约,该客户端与平台服务相关联。计算服务306与数据服务302交互,因为需要输入数据并将结果提供给客户端以进行任何此类计算。
商务服务304负责基于一流的安全实践和技术,通过企业钱包304a提供企业级能力,以通过区块链310处理事务。例如,在一些实施例中,当多个人员或用户或账户可能需要确认符合定义标准的事务(即,与超过某个预定义限制的高价值加密货币相关联)时,企业钱包可以实现启用区块链事务处理的功能。企业钱包还可以包括实现阈值数量和/或类型的签名以移动大量数字资产(例如,表示其他资源的加密货币或代币)的功能。然后,在基于此类企业钱包实现方式所应用的标准进行处理之后,这些资产的移动可以在区块链上表示。
简单支付验证(SPV)服务308是需要来自区块链的信息的应用程序,但不包括指向区块链的直接链路,因为它们不运行矿工节点。此类SPV服务308允许轻量级客户端验证事务是否包括在区块链中,而无需下载整个区块链310。在观察者可以使用不同的API(例如,与简单支付验证(SPV)相关联的API)接收事件流版本(如下文第二方面所讨论的)用于事务验证的情况下,这可能是有利的。在这种配置中,平台服务可以充当SPV服务器,并且接收事件流版本(即,副本)以进行验证的观察者可以是SPV客户端。因此,SPV服务308可以提高可扩展性和效率,同时降低网络的复杂性。通过结合使用通道(参见下文的通道服务),可以显著改进对等体之间的数据传输和验证。
本公开还涉及一种用于为一个或更多个客户端实现通道服务的计算机实现的方法,该方法由通道处理器实现并且包括以下步骤:从一个或更多个客户端中的给定客户端接收请求,该请求与通道创建有关;以及向给定客户端提供对一项或更多项功能的访问权限,该一项或更多项功能使得能够通过通道在给定客户端与另一实体之间进行直接通信。通道服务可以结合SPV服务308提供,或者可以作为平台300内的单独服务提供。该方法包括:存储和/或提供与给定客户端的通道相关联的一个或更多个通知。
有利地,使用通道通过为通道或消息传递服务提供接口或功能的方法、设备和系统来实现客户端的直接通信或点对点通信,而无需此类客户端实现区块链的任何处理或功能,同时仍然能够利用与其相关联的所有优点。
通道服务可以由单独的通道处理器提供,可以由上述平台或平台处理器提供,可以与客户端集成,也可以独立于客户端和/或平台实现。通道使得能够在实体之间实现直接或点对点通信路径或会话,用于传输消息或数据,例如可以是验证所需的消息或数据。以nChain Holdings Limited名义递交的申请号为2007597.4的英国专利申请案中详细描述了通道服务和/或通道处理器的示例,该专利申请案的主题通过引用并入本文。
除此之外,还可以通过平台300提供存储服务。在一些实施例中,可选地,可以将与平台相关联的任何底层数据存储在为平台服务客户端提供的单独和/或地理围栏存储器选项中。这可以用于存储与平台相关联的任何区块链事务验证所需的数据,或者用于存储与客户端相关联或与智能合约有关的数据安全检索所需的数据。有利地,地理围栏数据存储器确保数据可以根据当地法律(例如,GDPR)保存,因此这使得平台/平台300的服务提供商对保存在存储器中的数据承担某种法律或其他责任。
第二方面–一种用于提供与区块链相关联的数据写入服务的平台
图4涉及本公开的第二方面,并示出一种用于为与区块链相关联的事务提供数据写入服务(例如,第一方面的图3中所示的数据写入器302a)的计算机实现的方法。图3中的方法由与用于该服务的应用程序编程接口(API)相关联的平台处理器实现。
步骤402描述了从客户端接收请求,该请求与使用区块链实现的事件流ES有关。如第一方面所述,来自客户端的请求采用超文本传输协议(HTTP)传输协议格式。在一些实施例中,事件流涉及一种状态机,并且表示在区块链中实现为有限状态机的机器可读合约或智能合约。有限状态机(FSM)是公知的数学计算模型。FSM是一种抽象机器,可以在任何给定时间恰好处于有限数量状态中的一种状态。FSM可以响应于一些外部输入而从一种状态转变到另一种状态,从一种状态到另一种状态的转变称为转换。FSM可以通过其一系列状态、初始状态以及每个转换的条件来定义。在比特币SV区块链中,UTXO集合可以视为状态机,其中,给定输出的花费状态是事务(机器)的先前输入的函数。因此,通过重放所有事务,可以使用区块链确定地建立任何输出的当前花费状态和UTXO集合的当前内容。因此,在图4的实施例中,该请求可以视为改变智能合约的当前状态的请求,其在区块链中实现为事件流ES。
步骤404描述了由数据写入器或用于实现数据写入服务的平台处理器来确定事件流ESi=n的当前状态。假设i是从0至N的整数,每个整数i表示具有有限数量状态的事件流ES的给定状态,因此i=0表示创建的事件流ES,i=n表示区块链中处于当前状态的事件流ES,i=N表示事件流ES的最终状态。因此,事件流ES的当前状态将为En。
步骤406描述了基于在步骤402中接收的请求来标识或获取与事件流ES的后续事件或新事件En+1相关联的数据。在该实施例中,新事件可以是数据,也可以是触发状态改变以使事件流转换到下一状态的函数。
步骤408描述了由与实现数据写入器的平台处理器相关联的一个或更多个处理器为后续事件En+1创建区块链事务TXn+1的步骤。区块链事务TXn+1至少包括:
-与先前事务TXn的事务输出(TXOn)相关联的输入,该输入将花费先前事务的TXOn输出;
-与表示新事件En+1的事件数据相关联的未花费输出(UTXOn+1),在一些实施例中,该输出是数据输出,即表示事务的数据载体元素。
可能会有额外的输入,如酌情支付网络挖矿费的资金输入;也可能会有其他输出,如事务的变更输出。
步骤410描述了将在步骤408中创建的事务TXn+1提交给区块链。在该步骤中,事务可以提交给比特币SV网络等区块链,以便由与平台处理器相关联的矿工节点或BSV节点软件包含在后续区块中。
步骤412描述了基于新创建的事件En+1将事件流ES的当前状态更新为ESi=n+1,使得ESi=n=ESn+1。这对应于提交给ES的区块链的最新事务TXn+1。在一些实施例中,基于最终事务输出UTXOn+1中的事件数据输出来标识和更新该新状态。
步骤414描述了在步骤412中基于更新的当前状态ESn+1发送结果,该结果基于HTTP传输协议格式提供给客户端。
现在转到图5,提供了可用于实施本公开的至少一个实施例的计算设备2600的说明性简化框图。在各种实施例中,所述计算设备2600可用于实现以上示出和说明的任何系统。例如,计算设备2600可被配置为用作图中DBMS的一个或更多个组件,或者计算设备2600可被配置为与给定用户相关联的客户端实体,该客户端实体针对由图5的DBMS管理的数据库提出数据库请求。因此,计算设备2600可以是便携式计算设备、个人计算机或任何电子计算设备。如图5所示,计算设备2600可包括具有一级或更多级高速缓存的一个或更多个处理器以及存储器控制器(统称为2602),所述存储器控制器可被配置为与包括主存储器2608和永久存储器2610的存储子系统2606通信。如图所示,主存储器2608可以包括动态随机存取存储器(DRAM)2618和只读存储器(ROM)2620。存储子系统2606和高速缓存存储器2602可用于存储信息,诸如与本公开中所描述的事务和区块相关联的细节。处理器2602可用于提供本公开中描述的任何实施例的步骤或功能。
处理器2602还可以与一个或更多个用户界面输入设备2612、一个或更多个用户界面输出设备2614和网络接口子系统2616通信。
总线子系统2604可以提供用于使计算设备2600的各个组件和子系统能够按预期彼此通信的机制。虽然总线子系统2604示意性地示出为单个总线,但是总线子系统的替代实施例可以利用多个总线。
网络接口子系统2616可以向其他计算设备和网络提供接口。网络接口子系统2616可以作为从计算设备2600接收数据和向其他系统传输数据的接口。例如,网络接口子系统2616可以使数据技术人员能够将设备连接到网络,使得数据技术人员能够在远程位置(例如数据中心)向设备发送数据并从设备接收数据。
用户界面输入设备2612可以包括一个或更多个用户输入设备,例如键盘;指点设备,如集成鼠标、轨迹球、触摸板或图形平板电脑;扫描仪;条形码扫描仪;包含在显示器中的触摸屏;音频输入设备,如语音识别系统、麦克风;以及其他类型的输入设备。一般而言,术语“输入设备”的使用旨在包括用于向计算设备2600输入信息的所有可能类型的设备和机制。
一个或更多个用户界面输出设备2614可包括显示子系统、打印机、或非视觉显示器(例如音频输出设备等)。显示子系统可以是阴极射线管(CRT)、平板设备(例如液晶显示器(LCD))、发光二极管(LED)显示器或投影或其他显示设备。通常,术语“输出设备”的使用旨在包括用于从计算设备2600输出信息的所有可能类型的设备和机制。例如,可以使用一个或更多个用户界面输出设备2614来呈现用户界面,以便于用户与执行所描述的过程和其中变型的应用程序进行交互(当这种交互可能合适时)。
存储子系统2606可以提供计算机可读存储介质,该计算机可读存储介质用于存储可提供本公开的至少一个实施例的功能的基本编程和数据构造。当由一个或更多个处理器执行时,应用程序(程序、代码模块、指令)可以提供本公开的一个或更多个实施例的功能,并且可以存储在存储子系统2606中。这些应用程序模块或指令可以由一个或更多个处理器2602执行。存储子系统2606可另外提供用于存储根据本公开所使用的数据的存储库。例如,主存储器2608和高速缓存存储器2602可以为程序和数据提供易失性存储。永久存储器2610可以提供用于程序和数据的永久(非易失性)存储,且可包括闪存、一个或更多个固态驱动器、一个或更多个磁硬盘驱动器、一个或更多个具有关联可移动介质的软盘驱动器、一个或更多个具有关联可移动介质的光驱动器(例如CD-ROM或DVD或蓝光)以及其他类似的存储介质。这样的程序和数据可以包括用于执行如在本公开中描述的一个或更多个实施例的步骤的程序以及与在本公开中描述的事务和区块相关联的数据。
计算设备2600可以是各种类型的,包括便携式计算机设备、平板电脑、工作站或下文描述的任何其他设备。另外,计算设备2600可包括可通过一个或更多个端口(例如,USB、耳机插孔、闪电连接器等)连接至计算设备2600的另一设备。可以连接到计算设备2600的设备可以包括被配置为接受光纤连接器的多个端口。因此,该设备可以被配置为将光信号转换成电信号,所述电信号可经由将该设备连接至计算设备2600进行处理的端口传输。由于计算机和网络的不断变化的性质,图5所示的计算设备2600的描述仅用作说明设备的优选实施例的特定示例。与图5中描述的系统相比,具有更多或更少组件的许多其他配置是可能的。
列举的示例性实施例
本公开在此基于与上述方面相关的以下条款进行讨论,本文中提供这些条款作为示例性实施例,以便更好地解释、描述和理解要求保护的方面和实施例。
1.一种用于提供与区块链相关联的多项服务的平台的计算机实现的方法,所述平台被提供给多个客户端,所述方法由与应用程序编程接口(API)相关联的平台处理器实现,所述方法包括以下步骤:
从所述多个客户端中的给定客户端接收请求,所述请求与所述多项服务中的给定服务有关,并且来自所述给定客户端的所述请求基于超文本传输协议(HTTP)传输协议格式;
基于对客户端身份和/或请求有效的确定,获取与所述给定服务相关联的目的地址;
基于与所述获取的目的地址对应的至少一个区块链事务,处理对于所述给定服务的所述请求,以获取输出脚本;以及
将与所述输出脚本相关联的结果发送到所述给定客户端,所述结果基于所述HTTP传输协议格式提供。
2.根据条款1所述的方法,其中,所述平台处理器实现为HTTP API端点。
3.根据条款2所述的方法,其中,所述平台处理器实现为表征状态转移(Representational State Transfer,简称REST)端点。
4.根据前述任一项条款所述的方法,其中,所述平台处理器包括多个处理器,或者与多个处理器相关联,每个处理器被配置用于实现所述区块链上的所述多项服务中的给定服务,并且每个处理器与相应处理器唯一的特定目的地址或端点相关联。
5.根据前述任一项条款所述的方法,其中,所述平台处理器与API转换器相关联,所述API转换器被配置用于执行以下步骤:
以所述HTTP传输协议格式从所述给定客户端接收所述请求;
将所述接收的请求转换为远程过程调用(Remote procedure Call,简称RPC)格式,并将所述RPC请求发送到所述多个处理器中的给定处理器,所述给定处理器被配置为实现在所述接收的请求中标识的所述给定服务;
以所述RPC格式从所述给定处理器接收与至少一个区块链事务相关联的响应;以及
使用所述HTTP传输协议转换要发送到所述客户端的所述相应响应。
6.根据前述任一项条款所述的方法,其中,所述接收的请求是HTTP GET或POST或PUT或PATCH请求,所述HTTP GET或POST或PUT或PATCH请求包括所述给定客户端的客户端标识符和所述请求的给定服务的服务标识符,或与所述给定客户端的客户端标识符和所述请求的给定服务的服务标识符相关联,并且发送到所述客户端的所述结果是基于所述给定客户端的所述客户端标识符的HTTP POST请求。
7.根据条款6所述的方法,包括:基于所述客户端标识符以及与所述客户端标识符对应的记录核实所述客户端,所述记录与所述平台处理器相关联;以及
基于所述客户端的成功核实,根据所述服务标识符以及相应记录中包括的属性或设置,确定来自所述客户端的所述接收的请求是否有效。
8.根据条款6或7所述的方法,其中,所述客户端标识符是为给定客户端提供的别名,所述别名特定于所述给定客户端并且由基于别名的寻址服务提供,所述寻址服务具有可从定义的或公知的位置访问的机器可读资源,所述机器可读资源包括与所述给定客户端有关的一项或更多项功能。
9.根据条款8所述的方法,其中,所述别名与所述给定客户端的域名相关联。
10.根据前述任一项条款所述的方法,其中,所述平台包括使用所述区块链实现的以下服务中的至少一项或更多项服务:
数据服务,用于将数据写入/提交给区块链,以改变所述区块链的状态;
数据服务,用于读取/获取反映所述区块链的当前状态的数据;
与简单支付验证相关联的服务,用于与所述区块链相关联的事务;
与管理与所述区块链相关联的一个或更多个事件流和/或智能合约相关联的服务;
与管理与所述区块链相关联的多个客户端的数字钱包框架相关联的服务;
与提供点对点通信通道相关联的服务;
与数据存储相关联的服务。
11.一种用于访问与区块链相关联的多项服务的平台的计算机实现的方法,所述平台被提供给多个客户端,所述方法由所述多个客户端中的给定客户端的一个或更多个处理器实现,所述方法包括以下步骤:
获取或标识与一个或更多个处理器相关联的应用程序编程接口(API)端点,所述一个或更多个处理器与所述平台相关联;
发送与所述多项服务中的给定服务有关的请求,所述请求包括所述给定客户端的客户端标识符和所述请求的给定服务的服务标识符,或与所述给定客户端的客户端标识符和所述请求的给定服务的服务标识符相关联,其中所述请求基于超文本传输协议(HTTP)传输协议格式发送;以及
接收与区块链事务的输出脚本有关的结果,所述区块链事务与所述请求相关联,所述结果基于所述HTTP传输协议格式提供给所述客户端。
12.一种用于实现与区块链相关联的事务的数据写入服务的计算机实现的方法,所述方法由与应用程序编程接口(API)相关联的平台处理器实现,所述方法包括以下步骤:
从客户端接收请求,所述请求与使用所述区块链实现的事件流ES有关,来自所述客户端的所述请求基于超文本传输协议(HTTP)传输协议格式;
确定所述事件流ESi=n的当前状态,其中,i是从0至N的整数,每个整数i表示所述事件流ES的给定状态,因此i=0表示创建的事件流ES,i=n表示所述区块链中处于当前状态的事件流ES,i=N表示所述事件流ES的最终状态;
基于所述接收的请求,通过以下步骤处理所述事件流ES的新事件En+1:
创建区块链事务TXn+1,所述区块链事务TXn+1包括:
与先前事务TXn的事务输出(TXOn)相关联的输入;和
与表示所述新事件En+1的事件数据相关联的未花费输出(UTXOn+1);
将所述事务TXn+1提交给所述区块链;
其中,响应于所述提交,所述方法包括:基于所述新创建的事件En+1将所述事件流的所述当前状态更新为ESi=n+1,使得ESi=n=ESn+1;以及
基于所述更新的当前状态ESn+1发送结果,所述结果基于所述HTTP传输协议格式提供。
应当注意的是,上述的方面和实施例是说明而不是限制本公开,并且本领域技术人员在不脱离由所附权利要求书所限定的本公开的范围的情况下将能够设计许多替代实施例。在权利要求书中,括号中的任何附图标记都不应解释为对权利要求的限制。词语“包括”等不排除任一项权利要求或说明书中整体列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包括”是指“包含“或”由......组成”。元件的单数形式并不排除此类元件的复数形式,反之亦然。本公开可以通过包括几个不同元件的硬件以及通过适当编程的计算机来实现。在列举几个装置的设备权利要求中,这些装置中的几个装置可以由同一硬件来体现。在互不相同的从属权利要求中引用某些措施的事实并不意味着不能有利地使用这些措施的组合。
Claims (12)
1.一种用于提供与区块链相关联的多项服务的平台的计算机实现的方法,所述平台被提供给多个客户端,所述方法由与应用程序编程接口API相关联的平台处理器实现,所述方法包括以下步骤:
从所述多个客户端中的给定客户端接收请求,所述请求与所述多项服务中的给定服务有关,并且来自所述给定客户端的所述请求基于超文本传输协议HTTP传输协议格式;
基于对客户端身份和/或请求有效的确定,获取与所述给定服务相关联的目的地址;
基于与所述获取的目的地址对应的至少一个区块链事务,处理对于所述给定服务的所述请求,以获取输出脚本;以及
将与所述输出脚本相关联的结果发送到所述给定客户端,所述结果基于所述HTTP传输协议格式提供。
2.根据权利要求1所述的方法,其中,所述平台处理器实现为HTTP API端点。
3.根据权利要求2所述的方法,其中,所述平台处理器实现为表征状态转移REST端点。
4.根据前述任一项权利要求所述的方法,其中,所述平台处理器包括多个处理器,或者与多个处理器相关联,每个处理器被配置用于实现所述区块链上的所述多项服务中的给定服务,并且每个处理器与相应处理器唯一的特定目的地址或端点相关联。
5.根据前述任一项权利要求所述的方法,其中,所述平台处理器与API转换器相关联,所述API转换器被配置用于执行以下步骤:
以所述HTTP传输协议格式从所述给定客户端接收所述请求;
将所述接收的请求转换为远程过程调用RPC格式,并将所述RPC请求发送到所述多个处理器中的给定处理器,所述给定处理器被配置为实现在所述接收的请求中标识的所述给定服务;
以所述RPC格式从所述给定处理器接收与至少一个区块链事务相关联的响应;以及
使用所述HTTP传输协议转换要发送到所述客户端的所述相应响应。
6.根据前述任一项权利要求所述的方法,其中,所述接收的请求是HTTP GET或POST或PUT或PATCH请求,所述HTTP GET或POST或PUT或PATCH请求包括所述给定客户端的客户端标识符和所述请求的给定服务的服务标识符,或与所述给定客户端的客户端标识符和所述请求的给定服务的服务标识符相关联,并且发送到所述客户端的所述结果是基于所述给定客户端的所述客户端标识符的HTTP POST请求。
7.根据权利要求6所述的方法,包括:基于所述客户端标识符以及与所述客户端标识符对应的记录核实所述客户端,所述记录与所述平台处理器相关联;以及
基于所述客户端的成功核实,根据所述服务标识符以及相应记录中包括的属性或设置,确定来自所述客户端的所述接收的请求是否有效。
8.根据权利要求6或7所述的方法,其中,所述客户端标识符是为给定客户端提供的别名,所述别名特定于所述给定客户端并且由基于别名的寻址服务提供,所述寻址服务具有可从定义的或公知的位置访问的机器可读资源,所述机器可读资源包括与所述给定客户端有关的一项或更多项功能。
9.根据权利要求8所述的方法,其中,所述别名与所述给定客户端的域名相关联。
10.根据前述任一项权利要求所述的方法,其中,所述平台包括使用所述区块链实现的以下服务中的至少一项或更多项服务:
数据服务,用于将数据写入/提交给区块链,以改变所述区块链的状态;
数据服务,用于读取/获取反映所述区块链的当前状态的数据;
与简单支付验证相关联的服务,用于与所述区块链相关联的事务;
与管理与所述区块链相关联的一个或更多个事件流和/或智能合约相关联的服务;
与管理与所述区块链相关联的多个客户端的数字钱包框架相关联的服务;
与提供点对点通信通道相关联的服务;
与数据存储相关联的服务。
11.一种用于访问与区块链相关联的多项服务的平台的计算机实现的方法,所述平台被提供给多个客户端,所述方法由所述多个客户端中的给定客户端的一个或更多个处理器实现,所述方法包括以下步骤:
获取或标识与一个或更多个处理器相关联的应用程序编程接口API端点,所述一个或更多个处理器与所述平台相关联;
发送与所述多项服务中的给定服务有关的请求,所述请求包括所述给定客户端的客户端标识符和所述请求的给定服务的服务标识符,或与所述给定客户端的客户端标识符和所述请求的给定服务的服务标识符相关联,其中所述请求基于超文本传输协议HTTP传输协议格式发送;以及
接收与区块链事务的输出脚本有关的结果,所述区块链事务与所述请求相关联,所述结果基于所述HTTP传输协议格式提供给所述客户端。
12.一种用于实现与区块链相关联的事务的数据写入服务的计算机实现的方法,所述方法由与应用程序编程接口API相关联的平台处理器实现,所述方法包括以下步骤:
从客户端接收请求,所述请求与使用所述区块链实现的事件流ES有关,来自所述客户端的所述请求基于超文本传输协议HTTP传输协议格式;
确定所述事件流ESi=n的当前状态,其中,i是从0至N的整数,每个整数i表示所述事件流ES的给定状态,因此i=0表示创建的事件流ES,i=n表示所述区块链中处于当前状态的事件流ES,i=N表示所述事件流ES的最终状态;
基于所述接收的请求,通过以下步骤处理所述事件流ES的新事件En+1:
创建区块链事务TXn+1,所述区块链事务TXn+1包括:
与先前事务TXn的事务输出TXOn相关联的输入;和
与表示所述新事件En+1的事件数据相关联的未花费输出UTXOn+1;
将所述事务TXn+1提交给所述区块链;
其中,响应于所述提交,所述方法包括:基于所述新创建的事件En+1将所述事件流的所述当前状态更新为ESi=n+1,使得ESi=n=ESn+1;以及
基于所述更新的当前状态ESn+1发送结果,所述结果基于所述HTTP传输协议格式提供。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2002285.1 | 2020-02-19 | ||
GBGB2002285.1A GB202002285D0 (en) | 2020-02-19 | 2020-02-19 | Computer-implemented system and method |
PCT/IB2021/051261 WO2021165817A1 (en) | 2020-02-19 | 2021-02-15 | Platform for a plurality of services associated with a blockchain |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115136169A true CN115136169A (zh) | 2022-09-30 |
Family
ID=69956567
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180015545.8A Pending CN115176248A (zh) | 2020-02-19 | 2021-02-15 | 与区块链相关联的一系列事件的事件流 |
CN202180015550.9A Pending CN115136169A (zh) | 2020-02-19 | 2021-02-15 | 与区块链相关联的多项服务的平台 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180015545.8A Pending CN115176248A (zh) | 2020-02-19 | 2021-02-15 | 与区块链相关联的一系列事件的事件流 |
Country Status (8)
Country | Link |
---|---|
US (3) | US11880839B2 (zh) |
EP (2) | EP4107644A2 (zh) |
JP (2) | JP2023515435A (zh) |
KR (2) | KR20220143873A (zh) |
CN (2) | CN115176248A (zh) |
GB (1) | GB202002285D0 (zh) |
TW (2) | TW202139668A (zh) |
WO (2) | WO2021165814A2 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4256751A1 (en) * | 2020-12-02 | 2023-10-11 | Trock, Stanislav | Blockchain |
GB2622241A (en) * | 2022-09-08 | 2024-03-13 | Nchain Licensing Ag | Blockchain state machine |
GB2622240A (en) * | 2022-09-08 | 2024-03-13 | Nchain Licensing Ag | Blockchain state machine |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10339523B2 (en) * | 2015-07-14 | 2019-07-02 | Fmr Llc | Point-to-point transaction guidance apparatuses, methods and systems |
US20170132630A1 (en) * | 2015-11-11 | 2017-05-11 | Bank Of America Corporation | Block chain alias for person-to-person payments |
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 |
US10868674B2 (en) * | 2016-08-12 | 2020-12-15 | ALTR Solutions, Inc. | Decentralized database optimizations |
US11010216B2 (en) * | 2016-12-22 | 2021-05-18 | Nippon Telegraph And Telephone Corporation | RPC conversion processing system and RPC conversion method |
CN118569851A (zh) * | 2017-05-22 | 2024-08-30 | 区块链控股有限公司 | 将未确定来源的未确定数据安全地提供到区块链交易的锁定脚本中 |
US10528551B2 (en) * | 2017-09-29 | 2020-01-07 | Oracle International Corporation | System and method for providing a representational state transfer proxy service for a blockchain cloud service |
US20190139036A1 (en) * | 2017-11-03 | 2019-05-09 | Aid Technology Limited | Method, apparatus, and computer-readable medium for securely performing digital asset transactions |
US10693637B2 (en) * | 2018-03-23 | 2020-06-23 | Belavadi Nagarajaswamy Ramesh | System and method for composite-key based blockchain device control |
SG11202010346TA (en) * | 2018-05-14 | 2020-11-27 | Nchain Holdings Ltd | Computer-implemented systems and methods for using a blockchain to perform an atomic swap |
US11250466B2 (en) * | 2018-07-30 | 2022-02-15 | Hewlett Packard Enterprise Development Lp | Systems and methods for using secured representations of user, asset, and location distributed ledger addresses to prove user custody of assets at a location and time |
US10999260B1 (en) * | 2020-05-12 | 2021-05-04 | iCoin Technology, Inc. | Secure messaging between cryptographic hardware modules |
-
2020
- 2020-02-19 GB GBGB2002285.1A patent/GB202002285D0/en not_active Ceased
-
2021
- 2021-02-15 US US17/800,857 patent/US11880839B2/en active Active
- 2021-02-15 KR KR1020227031587A patent/KR20220143873A/ko unknown
- 2021-02-15 JP JP2022549509A patent/JP2023515435A/ja active Pending
- 2021-02-15 EP EP21707787.4A patent/EP4107644A2/en active Pending
- 2021-02-15 JP JP2022549731A patent/JP2023513845A/ja active Pending
- 2021-02-15 KR KR1020227031588A patent/KR20220143874A/ko unknown
- 2021-02-15 US US17/799,567 patent/US20230082545A1/en active Pending
- 2021-02-15 WO PCT/IB2021/051258 patent/WO2021165814A2/en unknown
- 2021-02-15 WO PCT/IB2021/051261 patent/WO2021165817A1/en unknown
- 2021-02-15 CN CN202180015545.8A patent/CN115176248A/zh active Pending
- 2021-02-15 EP EP21707790.8A patent/EP4107688A1/en active Pending
- 2021-02-15 CN CN202180015550.9A patent/CN115136169A/zh active Pending
- 2021-02-19 TW TW110105836A patent/TW202139668A/zh unknown
- 2021-02-19 TW TW110105841A patent/TW202139669A/zh unknown
-
2023
- 2023-11-10 US US18/388,762 patent/US20240086914A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4107644A2 (en) | 2022-12-28 |
WO2021165817A1 (en) | 2021-08-26 |
KR20220143874A (ko) | 2022-10-25 |
US20230082545A1 (en) | 2023-03-16 |
US11880839B2 (en) | 2024-01-23 |
CN115176248A (zh) | 2022-10-11 |
KR20220143873A (ko) | 2022-10-25 |
US20230078784A1 (en) | 2023-03-16 |
EP4107688A1 (en) | 2022-12-28 |
TW202139668A (zh) | 2021-10-16 |
US20240086914A1 (en) | 2024-03-14 |
WO2021165814A2 (en) | 2021-08-26 |
WO2021165814A3 (en) | 2021-09-30 |
JP2023513845A (ja) | 2023-04-03 |
JP2023515435A (ja) | 2023-04-13 |
GB202002285D0 (en) | 2020-04-01 |
TW202139669A (zh) | 2021-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022520656A (ja) | ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法 | |
US11880839B2 (en) | Platform for a plurality of services associated with a blockchain | |
CN113228075B (zh) | 用于控制或强制执行在区块链上进行的转移的计算机实现的系统和方法 | |
TW202135504A (zh) | 平台服務驗證技術 | |
CN113939839A (zh) | 计算机实现的系统和方法 | |
TW202139127A (zh) | 用於與區塊鏈相關聯之服務平台之運算服務 | |
CN114641967A (zh) | 区块链交易的回调机制 | |
CN118786645A (zh) | 用于在计算机网络中使用基于密码术的存储应用来促进去中心化应用中的安全区块链操作的系统和方法 | |
TW202130153A (zh) | 區塊鏈交易之回叫機制 | |
US11757985B1 (en) | Systems and methods for a blockchain interoperability platform | |
US20230093411A1 (en) | Synchronising event streams | |
US20230068597A1 (en) | Cryptocurrency system and method for performing financial transactions | |
CN115151934A (zh) | 平台服务验证 | |
JP2024537593A (ja) | ブロックチェーンベースのトランザクションプロトコル | |
KR20240138828A (ko) | 블록체인 기반 신원 인증 방법 및 신원 인증 시스템 |
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 |