GB2615528A - Computer implemented systems and methods - Google Patents

Computer implemented systems and methods Download PDF

Info

Publication number
GB2615528A
GB2615528A GB2201546.5A GB202201546A GB2615528A GB 2615528 A GB2615528 A GB 2615528A GB 202201546 A GB202201546 A GB 202201546A GB 2615528 A GB2615528 A GB 2615528A
Authority
GB
United Kingdom
Prior art keywords
pow
node
calculating
block
cost
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
GB2201546.5A
Inventor
Lee Brendan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Elas Holdings Pty Ltd
Original Assignee
Elas Holdings Pty Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Elas Holdings Pty Ltd filed Critical Elas Holdings Pty Ltd
Priority to GB2201546.5A priority Critical patent/GB2615528A/en
Priority to PCT/GB2023/050217 priority patent/WO2023148480A1/en
Publication of GB2615528A publication Critical patent/GB2615528A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

The invention resides in at least one of a mining system, node and a device, or method of operation thereof, that calculate a proof-of-work (PoW) required for establishing the next block in a blockchain. The invention uses a packet of PoW seed data e.g. a mining candidate derived from a block template and determines the status of external variables, including a calculation of the cost and/or difficulty to calculate the PoW for the PoW seed data. Calculation of the PoW is allocated by determining if the cost of calculating the PoW is less than the reward, or part thereof, of determining a PoW for the block template. Operational efficiency is improved leading to lower levels of computational cost and lower energy consumption. Aspects and examples herein support the modularisation of the calculation of a PoW for a blockchain network in order to achieve maximum performance efficiency based on the variables, including the resources available.

Description

Computer Implemented Systems And Methods
Field
This disclosure relates generally to methods and systems for calculating the Proof-of-Work (PoW) required to establish the next block in a blockchain. More specifically, the invention generally resides in at least one of a device; mining system; node; or method of operating or managing the determination of the PoW.
Back2roun d The Biteoin blockchain ledger as introduced in 2008 by Satoshi Nakamoto's whitepaper (https://bitcoin.org/bitcoin.pdf) is the most widely known blockchain and associated network/platform in use today. Therefore, Bitcoin is referred to in the examples used herein. Examples of the disclosure are not limited in this regard and alternative blockchain protocols and implementations fall within the scope of the present disclosure. Although it has gained publicity as a means of transferring ci-yptocurrcncy, the wider applicability of blockchain technology is somewhat analogous to the way that the Internet provides an underpinning support layer for many distributed services, communications and data sharing technologies.
Calculating the PoW to establish the next block on a blockchain is a well-known computational challenge (https://en.bitcoinwiki.org/wiki/Proof-of-work). Miners are motivated to calculate the PoW for reward, or share thereof, which includes a block subsidy and a block mining fee, which is made up of transaction fees e.g. gas.
Figure I shows a representation of a block header generated by a node, which indicates the nonce that must be calculated before the block template can be completed and accepted by the network. The block header includes: a version number; a block reference, a Merkle Root of the transactions within the block; a time-stamp, a difficulty rating; and a nonce.
The node retrieves the previous block hash and time from the previous block on the blockchain, and then allocates the U UID (unique identifier), suggested coinbasc, version of the new block, and time.
A mining candidate is generated from the block template for allocation to a miner operating a computational unit e.g. hashing machine. The mining candidate functions as seed data that is used for calculating the PoW. A mining candidate, such as the PoW seed data, includes a portion of the Merkle tree that includes the path leading to the Coinbase transaction. The node also instructs a miner where to send the calculated PoW.
The nonce is a 4-byte (32-bit) field provided as an input to a hash function e.g. the SHA-256 function, that is used to produce bitcoin hashes. The nonce needs to be set in such a way that its hashed output has a certain number of leading zeros -miners repeatedly perform calculations until they arrive at the required output. Calculating a PoW is computationally expensive. The associated calculations e.g. hashing, requires significant energy to support the processing power and any required cooling.
The invention seeks to address problems with blockchain mining and improve the operational efficiency of known PoW operations.
Summary
According to one aspect there resides a mining system configured to calculate a proof-of-work (PoW) required for establishing the next block in a blockchain, the mining system comprising: an interface configured to: communicate with a node on a blockchain network, the interface configured to (i) receive PoW seed data derived from a block template established by said node and/or (ii) send a proof-of-work (PoW) to said node; and determine the status of at least one variable and calculate of the cost and/or computational difficulty to calculate the PoW for the PoW seed data; and a processor configured to allocate a task of calculating a PoW to a computational unit using the PoW seed data when the cost of calculating the PoW is less than a reward, or part thereof, for calculating a PoW for the block template obtainable by the mining system.
The PoW seed data can be a mining candidate. The PoW seed data can be the block to be created. The mining candidate can be transmitted, at least in part, as a package. Reference herein to a packet of PoW seed data is analogous to a mining candidate, or the equivalent thereof for a respective blockchain system or network. The mining system can reside in a hash control element of the mining system. The hash control is representative of a controller that allocates a packet of PoW seed data to a computational unit that calculates a PoW. The examples herein are not limited to bitcoin blockchains and their associated PoW. A PoW algorithm can be one of 'cryptonight', scrypf sl6s, blake2, md5 and the like. The PoW sent to a node PoW is valid and fulfills the need of the network.
implementing the mining system can significantly reduce the computational cost of calculating the PoW for a given block. This can be achieved by factoring in the cost of at least one of internal and external variables that influence the cost of operating the mining system This is because a computational unit, e.g. a hashing machine, which can be an ASIC. GPU, rack or stack of said units has significant overheads, not least the energy cost required to power the computational units. The computational difficulty also influences the energy expenditure required to calculate the PoW. The computational cost can be measured in many ways, although examples herein are based on a monetary value per computational operations e.g. $0.05USD per peta-hashes (PH). All examples herein seek to minimise the level of computational power required to calculate a PoW. The more mining systems that adopt examples of the invention would result in an adjustment of the 'difficulty' of determining the PoW that is set by the blockchain network.
The system can further comprise at least one computational unit configured to calculate the PoW. The computational unit can include at least one hash-calculator.
The determination of the status of a variable includes at least one of determining: the difficulty of calculating the PoW; power supply and/or power grid energy resources; the cost of metered energy sources; the cost of cooling the computational unit; and commercial costs, including at least one of: rent, depreciation, interest payments, wages, security, and interact services. The determination can further include the status and/or availability of energy management services e.g. stored energy systems such as electric battery power storage. At least one of the maximum energy output, voltage levels and capacity of a better system can be factored into the variables. The mining system can use the data obtained from the variables to determine the probability of calculating the PoW.
After the mining system has determined the status of an external variable, said variable can be adaptively selected and/or configured to adjust the cost of the calculation of the PoW for the block template associated with the reward, or part thereof The mining system can be configured to determine the cost of available power sources, and select one of those sources that is able to support the PoW calculation and result in the computational cost being less than the reward. For example, a mining system can at least one of (i) select between a solar-based power source, a battery-based power source and a mains-supply, (ii) determine the cost and/or availability of obtaining the power from each source and selecting to ensure that the computational cost is less than the reward.
The processor of the mining system can monitor at least one of: notifications e.g, from the node, indicating the probability that another computational unit has calculated the PoW for the block template; whether the computational unit has calculated the PoW for the block template; whether another computational unit has calculated the PoW for the block template; whether a new packet of Pas' seed data derived from a new block template has been received; notifications from the node indicating the probability a new block template is valid; wherein the processor adaptively allocates a task of calculating a PoW in response thereto. Allocation can also mean removal or reassignment.
The mining system monitors the benefit of calculating the PoW frequently e.g. between is and 60s, and preferably up to 10s. if the benefit because negative at any point the mining system stops allocating the PoW and/or stops all calculation operations by any computational unit that is calculating a PoW for a given packet of PoW seed data. The stop can be with immediate effect, or at least as quickly as the computational units can be switched into idle mode. As an alternative to stopping or switching computational units to idle, the mining system can switch the computational unit to calculate the PoW for a different blockchain. Overall, the mining system monitors variables to ensure that the calculation of a PoW is beneficial. This can include stopping calculation based on the probability of a new block being identified.
According to another aspect there resides a node on a blockchain network connected to at least one other node, wherein the node comprises: a port configured to receive transactions directly and/or from at least one other node in a blockchain network; and a compiler, configured to determine a block template and derive a PoW seed data packet therefrom, wherein the port communicates the PoW seed data to a mining system described and claimed herein. The node can include a mining system as described and claimed herein.
The node can be connected to two or more blockchain networks and calculate a PoW for the or each network. Similarly, a mining system can be connected to (i) two or more nodes, and/or (ii) two or more blockchain networks, and calculate a PoW forth° or each node or network. The node can allocate a task of calculating a PoW, using the PoW seed packet, to a computational unit, when the cost of calculating the PoW is less than a reward, or part thereof, for calculating a PoW for the block template. According to another aspect, there resides a system configured to calculate a proof-of-work required for establishing the next block in a blockchain, the system comprising at least one: mining system as described and claimed herein: and a node described and claimed herein.
According to another aspect, there resides device configured to calculate a proof-of-work required for establishing the next block in a blockchain. the device comprising: an interface configured to receive from a node a packet of PoW seed data derived from a block template and/or communicate a proof-of-work (PoW) to said node; and a processor configured to calculate the energy cost and/or difficulty to calculate the PoW, wherein the processor is configured to calculate the PoW when the energy cost of calculating the PoW is less than the reward, or part thereof, of calculating a PoW for the block template obtainable by the device.
In any one of the mining system, node or device described and claimed herein, the PoW can be calculated for two or more nodes and/or two or more blockchain networks. This can be achieved because a computational unit's functions can be allocated to two or more tasks. By way of example, a GPU can perform multiple tasks simultaneously, and a rack has multiple ASICs can allocate different tasks to different ASICS.
According to another aspect, there resides a method of operating at least one of a mining system, node and a device to calculate a proof-of-work (PoW) required for establishing the next block in a blockchain, the method comprising: obtaining or determining a packet of PoW seed data derived from a block template; detennining the status of external variables, including a calculation of the cost and/or difficulty to calculate the PoW for the PoW seed data; and allocating or performing the calculation of the PoW by detenuining if the cost of calculating the PoW is less than the reward, or part thereof, of determining a PoW for the block template. The method can be adapted to implement the functions of the node, mining system and device, as described herein.
According to another aspect, there resides a computer equipment comprising: memory comprising one or more memory units; and processing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when on the processing apparatus to perform the method as claimed.
According to another aspect, there resides a computer program embodied on computer-readable storage and configured so as, when run on one or more processors, to perform the method of as claim ed.Overall, the invention seeks to perform the PoW calculations when the operations are profitable i.e. the expenditure for calculating the PoW is less than a reward, or part thereof The reward is obtained through the coinbase transaction of a new block, and spendable by the node whose block template was accepted by a network to which it is connected and/or supports. The node offers a portion or share of the reward to the mining system. The share can be a fixed value, or be based on the number of calculations performed by the mining system. The mining system can determine what their share of the reward could be from the PoW seed data packet prepared by the node, and provided to mining system. The mining system allocates the calculation of the PoW to a computational unit e.g. a mining device, or hashing machine, depending on the value of the reward and the efficiency at which the mining system can operate.
Operational efficiency is improved leading to lower levels of computational cost and lower energy consumption. Moreover, the efficient operations will drive the difficulty set by the network lower because nodes/miners will only process the POW seed data e.g. mining candidates and calculate the PoW when profitable e.g. typically between 7 to 10 minutes after a new block has been found. The PoW seed data can be communicated in a PoW seed packet.
The calculation of a PoW is a memoryless process and, therefore, allocating a PoW to a computational unit only when there is a benefit can result in the allocation occurring at approximately 6 to 7 minutes after a new block has been found. The blockchain network typically sets a difficulty level for calculating the PoW that results it being found, on average every 10 minutes. If less time is spent calculating the PoW then the frequency of new blocks generated at a given level then the difficulty set by the network must be lowered, thus further reducing the computational power requirements.
Although these times are provided by way of example, allocating a PoW to a computational unit only when efficient will have the same effect. Aspects and examples herein support the modularisation of the calculation of a PoW for a blockchain network in order to achieve maximum performance efficiency based on the variables, including the resources available.
in light of the teaching of the present invention, the skilled person would appreciate that aspects of the invention were interchangeable and transferrable between the aspects described herein, and can be combined to provide improved aspects of the invention. Further aspects of the invention will be appreciated from the following description.
Brief Description of the Drawings
Figure I has been referred to above as representing a known process of establishing a block header, which forms part of the next block when the nonce that satisfies the PoW is calculated. The block template is used to generate PoW seed data e.g. a mining candidate that is distributed to processors that can calculate the PoW. Aspects and examples of the present disclosure will now be described, by way of example only, and with reference to the accompany drawings, in which: Figure 2 is a schematic representation of an improved system for calculating a PoW and/or establishing the next block in a blockchain; Figure 3 is a flow-chart of the method of determining whether the cost of calculating the PoW is less than the reward for calculating the PoW; and Figure 4 is a system diagram of a device, such as a node or computational unit.
Detailed Description -overview
Examples of some possible examples and use cases are now provided for the purpose of illustration, without limitation. As explained above, for the sake of convenience only, "Bitcoin" is used for examples herein as it is the most well-known and widely used blockchain protocol. Examples of the disclosure may be implemented on the Bitcoin protocol, platform and ledger, although this and the references to Bitcoin are not intended to be limiting and the scope of examples of the present disclosure is not thus restricted. Although there are different protocols for calculating a proof-of-work (PoW) the invention is described below in relation to "hashing", and the techniques for improving upon known mining strategies can be applied to any computationally expensive PoW device, system or method.
Until 2140, the block reward on the Bitcoin blockchain is made of two separate amounts -a block subsidy that allocates newly released bitcoins to the winning node, and fees attached to all transactions in the block. Known mining strategies involve continuous computation of the PoW because the primary motivation is the block subsidy. As the Bitcoin block subsidy falls over time and is dominated and eventually replaced by transaction fees, it will become important for miners to optimise the application of their hash power. Miners will seek to minimise expended computational cost mining blocks with small numbers of transactions in them and/or low fees.
Figure 2 is a system schematic including elements that when configured and/or operated provides an improved mining operation that minimises energy expenditure while ensuring that the block creation is profitable and, preferably, maximises profitability. The impact of the devices, systems and their operation will increase as a network transitions from the block subsidy to block rewards comprised mainly of transaction fees.
Figure 2 represents a complete mining operation management system including a node, a miner.
Figure 2 shows connections between these elements and the variables that influence the performance and operation of the miner. Improvements to the mining operation can be implemented at the top-level of the mining system that takes into account the variables to determine efficient operations and profitability of operations. While the node, miner and variables of the system are shown together in Figure 2 they can be distributed across multiple sites in a way that optimises the application of the PoW e.g. calculating the hash function. Nodes are responsible for managing the blocks, while the miner is responsible for hash control. A node can comprise a miner.
The variables shown are provided by way of example and include: the block template fee, which provides a miner with the reward amount, which is the value of the digital asset e.g. bitcoin UTXO that can be assigned by the coinbase transaction in the block to be created; the difficulty of the PoW, which indicates the level of processing required to calculate the PoW; the overheads, which can be, for example, associated with the rental, staff, maintenance and depreciation costs of the node, miner or system as a whole; the energy costs, typically provided as a cost per kWh, for obtaining electrical energy from different sources, which can include a national-grid type power line, local solar panels or electrical power stored in a battery; and power source supply capabilities, which influence the ability to switch mining operations from an idle or low power' mode to 'active' mode, thus influencing the operability of the mining system that must take into account power source energy level flows to inhibit large fluctuations in power draw, especially in facilities with megawatt scale mining operations.
An operating node is connected to a blockchain network and can receive blockchain transactions for compilation into the next block. As described above in relation to Figure I, before the next block is created, a Merkle Root of the gathered transactions must be gathered and compiled into a block header. A block header requires a nonce that determines that the PoW has been calculated. A block template is generated in advance of the nonce being calculated.
As new transactions are received by the node, the node periodically creates a new block template which consists of the Merkle tree derived from all the latest transactions it intends to mine. The block cannot be altered from this state except to change the nonce and extranonce fields during the process of calculating the PoW e.g. hashing block solutions. In this way, the block reward that will be generated by the template has a known value if the correct POW is found. The node's primary function, which includes compiling and verifying transactions and producing a block template can be referred to a 'block control'.
To calculate the PoW a miner only requires select information from the block header such that the block template does not need to be distributed. The select infornmtion required by a miner to calculate the PoW for a given block template is referred to as a mining candidate, which functions as PoW seed data. Block templates can be updated a plurality of times before a PoW is identified, when nodes and miners move on to calculate a PoW for the next block. PoW seed data e.g. mining candidates can be, therefore, updated and distributed more than once per block. Miners can iterate the task of calculating the PoW e.g. adjusting the extranonce in the coinbase transaction The block template is used to generate an unbounded number of mining candidates, which can be distributed to miners operating mining systems with computational units e.g. hashing machines, for the PoW calculation to be performed e.g. to be nonce-cycled in the search for a valid PoW solution. Even' single packet of PoW seed data e.g. mining candidate generated from the block template can have an identical reward e.g. coinbase reward, or share thereof Upon the mining system receiving a packet of PoW seed data from a node, a miner can at least one of assess, allocate and control the processing power it has access to, which can include computational units such as processors e.g. application-specific integrated circuits (ASTCs), graphical processing units (GPUs), racks of processors and stacks of racks. The mining system monitors the output of the processors for a PoW.
The mining system includes a hash control process, as illustrated in Figure 3. Upon receiving a mining candidate, which is generally referred to herein as a packet of PoW seed data from which a PoW can be calculated, the hash control clement of the mining systems determines whether the cost of calculating the PoW is less than the reward it can obtain for finding a PoW. The determination takes into account the variables, which include operational efficiency of the different performance characteristics of the computational units, energy cost, etc. The PoW calculation is assigned to a computational unit e.g. a hashing machine if the operational cost is less than the reward.
The mining system, therefore, is configured to calculate a proof-of-work required for establishing the next block in a blockchain. The output calculation is monitored, and when the PoW is calculated it is provided to the node by the miner.
The mining system has an interface configured to communicate with anode, which is connected to blockchain network. The interface is configured to receive PoW seed data derived from a block template and/or send a proof-of-work (PoW) to said node. The mining system is also configured to interface with the variables that influence the ability and/or cost of the calculation of the PoW. The status of external variables, therefore, are monitored thus enabling a calculation of the cost and/or difficulty to calculate the PoW for the PoW seed data to be established.
A mining system can operate for a share of the block reward. The share am be proportional to the calculations performed to find the PoW. By way of example, the reward or fee can be based upon the number of calculations, e.g, hash calculations performed. In light of the numerous transactions achievable by current processors a typical fee can be $0.05/peta-hash (PH), which can be expressed as 5c/PH i.e. 5 cents per quadrillion hash calculations.
The mining system has a processor configured to monitor the availability and/or cost of the power required by the processor. If a power source is available its cost per kWh can be translated, based on the power consumption of the processor performing the PoW calculations, into a cost per petahash. By way of example, a rack of processors can have a power consumption operational cost of 3c/PH. The cost of other variables, such as overheads, can be factored in e.g. amortised to determine a general operational cost e.g. I c/PH based on the number of operations performed over a given period of time.
A processor of the mining system can at least one of * Assess whether to allocate the determination of a PoW to processor, such as a GPU, ASIC, rack or stack, by calculating whether the cost of calculating the PoW is less than the reward, or part thereof, of calculating a PoW for the block template. Using the example figures above, with an overhead cost of lc/PH and an energy cost of 3c/PH, the cost of calculating the PoW is lower than the reward of 5c/PH.
* Allocate the determination of a PoW to processor when a selection of processors arc available, wherein different processing units, such as a GPU, ASIC, rack or stack, have different overhead and/or power consumption costs. Therefore, before allocating the determination of a PoW to processor, the mining system determines the level of the reward e.g. from the block template fee and/or difficulty and compares that against the current energy cost based on the available power sources and overheads. The mining system allocate a task of calculating a PoW only to those processors when the cost of calculating the PoW is less than the reward, or part thereof, of calculating a PoW for the block template.
* Control the allocation of the determination of a PoW to processor. The mining system constantly monitors the variables when determining whether the cost of calculating the PoW is less than the reward, or part thereof By way of example, the mining system can receive an updated packet of PoW seed data e g mining candidate that has a higher reward, and in response can allocate the calculation of the PoW to a processor that was previously in idle mode because its running cost was greater than the reward. By way of a further example, the energy sources available to the mining system can influence whether the PoW is calculated e.g. during the day and with fair weather the cost of energy from a solar panel can significantly lower the cost per PH.
Overall, the mining system continuously monitors at least one of the block template fee, difficulty, overheads, cooling costs, energy cost and availability of a power source to allocate a task of calculating a PoW to a computational unit e.g. mining device only when the cost of calculating the PoW is less than the reward, or part thereof, of calculating a PoW for the block template.
A mining system with a selection of available power sources and/or processors can be operated to adaptively select and/or configure operation to adjust the cost of the determination of the PoW beneath the reward, or part thereof, of calculating a PoW for the block template. The mining system is adaptive to activate or deactivate processors according to fluctuating requirements, which can include at least one of: the computational unit, such as a mining device calculating the PoW for the block template; another computational unit calculating the PoW for the block template; and whether a new packet of PoW seed data that has been derived from a new block template has been received. In other words, the mining system is responsive to allocate a task of calculating a PoW according to the latest calculations of efficiency and profitability.
The mining system has been described above as a standalone unit that can be remotely located from a node. Alternatively, a mining system can be co-located and/or incorporated into a node. The node and/or mining system can reside on a blockchain network, which can be connected to at least one other node. A node has a port configured to receive transactions directly and/or receive transactions from at least one other node in a blockchain network. The node operates a compiler, which determines a block template and derives PoW seed data e.g. a mining candidate therefrom. During compilation the node gathers the transactions, verifies those transactions, calculates the transaction fees and establishes the Merkle Root for a set of transactions that are collated in a block template. The node has a connection for communicating the packet of PoW seed data, derived from the block template, to the mining system. The processor for calculating the PoW can reside in a device, such as a plug-in device e.g. a device having a USB interface for connecting to a computer device that receives and provides the PoW seed data, or a slot-in card for incorporation within an enclosure of a personal computer (PC). The calculation of a PoW can reside in a software function. The device can be configured to calculate a proof-of-work required for establishing the next block in a blockchain and perform calculations only when the energy cost of calculating the PoW is less than the reward, or part thereof, of calculating a PoW for the block template. Such a device can be a stand-alone device dedicated to apply computational power to calculate the PoW, having its own separate network interface and power supply e.g. AS1C miner.
A device, therefore, can be configured to calculate a proof-of-work required for establishing the next block in a blockchain, the device comprising: an interface configured to receive a packet of PoW seed data eg amining candidate derived from a block template ancUor communicate a proof-ofwork (PoW) to said node; and a processor configured to calculate the energy cost and/or difficulty to calculate the PoW, wherein the processor is configured to calculating the PoW when the energy cost of calculating the PoW is less than the reward, or part thereof of calculating a PoW for die block template.
Examples of the invention have been described above in relation to devices and systems, in another example a method of operating at least one of a mining system, node and a device to calculate a proof-of-work (PoW) required for establishing the next block in a blockchain is taught. The method comprises: obtaining or determining PoW seed data e.g. mining candidate derived from a block template; determining the status of external variables, including a calculation of the cost and/or difficulty to calculate the PoW for the PoW seed data; and allocating or performing the calculation of the PoW by determining if the cost of calculating the PoW is less than the reward, or part thereof, of determining a PoW for the block template.
The or each device, or the method described, enable the dynamic allocation of computational power e.g. hash-power to the work of finding block solutions based on the total rewards contained within die block, while taking into account die cost of said computational power.
Many factors have to be considered for the system to work, such as access to, and management of, power systems that can handle rapid changes in load e.g. battery storage. Further, arrays of processors e.g. ASIC machinery, which give mining systems and their operators the capability to toggle between an 'idle' e.g. stand-by mode and fully-operational mode rapidly in response to demand. Demand can be influenced by the volume of transactions, which typically fluctuates repeatedly over the block creation frequency set by the network e.g. approximately a 10 minute period, on average.
Implementing a mining system can improve the performance efficiency of computational units that calculate die PoW by configuring computational units to be (i) individually controllable and/or (ii) having only one type of processor e.g. hashing hardware. This enables careful selection of the computational units to ensure the maximum possible return from their operation. Further, having multiple power sources available e.g. solar, grid, battery, can improve operational efficiency through configuring the connectivity of those power sources to be (i) individually selectable and/or (ii) responsive to fluctuating demands. Fast cycle (e.g. 30 minute) energy storage can reduce any impact to the power source e.g. national grid supply, from thc cycling of high power incoming sources. I0
In combination, individually controllable and selectable computational units compliment individually controllable and selectable power sources, such that any computational unit can be selected to any power source through assessment, allocation or control by the mining system.
The or each computational unit e.g. hashing machine can have an active cooling system, which can bc treated as a variable and have an associated cost e.g. 0.5c/PH. An active cooling system can be selectively operated when the cost of running the cooling system in addition to the other variable costs does not exceed the reward or payment for performing the PoW calculations.
The systems and methods herein describe the invention in relation to a single network. A node and/or a mining system can be configured to support the formation of blocks and/or the calculation of a PoW for two or more blockchain networks. A mining system can selectively allocate a PoW calculation to a computational unit irrespective of the origins of the packet of PoW seed data. To be clear, a node and/or a mining system can be connected to at least two blockchain networks, and the PoW calculation can be allocated to a computational unit based on the different rewards available. This enables the mining system, which includes a hash control element that determines where the PoW calculation is allocated, to not only switch between a first packet of PoW seed data to a second e.g. a first minding candidate to a second mining candidate, but to switch between PoW seed data associated with different blockchains. In this way, a node and/or a mining system can differentiate between the most profitable and/or efficient blockchain networks.
Once the reward for a particular block is known, a miner can determine through a calculation method whether a given computational unit e.g. rack of hash machinery can be profitably operated to calculate the PoW solution. The determination takes into account: the cost per kWh of energy from each power source; the power sources available; the energy consumption of the computational unit e g. kWh per PH; the amortised cost of capital expenditure and/or overheads; and the difficulty value of the block. The calculation can take into account factors including: profit margin; idle cost; depreciation of equipment; and maintenance.
Any computational unit e.g. hash machinery that is determined to be profitable when operated to calculate the PoW for a given packet of PoW seed data e.g. mining candidate can be switched on and set to task on the PoW. Switching between 'idle' and 'operational' mode is fast, and in the order of 10ms to Is, and typically around 100ms, and preferably on an instantaneous basis, or at least as instantaneous as the computational unit will permit. The responsiveness of the mining system, the computational units and/or the power source is required because the PoW seed data changes frequently e.g. at least every 10 seconds. When a PoW is calculated for each subsequent block, a new block template is found and a new packet of PoW seed data is determined therefrom. The new block must be dynamically updated to exclude any of the transactions now included in the most recently discovered block. Further, during the processing of PoW seed data for a given block a node typically updates said block with further transactions and issue a new PoW seed data e.g. up to every 10 seconds.
In practice, shortly after a new block is accepted the number of transactions compiled into a block template is initially low. As more transactions are appended to a block template, the value of the block reward increases. At present, with the block subsidy, the computational power applied to calculating the PoW is constant. The distribution of block times i.e. the time to calculate the PoW and establish a new block, is an almost totally probabilistic Poisson cumulative distribution function. When there is no block subsidy, or as the block subsidy diminishes, miners can only obtain the transactions fees through their coinbase transaction. There is no merit, therefore, of constant operation, which will have the effect of changing mining system operations to be activated closer to the average block time i.e. the frequency at which new blocks are found, which is controlled by the difficulty. The blockchain network adjusts difficulty such that the average block times are, currently, around 10 minutes, on average.
As described above, nodes arc complex systems with many functions. They can be operated by enterprise organisations seeking to compete for the right to extend the Bitcoin ledger. Nodes are comprised of many parts including systems for receiving, validating and ordering transactions into a Merkle tree, and for generating block templates. A node can determine the PoW using its own mining system, or it can manage the distribution of packets of PoW seed data e.g. mining candidates to different mining systems e.g. hash pools that have chosen the node as their provider. The nodes can manage distribution of PoW seed data packets to geographically distributed mining systems e.g. hashing facilities. Mining systems can contain different equipment and have access to different power sources.
By way of a non-limiting illustrative example, a mining system includes two racks of computational units, one of which can be cooled to improve performance, and steps through operations presented below: E.g.
Rack I: operation cost 7c/PH Rack 2 (hot mode): operation cost 6c/PH Rack 2 (cooling mode -50% performance improvement): 9c/PH o Shortly after a block has been discovered all racks sit idle, unless they are being monetised by pertbrining alternative tasks while not calculating the PoW e.g. via merge mining.
a After approximately 3 minutes, the mining system receives a packet of Poll/ seed data mining candidate and calculates that calculating the PoW becomes profitable at a rate of 6.5c/PH. The mining system starts Rack 2 in 'hot' mode at a cost of 6c/PH.
o I minute later, the mining system receives an updated PoW seed data packet and calculates that to be profitable at a rate of/. 2c/PH. The mining system now activates Rack I to calculate the PoW.
o 2 minutes later (6 minutes since the last block), dthrther packet of PoW seed data is received, in which performing the PoW calculations is profitable at a rate of 9.4c/PH. The mining system assessment is such that the PoW seed data is allocated to Rack I, as he/ore, while Rack 2 is switched in to cooling mode.
o 30 seconds later, a block is discovered by a competing node that the controlling node deems valid, so a new block template is published containingjust 0.5aPH of block reward. The mining systems controlling the Racks switches them all to 'idle' mode.
The mining system can assess the profitability levels based on one or more variables, allocate PoW seed data packets e.g. mining candidates to calculate the PoW and control the operation of the computational units e.g. racks. Computational units can be switched between different modes, including at least two of 'idle' mode, active mode; boosted mode; and cooled mode.
In addition to managing the computational units, the mining system can manage grid level energy flows to prevent large fluctuations in power draw, especially in facilities with megawatt scale mining operations. Battery systems with rapid cycle times can be selectively connected to computational units. Further, multiple separately metered energy sources can be managed, all of which can be factored into the equations that determine the cost per hash e.g. cost per PH of operating the computational units to calculate the PoW.
Mining systems can factor in variable costs associated with at least one of rent; depreciation; interest payments; wages for facility workers; security; intemet and energy costs for other systems such as offices etc. Variable costs can be used to calculate an 'idle mode' cost for each computational unit e.g. rack thus allowing the operator extremely granular control of all expenses across the mining system.
An example of a device having a controller and a control system is illustrated in Figure 4. A device 100 can be scalable in size and across different locations to implement an aspect or method of the invention described herein. The device can be representative of a mining system including computational unit for calculating a PoW.
The device 100 includes a bus 102, at least one processor 104, at least one communication port 106, a main memory 108 and/or a removable storage media 110, a read only memory 112 and a random-access memory 114. The components of device 100 can be configured across two (2) or more devices, or the components can reside in a single device 100. The device can also include a battery 116. The port 106 can be complimented by input means 118 and output connection 120. The processor 104 can be any such device such as (but not limited to) an Intel(R), AMD(R) or ARM processor. The processor may be specifically dedicated to the device. The port 106 can be a wired connection, such as an RS232 connection, or a Bluetooth connection or any such wireless connection. The port can be configured to communicate on a network such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the device 100 connects. The read only memory 112 can store instructions for the processor 104.
The bus 102 communicably couples the processor 104 with the other memory 110, 112, 114, 108 and port 106, as well as the input and output connections 118, 120. The bus can be a PCI /PCI-X or SCSI based system bus depending on the storage devices used, for example. Removable memory 110 can be any kind of external hard-drives, floppy drives, flash drives, for example. The device and components therein are provided by way of example and does not limit the scope of the invention. The processor 104 can implement the methods described herein. The processor 104 can be configured to retrieve arid/or receive information from a remote server or other device. The device 100 can also include a control system 122 and contain computational units 124 to 132.
The indefinite articles "a" and "an," as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean "at least one." The phrase "and/or," as used herein in the specification and in the claims, should be understood to mean "either or both" of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Other elements may optionally be present other than the elements specifically identified by the "and/or" clause, whether related or unrelated to those elements specifically identified unless clearly indicated to the contrary. Thus, as a non-limiting example, a reference to "A and/or B," when used in conjunction with open-ended language such as "comprising" can refer, in one embodiment, to A without B (optionally including elements other than B); in another embodiment, to B without A (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc. As used herein in the specification and in the claims should be understood to have the same meaning as "and/or" as defined above. For example, when separating items in a list, "or" or "and/or" shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as "only one of' or "exactly one of," or, when used in the claims, consisting of," will refer to the inclusion of exactly one clement of a number or list of elements. In general, the term "or" as used herein shall only be interpreted as indicating exclusive alternatives (i.e. 'one or the other but not both") when preceded by terms of exclusivity, such as "either," "one of," "only one of," or "exactly one of" "Consisting essentially of," when used in the claims, shall have its ordinary meaning as used in the field of patent law.
As used herein in the specification and in the claims, the phrase "at least one,' in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every clement specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase "at least one" refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, "at least one of A and B" (or, equivalently, "at least one of A or B," or, equivalently "at least one of A and/or B") can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A. and at least one, optionally including more than one, B (and optionally including other elements); etc. In the claims, as well as in the specification above, all transitional phrases such as "comprising," "including," "carrying," "having," "containing," "involving," "holding," and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases "consisting of' and "consisting essentially of' shall be closed or semi-closed transitional phrases, respectively, as set forth in the United States Patent Office Manual of Patent Examining Procedures, Section 2111.03. Use of ordinal terms such as "first," "second," "third," etc., in the claims to modify a claim clement docs not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
The invention also consists in any individual features described or implicit herein or shown or implicit in the drawings or any combination of any such features or any generalisation of any such features or combination.
IS

Claims (14)

  1. Claims 1. A mining system configured to calculate a proof-of-work (PoW) required for establishing the next block in a blockchain, the mining system comprising: an interface configured to: communicate with a node on a blockchain network, the interface configured to (i) receive PoW seed data derived from a block template established by said node and/or (ii) send a proof-of-work (PoW) to said node; and determine the status of at least one variable and calculate of the cost and/or computational difficulty to calculate the PoW for the PoW seed data and a processor configured to allocate a task of calculating a POW to a computational unit using the PoW seed data when the cost of calculating the PoW is less than a reward or part thereof, for calculating a PoW for the block template obtainable by the mining system.
  2. 2, The mining system of claim 1, wherein the system further comprises a computational unit comprises at least one hash-calculator configured to calculate the PoW.
  3. The mining system of claim I, wherein determination of the status of a variable includes at least one of determining: the difficulty of calculating the PoW; power supply and/or power grid energy resources; the cost of metered energy sources; the cost of cooling the computational unit; and commercial costs, including at least one of: rent, depreciation, interest payments, wages, security, and interact services.
  4. The mining system of any preceding claim, wherein upon determination of the status of an external variable, said variable is adaptively selected and/or configured to adjust the cost of the calculation of the PoW for the block template associated with the reward, or part thereof.
  5. 5. The mining system of any preceding claim, wherein the processor monitors at least one of notifications from the node indicating the probability that another computational unit has calculated the PoW for the block template; whether the computational unit has calculated die PoW for the block template; whether another computational unit has calculated the PoW for the block template; whether a new packet of PoW seed data derived from a new block template has been received; notifications from the node indicating the probability a new block template is valid; wherein the processor adaptively allocates a task of calculating a PoW in response thereto.
  6. 6, The mining system of claim 5, wherein the allocation stops all calculation operations by any computational unit that is calculating a PoW for a given packet of PoW seed data.
  7. 7. A node on a blockchain network connected to at least one other node, wherein the node comprises: a port configured to receive transactions directly and/or from at least one other node in a blockchain network; and a compiler, configured to determine a block template and derive a PoW seed data packet therefrom, wherein the port communicates the PoW seed data to a mining system according to any preceding claim.
  8. 8. The node of claim 7 wherein the node comprises a mining system according to any of claims 1 to 6.
  9. 9. The node of claim 7 or 8, wherein the node allocates a task of calculating a PoW, using the PoW seed packet, to a computational unit, when the cost of calculating the PoW is less than a reward.or part thereof, for calculating a PoW for the block template.
  10. 10. A system configured to calculate a proof-of-work required for establishing the next block in a blockchain, the system comprising at least one Inning system according to any of claims 1 to 6 and a node according to any of claims 7 to 9.
  11. 11 A device configured to calculate a proof-of-work required for establishing the next block in a blockchain, the device comprising: an interface configured to receive from anode a packet of PoW seed data derived from a block template and/or communicate a proof-of-work (PoW) to said node; and a processor configured to calculate the energy cost and/or difficulty to calculate the PoW, wherein the processor is configured to calculate the PoW when the energy cost of calculating the PoW is less than the reward, or part thereof, of calculating a PoW for the block template obtainable by the device.
  12. 12. A method of operating at least one of a mining system, node and a device to calculate a proof-of-work (PoW) required for establishing the next block in a blockchain the method comprising: obtaining or detennining a packet of PoW seed data derived from a block template; determining the status of external variables, including a calculation of the cost and/or difficulty to calculate the POW for the PoW seed data; and allocating or performing the calculation of the PoW by detennining if the cost of calculating the PoW is less than the reward, or part thereof, of determining a PoW for the block template.
  13. 13. Computer equipment comprising: memory comprising one or more memory units; and processing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when on the processing apparatus to perform the method of claim 12.
  14. 14. A computer program embodied on computer-readable storage and configured so as, when run on one or more processors, to perform the method of claim 12.
GB2201546.5A 2022-02-07 2022-02-07 Computer implemented systems and methods Pending GB2615528A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB2201546.5A GB2615528A (en) 2022-02-07 2022-02-07 Computer implemented systems and methods
PCT/GB2023/050217 WO2023148480A1 (en) 2022-02-07 2023-02-01 Computer implemented systems and methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB2201546.5A GB2615528A (en) 2022-02-07 2022-02-07 Computer implemented systems and methods

Publications (1)

Publication Number Publication Date
GB2615528A true GB2615528A (en) 2023-08-16

Family

ID=80785142

Family Applications (1)

Application Number Title Priority Date Filing Date
GB2201546.5A Pending GB2615528A (en) 2022-02-07 2022-02-07 Computer implemented systems and methods

Country Status (2)

Country Link
GB (1) GB2615528A (en)
WO (1) WO2023148480A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170285720A1 (en) * 2017-05-07 2017-10-05 Jigar Jayesh Shah Method and system for mitigating transmission congestion via distributed computing and blockchain technology
WO2021070106A1 (en) * 2019-10-09 2021-04-15 nChain Holdings Limited Methods and devices for secure symbiotic mining

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170285720A1 (en) * 2017-05-07 2017-10-05 Jigar Jayesh Shah Method and system for mitigating transmission congestion via distributed computing and blockchain technology
WO2021070106A1 (en) * 2019-10-09 2021-04-15 nChain Holdings Limited Methods and devices for secure symbiotic mining

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHANG SANG-YOON SCHANG2@UCCS EDU ET AL: "Dynamic power control for rational cryptocurrency mining", PROCEEDINGS OF THE 3RD WORKSHOP ON CRYPTOCURRENCIES AND BLOCKCHAINS FOR DISTRIBUTED SYSTEMS, ACMPUB27, NEW YORK, NY, USA, 25 September 2020 (2020-09-25), pages 47 - 52, XP058481322, ISBN: 978-1-4503-8079-9, DOI: 10.1145/3410699.3413797 *

Also Published As

Publication number Publication date
WO2023148480A1 (en) 2023-08-10

Similar Documents

Publication Publication Date Title
US8789061B2 (en) System and method for datacenter power management
Ghamkhari et al. Energy and performance management of green data centers: A profit maximization approach
Toosi et al. Revenue maximization with optimal capacity control in infrastructure as a service cloud markets
JP7143861B2 (en) System, control device, mining unit control method and program
CN109066691B (en) Energy scheduling method, energy control device and energy system
US8938314B2 (en) Smart energy consumption management
CN112332404B (en) Intelligent management system and method for heating service
EP3306769B1 (en) Energy management system and energy management method
JP2019030151A (en) Power demand/supply controller, power demand/supply control system, power demand/supply control computer program, and power demand/supply control method
Thai et al. Executing bag of distributed tasks on the cloud: Investigating the trade-offs between performance and cost
US20120226484A1 (en) Calculation simulation system and method thereof
US20210240474A1 (en) Computing system and method
CN106341496A (en) Resource scheduling method and device
GB2615528A (en) Computer implemented systems and methods
CN105260245B (en) A kind of resource regulating method and device
JP2016103082A (en) Power management device, power system, consumer device, power management method and power management program
WO2016157673A1 (en) Gateway device, demand response system, and program for gateway device
Yin et al. Adaptive robust optimization for coordinated capacity and load control in data centers
JP7408028B2 (en) Power management support device, program and power management support method
CN105608524A (en) Method and apparatus for predicting engineering data
Bliman et al. Controlling aggregates of deferrable loads for power system regulation
Suresh et al. Strategy for data center optimization: improve data center capability to meet business opportunities
CN114638610A (en) Receiving and paying channel encryption method and device, electronic equipment and storage medium
Chen et al. Resource reallocation based on SLA requirement in cloud environment
JP2003018163A (en) Network configuration control system and control method