Method for performing federated proof-of-work, and electronic device therefor

The federated proof-of-work method integrates miners and traders, using web browsers and GPUs to lower transaction fees and enhance decentralization, addressing high barriers to entry and promoting network accessibility.

WO2026079550A1PCT designated stage Publication Date: 2026-04-16IND ACADEMIC COOPERATION FOUND UNIV OF INCHEON
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/097001
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-10-08
Filing Date
2024-12-16
Publication Date
2026-04-16

AI Technical Summary

Technical Problem

Existing blockchain network systems face issues with high barriers to entry and decreased profitability due to intense mining competition and the distinction between miners and traders, leading to increased transaction fees and reliance on centralized exchanges.

Method used

A federated proof-of-work method that integrates miners and traders, allowing user devices to participate in mining through web browsers using GPUs, with a negotiation mechanism to ensure fair work distribution and rewards.

Benefits of technology

This approach lowers transaction fees, enhances security, promotes decentralization, and makes blockchain networks more accessible and developer-friendly by enabling participation from high-performance servers and personal terminals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024097001_16042026_PF_FP_ABST
    Figure KR2024097001_16042026_PF_FP_ABST
Patent Text Reader

Abstract

A method for performing federated proof-of-work, and an electronic device therefor are disclosed. The method by which a fixed node performs federated proof-of-work, according to the present disclosure, may comprise the steps of: distributing and assigning work for block addition to at least some of a plurality of non-fixed nodes included in a blockchain network communicating through a web protocol; receiving a result of the work from any one of the non-fixed nodes that perform the work; verifying the result of the work; and, when the result of the work passes the verification, commanding that the rest of the nodes, excluding the node having transmitted the result of the work from among the non-fixed nodes performing the work, stop the work.
Need to check novelty before this filing date? Find Prior Art

Description

Method for performing joint proof of work and electronic device for doing so

[0001] The present disclosure relates to a technology for operating a blockchain system using an electronic device, and more specifically, to a technology for integrating the roles of a miner and a trader in a blockchain system.

[0002]

[0003] In conventional centralized networks, the reliability of the entire network was compromised by causes such as critical errors at the central data management agency, data leaks due to malicious attacks, and falsification or alteration. In particular, in sectors requiring reliable data among network participants, such as finance, healthcare, and high-tech industries, these issues acted as a threat to the entire industrial system.

[0004] Consequently, decentralized blockchain network systems, represented by Bitcoin, emerged. With the introduction of distributed ledgers, central authorities disappeared, and network participants verified the blockchain distributed across multiple nodes, thereby achieving high resistance to system errors or malicious attacks. In other words, the immutability and integrity of data recorded on the blockchain could be guaranteed.

[0005] However, existing blockchain network systems have adopted the Proof-of-Work (PoW) method, but the PoW method presents a problem where miners and traders are distinct entities. Since the winning miner monopolizes the rewards for block verification and addition, competition among miners to increase their computing power has intensified (to this end, hardware requirements for high hash rates, such as ASICs and GPUs, have continuously increased). As a result, the barrier to entry for participating in blockchain networks has risen, and profitability has decreased. Furthermore, as transaction processing fees have increased, traders are currently using centralized virtual asset exchanges.

[0006] To solve the above problems, it is necessary to introduce an innovative blockchain network system capable of integrating miners and traders based on a new working method.

[0007]

[0008] The present disclosure aims to provide a blockchain network system that integrates miners and traders to offer low transaction fees while preventing excessive mining competition.

[0009] The problems that this disclosure aims to solve are not limited to those described above, and other unmentioned problems will be clearly understood by a person skilled in the art from the description below.

[0010]

[0011] A method for performing a federated proof of work by a fixed node disclosed in the present invention may include: a step of distributing and allocating a task for adding a block to at least some of a plurality of floating nodes included in a blockchain network communicating via a web protocol; a step of receiving a result for said task from any one of the floating nodes performing said task; a step of verifying the result for said task; and a step of, if the result for said task passes the verification, ordering the remaining nodes among the floating nodes performing said task, excluding said node, to stop said task.

[0012] In one embodiment, the step of distributing and allocating the task may include: a step of setting a range of nonce values ​​to be searched by each of the at least some nodes; and a step of commanding each of the at least some nodes to search for hash values ​​at the nonce values ​​in the set range.

[0013] In one embodiment, the method for performing the federated proof of work may further include the step of proposing to at least some of the other fixed nodes included in the blockchain network that a block corresponding to the work be added to the blockchain within the blockchain network when the result of the work passes verification. In addition, the method for performing the federated proof of work may further include the step of receiving the result of verification for the block from the at least some of the fixed nodes; and the step of adding the block to the blockchain when the verification for the block passes. In addition, the method for performing the federated proof of work may further include the step of providing rewards to the floating nodes that performed the work after the block is added to the blockchain. In this regard, the step of providing rewards may include the step of determining the reward to be provided to each of the floating nodes that performed the work based on bid information received in advance from the floating nodes among the plurality of floating nodes that applied to perform the work.

[0014] Meanwhile, the method for performing federated proof of work by a floating node disclosed in the present invention may include: a step of receiving a task for adding a block from a fixed node included in a blockchain network communicating via a web protocol, based on the workload and thread parameters of said floating node; and a step of performing said task using a GPU based on an Application Programming Interface (API) that supports access to a Graphic Processor Unit (GPU) using a web browser.

[0015] In one embodiment, the thread parameter may include a work size parameter that determines the number of threads to be executed in parallel within the GPU according to local tasks, and a dispatch parameter that determines the number of local tasks corresponding to the value of the work size parameter.

[0016] Meanwhile, according to one embodiment of the present disclosure, a fixed node performing a federated proof of work includes a memory including instructions and a processor, and the processor is connected to the memory and distributes a task for adding blocks to at least some of a plurality of floating nodes included in a blockchain network communicating via a web protocol, receives a result for the task from any one of the floating nodes performing the task, verifies the result for the task, and if the result for the task passes the verification, can order the remaining nodes among the floating nodes performing the task, excluding the node, to stop the task.

[0017] Meanwhile, according to one embodiment of the present disclosure, a floating node performing a federated proof of work includes a memory including instructions and a processor, and the processor is connected to the memory and receives a task for adding a block based on the workload and thread parameters of the floating node from a fixed node included in a blockchain network communicating via a web protocol, and can perform the task using a GPU based on an Application Programming Interface (API) that supports access to a Graphic Processor Unit (GPU) using a web browser.

[0018] Specific details of other embodiments are included in the detailed description and drawings.

[0019]

[0020] According to the present disclosure, by introducing a federated proof-of-work method, trader nodes participating in a blockchain network can cooperate to perform the computational tasks required for mining. In particular, by designing the system to enable these computational tasks to be performed through a web browser, it is possible to induce not only high-performance servers but also personal and portable terminals to easily participate in the work.

[0021] Through this, trader nodes receive rewards for their work and use them as transaction fees on the blockchain network, thereby enabling the implementation of a blockchain network with low fees.

[0022] In addition, since the blockchain network operates based on a web browser, the security of the protocol is enhanced, trader participation becomes easier, and a more developer-friendly environment can be established.

[0023] As a result, according to the present disclosure, the operation of a blockchain network can be made lighter and the decentralization of the network can be promoted.

[0024] The effects according to the present disclosure are not limited to those described above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description below.

[0025]

[0026] FIG. 1 is a block diagram illustrating a system for performing a combined proof of work according to one embodiment.

[0027] Figure 2 is an exemplary diagram illustrating a fixed node and a fluid node.

[0028] FIG. 3 is an exemplary drawing illustrating a joint work verification process according to one embodiment.

[0029] Figures 4 and 5 are exemplary diagrams illustrating thread parameters considered when assigning tasks to fluid nodes.

[0030] Figure 6 is an exemplary diagram illustrating potential problems caused by fluid nodes during the process of performing federated proof of work.

[0031] Figure 7 is an exemplary diagram illustrating an iterative negotiation process to solve the problem of Figure 6.

[0032] FIG. 8 is a flowchart illustrating a method for performing federated proof of work at a fixed node according to one embodiment.

[0033] FIG. 9 is a flowchart illustrating a method for performing federated proof of work at a fixed node according to an additional embodiment.

[0034] FIG. 10 is a flowchart illustrating a method for performing federated proof of work at a fluid node according to one embodiment.

[0035] Hereinafter, exemplary embodiments according to the present invention will be described in detail with reference to the contents described in the attached drawings. However, the present invention is not limited or restricted by exemplary embodiments. Unless otherwise defined, all terms used in this specification (including technical and scientific terms) shall be used in a meaning that is commonly understood by those skilled in the art to which this disclosure belongs, but this may vary depending on the intent of those skilled in the art, case law, the emergence of new technology, etc.

[0036] Furthermore, terms defined in commonly used dictionaries are not to be interpreted ideally or excessively unless explicitly and specifically defined otherwise. In certain cases, terms have been selected at the applicant's discretion, and in such cases, their meanings will be described in detail in the relevant explanatory sections. Accordingly, terms used in this disclosure should be defined not merely by their names, but based on their meanings and the content throughout this disclosure.

[0037] Throughout this specification, when a part is described as "comprising" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components. Furthermore, the singular form used in this specification includes the plural form unless specifically stated otherwise. Additionally, the expression "at least one of a, b, and / or c" as used throughout this specification may encompass 'a alone', 'b alone', 'c alone', 'a and b', 'a and c', 'b and c', or 'a, b, and c all'.

[0038] Meanwhile, terms such as "first and / or second" used in this specification may be used to describe various components, but they are used solely for the purpose of distinguishing one component from another and are not intended to limit the scope to the components referred to by such terms. For example, without departing from the scope of the present invention, the first component may be named the second component, and the second component may also be named the first component.

[0039] Additionally, terms such as “…part,” “…module,” etc., as described in this specification refer to a unit that processes at least one function or operation, which may be implemented in hardware or software, or a combination of hardware and software. Furthermore, embodiments of this disclosure may be represented in this specification by functional block configurations and various processing steps. These functional blocks may be implemented by various numbers of hardware and / or software configurations that execute specific functions. For example, embodiments of this disclosure may employ integrated circuit configurations such as memory, processing, logic, look-up tables, etc., which can execute various functions under the control of one or more microprocessors or other control devices.

[0040] Similar to how the components disclosed herein may be executed as software programs or software elements, embodiments of the present disclosure may be implemented in programming or scripting languages ​​such as C, C++, Java, assembler, etc., including various algorithms implemented as combinations of data structures, processes, routines, or other programming configurations. Functional aspects may be implemented as algorithms executed on one or more processors. Additionally, the present embodiments may employ prior art for at least one of electronic configuration, signal processing, and data processing. Terms such as “mechanism,” “element,” “means,” and “configuration” may be used broadly and are not limited to mechanical and physical configurations. The above terms may include the meaning of a series of software processes (routines) in conjunction with a processor, etc.

[0041] Each block of the process flow diagrams attached to this specification and combinations of the flow diagrams may be executed by computer program instructions. Since these computer program instructions may be loaded into the processor of a general-purpose computer, a computer for special purposes, or other programmable data processing equipment, the instructions executed through the processor of the computer or other programmable data processing equipment create means for performing the functions described in the flow diagram block(s).

[0042] These computer program instructions may be stored in computer-available or computer-readable memory that can be directed toward a computer or other programmable data processing equipment to implement a function in a specific way, and the instructions stored in said computer-available or computer-readable memory may also produce a manufactured item containing instruction means that performs the function described in the flowchart block(s).

[0043] Since computer program instructions can be loaded onto a computer or other programmable data processing equipment, instructions that perform a series of operation steps on the computer or other programmable data processing equipment to create a process executed by the computer can also provide steps for executing the functions described in the flowchart block(s).

[0044] Additionally, each block may represent a module, segment, or part of code containing one or more executable instructions for executing a specified logical function(s). Furthermore, in some alternative execution examples, the functions mentioned in the blocks may occur out of order. For instance, two blocks described in succession may actually be executed substantially simultaneously, or the blocks may be executed in reverse order according to their corresponding functions.

[0045] The “electronic device” or “terminal” mentioned in this specification may be implemented as a computer or portable terminal capable of connecting to a server or other terminal via a network. Here, the computer includes, for example, a notebook, desktop, or laptop equipped with a web browser, and the portable terminal may include, for example, any type of handheld wireless communication device that ensures portability and mobility, such as a communication-based terminal like IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), or LTE (Long Term Evolution), as well as a smartphone or tablet PC. Additionally, the “electronic device” or “terminal” mentioned in this specification may also include a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, and user interface devices such as a touch panel, a key, or a button.

[0046] In the present disclosure, methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable code or program instructions executable on a processor. The computer-readable recording medium may include magnetic storage media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disks, hard disks, etc.) and optical reading media (e.g., CD-ROM, DVD (Digital Versatile Disc)). The computer-readable recording medium may be distributed and executed across networked computer systems.

[0047] Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In describing the embodiments, technical details that are well known in the art to which the present invention pertains and are not directly related to the present invention will be omitted. This is to ensure that the essence of the present invention is conveyed more clearly without obscuring it by omitting unnecessary explanations. For the same reason, some components in the accompanying drawings may be exaggerated, omitted, or schematically depicted. Furthermore, the size of each component does not entirely reflect its actual size. Throughout this specification, the same reference numerals may refer to the same or corresponding components.

[0048] FIG. 1 is a block diagram illustrating a system for performing a combined proof of work according to one embodiment.

[0049] Federated Proof of Work can be performed by users participating in the mining process through user devices such as mobile phones or laptops. The system of FIG. 1 illustrates the concept of the mining process. Nodes of a blockchain network and users can participate in the mining process as fixed nodes and fluid nodes, respectively. In the present disclosure, a 'solid node' refers to a node that performs a storage function of storing blockchain data in a newly devised system, and a 'fluid node' refers to a node that performs consensus for Federated Proof of Work by being mapped to a fixed node in a one-to-many relationship.

[0050] A blockchain network contains numerous mining pools, and each mining pool can consist of one fixed node and multiple floating nodes. A user device can perform the role of a floating node by participating in one of the mining pools using a web browser. Accordingly, as a floating node, the user device solves a cryptographic puzzle problem to find a nonce value that yields a hash value less than or equal to a pre-given target hash value. For example, the user device can search for a nonce value that satisfies the following Equation 1: f SHA-256 is the SHA-256 hash function, H target represents a pre-given target hash value in a blockchain network. H target Nonce determines the mining difficulty and is a field included in the blockchain's data block that can include the previous hash value, timestamp, and Merkle root.

[0051] [Mathematical Formula 1]

[0052]

[0053] The main advantages of the federated proof-of-work system illustrated in Fig. 1 are as follows:

[0054] (User Accessibility) This system allows users to participate in block mining using mobile devices or personal computers that traditionally lacked the computing power required for mining. This popularizes the mining process, enabling more individuals to participate in blockchain activities without expensive dedicated hardware.

[0055] (Reduction of Transaction Fees) By allowing users to contribute to the mining process, the system can help lower transaction fees. Users can receive rewards for their contributions, which incentivizes them to include transactions in blocks, thereby reducing reliance on high transaction fees for faster processing.

[0056] (Parallel Processing via WebGPU) Using WebGPU allows thousands of threads to be executed in parallel, significantly improving the efficiency of hash calculations. This enables faster mining operations compared to existing CPU-based methods.

[0057] (Negotiation Mechanism) This system proposes a negotiation mechanism that ensures fair work distribution among nodes and prevents selfish behavior. This can help maintain the integrity of the mining process and encourage cooperation among participants.

[0058] (Integration with Web Protocols) This system is designed to work seamlessly with web protocols and is compatible with existing blockchain web services. Through this integration, users can easily access and utilize mining functions via standard web browsers.

[0059] Meanwhile, floating nodes can participate in the mining process of the Federation Proof-of-Work system using the WebGPU API (Application Programming Interface). The main roles of the WebGPU API are as follows:

[0060] (Parallel Processing Capability) WebGPU enables general-purpose computing on GPUs (GPGPU), allowing thousands of threads to run simultaneously. Since mining requires extensive computation to solve cryptographic puzzles, this parallel processing capability is crucial for efficiently calculating hash values.

[0061] (Running in a web browser) By utilizing the WebGPU API, mining modules can be executed directly in the user's web browser. Thanks to this accessibility, users can participate in mining without installing special hardware or software.

[0062] (Performance Improvement) Implementing mining logic using WebGPU can significantly improve performance. Experiments show that tasks executed via WebGPU can be completed up to 128 times faster than tasks executed in CPU SIMD code. This performance improvement is crucial for performing mining tasks in a timely manner in competitive environments such as blockchain.

[0063] (Utilization of Shader Language) The mining code is written in the WebGPU Shader Language (WGSL), enabling efficient calculation of hash values ​​within a specified nonce value search range. This feature allows the system to effectively leverage the processing power of the GPU for mining tasks.

[0064] (Resource Management) WebGPU can support better resource management by distributing the mining process across multiple GPU threads. This task distribution functions positively in effectively managing the workload to ensure that mining tasks are completed within the constraints of the user device's hardware specifications.

[0065] Figure 2 is an exemplary diagram illustrating a fixed node and a fluid node.

[0066] Fixed nodes are coordinators in a mining pool, and floating nodes are workers that find a nonce value satisfying Equation 1. Fixed nodes perform storage functions and continuously perform synchronization operations on blockchain network data through software, whereas floating nodes are user devices (including mobile devices) that submit transactions and perform mining operations using the resources of a Graphic Processor Unit (GPU) only for the corresponding data, and may also flexibly exit the mining pool.

[0067] A fixed node may include a membership module and a nonce range allocation module. The membership module uses user accounts to identify floating nodes and can send rewards when blocks generated by a mining pool are added to the blockchain ledger. The nonce range allocation module can interact with the floating node's task proposal module. This module can collect bids announcing desired tasks (nonce ranges) from the floating node's task proposal module and then notify the floating node of the nonce range adjusted according to predetermined Progressive Second Price (PSP) rules. This negotiation process can be repeated until no other floating nodes send bid proposals. Once the iterative negotiation process is complete, the fixed node can allocate the final nonce search range to the floating node.

[0068] A floating node receives the block mining modules necessary for mining when it first connects to a fixed node. The floating node can use GPUs equipped with these modules to compute hashes for a given nonce search range. All information between the fixed and floating nodes, such as bids, nonce search ranges, and hash values, is exchanged via the HTTP protocol of a secure channel.

[0069] FIG. 3 is an exemplary drawing illustrating a joint work verification process according to one embodiment.

[0070] In the pre-configuration process, floating nodes can first negotiate with fixed nodes to determine the nonce search range and rewards for the work. Once the negotiation is complete, the fixed nodes can divide the total nonce search range according to the negotiation results and allocate it to the floating nodes. The floating nodes can solve Equation 1 and generate a new transaction block corresponding to every big epoch. For example, the duration of a big epoch can be set to 10 minutes, similar to Bitcoin.

[0071] Considering the maximum time a user device can operate continuously, a Big Epoch can be logically divided into several Little Epochs. Since massive tasks requiring thousands of hash operations cannot be performed simultaneously on mobile devices such as smartphones or lightweight laptops, fluid nodes can divide a given task into subtasks and execute them in each Little Epoch. The duration of a Little Epoch may vary depending on the hardware specifications of the fluid node. The duration of a Little Epoch of a fluid node is the duration of a Big Epoch (T big ) is the maximum time (T) during which the fluid node can achieve maximum performance. little It can be produced by dividing by ).

[0072] Floating nodes can execute a block mining module containing a function written in WGSL to calculate a hash value within a given nonce search range. Since floating nodes search for a suitable nonce value using a brute-force approach, the time required for a floating node to complete the task may not be constant. When a floating node finds a suitable nonce value satisfying Equation 1, it can stop the task and report to a fixed node. The fixed node can verify the accuracy of the nonce value and share it with other fixed nodes. If the majority of fixed nodes accept the proposed block, the fixed node can receive a reward, which can be shared between the fixed nodes and floating nodes of the mining pool according to a consensus determined by negotiation.

[0073] Figures 4 and 5 are exemplary diagrams illustrating thread parameters considered when assigning tasks to fluid nodes.

[0074] With WebGPU, floating nodes can use GPU shaders such as vertex shaders, fragment shaders, and compute shaders through a web browser. In particular, compute shaders can be used for large-scale parallel GPGPU. WebGPU supports compute shaders in WGSL. Users of floating nodes who wish to accelerate time-consuming tasks in a web browser can accelerate tasks using two methods: workgroup (worksize) and dispatch.

[0075] Referring to FIG. 4, the work size parameter is a parameter that determines the number of threads to be executed in parallel within the GPU according to local tasks, and the dispatch parameter is a parameter that determines the number of local tasks corresponding to the value of the work size parameter. In FIG. 4, both the work size parameter and the dispatch parameter are defined by three factors (x, y, z), and the product of x, y, and z can represent workload threads. That is, the number of workload threads to be executed must reflect the thread structure of the GPU (e.g., must match the number of GPU threads) so that efficient use of the GPU can be achieved.

[0076] As illustrated in Fig. 5, the number of threads may vary depending on the specifications of the GPU. Each graph in Fig. 5 represents the results of experiments investigating the optimal work size and dispatch settings for devices such as the MacBook M1 Air, M1 Pro, and M3 Pro. The z-axis of the graph represents the hash rate, which indicates the number of computations performed per second according to the values ​​of the work size and dispatch parameters. The optimal work size and dispatch parameter values ​​for achieving the highest hash rate may vary from device to device. There is a point where the hash rate drops sharply despite the increase in the values ​​of the work size and dispatch parameters, which may be attributed to the fact that the number of workload threads does not match the number of GPU threads of the device.

[0077] Figure 6 is an exemplary diagram illustrating potential problems caused by fluid nodes during the process of performing federated proof of work.

[0078] The method by which fixed nodes divide the total nonce search range and share rewards with floating nodes to successfully add a new block to the blockchain ledger is as follows.

[0079] First, define a mining group G consisting of a total of N floating nodes. Assume that each floating node is represented by a unique index between 1 and N. Fixed nodes play the role of appropriately distributing the workload among the floating nodes. The problem of allocating the nonce range for fixed nodes can be defined by Equation 2 below. Here, represents the number of nonces within the search range where at least one nonce satisfying mathematical formula 1 exists. Meanwhile, represents the nonce search range assigned to the i-th floating node. The nonce search ranges of different floating nodes do not overlap. represents the hash rate achieved by the i-th fluid node at the optimal work size and dispatch size. Therefore The i-th fluid node is T big It is limited to a nonce range within which the task can be completed within the time range.

[0080] [Mathematical Formula 2]

[0081]

[0082] In principle, the total nonce number allocated to a fixed node To the fluid nodes until it does not exceed / T big Work can be easily distributed by sequentially allocating a certain amount of nonce. However, in a mining pool, which is a type of distributed network, agreements between nodes may not be well maintained. Figure 6 illustrates such an example, showing problems that may arise when floating nodes act in a malicious (Byzantine) or selfish (Selfish) manner. For instance, a malicious floating node may cease operation, and a selfish floating node may refuse to operate if it determines that the expected reward is not higher than the required effort. Previously, malicious methods were addressed to some extent through virtual asset staking, but there were limitations to resolving selfish methods through staking. Accordingly, the federated proof-of-work system proposed in this disclosure initiates an iterative negotiation process in which a fixed node interacts with all floating nodes to allocate a nonce range.

[0083] FIG. 7 is an exemplary diagram illustrating an iterative negotiation process for solving the problem of FIG. 6. Specifically, the iterative negotiation process of FIG. 7 is a series of auction / negotiation processes in which a fixed node receives a bid from a fluid node and returns the bid result.

[0084] The reward function for the i-th fluid node can be defined as shown in the following Equation 3. Here i is a negative value that can be adjusted by the i-th fluid node, and is a positive value that can be adjusted by the i-th fluid node. represents the nonce search range desired by the i-th dong node. Equation 3 can be concave and does not decrease monotonically as the task increases. Technically, among all fluid nodes, this property - It may be a requirement for reaching Nash equilibrium.

[0085] [Mathematical Formula 3]

[0086]

[0087] To prevent selfish nodes from interfering with the mining process in the federated proof-of-work system disclosed in the present invention, the following measures may be implemented:

[0088] (Negotiation Mechanism) The system can introduce a negotiation mechanism to promote cooperation among nodes. Through this mechanism, tasks are fairly distributed, and nodes can receive incentives to complete their assigned work. By establishing clear expectations and rewards, the system can prevent selfish behavior in which nodes abandon tasks midway.

[0089] (Smart Contracts) Using smart contracts can help enforce the rules for participating in the mining process. These contracts can automatically manage the distribution of rewards and ensure that nodes fulfill their obligations. If a node fails to complete assigned tasks, the smart contract can prevent selfish behavior by imposing penalties or adjusting rewards accordingly.

[0090] (Resource Allocation) A federated Proof of Work system can be designed to allocate resources based on user participation and contribution. By allowing nodes to receive rewards based on actual work and participation, this system can motivate all participants to contribute effectively and promote a collaborative environment.

[0091] (Monitoring and Accountability) The system may include mechanisms to monitor the performance and contributions of each node. By tracking the actions performed by each participant, the system must identify and resolve all instances of selfish behavior to ensure that all nodes are held accountable for their actions.

[0092] (Incentive Structure) The design of the incentive structure is crucial for promoting cooperative behavior. This system can encourage nodes to cooperate rather than act selfishly by providing attractive rewards for successful mining and penalizing uncooperative behavior.

[0093] FIG. 8 is a flowchart illustrating a method for performing federated proof of work at a fixed node according to one embodiment.

[0094] In step S810, a fixed node can distribute and assign the task of adding blocks to at least some of the multiple floating nodes included in a blockchain network communicating via a web protocol.

[0095] In one embodiment, a fixed node sets a range of nonce values ​​to be searched by each of at least some nodes, and for each of at least some nodes, can command a search for hash values ​​at the nonce values ​​in the set range.

[0096] In step S820, the fixed node can receive the result of the work from any one of the floating nodes performing the work.

[0097] In step S830, the fixed node can verify the results of the received task.

[0098] In step S840, if the result of the operation passes verification, the fixed node may order the remaining nodes among the floating nodes performing the operation, excluding the node that transmitted the result, to stop the operation.

[0099] FIG. 9 is a flowchart illustrating a method for performing federated proof of work at a fixed node according to an additional embodiment.

[0100] In step S910, a fixed node can distribute and assign the task of adding blocks to at least some of the multiple floating nodes included in a blockchain network communicating via a web protocol.

[0101] In step S920, the fixed node can receive the result of the work from any one of the floating nodes performing the work.

[0102] In step S930, the fixed node can verify the results of the received task.

[0103] In step S940, if the result of the task passes verification, the fixed node may order the remaining nodes among the dynamic nodes performing the task, excluding the node that transmitted the result, to stop the task.

[0104] In step S950, if the result of the operation passes verification, the fixed node may propose to at least some of the other fixed nodes included in the blockchain network that a block corresponding to the operation be added to the blockchain within the blockchain network.

[0105] In step S960, a fixed node can receive the results of block verification from at least some of the fixed nodes included in the blockchain network.

[0106] In step S970, a fixed node can add a block to the blockchain once the block's verification passes.

[0107] In step S980, fixed nodes can provide rewards to floating nodes that performed the work after the block is added to the blockchain.

[0108] In one embodiment, the fixed node can determine the reward to be provided to each of the floating nodes that performed the work, based on bid information received in advance from the floating nodes that applied to perform the work among a plurality of floating nodes.

[0109] FIG. 10 is a flowchart illustrating a method for performing federated proof of work at a fluid node according to one embodiment.

[0110] In step S1010, a floating node may be assigned a task for adding blocks based on the floating node's workload and thread parameters from a fixed node included in a blockchain network communicating via a web protocol.

[0111] In one embodiment, the thread parameter may include a work size parameter that determines the number of threads to be executed in parallel within the GPU according to local tasks, and a dispatch parameter that determines the number of local tasks corresponding to the value of the work size parameter.

[0112] In step S1020, the fluid node can perform assigned tasks using the GPU based on an Application Programming Interface (API) that supports access to the Graphics Processor Unit (GPU) using a web browser.

[0113] In this specification, an electronic device functioning as a fixed node and an electronic device functioning as a dynamic node may each include a memory and a processor according to one embodiment. According to an embodiment, the electronic device may further include a transceiver (not shown) capable of communicating with an external electronic device as a device for performing wired / wireless communication. The external electronic device may be a terminal or a server. Additionally, communication technologies used by the transceiver may include GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), LTE (Long Term Evolution), 5G, WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), etc. In an embodiment, the transceiver may be included in a communication device.

[0114] The processor can control the overall operation of the electronic device and process data and signals. In an embodiment, the processor may be included in a controller. The processor may be composed of at least one hardware unit. Additionally, the processor may operate by one or more software modules generated by executing program code stored in memory. Since the processor may include memory, the processor can control the overall operation of the electronic device and process data and signals by executing program code stored in memory.

[0115] A processor of a fixed node performing federated proof of work may distribute and assign a task for adding a block to at least some of the multiple floating nodes included in a blockchain network communicating via a web protocol, receive a result of the task from any one of the floating nodes performing the task, verify the result of the task, and if the result of the task passes the verification, may order the remaining nodes among the floating nodes performing the task, excluding the node that transmitted the result of the task, to stop the task.

[0116] Meanwhile, the processor of a floating node performing federated proof of work is assigned a task for adding blocks based on the workload and thread parameters of the floating node from a fixed node included in a blockchain network communicating via a web protocol, and can perform the task using a GPU based on an Application Programming Interface (API) that supports access to a Graphic Processor Unit (GPU) using a web browser.

[0117] Meanwhile, the embodiments disclosed in this specification may be implemented in the form of a recording medium that stores instructions executable by a computer. The instructions may be stored in the form of program code and, when executed by a processor, may generate a program module to perform the operations of the disclosed embodiments. The recording medium may be implemented as a computer-readable recording medium. A computer-readable recording medium may include all types of recording media that store instructions decipherable by a computer. Examples include ROM, RAM, magnetic tape, magnetic disk, flash memory, optical data storage devices, etc.

[0118] The above descriptions are specific embodiments for carrying out the present disclosure. The present disclosure will include not only the embodiments described above, but also embodiments that can be simply modified or easily modified. Furthermore, the present disclosure will include technologies that can be easily modified and implemented using the embodiments described above. Accordingly, the scope of the present disclosure should not be limited to the embodiments described above, but should be defined by the claims set forth below as well as equivalents to the claims of the present disclosure.

Claims

1. In a method performed by a fixed node, A step of distributing and allocating tasks for adding blocks to at least some of the multiple fluid nodes included in a blockchain network communicating via a web protocol; A step of receiving a result for the above task from any one of the fluid nodes performing the above task; A step of verifying the results of the above operation; and A step comprising, when the result of the above operation passes verification, ordering the remaining nodes excluding the node among the fluid nodes performing the above operation to stop the above operation. Method for performing a joint proof of work.

2. In Paragraph 1, The step of distributing and allocating the above tasks is, A step of setting a range of nonce values ​​to be searched by each of the above at least some nodes; and For each of the above at least some nodes, the method includes the step of commanding a search for a hash value at a nonce value of a set range. Method for performing a joint proof of work.

3. In Paragraph 1, The method further comprises the step of proposing to at least some of the other fixed nodes included in the blockchain network that, if the result of the above operation passes verification, a block corresponding to the above operation be added to the blockchain within the blockchain network. Method for performing a joint proof of work.

4. In Paragraph 3, A step of receiving the result of verification for the block from at least some of the fixed nodes; and If verification for the above block passes, the method further includes the step of adding the above block to the blockchain. Method for performing a joint proof of work.

5. In Paragraph 4, After the above block is added to the blockchain, the method further includes the step of providing rewards to the fluid nodes that performed the above operation. Method for performing a joint proof of work.

6. In Paragraph 5, The step of providing the above reward is, A step comprising determining a reward to be provided to each of the fluid nodes that performed the task, based on bid information received in advance from the fluid nodes that applied to perform the task among the plurality of fluid nodes. Method for performing a joint proof of work.

7. In a method performed by a fluid node, A step of receiving a task for adding a block from a fixed node included in a blockchain network communicating via a web protocol, based on the workload and thread parameters of the floating node; and A method comprising the step of performing the above task using a GPU based on an Application Programming Interface (API) that supports access to a Graphic Processor Unit (GPU) using a web browser, Method for performing a joint proof of work.

8. In Paragraph 7, The above thread parameter is, A work size parameter that determines the number of threads to be executed in parallel within the GPU according to local tasks, and a dispatch parameter that determines the number of local tasks corresponding to the value of the work size parameter, Method for performing a joint proof of work.

9. A computer-readable, non-transient recording medium having a program for executing the method of either paragraph 1 or 7 on a computer.

10. As a fixed node performing federated proof of work, Includes memory and processor containing instructions, The above processor is connected to the above memory, For at least some of the multiple fluid nodes included in a blockchain network communicating via a web protocol, the task of adding blocks is distributed and assigned, and Receive the result of the above task from one of the fluid nodes performing the above task, and Verify the results of the above work, and An electronic device that, when the result of the above operation passes verification, commands the remaining nodes among the fluid nodes performing the above operation, excluding the said node, to stop the above operation.

11. As a floating node performing federated proof of work, Includes memory and processor containing instructions, The above processor is connected to the above memory, From a fixed node included in a blockchain network communicating via a web protocol, a task for adding a block is assigned based on the workload and thread parameters of the said floating node, and An electronic device that performs the above task using a GPU based on an Application Programming Interface (API) that supports access to a Graphic Processor Unit (GPU) using a web browser.

Citation Information

Patent Citations

  • Rapid distributed consensus on blockchain

    JP2023126595A

  • Method for removing radioactive materials from radioactive waste using supercritical fluid

    KR1020250145940A

  • Method for measuring staining intensity on cell-by-cell basis in immunohistochemical staining image and computing system for performing the same

    KR1020260031909A

  • Method of generating group proof for efficient transaction on blockchain network

    KR102230471B1

  • Web3 Decentralized Blockchain Based NFT Framework... Applications

    US20240185191A1