US20220345318A1 - Techniques for processing transactions of order-dependent blockchain protocols - Google Patents
Techniques for processing transactions of order-dependent blockchain protocols Download PDFInfo
- Publication number
- US20220345318A1 US20220345318A1 US17/718,267 US202217718267A US2022345318A1 US 20220345318 A1 US20220345318 A1 US 20220345318A1 US 202217718267 A US202217718267 A US 202217718267A US 2022345318 A1 US2022345318 A1 US 2022345318A1
- Authority
- US
- United States
- Prior art keywords
- network
- blockchain
- server
- computer
- nodes
- 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.)
- Abandoned
Links
Images
Classifications
-
- 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/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/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/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
Definitions
- the disclosed teachings relate generally to a distributed autonomous platform. More particularly, the disclosed teachings relate to decentralized exchanges in a distributed autonomous platform.
- Bitcoin is an example of a distributed autonomous cryptocurrency system that provides a pragmatic engineered solution for arriving at a consensus in the face of trust and timing problems encountered in distributed networks.
- Decentralized exchanges for trading securities can also be implemented in a distributed network. Such exchanges can only support securities of a size too small to be practical compared to conventional centralized exchanges. As such, centralized exchanges remain the only practical means for trading securities.
- FIG. 1 is a block diagram of a distributed computer network according to some embodiments of the present disclosure
- FIG. 2 is a flowchart showing a process performed by a server in a network implementing a decentralized exchange according to some embodiments of the present disclosure
- FIG. 3 is a flowchart showing a process performed by a server in a network for determining a next block signer of a blockchain according to some embodiments of the present disclosure.
- FIG. 4 is a block diagram of a computer operable to implement the disclosed technology according to some embodiments of the present disclosure.
- terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” “generating” or the like refer to actions and processes of a computer or similar electronic computing device that manipulates and transforms data represented as physical (electronic) quantities within the computer's memory or registers into other data similarly represented as physical quantities within the computer's memory, registers, or other such storage medium, transmission, or display devices.
- connection refers to any connection or coupling, either direct or indirect, between two or more elements.
- the coupling or connection between the elements can be physical, logical, or a combination thereof.
- Existing distributed exchanges lack a centralized exchange that includes a single matching engine that clears all orders. Instead, each node of the network has its own copy of a matching engine. Each matching engine keeps track of all orders in structures known as “market-depth” and/or “limit-order-book.” A depth of market measure provides an indication of the liquidity and depth for that security or currency. A limit-order-book provides a guarantee that the top priority order is executed before other orders in the book, and before other orders at equal or worse price held or submitted by other traders.
- the disclosed embodiments include a decentralized exchange implemented in a blockchain.
- the embodiments include mechanisms for overcoming existing problems of trust and timing with distributed exchanges.
- Solutions include a centralized server that timestamps all orders and broadcasts the timestamped orders to the nodes of the network. Each node maintains a matching engine to place and fill any orders but relies on the timestamping from the centralized server to validate an ordering of transactions.
- the decentralized exchange may implement a “GammaCoin” blockchain that avoids the need for without centralized timestamping.
- the disclosed technology includes a bidding process used to select a next block signer. Specifically, nodes (of market participants) bid to sign blocks of the blockchain. The right to sign a block may be given to the highest bidder.
- a bid may be determined based on a variety of factors and considerations. For example, each node can calculate a best/worst order of events and bid accordingly. A node may be willing to pay up to an amount to avoid loss and/or ensure profits. Other considerations may include desired positions and market liquidity.
- New trading strategies can emerge based on the knowledge that participants can pay to change the order of a limit-order-book. These strategies can replace high-frequency trading strategies of centralized exchanges.
- FIG. 1 illustrates a system 10 that includes a network 14 of interconnected nodes 12 according to some embodiments of the present disclosure.
- Embodiments of the distributed autonomous platform may be included in one or more of the nodes 12 .
- the network 14 can perform processes of a blockchain-based decentralized exchange.
- the network 14 may include a combination of private, public, wired, or wireless portions. Data communicated over the network 14 may be encrypted or unencrypted at various locations or portions of the network 14 .
- Each node 12 may include combinations of hardware and/or software to process data, perform functions, communicate over the network 14 , and the like.
- Nodes 12 may include computing devices such as servers, desktop or laptop computers (e.g., APPLE MACBOOK, LENOVO 440), handheld mobile devices (e.g., APPLE IPHONE, SAMSUNG GALAXY, MICROSOFT SURFACE), and any other electronic computing device.
- Any component of the network 14 may include a processor, memory or storage, a network transceiver, a display, operating system and application software (e.g., for providing a user interface), and the like.
- Other components, hardware, and/or software included in the network 14 that are well known to persons skilled in the art are not shown or discussed herein for brevity.
- the network 14 may utilize public-key cryptography to securely process transactions over the network 14 .
- Public-key cryptography uses asymmetric key algorithms, where a key used by one party to perform either encryption or decryption is not the same as the key used by another in the counterpart operation.
- Each party has a pair of cryptographic keys: a public encryption key and a private decryption key.
- a key pair used for digital signatures consists of a private signing key and a public verification key.
- the public key may be widely distributed, while the private key is known only to its proprietor.
- the keys are related mathematically, but the parameters are chosen so that calculating the private key from the public key is unfeasible.
- the keys could be expressed in various formats, including hexadecimal format.
- the disclosed decentralized exchange is described in the context of a gaming platform merely to aid in understanding. Gaming inherently involves unpredictable events and outcomes. For example, some participants of a game may have successfully projected outcomes that defied expectations of most participants.
- the disclosed platform equates successful projections and skill. For example, participants of fantasy football play by drafting a team and then submitting a lineup each week. Some leagues allow trading players, but the high-stakes public leagues do not. There can also be weekly games and a professional expert service industry that supports the gaming environment. These decisions involve making projections of events and outcomes of games.
- the disclosed embodiments relate to distributed blockchain matching engines.
- gaming tokens there is a full futures market on each NFL player's weekly results.
- Blockchain participants can buy and sell futures contracts, using gaming tokens as the currency for settlement and profit and loss.
- the gaming platform enables buying or selling a player's season production with gaming tokens. For example, the platform enables buying or selling futures contracts on NFL player performance. If a participant wants to “sell” a fantasy player in existing gaming environments, the participant could (a) trade the player (if owned), (b) not draft the player, (c) blog or tweet about the player, and/or (d) not pick the player in weekly games.
- Projections about the outcome of a game can be made up until the game commences. For example, during each week of the fantasy season, up until kickoff, projections can be made. All that is needed to make projections is a valid name identifier for the participant. Projections can be made by signing a pointProjection event and sending it to the network of the gaming platform. Every timely projection included in the blockchain is eligible for a payout. Once a block containing the consensus results is received, a deterministic distribution algorithm is run to determine the payouts to each participant.
- a distribution algorithm can be used to determine payouts to each participant according to some embodiments of the present disclosure.
- . The average difference is D ⁇ n
- a unit payout X distributes more gaming tokens for better predictions as
- an award function A(p) determines how many gaming points are awarded for each projection, which can be multiplied by a factor such as 100 for gaming tokens.
- a proof-of-work may be required in order for a participant to obtain a name identifier (e.g., fantasy name), which mitigates the vulnerability of the gaming platform to a Sybil attack. Otherwise there would be no cost to making projections. As such, an attacker could write a program to create millions of participant identifiers in an attempt to control the gaming platform of the network.
- a name identifier e.g., fantasy name
- the gaming platform may include different ways to keep score (e.g., number of gaming tokens) and participant rankings.
- the values of scores and participant rankings can be used to determine signers of next blocks. The values could be kept based on skill, data, stake, and time.
- Skill refers to a gross total of gaming tokens earned, which can only increase and are not transferrable.
- Data refers to data feed rankings, which cannot be less than skill and can be assigned to an agent.
- Stake refers to a net balance of present gaming tokens that is not transferrable.
- Time refers to time-sync rankings, which cannot be less than the stake and can be assigned to an agent.
- stake balance is the currency used for trading, margin, and settlement. The time-balances let a user participate in centralized time stamping operations.
- each participant identifier may assign a peer to be an agent of data and time.
- the skill and stake values of the assigner can be added to the data and time rankings of the agent, respectively. If a participant identifier assigns herself as her own agent, she becomes a volunteer and must be willing to do the same for the entire network of the gaming platform.
- agents are assigned by default consensus, the agents being decided by skill and stake consensus proofs.
- agents are essentially participants appointed by a consensus of the network. Free market economic forces would choose the most capable agents.
- the disclosed gaming platform includes a state machine.
- the underlying protocol can change its behavior based on its current state.
- There are also different blockchain and event or transaction rules. A transition to a different state is accomplished when a block of a blockchain is signed. The particular proof required to sign a block also depends on a transition context.
- the gaming platform may include a variety of event types.
- a transaction that transfers gaming tokens is only one of many event types.
- the transfer transaction is not necessarily a core feature of the disclosed gaming platform. Instead, for example, point projections and name identifier mining can be core features of the gaming platform.
- the gaming platform may include deterministic transactions.
- a state transition event can trigger multiple events and transactions. Examples of transactions include:
- Embodiments include crypto tokens (“BergStake”) that represent a right to sign blocks in blockchains.
- BergStake includes hashes from a static and limited resource that are known to all nodes of the network, are perpetually attached to particular public keys, and can be lost from double mining.
- a “slasher” algorithm could be implemented such that proof-of-double-mining will cause users to lose their BergStake.
- BergStake is a generalization of proof-of-skill. For example, even when a user spends all his or her gaming tokens, the skill remains with the user and is used for signing blocks in the proof-of-skill blockchain.
- a private-key holder can receive BergStake proportional to tokens created by proof-of-work, pre-mine, or gaming points. BergStake remains with the private-key holder even if the new tokens are transferred away.
- BergStake can be transferred as an inheritance, for example, by providing the original private key.
- BergStake is a distributed consensus mechanism alternative to proof-of-work mining and solves known issues of proof-of-stake blockchains.
- the block-signer selection algorithm can mitigate stake grinding.
- the hash of the previous two signers can be used to select the next signer.
- Another technique may involve choosing the next n signers based on the current signer and a pseudorandom number.
- BergStake can be used in a hybrid approach to determine signers.
- a network can use a proof-of-work blockchain for an initial period of time, and then switch to a proof-of-stake blockchain.
- miners can receive BergStake in addition to tokens as a reward for signing a block.
- a BergStake would represent the right to sign future blocks during the proof-of-stake phase.
- BergStakers will be rewarded with transaction fees only.
- BergStake can be thought of as a virtual perpetual mining rig. The virtual rig is built by miners during the proof-of-work phase as they sign blocks. Those same miners can then “turn on” their BergStake virtual mining rigs to continue signing blocks in the proof-of-stake phase.
- a pure decentralized exchange can be as unattainable as solving the general problems of trust and timing.
- Exchange limit-order-books are path dependent. As such, the time and order of events matter.
- all peers will have a different market snapshot. So, for a trader, there is no way to know the real status of his or her orders, or position, until after a block is signed. Moreover, if there were a major capitulation move followed by a snapback in price, block signers would be incentivized to front-run, and losers to attempt to extend forks.
- a proof-of-time consensus engine chooses a centralized time-syncing agent (e.g., a timestamping server).
- the time-syncing agent signs each timestamp with 51% of total stake outstanding.
- all orders e.g., exchangeOrder events
- the timestamped orders are then broadcast back to the network.
- the disclosed platform maintains a distributed matching mechanism.
- a fault-tolerant, centralized matching engine is not required for processing orders and broadcasting fills and market data. Instead, the matching engines remain distributed at each node of the network, and each node has a copy of market values, including the time stamps. This equal distribution enables deterministic exchangeExecutions and clearingTransactions. Trading sessions are opened and closed by timeTransitions events and proof-of-time consensus.
- FIG. 2 is a flowchart showing a process 200 performed by a server in a network implementing a decentralized exchange according to some embodiments of the present disclosure.
- the server receives a plurality of orders from a plurality of nodes collectively implementing a decentralized exchange.
- the server associates a time value to each of the plurality of orders, thereby providing a corresponding plurality of time-stamped orders.
- the server distributes information indicative of each of the time values of the time-stamped orders to the plurality of nodes of the network.
- the disclosed platform may implement a “GammaCoin” blockchain that avoids the need for time-stamping. Specifically, a bidding process among the distributed nodes of the network determines the next block signer. More specifically, nodes of the network pay to sign blocks.
- the highest bidder is given the right to sign blocks.
- Bids can be issued by nodes (e.g., vis-à-vis market participants such as traders). The value of a bid can be determined based on a variety of factors and considerations. For example, a bid could be determined by calculating a best and worst order of events. To obtain the right to sign a block, a node/trader may pay up to the amount of his or her losses (i.e., to avoid the loss) or pay up to an amount of profit (i.e., to ensure the profit). Examples of other considerations used to determine a bid include desired positions and market liquidity.
- the decentralized exchange could be regulated by private or public agencies such as the U.S. Commodity Futures Trading Commission (CFTC).
- CFTC U.S. Commodity Futures Trading Commission
- FIG. 3 is a flowchart showing a process 300 performed by a server in a network for determining a next block signer of a blockchain according to some embodiments of the present disclosure.
- a server receives bids from nodes of the network.
- the server selects a bid from the received bids. The selected bid was provided by a node from the nodes of the network.
- the server grants a right to sign a next block in a blockchain to the node that provided the selected bid.
- FIG. 4 is a block diagram of a computer 20 of system 10 operable to implement the disclosed technology according to some embodiments of the present disclosure.
- the computer 20 may be a generic computer or specifically designed to carry out features of system 10 .
- the computer 20 may be a system-on-chip (SOC), a single-board computer (SBC) system, a desktop or laptop computer, a kiosk, a mainframe, a mesh of computer systems, a handheld mobile device, or combinations thereof.
- SOC system-on-chip
- SBC single-board computer
- the computer 20 may be a standalone device or part of a distributed system that spans multiple networks, locations, machines, or combinations thereof.
- the computer 20 operates as a server computer (e.g., node 12 ) or a client device in a client-server network environment, or as a peer machine in a peer-to-peer system.
- the computer 20 may perform one or more steps of the disclosed embodiments in real time, in near real time, offline, by batch processing, or combinations thereof.
- the computer 20 includes a bus 22 operable to transfer data between hardware components. These components include a control 24 (i.e., processing system), a network interface 26 , an Input/Output (I/O) system 28 , and a clock system 30 .
- the computer 20 may include other components not shown or further discussed for the sake of brevity. One having ordinary skill in the art will understand any hardware and software included but not shown in FIG. 4 .
- the control 24 includes one or more processors 32 (e.g., Central Processing Units (CPUs), Application Specific Integrated Circuits (ASICs), and/or Field Programmable Gate Arrays (FPGAs)) and memory 34 (which may include software 36 ).
- the memory 34 may include, for example, volatile memory such as random-access memory (RAM) and/or non-volatile memory such as read-only memory (ROM).
- RAM random-access memory
- ROM read-only memory
- the memory 34 can be local, remote, or distributed.
- a software program when referred to as “implemented in a computer-readable storage medium,” includes computer-readable instructions stored in a memory (e.g., memory 34 ).
- a processor e.g., processor 32
- a processor is “configured to execute a software program” when at least one value associated with the software program is stored in a register that is readable by the processor.
- routines executed to implement the disclosed embodiments may be implemented as part of operating system (OS) software (e.g., Microsoft Windows®, Linux®) or a specific software application, component, program, object, module or sequence of instructions referred to as “computer programs.”
- OS operating system
- the computer programs typically comprise one or more instructions set at various times in various memory devices of a computer (e.g., computer 20 ) and which, when read and executed by at least one processor (e.g., processor 32 ), cause the computer to perform operations to execute features involving the various aspects of the disclosed embodiments.
- a carrier containing the aforementioned computer program product is provided.
- the carrier is one of an electronic signal, an optical signal, a radio signal, or a non-transitory computer-readable storage medium (e.g., the memory 34 ).
- the network interface 26 may include a modem or other interfaces (not shown) for coupling the computer 20 to other computers over the network 18 .
- the I/O system 28 may operate to control various I/O devices, including peripheral devices such as a display system 38 (e.g., a monitor or touch-sensitive display) and one or more input devices 40 (e.g., a keyboard and/or pointing device).
- peripheral devices such as a display system 38 (e.g., a monitor or touch-sensitive display) and one or more input devices 40 (e.g., a keyboard and/or pointing device).
- Other I/O devices 42 may include, for example, a disk drive, printer, scanner, or the like.
- the clock system 30 controls a timer for use by the disclosed embodiments.
- Operation of a memory device may comprise a visually perceptible physical transformation.
- the transformation may comprise a physical transformation of an article to a different state or thing.
- a change in state may involve accumulation and storage of charge or release of stored charge.
- a change of state may comprise a physical change or transformation in magnetic orientation, or a physical change or transformation in molecular structure, such as from crystalline to amorphous or vice versa.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Disclosed embodiments include a server included in a network. The server is operable to determine a next block signer in a blockchain. The server includes processor(s) and memory containing instructions executable by the processor(s). As such, the server is operable to receive bids from nodes of the network and to select a bid from the received bids. The selected bid is provided by a node from the nodes of the network. The server is further operable to grant a right to sign a next block in a blockchain to the node that provided the selected bid.
Description
- This application is a continuation of U.S. patent application Ser. No. 16/834,979, filed Mar. 30, 2020, which is a continuation of U.S. patent application Ser. No. 15/494,277, filed Apr. 21, 2017, now U.S. Pat. No. 10,608,825, issued Mar. 31, 2020, which claims the benefit of U.S. Provisional Patent Application No. 62/325,647, filed on Apr. 21, 2016, and claims the benefit of U.S. Provisional Patent Application No. 62/325,637, filed on Apr. 21, 2016, and claims the benefit of U.S. Provisional Patent Application No. 62/325,607, filed on Apr. 21, 2016, and the subject matter thereof is incorporated hereby by reference in their entireties.
- The disclosed teachings relate generally to a distributed autonomous platform. More particularly, the disclosed teachings relate to decentralized exchanges in a distributed autonomous platform.
- Distributed computing has emerged as a promising solution to the inherent drawbacks of standalone computing. Bitcoin is an example of a distributed autonomous cryptocurrency system that provides a pragmatic engineered solution for arriving at a consensus in the face of trust and timing problems encountered in distributed networks. Decentralized exchanges for trading securities can also be implemented in a distributed network. Such exchanges can only support securities of a size too small to be practical compared to conventional centralized exchanges. As such, centralized exchanges remain the only practical means for trading securities.
-
FIG. 1 is a block diagram of a distributed computer network according to some embodiments of the present disclosure; -
FIG. 2 is a flowchart showing a process performed by a server in a network implementing a decentralized exchange according to some embodiments of the present disclosure; -
FIG. 3 is a flowchart showing a process performed by a server in a network for determining a next block signer of a blockchain according to some embodiments of the present disclosure; and -
FIG. 4 is a block diagram of a computer operable to implement the disclosed technology according to some embodiments of the present disclosure. - The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments, and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts that are not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
- The purpose of terminology used herein is only for describing embodiments and is not intended to limit the scope of the disclosure. Where context permits, words using the singular or plural form may also include the plural or singular form, respectively.
- As used herein, unless specifically stated otherwise, terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” “generating” or the like, refer to actions and processes of a computer or similar electronic computing device that manipulates and transforms data represented as physical (electronic) quantities within the computer's memory or registers into other data similarly represented as physical quantities within the computer's memory, registers, or other such storage medium, transmission, or display devices.
- As used herein, the terms “connected,” “coupled,” or variants thereof, refer to any connection or coupling, either direct or indirect, between two or more elements. The coupling or connection between the elements can be physical, logical, or a combination thereof.
- Existing distributed exchanges lack a centralized exchange that includes a single matching engine that clears all orders. Instead, each node of the network has its own copy of a matching engine. Each matching engine keeps track of all orders in structures known as “market-depth” and/or “limit-order-book.” A depth of market measure provides an indication of the liquidity and depth for that security or currency. A limit-order-book provides a guarantee that the top priority order is executed before other orders in the book, and before other orders at equal or worse price held or submitted by other traders.
- When a match occurs, orders are marked as filled, and both sides of the trades have their positions changed. However, problems associated with blockchain-based decentralized exchanges include every node having transactions recorded in a different order due to the asynchronous nature of the distributed network. The true order of events is known only after the transactions are inside a block. Further, traders never know their true positions until after the next block. That is, traders know their positions when their own nodes show that their orders were matched and filled; however, this may not occur when the orders of a transaction change in the next block. Moreover, traders are incentivized to fork a chain of a blockchain during major market moves if their current order of transactions is a particularly bad trade and they would incur a large trading loss as a result. The disclosed embodiments overcome these drawbacks.
- The disclosed embodiments include a decentralized exchange implemented in a blockchain. The embodiments include mechanisms for overcoming existing problems of trust and timing with distributed exchanges. Solutions include a centralized server that timestamps all orders and broadcasts the timestamped orders to the nodes of the network. Each node maintains a matching engine to place and fill any orders but relies on the timestamping from the centralized server to validate an ordering of transactions.
- In some embodiments, the decentralized exchange may implement a “GammaCoin” blockchain that avoids the need for without centralized timestamping. The disclosed technology includes a bidding process used to select a next block signer. Specifically, nodes (of market participants) bid to sign blocks of the blockchain. The right to sign a block may be given to the highest bidder. A bid may be determined based on a variety of factors and considerations. For example, each node can calculate a best/worst order of events and bid accordingly. A node may be willing to pay up to an amount to avoid loss and/or ensure profits. Other considerations may include desired positions and market liquidity. New trading strategies can emerge based on the knowledge that participants can pay to change the order of a limit-order-book. These strategies can replace high-frequency trading strategies of centralized exchanges.
-
FIG. 1 illustrates asystem 10 that includes anetwork 14 of interconnected nodes 12 according to some embodiments of the present disclosure. Embodiments of the distributed autonomous platform may be included in one or more of the nodes 12. As such, thenetwork 14 can perform processes of a blockchain-based decentralized exchange. Thenetwork 14 may include a combination of private, public, wired, or wireless portions. Data communicated over thenetwork 14 may be encrypted or unencrypted at various locations or portions of thenetwork 14. Each node 12 may include combinations of hardware and/or software to process data, perform functions, communicate over thenetwork 14, and the like. - Nodes 12 may include computing devices such as servers, desktop or laptop computers (e.g., APPLE MACBOOK, LENOVO 440), handheld mobile devices (e.g., APPLE IPHONE, SAMSUNG GALAXY, MICROSOFT SURFACE), and any other electronic computing device. Any component of the
network 14 may include a processor, memory or storage, a network transceiver, a display, operating system and application software (e.g., for providing a user interface), and the like. Other components, hardware, and/or software included in thenetwork 14 that are well known to persons skilled in the art are not shown or discussed herein for brevity. - The
network 14 may utilize public-key cryptography to securely process transactions over thenetwork 14. Public-key cryptography uses asymmetric key algorithms, where a key used by one party to perform either encryption or decryption is not the same as the key used by another in the counterpart operation. Each party has a pair of cryptographic keys: a public encryption key and a private decryption key. For example, a key pair used for digital signatures consists of a private signing key and a public verification key. The public key may be widely distributed, while the private key is known only to its proprietor. The keys are related mathematically, but the parameters are chosen so that calculating the private key from the public key is unfeasible. Moreover, the keys could be expressed in various formats, including hexadecimal format. - The disclosed decentralized exchange is described in the context of a gaming platform merely to aid in understanding. Gaming inherently involves unpredictable events and outcomes. For example, some participants of a game may have successfully projected outcomes that defied expectations of most participants. The disclosed platform equates successful projections and skill. For example, participants of fantasy football play by drafting a team and then submitting a lineup each week. Some leagues allow trading players, but the high-stakes public leagues do not. There can also be weekly games and a professional expert service industry that supports the gaming environment. These decisions involve making projections of events and outcomes of games.
- The disclosed embodiments relate to distributed blockchain matching engines. In the context of using gaming tokens, there is a full futures market on each NFL player's weekly results. Blockchain participants can buy and sell futures contracts, using gaming tokens as the currency for settlement and profit and loss.
- The gaming platform enables buying or selling a player's season production with gaming tokens. For example, the platform enables buying or selling futures contracts on NFL player performance. If a participant wants to “sell” a fantasy player in existing gaming environments, the participant could (a) trade the player (if owned), (b) not draft the player, (c) blog or tweet about the player, and/or (d) not pick the player in weekly games.
- Projections about the outcome of a game (i.e., “level 1” projections) can be made up until the game commences. For example, during each week of the fantasy season, up until kickoff, projections can be made. All that is needed to make projections is a valid name identifier for the participant. Projections can be made by signing a pointProjection event and sending it to the network of the gaming platform. Every timely projection included in the blockchain is eligible for a payout. Once a block containing the consensus results is received, a deterministic distribution algorithm is run to determine the payouts to each participant.
- A distribution algorithm can be used to determine payouts to each participant according to some embodiments of the present disclosure. The distribution algorithm can also be expressed mathematically. Let R equal actual results of a game and let pn equal projections made by each participant n. The difference between results and projections is d(p)=|R−p|. The average difference is
D =Σn|R−pn|. - Projections below average or 100% or more off a mark are filtered out, as
-
- A unit payout X distributes more gaming tokens for better predictions as
-
- Lastly, an award function A(p) determines how many gaming points are awarded for each projection, which can be multiplied by a factor such as 100 for gaming tokens. The award function can be expressed as A(p)=X×(R−d(p))×F(d(p)). Any leftover points, L, due to poor projections or no projections can be distributed to a block signer, where L=R−ΣnA(pn).
- A proof-of-work may be required in order for a participant to obtain a name identifier (e.g., fantasy name), which mitigates the vulnerability of the gaming platform to a Sybil attack. Otherwise there would be no cost to making projections. As such, an attacker could write a program to create millions of participant identifiers in an attempt to control the gaming platform of the network.
- The gaming platform may include different ways to keep score (e.g., number of gaming tokens) and participant rankings. The values of scores and participant rankings can be used to determine signers of next blocks. The values could be kept based on skill, data, stake, and time. Skill refers to a gross total of gaming tokens earned, which can only increase and are not transferrable. Data refers to data feed rankings, which cannot be less than skill and can be assigned to an agent. Stake refers to a net balance of present gaming tokens that is not transferrable. Time refers to time-sync rankings, which cannot be less than the stake and can be assigned to an agent. In the context of futures exchanges, stake balance is the currency used for trading, margin, and settlement. The time-balances let a user participate in centralized time stamping operations.
- In some embodiments, each participant identifier may assign a peer to be an agent of data and time. The skill and stake values of the assigner can be added to the data and time rankings of the agent, respectively. If a participant identifier assigns herself as her own agent, she becomes a volunteer and must be willing to do the same for the entire network of the gaming platform. By default, agents are assigned by default consensus, the agents being decided by skill and stake consensus proofs.
- If a single agent represents a majority of the network, that agent can become an oracle, and a central point of control for critical time periods, such as during live games. As such, agents are essentially participants appointed by a consensus of the network. Free market economic forces would choose the most capable agents.
- The disclosed gaming platform includes a state machine. In particular, the underlying protocol can change its behavior based on its current state. There are also different blockchain and event or transaction rules. A transition to a different state is accomplished when a block of a blockchain is signed. The particular proof required to sign a block also depends on a transition context.
- The gaming platform may include a variety of event types. A transaction that transfers gaming tokens is only one of many event types. In contrast to Bitcoin, the transfer transaction is not necessarily a core feature of the disclosed gaming platform. Instead, for example, point projections and name identifier mining can be core features of the gaming platform.
- Examples of events, in order of significance, include:
-
- nameProof: contains proof-of-work data sent by new participants to claim their identifiers, and is signed by an/the identifier;
- pointProjection: contains the playerID, week, and point projection, and is sent and signed by an/the identifier;
- dataTransition: contains game results, draft results, player metadata or schedule data, is sent by a data agent, and is signed by consensus of skill;
- timeTransition: contains trading session, exchange events, or any time-ordered data, is sent by a time agent, and is signed by consensus of stake;
- exchangeOrder: contains limit order, price, quantity, playerID. The exchangeOrder is first created and signed by fantasy name, then stamped and signed by time agent; and
- transferTransaction: contains the amount to transfer and the sender and receiver fantasy names, and is signed by sender.
- The gaming platform may include deterministic transactions. A state transition event can trigger multiple events and transactions. Examples of transactions include:
-
- coinbaseTransaction: awards new gaming tokens based on the aforementioned distribution algorithm. Further, this transaction can be triggered by a dataTransition “WeekOver” event;
- exchangeExecution: contains fills and order status, generated by an internal matching-engine, triggered by timeTransition “TradeOpen” and followed by multiple exchangeOrder events; and
- clearingTransaction: contains transferTransaction events, generated by an internal engine, triggered by a timeTransition “TradeClose” and followed by multiple exchangeExecutions.
- Embodiments include crypto tokens (“BergStake”) that represent a right to sign blocks in blockchains. BergStake includes hashes from a static and limited resource that are known to all nodes of the network, are perpetually attached to particular public keys, and can be lost from double mining. For example, a “slasher” algorithm could be implemented such that proof-of-double-mining will cause users to lose their BergStake.
- BergStake is a generalization of proof-of-skill. For example, even when a user spends all his or her gaming tokens, the skill remains with the user and is used for signing blocks in the proof-of-skill blockchain. A private-key holder can receive BergStake proportional to tokens created by proof-of-work, pre-mine, or gaming points. BergStake remains with the private-key holder even if the new tokens are transferred away. However, BergStake can be transferred as an inheritance, for example, by providing the original private key. Thus, BergStake is a distributed consensus mechanism alternative to proof-of-work mining and solves known issues of proof-of-stake blockchains.
- Since BergStake is limited and can be lost, there is in fact something at stake to deter double mining. Losing BergStake is enabled by proof-of-double-mining, which results because BergStake blockchains have knowledge of alternative forks. The proof-of-double-mining can destroy BergStake and its recent block reward. Hence, the risk of losing BergStake and new tokens incentivizes mining only the valid chain of a fork. This feature overcomes the “nothing-at-stake” flaw in proof-of-stake blockchains.
- Since all BergStakers (i.e., owners of BergStake) are known in advance, the block-signer selection algorithm can mitigate stake grinding. For example, the hash of the previous two signers can be used to select the next signer. Another technique may involve choosing the next n signers based on the current signer and a pseudorandom number.
- In some embodiments, BergStake can be used in a hybrid approach to determine signers. For example, a network can use a proof-of-work blockchain for an initial period of time, and then switch to a proof-of-stake blockchain. In the proof-of-work phase, miners can receive BergStake in addition to tokens as a reward for signing a block. A BergStake would represent the right to sign future blocks during the proof-of-stake phase. Once all tokens have been distributed, BergStakers will be rewarded with transaction fees only. As such, BergStake can be thought of as a virtual perpetual mining rig. The virtual rig is built by miners during the proof-of-work phase as they sign blocks. Those same miners can then “turn on” their BergStake virtual mining rigs to continue signing blocks in the proof-of-stake phase.
- As indicated above, the disclosed technology could be implemented in a decentralized exchange. A pure decentralized exchange can be as unattainable as solving the general problems of trust and timing. Exchange limit-order-books are path dependent. As such, the time and order of events matter. In a pure decentralized distributed order book, all peers will have a different market snapshot. So, for a trader, there is no way to know the real status of his or her orders, or position, until after a block is signed. Moreover, if there were a major capitulation move followed by a snapback in price, block signers would be incentivized to front-run, and losers to attempt to extend forks.
- The disclosed platform solves these drawbacks with proof-of-time provided by a centralized time-synching mechanism. Specifically, a proof-of-time consensus engine chooses a centralized time-syncing agent (e.g., a timestamping server). In some embodiments, the time-syncing agent signs each timestamp with 51% of total stake outstanding. In some embodiments, all orders (e.g., exchangeOrder events) are timestamped by the designated time-syncing agent. The timestamped orders are then broadcast back to the network.
- The disclosed platform maintains a distributed matching mechanism. A fault-tolerant, centralized matching engine is not required for processing orders and broadcasting fills and market data. Instead, the matching engines remain distributed at each node of the network, and each node has a copy of market values, including the time stamps. This equal distribution enables deterministic exchangeExecutions and clearingTransactions. Trading sessions are opened and closed by timeTransitions events and proof-of-time consensus.
-
FIG. 2 is a flowchart showing aprocess 200 performed by a server in a network implementing a decentralized exchange according to some embodiments of the present disclosure. Instep 202, the server receives a plurality of orders from a plurality of nodes collectively implementing a decentralized exchange. Instep 204, the server associates a time value to each of the plurality of orders, thereby providing a corresponding plurality of time-stamped orders. Instep 206, the server distributes information indicative of each of the time values of the time-stamped orders to the plurality of nodes of the network. - In some embodiments, the disclosed platform may implement a “GammaCoin” blockchain that avoids the need for time-stamping. Specifically, a bidding process among the distributed nodes of the network determines the next block signer. More specifically, nodes of the network pay to sign blocks.
- In some embodiments, the highest bidder is given the right to sign blocks. Bids can be issued by nodes (e.g., vis-à-vis market participants such as traders). The value of a bid can be determined based on a variety of factors and considerations. For example, a bid could be determined by calculating a best and worst order of events. To obtain the right to sign a block, a node/trader may pay up to the amount of his or her losses (i.e., to avoid the loss) or pay up to an amount of profit (i.e., to ensure the profit). Examples of other considerations used to determine a bid include desired positions and market liquidity.
- As a result, new trading strategies can emerge based on the knowledge that any of the participants of the decentralized exchange can pay to change the order of the limit-order-book. These strategies may replace high-frequency trading strategies common in centralized exchanges. In some embodiments, the decentralized exchange could be regulated by private or public agencies such as the U.S. Commodity Futures Trading Commission (CFTC).
- For example,
FIG. 3 is a flowchart showing aprocess 300 performed by a server in a network for determining a next block signer of a blockchain according to some embodiments of the present disclosure. Instep 302, a server receives bids from nodes of the network. Instep 304, the server selects a bid from the received bids. The selected bid was provided by a node from the nodes of the network. Instep 306, the server grants a right to sign a next block in a blockchain to the node that provided the selected bid. -
FIG. 4 is a block diagram of acomputer 20 ofsystem 10 operable to implement the disclosed technology according to some embodiments of the present disclosure. Thecomputer 20 may be a generic computer or specifically designed to carry out features ofsystem 10. For example, thecomputer 20 may be a system-on-chip (SOC), a single-board computer (SBC) system, a desktop or laptop computer, a kiosk, a mainframe, a mesh of computer systems, a handheld mobile device, or combinations thereof. - The
computer 20 may be a standalone device or part of a distributed system that spans multiple networks, locations, machines, or combinations thereof. In some embodiments, thecomputer 20 operates as a server computer (e.g., node 12) or a client device in a client-server network environment, or as a peer machine in a peer-to-peer system. In some embodiments, thecomputer 20 may perform one or more steps of the disclosed embodiments in real time, in near real time, offline, by batch processing, or combinations thereof. - As shown, the
computer 20 includes a bus 22 operable to transfer data between hardware components. These components include a control 24 (i.e., processing system), anetwork interface 26, an Input/Output (I/O)system 28, and aclock system 30. Thecomputer 20 may include other components not shown or further discussed for the sake of brevity. One having ordinary skill in the art will understand any hardware and software included but not shown inFIG. 4 . - The
control 24 includes one or more processors 32 (e.g., Central Processing Units (CPUs), Application Specific Integrated Circuits (ASICs), and/or Field Programmable Gate Arrays (FPGAs)) and memory 34 (which may include software 36). Thememory 34 may include, for example, volatile memory such as random-access memory (RAM) and/or non-volatile memory such as read-only memory (ROM). Thememory 34 can be local, remote, or distributed. - A software program (e.g., software 36), when referred to as “implemented in a computer-readable storage medium,” includes computer-readable instructions stored in a memory (e.g., memory 34). A processor (e.g., processor 32) is “configured to execute a software program” when at least one value associated with the software program is stored in a register that is readable by the processor. In some embodiments, routines executed to implement the disclosed embodiments may be implemented as part of operating system (OS) software (e.g., Microsoft Windows®, Linux®) or a specific software application, component, program, object, module or sequence of instructions referred to as “computer programs.”
- As such, the computer programs typically comprise one or more instructions set at various times in various memory devices of a computer (e.g., computer 20) and which, when read and executed by at least one processor (e.g., processor 32), cause the computer to perform operations to execute features involving the various aspects of the disclosed embodiments. In some embodiments, a carrier containing the aforementioned computer program product is provided. The carrier is one of an electronic signal, an optical signal, a radio signal, or a non-transitory computer-readable storage medium (e.g., the memory 34).
- The
network interface 26 may include a modem or other interfaces (not shown) for coupling thecomputer 20 to other computers over thenetwork 18. The I/O system 28 may operate to control various I/O devices, including peripheral devices such as a display system 38 (e.g., a monitor or touch-sensitive display) and one or more input devices 40 (e.g., a keyboard and/or pointing device). Other I/O devices 42 may include, for example, a disk drive, printer, scanner, or the like. Lastly, theclock system 30 controls a timer for use by the disclosed embodiments. - Operation of a memory device (e.g., memory 34), such as a change in state from a binary one to a binary zero (or vice versa) may comprise a visually perceptible physical transformation. The transformation may comprise a physical transformation of an article to a different state or thing. For example, a change in state may involve accumulation and storage of charge or release of stored charge. Likewise, a change of state may comprise a physical change or transformation in magnetic orientation, or a physical change or transformation in molecular structure, such as from crystalline to amorphous or vice versa.
- Aspects of the disclosed embodiments may be described in terms of algorithms and symbolic representations of operations on data bits stored on memory. These algorithmic descriptions and symbolic representations generally include a sequence of operations leading to a desired result. The operations require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Customarily, and for convenience, these signals are referred to as bits, values, elements, symbols, characters, terms, numbers, or the like. These and similar terms are associated with physical quantities and are merely convenient labels applied to these quantities.
- While embodiments have been described in the context of fully functioning computers, those skilled in the art will appreciate that the various embodiments are capable of being distributed as a program product in a variety of forms and that the disclosure applies equally regardless of the particular type of machine or computer-readable media used to actually effect the embodiments.
- While the disclosure has been described in terms of several embodiments, those skilled in the art will recognize that the disclosure is not limited to the embodiments described herein and can be practiced with modifications and alterations within the spirit and scope of the invention. Those skilled in the art will also recognize improvements to the embodiments of the present disclosure. All such improvements are considered within the scope of the concepts disclosed herein. Thus, the description is to be regarded as illustrative instead of limiting.
Claims (1)
1. A server computer included in a network, the server computer being operable to determine a next block signer in a blockchain, the server computer comprising:
one or more processors; and
memory containing instructions executable by the one or more processors whereby the server computer is operable to:
receive a plurality of bids from a plurality of nodes of the network;
select a bid from the plurality of bids, the selected bid being provided by a node from the plurality of nodes of the network; and
grant a right to sign a next block in a blockchain to the node that provided the selected bid.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/718,267 US20220345318A1 (en) | 2016-04-21 | 2022-04-11 | Techniques for processing transactions of order-dependent blockchain protocols |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662325637P | 2016-04-21 | 2016-04-21 | |
US201662325607P | 2016-04-21 | 2016-04-21 | |
US201662325647P | 2016-04-21 | 2016-04-21 | |
US15/494,277 US10608825B2 (en) | 2016-04-21 | 2017-04-21 | Decentralized exchanges in a distributed autonomous platform |
US16/834,979 US11303457B2 (en) | 2016-04-21 | 2020-03-30 | Techniques for processing transactions of order-dependent blockchain protocols |
US17/718,267 US20220345318A1 (en) | 2016-04-21 | 2022-04-11 | Techniques for processing transactions of order-dependent blockchain protocols |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/494,277 Continuation US10608825B2 (en) | 2016-04-21 | 2017-04-21 | Decentralized exchanges in a distributed autonomous platform |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220345318A1 true US20220345318A1 (en) | 2022-10-27 |
Family
ID=60330945
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/494,277 Active 2037-11-30 US10608825B2 (en) | 2016-04-21 | 2017-04-21 | Decentralized exchanges in a distributed autonomous platform |
US16/834,979 Active US11303457B2 (en) | 2016-04-21 | 2020-03-30 | Techniques for processing transactions of order-dependent blockchain protocols |
US17/718,267 Abandoned US20220345318A1 (en) | 2016-04-21 | 2022-04-11 | Techniques for processing transactions of order-dependent blockchain protocols |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/494,277 Active 2037-11-30 US10608825B2 (en) | 2016-04-21 | 2017-04-21 | Decentralized exchanges in a distributed autonomous platform |
US16/834,979 Active US11303457B2 (en) | 2016-04-21 | 2020-03-30 | Techniques for processing transactions of order-dependent blockchain protocols |
Country Status (1)
Country | Link |
---|---|
US (3) | US10608825B2 (en) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10839378B1 (en) * | 2016-01-12 | 2020-11-17 | 21, Inc. | Systems and methods for performing device authentication operations using cryptocurrency transactions |
EP4209983A1 (en) * | 2016-02-23 | 2023-07-12 | nChain Licensing AG | Methods and systems for the efficient transfer of entities on a blockchain |
US11954697B2 (en) * | 2017-02-27 | 2024-04-09 | Ncr Corporation | Blockchain consumer ledger |
US20200394652A1 (en) | 2017-03-08 | 2020-12-17 | Ip Oversight Corporation | A method for creating commodity assets from unrefined commodity reserves utilizing blockchain and distributed ledger technology |
CA3058919A1 (en) * | 2017-04-12 | 2018-10-18 | Royal Bank Of Canada | A bid platform using smart contracts and distributed ledger |
US11165589B2 (en) * | 2017-05-11 | 2021-11-02 | Shapeshift Ag | Trusted agent blockchain oracle |
JP2020523813A (en) * | 2017-06-07 | 2020-08-06 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | Credential generation and distribution method for blockchain networks |
GB201713031D0 (en) * | 2017-08-14 | 2017-09-27 | Nchain Holdings Ltd | Computer-implemented system and method |
US11159537B2 (en) | 2017-11-30 | 2021-10-26 | Bank Of America Corporation | Multicomputer processing for data authentication and event execution using a blockchain approach |
US10949511B2 (en) | 2017-11-30 | 2021-03-16 | Bank Of America Corporation | Multicomputer processing for data authentication using a blockchain approach |
US11271717B2 (en) | 2018-02-21 | 2022-03-08 | Thunder Token Inc. | Blockchain consensus methods and systems |
US10873625B2 (en) * | 2018-02-26 | 2020-12-22 | International Business Machines Corpora ! Ion | Service management for the infrastructure of blockchain networks |
US20190287107A1 (en) * | 2018-03-15 | 2019-09-19 | International Business Machines Corporation | Resource equity for blockchain |
CN108833483B (en) * | 2018-05-22 | 2020-11-03 | 四川海纳仁东科技有限公司 | Packet-based DPOS proxy node selection method |
CN109104284B (en) * | 2018-07-11 | 2020-09-29 | 四川大学 | Block chain anonymous transmission method based on ring signature |
US11233648B2 (en) | 2018-09-04 | 2022-01-25 | Microsoft Technology Licensing, Llc | Identity system for use with blockchain platform |
CN109300036B (en) * | 2018-09-14 | 2020-08-14 | 百度在线网络技术(北京)有限公司 | Bifurcation regression method and device of block chain network |
US10805094B2 (en) | 2018-10-08 | 2020-10-13 | International Business Machines Corporation | Blockchain timestamp agreement |
US11924360B2 (en) | 2018-10-08 | 2024-03-05 | Green Market Square Limited | Blockchain timestamp agreement |
US10608829B1 (en) | 2018-10-08 | 2020-03-31 | International Business Machines Corporation | Blockchain timestamp agreement |
EP3767514A1 (en) * | 2019-06-26 | 2021-01-20 | Indian Institute of Technology Bombay | Method for scaling computation in blockchain by delaying transaction execution |
US11682095B2 (en) | 2020-02-25 | 2023-06-20 | Mark Coast | Methods and apparatus for performing agricultural transactions |
CN111401996A (en) * | 2020-03-10 | 2020-07-10 | 大仝智能科技有限公司 | Decentralized commodity electronic bidding transaction system and method based on block chain |
US20230073427A1 (en) * | 2021-04-05 | 2023-03-09 | Protoblock, Inc. | Decentralized hard exchange |
US12015702B2 (en) | 2021-06-16 | 2024-06-18 | Cisco Technology, Inc. | Key sharing for media frames using blockchain |
US11979484B2 (en) | 2021-07-21 | 2024-05-07 | Bank Of America Corporation | System for electronic data encryption and decryption using a consensus draft process |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160218879A1 (en) * | 2015-01-23 | 2016-07-28 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
US20170180134A1 (en) * | 2015-12-21 | 2017-06-22 | Mastercard International Incorporated | Method and system for blockchain variant using digital signatures |
US9875510B1 (en) * | 2015-02-03 | 2018-01-23 | Lance Kasper | Consensus system for tracking peer-to-peer digital records |
US20190173667A1 (en) * | 2016-12-23 | 2019-06-06 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Block generation method, device and blockchain network |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10862959B2 (en) | 2016-11-28 | 2020-12-08 | Keir Finlow-Bates | Consensus system and method for adding data to a blockchain |
-
2017
- 2017-04-21 US US15/494,277 patent/US10608825B2/en active Active
-
2020
- 2020-03-30 US US16/834,979 patent/US11303457B2/en active Active
-
2022
- 2022-04-11 US US17/718,267 patent/US20220345318A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160218879A1 (en) * | 2015-01-23 | 2016-07-28 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
US9875510B1 (en) * | 2015-02-03 | 2018-01-23 | Lance Kasper | Consensus system for tracking peer-to-peer digital records |
US20170180134A1 (en) * | 2015-12-21 | 2017-06-22 | Mastercard International Incorporated | Method and system for blockchain variant using digital signatures |
US20190173667A1 (en) * | 2016-12-23 | 2019-06-06 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Block generation method, device and blockchain network |
Also Published As
Publication number | Publication date |
---|---|
US10608825B2 (en) | 2020-03-31 |
US20170338963A1 (en) | 2017-11-23 |
US11303457B2 (en) | 2022-04-12 |
US20200389323A1 (en) | 2020-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220345318A1 (en) | Techniques for processing transactions of order-dependent blockchain protocols | |
US20200396082A1 (en) | Techniques to incentivize a blockchain network to prioritize state changes | |
JP7304116B2 (en) | Blockchain probabilistic timer transaction synchronization | |
Daian et al. | Flash boys 2.0: Frontrunning, transaction reordering, and consensus instability in decentralized exchanges | |
Kalodner et al. | Arbitrum: Scalable, private smart contracts | |
CN109964446B (en) | Consensus method based on voting | |
US11170439B2 (en) | Method and apparatus for distributed, privacy-preserving and integrity-preserving exchange, inventory and order book | |
KR101920015B1 (en) | Method for managing token based on heterogeneous blockchains, and token management server using the same | |
US10708071B1 (en) | Consensus protocols in distributed computing systems | |
JP2020534734A (en) | Execution of smart contracts using distributed coordination | |
US20190114707A1 (en) | Distribution of Blockchain Tokens | |
Yu et al. | A survey of consensus and incentive mechanism in blockchain derived from P2P | |
Gu et al. | Empirical measurements on pricing oracles and decentralized governance for stablecoins | |
Chen et al. | SBRAC: Blockchain-based sealed-bid auction with bidding price privacy and public verifiability | |
JP2019076350A (en) | Item trading system and item trading program | |
JP2019079502A (en) | Item trading system and item trading program | |
US11245528B1 (en) | Protocols for decentralized networks | |
WO2019150132A1 (en) | Secure, distributed futures market exchange | |
CN110689412A (en) | Method, device, server and storage medium for game virtual article transaction based on block chain | |
Almashaqbeh | Cachecash: A cryptocurrency-based decentralized content delivery network | |
Emami et al. | A blockchain-based privacy-preserving anti-collusion data auction mechanism with an off-chain approach | |
WO2022189780A1 (en) | Improved blockchain relying on advanced consensus | |
US11570001B1 (en) | Protocols for decentralized networks | |
GB2599734A (en) | Blockchain | |
EP4084429A1 (en) | System and method for distributed transaction propagation and verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: PROTOBLOCK, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BERG, YEHUDA JAY;REEL/FRAME:060216/0519 Effective date: 20170527 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |