Systems and methods for gateway communication in a distributed ledger system
By designing gateway communication systems, including listeners, adapters and gateway communication services, communication problems between different types of distributed ledger systems and non-distributed ledger systems are solved, and efficient inter-system interoperability and data transmission efficiency are achieved.
Patent Information
- Application Number
- CN202080092068.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-16
- Filing Date
- 2020-12-16
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2040-12-16
AI Technical Summary
It is difficult for the prior art to realize efficient communication between different types of distributed ledger systems and non-distributed ledger systems, resulting in inefficient interoperability between systems and data transmission.
By designing a gateway communication system and method, the system includes a listener, an adapter, and a gateway communication service. The listener receives messages from the application, generates and encrypts the payload, the adapter decrypts and converts the message format, and the gateway communication service is responsible for delivering the messages to the target distributed ledger system.
It realizes efficient communication between different types of distributed ledger systems and non-distributed ledger systems, improves interoperability and data transmission efficiency between systems, and supports tokenization of assets and cross-system transactions.
Smart Images

Figure CN115299009B_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims the priority and benefit of U.S. Provisional Patent Application Serial No. 62 / 948,702, filed on December 16, 2019, the disclosure of which is incorporated herein by reference in its entirety. Technical Field
[0003] The present disclosure generally relates to systems and methods for gateway communication with a distributed ledger system. Background Art
[0004] Distributed ledger systems, such as blockchain-based systems, are increasingly being implemented by different vendors. There are different types of systems, and it is difficult for one system to communicate with another system or a legacy system (e.g., a non-blockchain-based system). Summary of the Invention
[0005] This application discloses systems and methods for gateway communication of a distributed ledger system. In one embodiment, a method for gateway communication between a non-distributed ledger system and a distributed ledger system may include: (1) receiving, at a listener including a computer processor, a message for a destination distributed ledger system from an application in a first domain, where the destination distributed ledger system may be one of a plurality of distributed ledger systems in a second domain; (2) generating, by the listener, a payload of the message, where the payload identifies the destination distributed ledger system of the message; and (3) encrypting, by the listener, the payload and transmitting, using an API, a payload message including the encrypted payload to one of a plurality of adapters in a gateway communication service. The adapter may receive the payload message, decrypt the payload, identify the destination distributed ledger system, and communicate the decrypted payload to the destination distributed ledger system.
[0006] In one embodiment, the message may include a request to tokenize an asset having a plurality of attributes, and the method may further include tokenizing, by the listener, the plurality of attributes of the asset. The payload may include the tokenized plurality of attributes of the asset.
[0007] In one embodiment, the payload may further identify a distributed ledger technology for the destination distributed ledger system, and the method may further include the adapter converting the decrypted payload into a format of the distributed ledger technology and communicating the converted decrypted payload to the destination distributed ledger system.
[0008] In one embodiment, the method may further include signing, by the listener, the encrypted payload.
[0009] In one embodiment, the payload message may include an identifier of the adapter.
[0010] In one embodiment, the adapter may be associated with a destination distributed ledger system.
[0011] According to another embodiment, a method for gateway communication between a non - distributed ledger system and a distributed ledger system may include: (1) receiving, at one of a plurality of adapters in a gateway communication service in a second domain including a computer processor, a payload message that includes an encrypted payload, the payload being from an application in a first domain and encrypted by a listener and for a destination distributed ledger system, the destination distributed ledger system being one of a plurality of distributed ledger systems in the second domain; (2) decrypting the payload by the adapter; (3) identifying, by the adapter, the destination distributed ledger system from the decrypted payload; and (4) communicating the decrypted payload to the destination distributed ledger system.
[0012] In one embodiment, the payload may include multiple attributes of tokenization of an asset.
[0013] In one embodiment, the payload may identify the distributed ledger technology for the destination distributed ledger system, and the method may further include the adapter converting the decrypted payload into the format of the distributed ledger technology and communicating the converted decrypted payload to the destination distributed ledger system.
[0014] In one embodiment, the encrypted payload may be signed by the listener.
[0015] In one embodiment, the payload message may include an identifier of the adapter.
[0016] In one embodiment, the adapter may be associated with a destination distributed ledger system.
[0017] According to another embodiment, a method for gateway communication between a distributed ledger system and a non - distributed ledger system may include: (1) receiving, at one of a plurality of adapters in a gateway communication service in a second domain including a computer processor, a message of an application in a first domain from one of a plurality of distributed ledger systems; (2) converting, by the adapter, the message from the format of the distributed ledger system to the format of the application; (3) encrypting, by the adapter, the converted message; (4) generating, by the adapter, a payload for the converted message; (5) generating, by the adapter, a payload message including the encrypted payload; and (6) communicating, using an API, the payload message to a listener associated with the application in the first domain. The listener decrypts the payload and provides the decrypted payload to the application.
[0018] In one embodiment, the step of communicating a payload message to a listener associated with an application in a first domain may include the adapter pushing the payload message to the listener.
[0019] In one embodiment, the step of communicating a payload message to a listener associated with an application in a first domain may include the listener extracting the payload message from the adapter in response to the listener polling the adapter.
[0020] In one embodiment, the payload message may identify the listener.
[0021] In one embodiment, the listener may be associated with an application.
[0022] In one embodiment, the method may further include the adapter signing the encrypted payload. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] To facilitate a more complete understanding of the present invention, reference is now made to the accompanying drawings. The drawings should not be construed as limiting the present invention, but are merely intended to illustrate different aspects and embodiments of the present invention.
[0024] Figure 1 A system for gateway communication for a distributed ledger system according to one embodiment is depicted;
[0025] Figure 2 A system for gateway communication for a distributed ledger system according to one embodiment is depicted; and
[0026] Figure 3 A system for gateway communication for a distributed ledger system according to another embodiment is depicted. DETAILED DESCRIPTION
[0027] The disclosures of U.S. Provisional Patent Application Serial No. 62 / 525,600 and U.S. Patent Application Serial No. 16 / 020,473 are hereby incorporated by reference in their entirety.
[0028] Embodiments generally relate to systems and methods for gateway communication for a distributed ledger system. In one embodiment, a gateway may provide access through an organizational firewall, and all communication into and out of the organization may flow through the gateway. For example, each backend system (e.g., a distributed ledger system, a database, etc.) may be provided with an adapter that facilitates communication with the gateway, such that the gateway can route incoming communication to the appropriate backend system and can route outgoing communication from the backend system.
[0029] Embodiments may allow for the representation of existing financial instruments (including cash, fixed income, other debt securities) and other asset types via a gateway that correlates events processed on an existing internal system with the creation and destruction of tokens on a distributed ledger platform.
[0030] Although the term "distributed ledger" is used herein, it should be recognized that this may include any suitable distributed ledger that provides immutable cryptographically verifiable records.
[0031] Some embodiments may provide a "tokenization service" that may be responsible for creating a "tokenization certificate", i.e., a cryptographic proof of an event from an internal system. This payload may be signed (only the source system can create it; non-repudiation) and encrypted (only the intended target can read it; security, prevention of fraud).
[0032] Examples of events may include: the flow of cash between accounts; notification of collateral flow via, for example, a SWIFT MT569 message; the flow, exchange, trading, etc. of investment vehicles, securities, renewable energy credits, carbon credits, etc.; the "digitization" of tangible assets such as precious metals, vehicles, items, works of art, etc. Any other suitable events may be included as needed and / or desired.
[0033] An example of the flow of renewable energy credits is disclosed in U.S. Patent Application Serial No. 17 / 087,337, filed November 2, 2020, the disclosure of which is incorporated herein by reference in its entirety.
[0034] The payload may be delivered via a gateway, which may be a mechanism that connects internal messages to an externally hosted distributed ledger platform. The gateway may coordinate internal and external message brokers and may communicate specifically through an "out-only" bridging proxy component. In one embodiment, the gateway may connect non-distributed ledger internal / external systems to one or more distributed ledger platforms via a single secure API.
[0035] In one embodiment, the gateway may provide at least some of the following: message signing, non-repudiation, guaranteed delivery, fault management, key management, high availability, transaction receipt delivery, transaction receipt replay, and event delivery.
[0036] Reference Figure 1 , according to another embodiment, a system for gateway communication between a distributed ledger system and a non-distributed ledger system is disclosed. System 100 may include applications 1101, 1102, 1103,... 110 nEach application 110 may be associated with one or more asset types, such as cash, bills, collateral, securities, precious metals, transportation vehicles, items, energy credits, etc. Other asset types may be included as needed and / or desired.
[0037] In an embodiment, the application 110 may be a system that stores relevant information about assets, such as asset type, identity of the holder, etc.
[0038] Each application 110 may be run by one or more computing devices, such as computers, (physical and / or cloud-based) servers, etc. In one embodiment, the application 110 may be in a first domain, such as a business domain for an organization, financial institution, fintech, etc.
[0039] The system 100 may further include a plurality of listeners 1201, 1202, 1203, … 120 n Each listener 120 may be associated with one or more applications 110 and may receive messages from one or more applications 110. In one embodiment, the listener 120 may transform application-specific messages from the application 110 into a common payload for conveyance to one or more distributed ledger systems 1501, 1502, 1503, ... 150 via an adapter 135 in the gateway communication service 130. n It may further transform the common payload received from one or more distributed ledger systems 1501, 1502, 1503, ... 150 via the gateway communication service 130 n into an application-specific message for one of the applications 110.
[0040] Each listener 120 may also encrypt and digitally sign the outgoing common payload, which may provide authenticity and non-repudiation.
[0041] The listener 120 may provide tokenization services for one or more types of assets (e.g., cash tokenization, collateral tokenization, security tokenization, precious metal tokenization, transportation vehicle tokenization, item tokenization, energy credit tokenization, etc.), and may create and sign messages reflecting events (e.g., business domain events) with sub-certificates that establish a link to the trust root of the specific domain where the event was generated. Thus, the listener 120 can tokenize and issue asset-backed tokens in a trusted and verifiable manner.
[0042] The listener 120 may further provide reporting capabilities for statistics and information about token usage.
[0043] In one embodiment, each listener 120 can be a computer program run by one or more computing devices such as a computer, a (physical and / or cloud-based) server, etc.
[0044] In one embodiment, the application programs 1101, 1102, 1103, … 110 n and the listeners 1201, 1202, 1203, … 120 n can be within a domain such as a business domain, a business entity, etc.
[0045] The gateway communication service 130 can provide a highly available and reliable messaging layer. It can provide a transformation between a domain (e.g., for one or more application programs 110 and listeners 120) and one or more distributed ledger systems (e.g., one or more distributed ledgers 150). The gateway communication service 130 can include a plurality of adapters 1351, 1352, 1353, ... 135 n which can receive a payload from a listener 120, decrypt the payload, transform it for the destination distributed ledger system 150, and write it to the distributed ledger system 150.
[0046] For example, in one embodiment, a message from one of the application programs 110 can include an identification of a platform (e.g., a specific distributed ledger technology) and a destination distributed ledger system (e.g., one of the distributed ledger systems 150). The message (e.g., the header part) can further identify one of the adapters 135 to process the message. The identified adapter 135 can identify the destination distributed ledger system 150 from the message.
[0047] Similarly, a message from one of the distributed ledger systems 150 can identify a specific application program 110 to receive the message.
[0048] The adapter 135 can also receive a message (e.g., an acknowledgement message) from the distributed ledger system 150, transform the message into a general payload, and convey the general payload to the application program 110.
[0049] In one embodiment, each listener 120 can poll one or more adapters 1351, 1352, 1353, ... 135 n to obtain messages from one or more distributed ledger systems 1501, 1502, 1503, ... 150 n for a specific application program 110. In another embodiment, each listener 120 can communicate via a plurality of adapters 1351, 1352, 1353, ... 135 nReceives messages from one or more distributed ledger systems 1501, 1502, 1503, ... 150 n for a particular application 110. The message can include any kind of suitable message regarding assets associated with the application 110, including confirmation messages.
[0050] An example adapter 135 is a cash / collateral adapter. Such an adapter 135 can use, for example, digital signatures to verify the authenticity of cash and collateral events. It can further transform cash and collateral events into other types of transactions that are necessary and / or desirable.
[0051] The gateway communication service 130 can also provide several services, such as verification and non-repudiation checks, data filtering, enrichment and / or transformation, and distributed ledger system integration.
[0052] In one embodiment, the gateway communication service 130 can be executed by one or more servers (physical servers and / or cloud servers).
[0053] In some embodiments, key management services (KMS) 115, 125, and 140 can be provided. The application 110, the listener 120, and the gateway communication service 130 can communicate with the respective KMS 115, 125, 150, which can store keys that can be used to sign messages and distributed ledger transactions, perform other cryptographic operations, etc.
[0054] The distributed ledger systems 1501, 1502, 1503, ... 150 n can be any suitable distributed ledger system using any suitable technology. In some embodiments, one or more distributed ledger systems can be in a second domain different from the first domain. Multiple second domains can be provided as needed and / or desired.
[0055] In some embodiments, the producer of the data and the consumer of that data (e.g., the application 110 and the distributed ledger system 150, or vice versa) are agnostic of each other. Thus, the gateway communication service 130 provides an interface or bridge for routing payloads from the application 110 to the distributed ledger system 150, and from the distributed ledger system 150 to the application 110, and the adapter transforms the payload as needed.
[0056] Reference Figure 2 , according to another embodiment, a method for gateway communication between a distributed ledger system and a non-distributed ledger system is disclosed.
[0057] In step 200, an application can generate a message for a distributed ledger system outside its domain (e.g., outside the business domain). In one embodiment, the message can be related to an asset associated with the application.
[0058] In one embodiment, the message can include a request to tokenize or digitize the asset. In step 205, the asset can optionally be tokenized. For example, the asset can be tokenized by obtaining a set of attributes of the asset and creating a payload representing the asset.
[0059] Examples of the tokenization process are disclosed in U.S. Provisional Patent Application Serial No. 62 / 757,614, U.S. Patent Application Serial No. 16 / 677,609, U.S. Provisional Patent Application Serial No. 63 / 022,827, and U.S. Patent Application Serial No. 16 / 878,457, the disclosures of each of which are incorporated herein by reference in their entirety.
[0060] In step 210, a listener can generate a payload for a message received from the application. In one embodiment, the payload can identify the destination distributed ledger system and can optionally identify the distributed ledger technology. In another embodiment, the specific type of the distributed ledger system, destination, etc. may not be identifiable in the message.
[0061] In one embodiment, the listener can encrypt and sign the payload. In one embodiment, the payload can be encrypted with a first key, and then the payload and the first key can be encrypted with a second key.
[0062] In step 215, a payload message including the encrypted and signed payload can be provided to a gateway communication service using, for example, a standardized common message that can accept any payload message, and passed to a predefined standardized API. In step 220, the API can route the payload message to an adapter. In one embodiment, the payload message can identify a specific adapter to receive the payload.
[0063] In step 225, the adapter can decrypt the payload from the payload message and can identify the destination distributed ledger system and the distributed ledger technology (if provided). Then, the adapter can convert the payload into the format of the destination distributed ledger technology as needed and / or desired.
[0064] In step 230, the adapter can send the converted payload to a suitable destination distributed ledger system and can write it therein.
[0065] Reference Figure 3, according to another embodiment, a method for gateway communication between a distributed ledger system and a non - distributed ledger system is disclosed.
[0066] In step 305, the distributed ledger system can initiate a message for one of the applications in another domain. For example, the message can be any suitable message, including an acknowledgement message, a message about an asset, etc.
[0067] In step 310, the adapter can receive a message from the distributed ledger system. In one embodiment, the adapter can convert the message from the distributed ledger system format to the format of the application as needed and / or desired.
[0068] In one embodiment, the adapter can encrypt the message. For example, the message can be encrypted using a first key, and then the first key and the message can be encrypted using a second key.
[0069] In one embodiment, the message can identify a specific listener in a different domain to receive the message.
[0070] In step 315, the adapter can provide the message to the gateway communication service, which can then provide the message to the listener (e.g., push). Alternatively, the listener can poll the adapter for messages for its application and can retrieve (e.g., extract) the message via the gateway communication service.
[0071] In step 320, the gateway communication service can convey the message to the listener in the domain.
[0072] In step 325, the listener can decrypt the message, and in step 330, the decrypted message can be provided to the application. Then, the application can use the message as needed and / or desired.
[0073] Hereinafter, general aspects of embodiments of the systems and methods of the present invention will be described.
[0074] The system of the present invention or some parts of the system of the present invention can take the form of a "processing machine" such as a general - purpose computer. As used herein, the term "processing machine" should be understood to include at least one processor using at least one memory. The at least one memory stores a set of instructions. These instructions can be stored permanently or temporarily in one or more memories of the processing machine. The processor executes the instructions stored in one or more memories to process data. This set of instructions can include various instructions for performing one or more specific tasks (such as those described above). Such a set of instructions for performing a specific task can be characterized as a program, a software program, or simply software.
[0075] In one embodiment, the processing machine can be a dedicated processor.
[0076] As described above, the processing machine executes instructions stored in one or more memories to process data. Such processing of the data can be in response to, for example, commands from one or more users of the processing machine, in response to previous processing, in response to requests from another processing machine, and / or any other input.
[0077] As described above, the processing machine for implementing the present invention can be a general-purpose computer. However, the above-mentioned processing machine can also utilize any one of a variety of other technologies, including dedicated computers, computer systems (including, for example, microcomputers, minicomputers, or mainframes), programmed microprocessors, microcontrollers, peripheral integrated circuit elements, CSIC (customer-specific integrated circuits), or ASIC (application-specific integrated circuits), or other integrated circuits, logic circuits, digital signal processors, programmable logic devices (such as FPGAs, PLDs, PLAs, or PALs), or any other device or device arrangement capable of implementing the processing steps of the present invention.
[0078] The processing machine for implementing the present invention can utilize a suitable operating system. Thus, embodiments of the present invention can include processing machines running iOS operating system, OS X operating system, Android operating system, Microsoft Windows TM operating system, Unix operating system, Linux operating system, Xenix operating system, IBM ATX TM operating system, Hewlett-Packard UX TM operating system, Novell Netware TM operating system, Sun Microsystems Solaris TM operating system, OS / 2 TM operating system, BeOS TM operating system, Macintosh operating system, Apache operating system, OpenStep TM operating system, or other operating systems or platforms.
[0079] It should be understood that, for practicing the method of the present invention as described above, the processor and / or memory of the processing machine need not actually be located at the same geographical location. That is, each processor and memory used by the processing machine can be located at geographically distinct locations and be connected so as to communicate in any suitable manner. Additionally, it should be understood that each of the processor and / or memory can be constituted by different multiple physical devices. Thus, the processor need not be a single piece of equipment located at one location, nor need the memory be another single piece of equipment located at another location. That is, it is contemplated that the processor can be two pieces of equipment located at two different physical locations. The two distinct pieces of equipment can be connected in any suitable manner. Additionally, the memory can include two or more memory portions at two or more physical locations.
[0080] For further explanation, as described above, processing is performed by various components and various memories. However, it should be understood that, according to another embodiment of the present invention, the processing performed by two distinct components as described above can be performed by a single component. Additionally, the processing performed by one distinct component as described above can be performed by two distinct components. In a similar manner, according to another embodiment of the present invention, the memory storage performed by two distinct memory portions as described above can be performed by a single memory portion. Additionally, the memory storage performed by one distinct memory portion as described above can be performed by two memory portions.
[0081] Furthermore, various techniques can be used to provide communication between the various processors and / or memories, and to allow the processors and / or memories of the present invention to communicate with any other entity; i.e., to obtain more instructions or to access and use remote memory storage. Such techniques for providing such communication can include, for example, networks, the Internet, intranets, extranets, LANs, Ethernet, wireless communication via cellular towers or satellites, or any client-server system that provides communication. Such communication techniques can use any suitable protocol such as TCP / IP, UDP, or OSI.
[0082] As described above, a set of instructions can be used in the processing of the present invention. The set of instructions can be in the form of a program or software. The software can be in the form of, for example, system software or application software. The software can also be in the form of, for example, a collection of independent programs, program modules in a larger program, or a part of a program module. The software used can also include modular programming in the form of object-oriented programming. The software tells the processing machine what to do with the data being processed.
[0083] In addition, it should be understood that the instructions or instruction sets used in the embodiments and operations of the present invention may have a suitable form such that the processing machine can read these instructions. For example, the instructions forming the program may be in the form of an appropriate programming language, which is transformed into machine language or object code to allow one or more processors to read the instructions. That is, the programming code lines or source code lines written in a specific programming language are transformed into machine language using a compiler, assembler, or interpreter. Machine language is binary-encoded machine instructions that are specific to a particular type of processing machine, such as a particular type of computer. The computer understands this machine language.
[0084] According to various embodiments of the present invention, any suitable programming language can be used. By way of example, the programming language used may include, for example, assembly language, Ada, APL, Basic, C, C++, COBOL, dBase, Forth, Fortran, Java, Modula-2, Pascal, Prolog, REXX, Visual Basic, and / or JavaScript. In addition, it is not necessary to utilize a single type of instruction or a single programming language in connection with the operation of the systems and methods of the present invention. Instead, any number of different programming languages can be used as needed and / or desired.
[0085] Similarly, the instructions and / or data used in the practice of the present invention can utilize any compression or encryption technology or algorithm as needed. An encryption module can be used to encrypt data. In addition, for example, a suitable decryption module can be used to decrypt files or other data.
[0086] As described above, the present invention can illustratively be embodied in the form of a processing machine, such as a computer or computer system, that includes at least one memory. It should be understood that the instruction set (i.e., software, for example) that enables the computer operating system to perform the above operations can be included on any one of a variety of media as needed. In addition, the data processed by the instruction set can also be included on any one of a variety of media. That is, the particular medium (i.e., the memory in the processing machine) for holding the instruction set and / or data used in the present invention can take any one of a variety of physical forms or transmission forms, for example. By way of example, the medium can be in the form of paper, transparency, optical disc, DVD, integrated circuit, hard disk, floppy disk, optical disc, magnetic tape, RAM, ROM, PROM, EPROM, wire, cable, optical fiber, communication channel, satellite transmission, memory card, SIM card, or any other remote transmission and any other medium or data source readable by the processor of the present invention.
[0087] In addition, one or more memories used in the processing machine implementing the present invention can be in any of a variety of forms to allow the memory to hold instructions, data, or other information as needed. Thus, the memory can take the form of a database to hold data. For example, the database can use any desired file arrangement such as a flat file arrangement or a relational database arrangement.
[0088] In the systems and methods of the present invention, various "user interfaces" can be utilized to allow a user to interact with one or more processing machines for implementing the present invention. As used herein, a user interface includes any hardware, software, or combination of hardware and software used by a processing machine that allows a user to interact with the processing machine. The user interface can be, for example, in the form of a dialogue screen. The user interface can also include any one of a mouse, a touch screen, a keyboard, a keypad, a voice reader, a voice recognizer, a dialogue screen, a menu box, a list, a checkbox, a toggle switch, a button, or any other device that allows a user to receive information about the operation of the processing machine and / or provide information to the processing machine while the processing machine processes a set of instructions. Thus, a user interface is any device that provides communication between a user and a processing machine. Information provided by the user to the processing machine through the user interface can be, for example, in the form of a command, a selection of data, or some other input.
[0089] As described above, the processing machine utilizes the user interface to execute a set of instructions such that the processing machine processes data for the user. The user interface is typically used by the processing machine to interact with the user to convey information or receive information from the user. However, it should be understood that in some embodiments of the systems and methods according to the present invention, a human user does not actually have to interact with the user interface used by the processing machine of the present invention. Instead, it is also contemplated that the user interface of the present invention can interact with another processing machine rather than a human user (i.e., convey and receive information). Thus, another processing machine can be characterized as a user. In addition, it is contemplated that the user interface used in the systems and methods of the present invention can interact partially with one or more other processing machines while also interacting partially with a human user.
[0090] Those skilled in the art will readily appreciate that the present invention is susceptible to a wide range of uses and applications. In addition to the embodiments and adaptations described herein, many embodiments and adaptations of the present invention, as well as many variations, modifications, and equivalent arrangements, will be apparent or reasonably suggested by the present invention and its foregoing description without departing from the substance or scope of the present invention.
[0091] Accordingly, although the present invention has been described herein in detail with reference to its exemplary embodiments, it should be understood that the present disclosure is merely illustrative and exemplary of the present invention and is provided to enable a feasible disclosure of the present invention. Accordingly, the foregoing disclosure is not intended to be construed as excluding any other such embodiments, adaptations, variations, modifications, or equivalent arrangements or as limiting the present invention to exclude any other such embodiments, adaptations, variations, modifications, or equivalent arrangements or otherwise excluding any other such embodiments, adaptations, variations, modifications, or equivalent arrangements.
Claims
1. A method for gateway communication between a non - distributed ledger system and a distributed ledger system, comprising: Receiving, at a listener including a computer processor, a message for a destination distributed ledger system from an application, wherein the listener and the application are in a first domain, and the destination distributed ledger system is one of a plurality of distributed ledger systems in a second domain; Generating, by the listener, a payload of the message, wherein the payload identifies the destination distributed ledger system of the message and the distributed ledger technology of the destination distributed ledger system; And Encrypting, by the listener, the payload and passing a payload message including the encrypted payload to one of a plurality of adapters in a gateway communication service using an API; Wherein the adapter receives the payload message, decrypts the payload, identifies the destination distributed ledger system, converts the decrypted payload into the format of the distributed ledger technology, and conveys the decrypted payload to the destination distributed ledger system.
2. The method according to claim 1, wherein the message includes a request for tokenizing an asset having a plurality of attributes, and the method further comprises: Tokenizing, by the listener, the plurality of attributes of the asset; Wherein the payload includes the tokenized plurality of attributes of the asset.
3. The method according to claim 1, further comprising: Signing, by the listener, the encrypted payload.
4. The method according to claim 1, wherein the payload message includes an identifier of the adapter.
5. The method according to claim 1, wherein the adapter is associated with the destination distributed ledger system.
6. A method for gateway communication between a non - distributed ledger system and a distributed ledger system, comprising: Receiving, at one of a plurality of adapters in a gateway communication service in a second domain including a computer processor, a payload message including an encrypted payload, the payload from an application in a first domain encrypted by a listener in the first domain and for a destination distributed ledger system, the destination distributed ledger system being one of a plurality of distributed ledger systems in the second domain, wherein the payload further identifies the distributed ledger technology for the destination distributed ledger system; Decrypting, by the adapter, the payload; Identifying, by the adapter, the destination distributed ledger system from the decrypted payload; Converting, by the adapter, the decrypted payload into the format of the distributed ledger technology; And Conveying the converted decrypted payload to the destination distributed ledger system.
7. The method according to claim 6, wherein the payload includes the tokenized plurality of attributes of an asset.
8. The method according to claim 6, wherein the encrypted payload is signed by the listener.
9. The method according to claim 6, wherein the payload message includes an identifier of the adapter.
10. The method according to claim 6, wherein the adapter is associated with the destination distributed ledger system.
11. A method for gateway communication between a distributed ledger system and a non - distributed ledger system, comprising: Receiving, at one of a plurality of adapters in a gateway communication service in a second domain including a computer processor, a message of an application in a first domain from one of a plurality of distributed ledger systems; Converting, by the adapter, the message from the format of the distributed ledger system to the format of the application; Encrypting, by the adapter, the converted message; Generating, by the adapter, a payload for the converted message; Generating, by the adapter, a payload message including the encrypted payload; And Communicating, using an API, the payload message to a listener associated with the application in the first domain; Wherein the listener decrypts the payload and provides the decrypted payload to the application.
12. The method according to claim 11, wherein the step of communicating the payload message to a listener associated with the application in the first domain includes the adapter pushing the payload message to the listener.
13. The method according to claim 11, wherein the step of communicating the payload message to a listener associated with the application in the first domain includes the listener extracting the payload message from the adapter in response to the listener polling the adapter.
14. The method according to claim 11, wherein the payload message identifies the listener.
15. The method according to claim 11, wherein the listener is associated with the application.
16. The method according to claim 11, further comprising: Signing, by the adapter, the encrypted payload.
Citation Information
Patent Citations
Systems and methods for cross-ecosystem aggregation of assets using distributed ledgers
US12265960B2
Systems and Methods for Distributed-Ledger Based Intraday Trading
US20200151818A1
Systems and methods for maintaining decentralized digital identities
US20200374132A1
System and method for using a distributed ledger gateway
US20180375840A1