Patents by Inventor Patrick MOTYLINSKI

Patrick MOTYLINSKI has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11418590
    Abstract: A specialized network (“merchant”) node to facilitate fast distribution of blockchain transactions over a network of interconnected nodes, as subset of which are merchant nodes interconnected by an overlay network. The merchant node includes a memory storing an assigned portion of a distributed mempool structured as a distributed hash table, the distributed mempool containing pending transactions awaiting confirmation. The merchant node operates by receiving a transaction, including a transaction identifier; hashing the new transaction identifier to obtain a key; determining, using the key, whether the transaction is stored in the distributed mempool or not and, if not, then storing the transaction in the distributed mempool as a pending transaction; and sending the transaction to a set of nodes other than merchant nodes using peer-to-peer connections. The invention may be used in conjunction with the Bitcoin blockchain or an alternative.
    Type: Grant
    Filed: June 19, 2018
    Date of Patent: August 16, 2022
    Assignee: nChain Licensing AG
    Inventors: Giuseppe Destefanis, Patrick Motylinski, Stephane Vincent, Craig Steven Wright
  • Publication number: 20220188296
    Abstract: The invention relates to method for adjusting the minimum and maximum number of peer nodes that a node on the blockchain network will connect with. The adjustment takes in to account the bandwidth and processing capability of the node. Bandwidth capacity of a node is determined based on a maximum data amount processable by the node over a time period. Data is monitored passing through interfaces of the node, to and from peer nodes, and a profile factor of the node is determined from the difference between the input data to output data. Over a plurality of time periods monitoring said data the data analysed is used to set a minimum number of peer nodes and a maximum number of peer nodes connectable to the node according to said monitored data and the maximum number of peers connectable to the node. The method enables a node to adjust the number of connections according to performance limitation factors, such as bandwidth availability and processing performance.
    Type: Application
    Filed: November 20, 2021
    Publication date: June 16, 2022
    Inventors: Giuseppe DESTEFANIS, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT, Alexandra COVACI
  • Patent number: 11341123
    Abstract: The invention relates to method for a node of a blockchain network, the computer-implemented method comprising receiving or generating, at a node, data for distribution in the blockchain network, said node having a plurality of interfaces, said data corresponding to an object such as a transaction or a block. The transaction can be a Bitcoin transaction for recordal in a blockchain. The method determines a correlation matrix having correlation coefficients representing the correlation between data processed at each interface of said node. From the correlation matrix a correlation index for each interface is determined. A threshold or indicator is calculated and data or objects such as Bitcoin transactions are relayed from nodes via interfaces according to a set of correlation coefficients of interface receiving the data. An indicator or threshold can derived from the correlation matrix and data is relayed if the correlation between the receiving interface and the other interface is lower than the indicator.
    Type: Grant
    Filed: June 25, 2018
    Date of Patent: May 24, 2022
    Assignee: nChain Licensing AG
    Inventors: Simone Madeo, Patrick Motylinski, Giuseppe Destefanis, Stephane Vincent
  • Patent number: 11296873
    Abstract: Methods and devices for two nodes to authenticate each other as credentialed by a group of autonomous specialized nodes, without involving the group or involving a centralized certificate manager or authenticator. The method may involve a first node and a second node using bilinear pairing operations involving their respective identifiers and secret points to derive the same session key. Provided the secret points and identifiers were obtained from the group using the group private key, the bilinear pairing operation leads to generation of the same session key at each of the two nodes, thereby authenticating their respective credentials and enabling trusted communications between the two nodes.
    Type: Grant
    Filed: June 4, 2018
    Date of Patent: April 5, 2022
    Assignee: nChain Licensing AG
    Inventors: Giuseppe Destefanis, Simone Madeo, Patrick Motylinski, Stephane Vincent
  • Patent number: 11271729
    Abstract: Systems and methods described herein relate to techniques that allow for multiple parties to jointly generate or jointly agree upon the parameters for generation of a smart contract, such as a verification key. Execution of the smart contract may be performed by a third party, for example, a worker node on a blockchain network. Techniques described herein may be utilised as part of a protocol in which parties of a smart contract share powers of a secret in a manner that allows each party to determine an identical common reference string, agree on parameters for a smart contract agree and/or make proportionate contributions the smart contract, and combinations thereof. The smart contract may be published to a blockchain network (e.g., Bitcoin Cash). The protocol may be a zero-knowledge protocol.
    Type: Grant
    Filed: December 12, 2018
    Date of Patent: March 8, 2022
    Assignee: nChain Licensing AG
    Inventors: Alexandra Covaci, Simone Madeo, Patrick Motylinski, Stephane Vincent
  • Publication number: 20220053052
    Abstract: The computer implemented invention provides a method, corresponding systems and arrangement within a network for detecting changes in the topology, ordering those changes by occurrence and constructing a new topology reflecting the changes. The invention addresses problems with keeping the knowledge of the network topology at each network node current, particularly when the network topology is dynamic, i.e. when links fail and recover at arbitrary times. The topology updating is event driven, as it is activated when some change in the network, particularly with nodes and links occurs. Events cause topology changes to be reported to other nodes in the network. Timestamping of messages allows the messages to be correctly applied as the most recent update or discarded. An algorithm is provided that allows each merchant node to maintain a correct view of the network topology despite link and node failures.
    Type: Application
    Filed: June 25, 2021
    Publication date: February 17, 2022
    Inventors: Patrick Motylinski, Stephane Vincent
  • Publication number: 20210377041
    Abstract: Systems and methods described herein relate to the execution of locking transactions in a blockchain system. In the context of smart contracts, it may be advantageous to have a public record (e.g., recorded on a blockchain) of a proof of correct execution of a circuit published by a worker and the verification key, thereby allowing anyone (e.g., nodes of the blockchain) to verify validity of the computation and proof. However, there are challenges to recording large blocks of data (e.g., large keys that may comprise multiple elliptic curve points) on the blockchain.
    Type: Application
    Filed: October 29, 2018
    Publication date: December 2, 2021
    Inventors: Alexandra COVACI, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT
  • Patent number: 11182380
    Abstract: The invention relates to method for adjusting the minimum and maximum number of peer nodes that a node on the blockchain network will connect with. The adjustment takes in to account the bandwidth and processing capability of the node. Bandwidth capacity of a node is determined based on a maximum data amount processable by the node over a time period. Data is monitored passing through interfaces of the node, to and from peer nodes, and a profile factor of the node is determined from the difference between the input data to output data. Over a plurality of time periods monitoring said data the data analysed is used to set a minimum number of peer nodes and a maximum number of peer nodes connectable to the node according to said monitored data and the maximum number of peers connectable to the node. The method enables a node to adjust the number of connections according to performance limitation factors, such as bandwidth availability and processing performance.
    Type: Grant
    Filed: June 25, 2018
    Date of Patent: November 23, 2021
    Assignee: nChain Licensing AG
    Inventors: Giuseppe Destefanis, Simone Madeo, Patrick Motylinski, Stephane Vincent, Alexandra Covaci
  • Publication number: 20210226795
    Abstract: In a distributed system, a first computer system may require computationally verifiable assurances of the authenticity and integrity of computations (e.g., performed as part of the execution of a program) performed by a second computer system. Methods described herein may be utilized to enforce and/or ensure the correct execution of a program. The first computer system may delegate execution of a program to a second computer system and a protocol may be employed to constrain the second computer system to perform a correct execution of the program. The protocol may include mitigation and correction routines that mitigate and/or correct the incorrect execution of a program. In various systems and methods described herein, the protocol may utilize a blockchain network such as a Bitcoin-based blockchain network.
    Type: Application
    Filed: October 30, 2018
    Publication date: July 22, 2021
    Inventors: Alexandra COVACI, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT
  • Patent number: 11050821
    Abstract: The computer implemented invention provides a method, corresponding systems and arrangement within a network for detecting changes in the topology, ordering those changes by occurrence and constructing a new topology reflecting the changes. The invention addresses problems with keeping the knowledge of the network topology at each network node current, particularly when the network topology is dynamic, i.e. when links fail and recover at arbitrary times. The topology updating is event driven, as it is activated when some change in the network, particularly with nodes and links occurs. Events cause topology changes to be reported to other nodes in the network. Timestamping of messages allows the messages to be correctly applied as the most recent update or discarded. An algorithm is provided that allows each merchant node to maintain a correct view of the network topology despite link and node failures.
    Type: Grant
    Filed: January 29, 2018
    Date of Patent: June 29, 2021
    Assignee: nChain Licensing AG
    Inventors: Patrick Motylinski, Stephane Vincent
  • Publication number: 20210192514
    Abstract: The invention relates to distributed processing systems that involve the distribution of computational tasks to one or more untrusted worker computer systems. When an untrusted worker computer system performs a calculation on behalf of a requesting computer system, the requesting computer system (or other verifying computer system) is provided with information that allows the requesting computer system to cryptographically verify that that task has been correctly completed. After completing the calculation, the worker computer system provides information to the requester that includes a proof and I/O data. The requesting computer system may use a set of public verification key parameters, the proof, and the I/O data to verify that the computation performed by an untrusted worker computer system is correct. In some examples, the calculation performed by the worker is associated with the verification of a blockchain transaction.
    Type: Application
    Filed: November 1, 2018
    Publication date: June 24, 2021
    Inventors: Alexandra COVACI, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT
  • Publication number: 20210160309
    Abstract: The invention relates to method for adjusting the minimum and maximum number of peer nodes that a node on the blockchain network will connect with. The adjustment takes in to account the bandwidth and processing capability of the node. Bandwidth capacity of a node is determined based on a maximum data amount processable by the node over a time period. Data is monitored passing through interfaces of the node, to and from peer nodes, and a profile factor of the node is determined from the difference between the input data to output data. Over a plurality of time periods monitoring said data the data analysed is used to set a minimum number of peer nodes and a maximum number of peer nodes connectable to the node according to said monitored data and the maximum number of peers connectable to the node. The method enables a node to adjust the number of connections according to performance limitation factors, such as bandwidth availability and processing performance.
    Type: Application
    Filed: June 25, 2018
    Publication date: May 27, 2021
    Inventors: Giuseppe DESTEFANIS, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT, Alexandra COVACI
  • Publication number: 20210160077
    Abstract: There may be provided a computer-implemented method. It may be implemented using a blockchain network such as, for example, the Bitcoin network.
    Type: Application
    Filed: June 19, 2018
    Publication date: May 27, 2021
    Inventors: Giuseppe DESTEFANIS, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT
  • Publication number: 20210149878
    Abstract: The invention relates to method for a node of a blockchain network, the computer-implemented method comprising receiving or generating, at a node, data for distribution in the blockchain network, said node having a plurality of interfaces, said data corresponding to an object such as a transaction or a block. The transaction can be a Bitcoin transaction for recordal in a blockchain. The method determines a correlation matrix having correlation coefficients representing the correlation between data processed at each interface of said node. From the correlation matrix a correlation index for each interface is determined. A threshold or indicator is calculated and data or objects such as Bitcoin transactions are relayed from nodes via interfaces according to a set of correlation coefficients of interface receiving the data. An indicator or threshold can derived from the correlation matrix and data is relayed if the correlation between the receiving interface and the other interface is lower than the indicator.
    Type: Application
    Filed: June 25, 2018
    Publication date: May 20, 2021
    Inventors: Simone MADEO, Patrick MOTYLINSKI, Giuseppe DESTEFANIS, Stephane VINCENT
  • Publication number: 20210135932
    Abstract: Methods and devices for propagating transactions in a network of nodes, each node having one or more connections to other nodes. The method includes receiving a plurality of incoming transactions over a time period; combining the plurality of incoming transactions using network coding to generate a composite message; sending the composite message to one or more nodes in the network; and determining an adjusted time period based on an equilibrium constant parameter and a count of transactions in the plurality of incoming transactions received over the time periodk.
    Type: Application
    Filed: July 6, 2018
    Publication date: May 6, 2021
    Inventors: Patrick MOTYLINSKI, Simone MADEO, Giuseppe DESTEFANIS, Stephane VINCENT
  • Publication number: 20210083852
    Abstract: Computer-implemented methods and systems suitable for implementation in nodes of a blockchain network are provided. Modified blockchain node structures, network architectures, and protocols for handling large numbers of transactions and large transaction blocks are described. A computer-implemented method for a node of a blockchain network is described which includes: receiving mined data from the blockchain network corresponding to a plurality of validated transactions; assembling blocks based on said mined data; and sending assembled blocks to a storage entity for storing on a blockchain.
    Type: Application
    Filed: June 5, 2018
    Publication date: March 18, 2021
    Inventors: Giuseppe DESTEFANIS, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT
  • Publication number: 20210075597
    Abstract: Systems and methods described herein relate to techniques in which multiple parties each generate and exchange quantities that are based on a shared secret (e.g., powers of the shared secret) without exposing the shared secret. According to a protocol, two or more parties may exchange sets of elliptic curve points generated over polynomials that can be used, by each of the two or more parties, to determine a power of a shared secret. The protocol may be utilised as part of determining parameters for a smart contract that is broadcast to a blockchain network (e.g., Bitcoin). Based on the protocol, an additional party (e.g., a third party different from the two or more parties) may perform a computational task such as execution of the smart contract.
    Type: Application
    Filed: December 7, 2018
    Publication date: March 11, 2021
    Inventors: Alexandra COVACI, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT
  • Publication number: 20210075610
    Abstract: Systems and methods described herein relate to techniques that allow for multiple parties to jointly generate or jointly agree upon the parameters for generation of a smart contract, such as a verification key. Execution of the smart contract may be performed by a third party, for example, a worker node on a blockchain network. Techniques described herein may be utilised as part of a protocol in which parties of a smart contract share powers of a secret in a manner that allows each party to determine an identical common reference string, agree on parameters for a smart contract agree and/or make proportionate contributions the smart contract, and combinations thereof. The smart contract may be published to a blockchain network (e.g., Bitcoin Cash). The protocol may be a zero-knowledge protocol.
    Type: Application
    Filed: December 12, 2018
    Publication date: March 11, 2021
    Inventors: Alexandra COVACI, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT
  • Publication number: 20210042112
    Abstract: Techniques described herein may be utilized to serialise and de-serialise arithmetic circuits that are utilized in the execution of computer programs. The arithmetic circuit may be utilized to build a Quadratic Arithmetic Problem (QAP) that is compiled into a set of cryptographic routines for a client and a prover. The client and prover may utilize a protocol to delegate execution of a program to the prover in a manner that allows the client to efficiently verify the prover correctly executed the program. The arithmetic circuit may comprise a set of symbols (e.g., arithmetic gates and values) that is compressed to produce a serialised circuit comprising a set of codes, wherein the set of symbols is derivable from the set of codes in a lossless manner. Serialisation and de-serialisation techniques may be utilized by nodes of a blockchain network.
    Type: Application
    Filed: March 15, 2019
    Publication date: February 11, 2021
    Inventors: Alexandra COVACI, Patrick MOTYLINSKI, Simone MADEO, Stephane VINCENT
  • Publication number: 20200366492
    Abstract: The invention relates to distributed ledger technologies such as consensus-based blockchains. Computer-implemented N methods for reducing arithmetic circuits derived from smart contracts are described. The invention is implemented using a blockchain network, which may be, for example, a Bitcoin blockchain. A set of conditions encoded in a first programming language is obtained. The set of conditions is converted into a programmatic set of conditions encoded in a second programming language. The programmatic set of conditions is precompiled into precompiled program code. The precompiled program code is transformed into an arithmetic circuit. The arithmetic circuit is reduced to form a reduced arithmetic circuit, and the reduced arithmetic circuit is stored.
    Type: Application
    Filed: October 29, 2018
    Publication date: November 19, 2020
    Inventors: Alexandra COVACI, Simone MADEO, Patrick MOTYLINSKI, Stephane VINCENT