Apparatus, methods, and media for group leaders and group members of node groups
By grouping devices in the blockchain network and delegating computing activities, the problem of high blockchain computing costs is solved, and the blockchain application and energy efficiency of low-power devices are improved.
Patent Information
- Application Number
- CN202411164579.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-26
- Filing Date
- 2024-08-23
- Publication Date
- 2025-03-28
AI Technical Summary
The computing cost of blockchain operations is high, especially for devices with low computing power, such as IoT devices, it is difficult to effectively utilize blockchain technology.
By grouping multiple devices into node groups, the computing activities related to blockchain are delegated within the group, the group leader controls the distribution of computing activities, and performs or delegates blockchain-related computing activities on behalf of the node group according to the energy standards.
Reduces the overall computing load of group members and node groups, allowing low-power devices to effectively use blockchain technology, while reducing energy use and carbon emissions.
Smart Images

Figure CN119728073A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to apparatuses, devices, methods, and non-transitory computer-readable media for a group leader and group members of a node group. Background Art
[0002] A zero-knowledge proof (ZKP) is a cryptographic mechanism that allows anyone to prove the authenticity of a statement without sharing the information contained in the statement and without revealing how the information was received. Blockchain validators run computations that verify the correctness of the proof and, if correct, apply state changes without requiring knowledge of the verified data. ZKP is a key technology for the blockchain-based Web 3.0, possessing inherently attractive properties: privacy protection and the avoidance of redundant verification computations, thereby reducing the cost of Web 3.0 transactions. Summary of the Invention
[0003] According to an embodiment of the present disclosure, a device for a group leader of a node group of a blockchain network is provided. The device includes an interface circuit, machine-readable instructions, and a processor circuit. The processor circuit is configured to execute the machine-readable instructions to: manage the membership of nodes of the blockchain network in the node group; and perform or delegate blockchain-related computing activities on behalf of the node group according to energy standards.
[0004] According to an embodiment of the present disclosure, a device for a group member of a node group of a blockchain network is provided, the device including an interface circuit, machine-readable instructions, and a processor circuit, the processor circuit being configured to execute the machine-readable instructions to: obtain information about blockchain-related computing activities being performed or delegated by a group leader of the node group; obtain information about a record of the blockchain-related computing activities by the group leader or representative of the node group; and trust the blockchain-related computing activities based on the record.
[0005] According to an embodiment of the present disclosure, a method for group leadership of a node group of a blockchain network is provided, the method comprising: managing membership of nodes of the blockchain network in the node group; and executing or delegating blockchain-related computing activities on behalf of the node group according to energy standards.
[0006] According to an embodiment of the present disclosure, a non-transitory machine-readable storage medium is provided, including a program code, which, when executed, causes a machine to perform the method described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Some examples of apparatus and / or methods will now be described, by way of example only, with reference to the accompanying drawings, in which:
[0008] Figure 1a A schematic diagram illustrating an example of an apparatus or device for a group leader of a node group and a computer system including such an apparatus or device;
[0009] Figure 1b A flow chart illustrating an example of a method for group leadership of a node group;
[0010] Figure 2a A schematic diagram illustrating examples of devices or apparatuses of group members of a node group;
[0011] Figure 2b to Figure 2d A flowchart illustrating an example of aspects of a method for group membership of a node group;
[0012] Figure 3 A schematic diagram showing the high-level use cases supported by the proposed system architecture;
[0013] Figure 4 A schematic diagram showing energy-aware leadership creation proof issuance;
[0014] Figure 5 A schematic diagram of a layer 2 enhancement for issuing off-chain proofs of creation in the form of batch transactions across one or more EPID groups and heterogeneous blockchains is shown; and
[0015] Figure 6 A schematic diagram showing a failover mechanism for a group leader using carbon-aware principles. DETAILED DESCRIPTION
[0016] Some examples will now be described in more detail with reference to the accompanying drawings. However, other possible examples are not limited to the features of the embodiments described in detail. Other examples may include modifications to these features, as well as equivalents and substitutions of these features. In addition, the terms used herein to describe certain examples should not limit other possible examples.
[0017] Throughout the description of the drawings, the same or similar reference numerals refer to the same or similar elements and / or features, which may be the same or implemented in a modified form while providing the same or similar functions. The thickness of lines, layers and / or regions in the drawings may also be exaggerated for clarity.
[0018] When two elements A and B are combined using "or", this should be understood as disclosing all possible combinations, i.e., only A, only B, and A and B, unless expressly defined otherwise in individual cases. As alternative wording for the same combination, "at least one of A and B" or "A and / or B" can be used. This applies equally to combinations of more than two elements.
[0019] If singular forms such as "a," "an," and "the" are used, and there is no explicit or implicit limitation on the mandatory use of only a single element, alternative examples may use several elements to implement the same functionality. If a functionality is described below as being implemented using multiple elements, alternative examples may use a single element or a single processing entity to implement the same functionality. It is also to be understood that the terms "comprises" and / or "comprising," when used, describe the presence of specified features, integers, steps, operations, processes, elements, components, and / or groups thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, processes, elements, components, and / or groups thereof.
[0020] In the following description, specific details are set forth, but examples of the technology described herein can be implemented without these specific details. Well-known circuits, structures, and techniques are not shown in detail to avoid obscuring the understanding of this description. References to "an example / example," "various examples / examples," "some examples / examples," and the like may include features, structures, or characteristics, but not every example necessarily includes the specified features, structures, or characteristics.
[0021] Some examples may have some, all, or none of the features described for other examples. "First," "second," "third," and the like describe common elements and indicate that different instances of similar elements are being referred to. Such adjectives do not imply that the elements so described are necessarily in a given sequence, whether in time, space, ranking, or any other manner. "Connected" may indicate that elements are in direct physical or electrical contact with each other, while "coupled" may indicate that elements cooperate or interact with each other, but they may or may not be in direct physical or electrical contact.
[0022] As used herein, the terms "operate," "execute," or "run" are used interchangeably when referring to software or firmware associated with a system, device, platform, or resource, and may refer to software or firmware stored in one or more computer-readable storage media accessible to the system, device, platform, or resource, even if the instructions contained in the software or firmware are not being actively executed by the system, device, platform, or resource.
[0023] The description may use the phrases "in an example / example," "in an example / example," "in some examples / examples," and / or "in various examples / examples," each of which may refer to one or more of the same or different examples. Furthermore, the terms "including," "comprising," "having," and the like, used with respect to examples of the present disclosure, are synonymous.
[0024] Figure 1aA schematic diagram of an example of an apparatus 10 or device 10 for a group leader 100-L (L stands for Leader) of a node group 100 of a blockchain network 105, and a schematic diagram of a computer system 100-L including such an apparatus 10 or device 10 (computer system 100-L implementing the group leader) are shown. Figure 1a Further shown is a system including a group leader 100-L and one or more group members 100-M (M stands for member), 100-D (D stands for delegate), e.g., a node group 100. A blockchain network 105 is a network of nodes participating in or using the same blockchain, e.g., a public blockchain such as Ethereum (trademark of Stiftung Ethereum / Ethereum Foundation) or Solana (trademark of Solana Foundation) or a private blockchain.
[0025] Device 10 includes circuitry for providing the functionality of device 10. For example, the circuitry of device 10 may be configured to provide the functionality of device 10. For example, Figure 1a The device 10 includes an interface circuit 12, a processor circuit 14 and (optionally) a memory / storage circuit 16. For example, the processor circuit 14 can be coupled to the interface circuit 12 and / or the memory / storage circuit 16. For example, the processor circuit 14 can provide the functionality of the device together with the interface circuit 12 (for communicating with other group members 100-M, 100-D of the node group 100, and / or for communicating with the node 200-L of another node group 200) and the memory / storage circuit 16 (for storing information, such as machine-readable instructions). Similarly, the device 10 may include devices for providing the functionality of the device 10. For example, these devices may be configured to provide the functionality of the device 10. The components of the device 10 are defined as component devices, which may correspond to or be implemented by individual structural components of the device 10. For example, Figure 1b The device 10 includes: a means for processing 14, which may correspond to a processor circuit 14 or be implemented by a processor circuit 24; a means for communicating 12, which may correspond to an interface circuit 12 or be implemented by an interface circuit 22; and (optionally) a means for storing information 16, which may correspond to a memory or storage circuit 16 or be implemented by a memory or storage circuit 26. In general, the functionality of the processor circuit 14 or the means for processing 14 may be implemented by the processor circuit 14 or the means for processing 14 executing machine-readable instructions. Therefore, any characteristics attributed to the processor circuit 14 or the means for processing 14 may be defined by one or more instructions from a plurality of machine-readable instructions. The device 10 or apparatus 10 may include machine-readable instructions 16a, for example, within the memory or storage circuit 16 or the means for storing information 16.
[0026] The processor circuit 14 or the means for processing 14 manages the membership of nodes of the blockchain network in the node group. The processor circuit 14 or the means for processing 14 performs or delegates blockchain-related computing activities on behalf of the node group according to energy standards.
[0027] Figure 1b A flowchart illustrating an example of a method for a group leader 100-L of a node group is shown. The method includes managing 130 the membership of nodes of a blockchain network in a node group. The method includes performing 140 or delegating 150 blockchain-related computing activities on behalf of the node group based on energy criteria. For example, the method may be performed by the group leader 100-L of the node group, such as a computer system 100-L, device 10, or apparatus 10 implementing the group leader 100-L.
[0028] Hereinafter, further details regarding the apparatus 10, device 10, group leader 100-L, node group 100, method, and corresponding computer program will be described with reference to the apparatus 10, group leader 100-L, and node group. Features described with reference to the apparatus 10, group leader 100-L, and node group 100 may also be included in the corresponding apparatus 10, method, and computer program.
[0029] Various examples of the present disclosure are based on the following discovery: the computational cost of blockchain operations can be high, which places a burden on devices with low computational capabilities, such as IoT (Internet of Things) devices. In order to enable IoT devices to use blockchain technology, in the proposed concept, multiple devices are grouped into node groups, such as node group 100. Within the group, computational activities related to activities on the blockchain can be delegated between members, with the group leader (i.e., contact person) responsible for the group. Figure 1a and Figure 1b The discussed group leader 100-L controls the distribution of computing activities and communicates with other nodes outside the group. Effectively, both the average and overall computing load of group members is reduced (because blockchain-related computations are performed only once within the group), enabling even interconnected, low-power devices to utilize blockchain technology. Furthermore, to reduce energy usage and / or avoid carbon emissions, the distribution of computing activities and (optionally) group leadership qualifications are determined based on energy criteria.
[0030] As described above, one of the tasks of the group leader is to distribute work (or perform work itself), and another task is to communicate with nodes 200-L outside the node group 105, for example, a group leader 200-L of another node group or other nodes outside the node group, such as an external validator. Therefore, in order to reduce energy usage and / or avoid carbon emissions, the processor circuit can be based on energy criteria to allow a node to serve as the leader of the node group. Therefore, if Figure 1b As further shown in , the method may include a node acting as a leader 110 of a node group based on an energy criterion.
[0031] A group leader of a node group has various responsibilities. One of these responsibilities is communication with the node group. For example, the processor circuitry may act as the group leader to communicate with one or more other nodes outside the node group on behalf of the node group. According to one example, the method may include the group leader communicating with the one or more other nodes outside the node group on behalf of the node group 120.
[0032] Another responsibility is to manage the membership of nodes in the node group of the blockchain network. For example, the processor circuit can decide whether to admit a node into the node group. Figure 5 As shown, the processor circuit may provide a join request to a potential group member and include the node as a group member if the node responds with a join response. For example, membership in a node group may be determined by a so-called Enhanced Privacy Identifier (EPID). technology) and the corresponding EPID joining protocol for management.
[0033] The processor circuitry executes or delegates blockchain-related computing activities on behalf of the node group according to energy criteria. Generally speaking, blockchain-related computing activities may involve any activity associated with participating in the blockchain network 105. For example, blockchain-related computing activities may involve at least one of creating a zero-knowledge proof, verifying a zero-knowledge proof, and publishing the proof of creation on the blockchain. A zero-knowledge proof is a protocol that allows one person (i.e., the prover) to convince another person (i.e., the verifier) that they know a specific piece of information without revealing any additional information about that information. In other words, the prover can prove knowledge of something without revealing any other information, including its contents. This is achieved through a series of interactions between the prover and the verifier, in which the prover demonstrates knowledge of something without revealing any clues about its actual contents. Creating a zero-knowledge proof involves creating code, such as a decentralized application, that can be used to execute the zero-knowledge proof. Verifying a zero-knowledge proof involves creating a proof of verification, indicating to others that the zero-knowledge proof has been verified by the entity that provided the proof of verification. All of these tasks are computationally expensive, necessitating the sharing of the computational load among the node group.
[0034] In the proposed concept, computing activities are executed or delegated based on energy criteria. For the group leader, there are three possible courses of action: the group leader can perform all computing activities; the group leader can perform some computing activities and delegate the rest; or the group leader can delegate all computing activities. One criterion is the group leader's load—the group leader can only do so much work, so in either case, some computing activities may have to be delegated. Another criterion is energy-related. Energy-related criteria relate to the energy usage of nodes performing computing activities. For example, energy criteria can be based on the amount of energy required by nodes to perform blockchain-related computing activities. For example, ideally, computing activities would be performed by nodes that are most efficient, thus using the least energy to perform the computing activities, for example, by using modern instruction sets, efficient semiconductor processes, or specialized accelerator cards. Additionally or alternatively, the carbon dioxide emissions caused by each node in performing computing activities can be considered. For example, energy criteria can be based on the use of renewable energy (e.g., carbon dioxide emissions or no carbon dioxide emissions) by the nodes in the node group. The processor circuit may obtain appropriate information from the group members to evaluate the group members according to the energy criteria. For example, the processor circuit may obtain information from the group members about at least one of the energy efficiency of the group members when performing blockchain-related computing activities, information about the group members' use of renewable energy, and information from the group members about instantaneous network reliability (which may be relevant for the purpose of finding a successor to the group leader). For example, Figure 6 Different nodes 621 - 623 are shown reporting this information to group leader 610 .
[0035] In many cases, a node's use of renewable energy can vary over time, for example, as the available energy mix in a given geographic area fluctuates. For example, solar energy may be more available during the day than at night. Similarly, wind power may be plentiful at certain times, while insufficient wind may hinder the availability of wind power at other times. Therefore, the distribution of computing activities can adapt to changes in renewable energy usage. For example, executing or delegating blockchain-related computing activities on behalf of a group of nodes can be performed based on the current or (future) predicted usage of renewable energy by each node.
[0036] In some cases, the group leader performs all or some of the computational activity. To make this computational activity available to others (e.g., nodes of the group, or nodes outside the group), the computational activity is recorded on a blockchain, for example, by publishing a newly created zero-knowledge proof, a verification proof of a zero-knowledge proof, or a creation proof on a blockchain (e.g., on a blockchain of the blockchain network or on a private layer 2 blockchain private to members of the node group). For example, the act of performing a blockchain-related computational activity may include recording 145 (e.g., a zero-knowledge proof) on a blockchain accessible to the node group. Figure 1b ) blockchain-related computing activities. To this end, each node group may have at least one key encryption key that is used to write data to the blockchain and is traceable to the node group. A key encryption key (KEK) is a symmetric encryption key that is used to encrypt other keys, such as a data encryption key (DEK) or a communication encryption key (CEK). The idea behind using a KEK is to create an additional layer of security in the encryption process, making it more difficult for unauthorized users to access sensitive information. For example, the processor circuit may record the blockchain-related computing activities on a blockchain (e.g., a public blockchain or a group-specific blockchain) using the key encryption key for recording blockchain-related computing activities. Therefore, the method may include recording 145 the blockchain-related computing activities on the blockchain using the key encryption key for recording blockchain-related computing activities.
[0037] As described above, there are two reasons why the group leader delegates some or all work: the load of the group leader, and energy-related criteria. For example, the processor circuitry may delegate blockchain-related computing activities to another member of the node group based on the load of the group leader. Additionally, or alternatively, the processor circuitry may delegate blockchain-related computing activities to another member of the node group if the other group member exceeds the group leader based on energy criteria, for example, if the other group member uses less energy for the computing activity, or if the other group member uses a higher proportion of renewable energy (i.e., resulting in lower carbon dioxide emissions). The member to whom the computing activity is delegated Figure 1a The delegate may then record the activity on the blockchain. For example, the group leader may share the KEK with the group members performing the computational activity so that the group members can write to the blockchain (e.g., a public blockchain or a group-specific blockchain) on behalf of the group. For example, the act of delegating blockchain-related computational activities may include sharing a key encryption key for recording blockchain-related computational activities with the nodes of the group of nodes to which verification is delegated. Thus, if Figure 1bAs further shown in , the act of delegating blockchain-related computing activities may include sharing 155 a key encryption key for recording blockchain-related computing activities with nodes of the node group to which verification is delegated.
[0038] In some examples, energy criteria are not only relevant for the purpose of assigning computing activities. In addition, energy criteria can also be used to determine one or more possible successors to the group leader. For example, the processor circuit can nominate a successor to the group leader among the members of the node group based on the energy criteria. Thus, if Figure 1b As further shown in , the method may include nominating 160 a successor to the group leader among the members of the node group based on an energy criterion. For example, group members of the node group may be nominated based on the amount of energy required by the node to perform blockchain-related computing activities and / or based on the node's use of renewable energy (e.g., CO2 emissions or no emissions). Another criterion for group leader eligibility is the reliability of the different group members, in particular network reliability, to avoid having a node that is frequently unreachable become the group leader. For example, the processor circuit may further nominate a successor to the group leader among the members of the node group based on an instantaneous network reliability criterion.
[0039] Managing the membership of a group member may include various tasks, such as admitting a node as a group member, but may also remove a group member. For example, the processor circuit may manage the membership of nodes in a node group, such as admitting one or more nodes to the node group, and / or removing one or more nodes from the node group. Specifically, the group leader may remove a node from the node group based on criteria. For example, the processor circuit may remove a group member from the node group based on criteria. Thus, if Figure 1b As further shown in , the method may include removing group members from the node group based on a criterion. For example, the criterion may be one of: an energy criterion (e.g., removing nodes that are not sufficiently energy efficient), a transient network reliability criterion (e.g., removing nodes that are not continuously available via the network), and a group participation reliability criterion (e.g., removing nodes that have been proven to be untrustworthy).
[0040] At some point, the group leader may decide to relinquish group leadership, for example, based on the group leader's load or according to a schedule. For example, the processor circuit may cause the node to relinquish group leadership and transfer the group leadership qualification to a successor. According to one example, the method may include causing the node to relinquish (170) as group leader and transfer (175) the group leadership qualification to a successor.
[0041] While in some cases, a group leader can relinquish its role based on its load or based on a schedule, in some cases, a group leader may be forced to relinquish its role. For example, the processor circuitry may cause the node to relinquish its role as group leader based on a review of the group leader's activities on at least one blockchain by one or more other members of the group. For example, the method may include causing the node to relinquish (170) its role as group leader based on a review of the group leader's activities on at least one blockchain by one or more other members of the group. For example, the reviewed group leader activities may include previous computing activities performed by the group leader and / or the group leader's adherence to a schedule for relinquishing its role as group leader.
[0042] In general, group membership can be managed via a direct anonymous authentication protocol, for example, based on a group public key and a member-specific membership private key. An implementation of a developed direct authentication protocol. For example, group membership in a node group is authenticated using an enhanced privacy identifier (EPD), where group members join the node group using an EPID join protocol and / or are removed from the node group using an EPID membership revocation protocol. In a direct anonymous authentication protocol, group membership in a node group is authenticated based on a group public key and a member-specific membership private key (of that node). Rather than using a 1:1 relationship between public and private keys, the group public key is linked to multiple membership private keys held by group members. The group public key can be used to verify the membership private key by using the group public key to verify a signature generated using the membership private key. To remove a member from the group, a revocation list is used, and the signature being verified is further checked using the revocation list. For example, when a new member node is admitted to the group, the processor circuit can generate a new membership private key (or obtain an unused membership private key from a storage device), and if a group member is removed from the node group, the processor circuit can place the group member's membership private key on a revocation list.
[0043] In some cases, it may be desirable to restrict certain transactions to a subset of members based on policy. For example, certain transactions may only be performed by group members that use green energy, have high energy efficiency based on energy standards, or are selected based on other criteria (e.g., instantaneous network reliability or trustworthiness). For example, at least one of the group leader and one or more group members may be excluded from one or more predefined transactions (i.e., transaction types) based on policy. For example, the policy may be based on energy standards or other criteria.
[0044] The interface circuit 12 or the means for communicating 12 may correspond to one or more inputs and / or outputs for receiving and / or sending information, which may be digital (bit) values according to a specified code within a module, between modules, or between modules of different entities. For example, the interface circuit 12 or the means for communicating 12 may include circuitry configured to receive and / or send information.
[0045] For example, the processor circuit 14 or the means for processing 14 may be implemented using one or more processing units, one or more processing devices, or any means for processing, such as a processor, a computer, or a programmable hardware component operable using correspondingly adapted software. In other words, the functions of the processor circuit 14 or the means for processing may also be implemented using software, which is then executed on one or more programmable hardware components. Such hardware components may include general-purpose processors, digital signal processors (DSPs), microcontrollers, and the like.
[0046] For example, the memory or storage circuit 16 or means for storing information 16 may include volatile memory, such as random access memory, such as dynamic random access memory (DRAM), and / or at least one element of the group comprising computer-readable storage media, such as magnetic or optical storage media, such as a hard drive, a flash memory, a floppy disk, a random access memory (RAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electronically erasable programmable read-only memory (EEPROM), or a network storage device.
[0047] Linking the proposed concept or the preceding or following context (e.g. Figures 2a to 6 ), mentions more details and aspects of the apparatus 10, device 10, group leader 100-L, node group 100, method, and corresponding computer program. The apparatus 10, device 10, group leader 100-L, node group 100, method, and corresponding computer program may include one or more additional optional features corresponding to one or more aspects of the proposed concept or one or more examples described above or below.
[0048] Figure 2aA node group 100 (e.g., connected to a blockchain network 105) is shown (i.e., a network of nodes participating in / using the same blockchain). Figure 1a and / or 1b discussed in detail 1a and 1b) of the group members 100-M, 100-D of the node group 100) and a schematic diagram of an example of a computer system 100-M / 100-D (a computer system 100-D / 100-L implementing a group member / group representative) including such a device 20 or device 20. Figure 2a Further shown is a system, eg, node group 100, including a group leader 100-L and group members 100-D, 100-L.
[0049] Device 20 includes circuitry for providing the functionality of device 20. For example, the circuitry of device 20 may be configured to provide the functionality of device 20. For example, Figure 2a The device 20 includes an interface circuit 22, a processor circuit 24 and / or (optionally) a memory / storage circuit 26. For example, the processor circuit 24 can be coupled to the interface circuit 22 and / or to the memory / storage circuit 26. For example, the processor circuit 24 can provide the functionality of the device together with the interface circuit 22 (for communicating with other group members of the node group 100, such as the group leader 100-L) and the memory / storage circuit 26 (for storing information, such as machine-readable instructions). Similarly, the device 20 may include devices for providing the functionality of the device 20. For example, these devices can be configured to provide the functionality of the device 20. The components of the device 20 are defined as component devices, which can correspond to or be implemented by individual structural components of the device 20. For example, Figure 2b The device 20 includes: a means for processing 24, which may correspond to a processor circuit 24 or be implemented by a processor circuit 24; a means for communicating 22, which may correspond to an interface circuit 22 or be implemented by an interface circuit 22; and (optionally) a means for storing information 26, which may correspond to a memory or storage circuit 26 or be implemented by a memory or storage circuit 26. In general, the functionality of the processor circuit 24 or the means for processing 24 may be implemented by the processor circuit 24 or the means for processing 24 executing machine-readable instructions. Thus, any features imparted to the processor circuit 24 or the means for processing 24 may be defined by one or more of a plurality of machine-readable instructions. The device 20 or apparatus 20 may include machine-readable instructions 26a, for example, within the memory or storage circuit 26 or the means for storing information 26.
[0050] The processor circuit 24 or the means for processing 24 obtains information about blockchain-related computing activities performed or delegated by the group leader of the node group. The processor circuit 24 or the means for processing 24 obtains information about the record of blockchain-related computing activities by the group leader 100-L or the representative 100-D of the node group. The processor circuit 24 or the means for processing 24 trusts the blockchain-related computing activities based on the record.
[0051] Figure 2b to Figure 2d A flowchart illustrating various aspects of a corresponding method for a group member of a node group is shown. The method includes obtaining 210 information about blockchain-related computing activities performed or delegated by a group leader of the node group. The method includes obtaining 212 information about a record of the blockchain-related computing activities by the group leader 100-L or a representative 100-D of the node group. The method includes trusting 214 the blockchain-related computing activities based on the record.
[0052] Hereinafter, further details regarding the apparatus 20, the device 20, the group member 100-M (or the group representative 100-D), the node group 100, the method, and the corresponding computer program will be described with reference to the apparatus 20, the group leader 100-M, and the node group. Features described with reference to the apparatus 20, the group leader 100-M, and the node group 100 may also be included in the corresponding apparatus 20, the method, and the computer program.
[0053] Figures 1a to 1b involves the group leader of the node group, and Figures 2a to 2b This involves individual group members (i.e., group members who are not the group leader). These group members benefit from the group leader performing or delegating computing activities. Specifically, they implicitly trust the computing activities performed by the group leader or delegates. In other words, when the processor circuit obtains information about blockchain-related computing activities being performed or delegated by the group leader of the node group, and information about the records of blockchain-related computing activities kept by the group leader 100-L or delegate 100-D of the node group (e.g., records stored on a public blockchain or a group-specific blockchain), the processor circuit implicitly trusts the blockchain-related computing activities based on the records.
[0054] In some cases, the group leader may request group members to perform blockchain-related computing tasks. For example, the processor circuit may obtain information about further blockchain-related computing activities to be performed (e.g., by obtaining information about further blockchain-related computing activities to be performed from a (public or group-specific) blockchain, or by receiving such information from the group leader). Thus, if Figure 2cAs shown, the method may include obtaining (230) information about further blockchain-related computing activities to be performed. In addition to the information about the further blockchain-related computing activities, the group member may further obtain a request or instruction to perform the computing activity. In other words, the processor circuit may obtain an instruction to perform the further blockchain-related computing activity from the group leader and perform the further blockchain-related computing activity according to the instruction. Therefore, as Figure 2b As further shown in FIG, the method may include obtaining (232) instructions from the group leader to perform further blockchain-related computing activities, and performing (234) the further blockchain-related computing activities according to the instructions. By following the instructions and thereby performing the blockchain-related computing activities, the group members become representatives (100-D) for the particular blockchain-related activities.
[0055] After performing the computing activity, the group members can then record the computing activity, for example, on a public blockchain or a group-specific blockchain. Figure 1a and 1b As shown, this can be accomplished with the help of a group-specific key encryption key. For example, the processor circuit can obtain a key encryption key for recording blockchain-related computing activities from the group leader, and record the blockchain-related computing activities on the blockchain using the key encryption key for recording blockchain-related computing activities. Figure 2c As further shown in , the method may include obtaining (236) a key encryption key for recording blockchain-related computing activities from a group leader, and recording (238) the blockchain-related computing activities on the blockchain using the key encryption key for recording blockchain-related computing activities.
[0056] If contact Figure 1a to Figure 1b As described, computing activities are delegated based on energy criteria so that nodes that are more energy efficient or cause less carbon dioxide emissions than other group members can perform the computing activities. For this purpose (and in order to nominate a successor to the group leader), group members can provide the group leader with information related to energy-related criteria (and the reliability of the group member in terms of being considered as a successor). For example, the processor circuit can provide the group leader with information about at least one of the energy efficiency of the group member when performing blockchain-related computing activities, information about the group member's use of renewable energy, and information about the instantaneous network reliability of the group member. Thus, if Figure 2c and 2dAs shown, the method may include providing (220) to the group leader information about at least one energy efficiency of the group member when performing blockchain-related computing activities, information about the group member's use of renewable energy, and information about the group member's instantaneous network reliability. For example, the processor circuit may obtain the information about the at least one energy efficiency of the group member from a storage device (e.g., memory or storage circuit 26) of the group member (if the information about the at least one energy efficiency of the group member is static), or determine the information about the at least one energy efficiency of the group member using a benchmark application. For example, the processor circuit may determine the information about the group's use of renewable energy based on a data source (periodically or aperiodically updated) representing (current and / or future) energy provided by the group member's energy provider. For example, the processor circuit may determine the information about the group member's instantaneous network reliability by monitoring the group member's instantaneous network reliability, for example, using periodic messages, requests, or pings sent to other group members or a web server. For example, instructions to perform further blockchain-related computing activities may be obtained in response to the provided information.
[0057] Similarly, a group member may be nominated as a group leader in response to the provided information. In other words, the processor circuit may obtain information about the group node that is nominated as the successor to the group leader (based on energy criteria, and / or based on instantaneous network reliability). Thus, if Figure 2d As shown, the method includes obtaining (240) information about a group member who is nominated as a successor to the group leader. The group member may take over as the group leader once the current group leader gives up (or cannot be contacted). In other words, the processor circuit may allow the group member to serve as the leader of the node group. Therefore, if Figure 2d As further shown in , the method may include having a member of the group serve as a leader of the node group ( 260 ). For example, the processor circuit may have the group member serve as the leader of the node group based on energy criteria and / or based on the instantaneous network reliability of the group member (e.g., compared to other members).
[0058] One reason for a group leader to relinquish his role as group leader is that other group members no longer trust the group leader. For example, if the group leader is found to be performing computing activities in an erroneous or malicious manner, group members may decide to confront the group leader. For example, random group members may be selected to occasionally (e.g., according to a random (stochastic) schedule) audit a subset of the group leader's computing activities, and information about the audit may be shared with other members of the group. In other words, the processor circuit may audit the group leader's activities on at least one blockchain, and share information about the audit with other members of the node group. Thus, if Figure 2bAs further shown in , the method may include auditing (250) the group leader's activities on at least one blockchain and sharing information about the audit with other members of the node group. For example, if the information about the audit indicates that the group leader performed previous computing activities in an erroneous or malicious manner, the group leader may be forced to resign.
[0059] The interface circuit 22 or the means for communicating 22 may correspond to one or more inputs and / or outputs for receiving and / or sending information, which may be digital (bit) values according to a specified code within a module, between modules, or between modules of different entities. For example, the interface circuit 22 or the means for communicating 22 may include circuitry configured to receive and / or send information.
[0060] For example, the processor circuit 24 or the means for processing 24 may be implemented using one or more processing units, one or more processing devices, or any means for processing, such as a processor, a computer, or a programmable hardware component operable using correspondingly adapted software. In other words, the functions of the processor circuit 24 or the means for processing may also be implemented using software, which is then executed on one or more programmable hardware components. Such hardware components may include general-purpose processors, digital signal processors (DSPs), microcontrollers, and the like.
[0061] For example, the memory or storage circuit 26 or means for storing information 26 may include volatile memory, such as random access memory, such as dynamic random-access memory (DRAM), and / or at least one element of the group comprising computer-readable storage media, such as magnetic or optical storage media, such as a hard drive, a flash memory, a floppy disk, a random access memory (RAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electronically erasable programmable read-only memory (EEPROM), or a network storage device.
[0062] Linking the proposed concept or the preceding or following context (e.g. Figure 1a to Figure 1b 、 Figures 3 to 6), mentions more details and aspects of the apparatus 20, device 20, group member 100-M (or group representative 100-D), node group 100, method, and corresponding computer program. The apparatus 20, device 20, group member 100-M (or group representative 100-D), node group 100, method, and corresponding computer program may include one or more additional optional features corresponding to one or more aspects of the proposed concept or one or more examples described above or below.
[0063] Various examples of the present disclosure relate to a method and apparatus for Energy Aware Zero-knowledge Proof (EAZKP) for Web3. The present disclosure generally relates to Web3.0 decentralized applications (dApps), zero-knowledge proofs (ZKPs), ZKP creation and verification of proofs, proof creation as a service, blockchain, software security, monetization, and / or software as a service.
[0064] Web 3.0's disruption of centralized infrastructure presents a significant opportunity for a significant acceleration of client and IoT (Internet of Things) devices, enabling data generation, processing, and management to be shifted from centralized clouds to edge / IoT devices. Web 3 zero-knowledge proofs and proof-of-work involved in blockchain transactions are considered prohibitively expensive in terms of computation, electricity, and energy, hindering early Web 3 adoption due to global sustainability goals. The proposed concept of an energy- and power-aware ZKP platform could provide a step toward sustainable and scalable Web 3.0 adoption, for example, by addressing the aforementioned challenges.
[0065] In the proposed concept, nodes are grouped into groups, such as Figures 1a to 2b The node group 100 discussed. Group formation can use EPID (Enhanced Privacy Identifier, a The proposed concept allows a system of constrained devices to form a group in which the group identity and credentials for interacting with external entities (including other EPID groups) can be shared among various group members, but group member actions are not visible from the outside through the use of any group credentials (including EPID and KEK (Key Encryption Key) keys).
[0066] Policy-based leadership selection can be based, for example, on the node with the highest residual energy or the node with the most efficient cryptographic acceleration for Web3 blockchain creation proof (i.e., based on energy criteria). Depending on the policy configuration, the leader node can be rotated. In another example, leadership selection can be based on the transaction volume that a node can contribute or on the speed of generating ZKPs. The group leader can be trusted by all group members to manage the addition and removal of group members (i.e., group management). The group leader is also a group member. The group leader can be periodically audited by randomly selected members to enforce rotation based on the audit results.
[0067] In the case of edge deployments or other deployments using green power (solar, wind, etc.), as mentioned above, the green power source variation factor can be factored into the selection of the policy leader. Given that such green power typically varies over time, etc., a forecasting approach can also be incorporated to estimate the variation factor.
[0068] Decentralized Web3 applications on individual client / IoT devices can perform full ZKP creation using the KEK keys provisioned by the group leader, or perform ZKP creation once every N (configurable) transactions according to a provisioned policy based on individual power / energy levels (as an example of blockchain-related computational activity).
[0069] In various examples, the group leader is the single point of contact with an external off-chain or blockchain bridge to issue, verify, and track “batch” PoCs (Proof of Creation) in blockchain transactions.
[0070] Power-aware zero-knowledge proofs and proof-of-work can be performed in a hierarchical manner, where pre-authorized participants can all execute an EPID type group and utilize a trust-based heuristic reputation score from the group to approve Tx (transmission).
[0071] The platform TEE (Trusted Execution Environment) can be used to host hybrid wallets for EPID groups and enable direct connectivity of heterogeneous blockchains for seamless operations. It can provide heterogeneous blockchain scalability via Layer 2 interoperability across different domains and subnets for both centralized and distributed scenarios.
[0072] The group leader can establish a list of trusted successors who can serve as temporary or permanent leaders in the event of a transient or permanent failure. If the group leader rotates infrequently, the entire group can work together to identify potential attacks. Successors may need to maintain some consistency with the current leader. The selection of successors can be based on carbon-aware (i.e., energy-aware) criteria to reduce carbon emissions.
[0073] Figure 3Schematic diagram showing a high-level use case supported by the proposed system architecture involving a Web 3.0 DApp between pre-authorized participants within an EPID group powered by a Web 3.0 blockchain. Figure 3 An IoT network group 310 is shown with IoT devices 1...N as nodes (using EPID to join the protocol group). The node group 310 communicates with an external validator (i.e., a bridge) 340 via a network 320, and communicates with the blockchain 340 via the bridge. Figure 3 , EPID group 310 is an off-blockchain group.
[0074] Figure 4 A schematic diagram of energy-aware leadership creation proof issuance is shown. Figure 4 In FIG, dotted lines (eg, dotted line 440) show information posted across groups. Figure 4 Groups 1 through N are shown. Each group includes agents 410-1, 410-N (with revision lists and group key databases), publishers 420-1, 420-N, and IoT devices provisioned by each publisher. Members of a group use the same EPID / RSA key pair for external identifiers (including revision lists and group management databases).
[0075] Figure 5 A schematic diagram illustrating an example of a Layer 2 enhancement for issuing off-chain proofs of creation in the form of batch transactions across one or more EPID groups and heterogeneous blockchains. Figure 5 Two groups 1, N (510, 5N0) of IoT devices are shown. Figure 5 In , group 1 510 is the publisher and group N 5N0 is the consumer. Each IoT group includes a group leader 511 (which is an IoT restricted device) and group members 512, 513 (which are also IoT devices). Figure 5 In [1], the group leader invites group members to join the group (via a join request), and the group members respond to the request with a join response. Each device includes key encryption keys 1...N. In [1], the group leader invites group members to join the group (via a join request), and the group members respond to the request with a join response. Figure 5 In the example, the group leader 510 of the group 510 has a publishing certificate (GN.Pub.Cert) for publishing to group N. If IoT group N requests group 1 to publish to group N based on the topic (using the key {GN.KEK.TOPIC} EPID SIGN ) provides content, then IoT group N uses GN.Pub.Cert to verify and publish the content via blockchain 500 based on the topic and key. The proposed concept can improve efficiency and support heterogeneous blockchain solutions by utilizing energy-aware, low-cost, off-chain transactions.
[0076] Figure 6 A schematic diagram illustrating a failover mechanism for a group leader using carbon-aware principles, providing carbon-aware scalable reliability support. Figure 6 Shown are a group leader 610 and group member nodes 621-623, which obtain their respective energy from different energy sources 631-633. Group member 621 obtains its energy from energy source 631, which is a green energy source, group member 622 obtains its energy from unknown / non-green energy source 632, and group member 623 obtains its energy from energy source 633, which is a green energy source. Different candidates for leadership successor (i.e., group members 621-623) provide telemetry data that may indicate how efficient they are in terms of carbon-aware impact and reliability. The telemetry data may include one or more of the amount of green energy, energy efficiency, and the amount of network transient failures. Over time, the leader 610 may determine (e.g., select) the best candidate to succeed the leader in the event of a failure. Over time, the leader may perform a certain level of synchronization with the successor(s). In Figure 6 In
[15] , this is done with group members 621 and 623 using the green energy source. This synchronization can be useful if there is some state to be propagated to the new leader. If the current leader experiences a transient or permanent failure, the next leader may take ownership (i.e., leadership), and the remaining peer nodes may be notified. If the previous leader becomes available again, the remaining peer nodes may notify it that the previous leader is no longer the leader.
[0077] Various examples of the present disclosure may have an impact on power utilization, such as overall and / or individual node power utilization.
[0078] In the following, some examples of the proposed concept are given:
[0079] An example (e.g., Example 1) relates to an apparatus (10) for a group leader (100-L) of a node group (100) of a blockchain network (105), the apparatus comprising interface circuitry (12), machine-readable instructions (16a), and processor circuitry (14) for executing the machine-readable instructions to manage membership of nodes of the blockchain network in the node group and to perform or delegate blockchain-related computing activities on behalf of the node group according to an energy standard.
[0080] Another example (e.g., Example 2) involves a previously described example (e.g., Example 1) or any example described herein, further comprising the processor circuit being used to execute the machine-readable instructions to cause a node to serve as a leader of the node group based on the energy criteria.
[0081] Another example (e.g., Example 3) involves a previously described example (e.g., one of Examples 1-2) or any example described herein, further including the energy criterion being based on at least one of an amount of energy required by a node to perform blockchain-related computing activities and use of renewable energy by the nodes of the node group.
[0082] Another example (e.g., Example 4) relates to a previously described example (e.g., Example 3) or any example described herein, further including a node's use of renewable energy changing over time, wherein the act of performing or delegating blockchain-related computing activities on behalf of the group of nodes is performed based on the current or predicted use of renewable energy by the respective nodes.
[0083] Another example (e.g., Example 5) involves a previously described example (e.g., one of Examples 1 to 4) or any example described herein, further including the blockchain-related computing activity involving at least one of: creating a zero-knowledge proof, verifying the zero-knowledge proof, and publishing the creation proof on the blockchain.
[0084] Another example (e.g., Example 6) relates to a previously described example (e.g., one of Examples 1-5) or any example described herein, further comprising the processor circuit being operable to execute the machine-readable instructions to delegate blockchain-related computing activities to another member of the node group based on a load of the group leader.
[0085] Another example (e.g., Example 7) relates to a previously described example (e.g., one of Examples 1-6) or any example described herein, further comprising the processor circuit being operable to execute the machine-readable instructions to delegate blockchain-related computing activities to another swarm member if the other swarm member surpasses the swarm leader according to the energy criteria.
[0086] Another example (e.g., Example 8) relates to a previously described example (e.g., one of Examples 1-7) or any example described herein, further including that the act of performing the blockchain-related computing activity includes recording the blockchain-related computing activity on a blockchain accessible to the node group.
[0087] Another example (e.g., Example 9) relates to a previously described example (e.g., Example 8) or any example described herein, further comprising the processor circuit being operable to execute the machine-readable instructions to record the blockchain-related computing activity on a blockchain using a key encryption key for recording the blockchain-related computing activity.
[0088] Another example (e.g., Example 10) relates to a previously described example (e.g., one of Examples 1 to 9) or any example described herein, further including that the act of delegating the blockchain-related computing activity includes sharing a key encryption key for recording the blockchain-related computing activity with the node in the node group to which the blockchain-related computing activity is delegated.
[0089] Another example (e.g., Example 11) involves a previously described example (e.g., one of Examples 1 to 10) or any example described herein, further including the processor circuit being used to execute the machine-readable instructions to nominate a successor to the group leader among the members of the node group based on the energy criteria.
[0090] Another example (e.g., Example 12) involves a previously described example (e.g., Example 11) or any example described herein, further including the processor circuit being used to execute the machine-readable instructions to cause the node to relinquish its role as group leader and transfer the group leadership qualification to the successor.
[0091] Another example (e.g., Example 13) involves a previously described example (e.g., one of Examples 11 to 12) or any example described herein, further including the processor circuit being used to execute the machine-readable instructions to further nominate a successor to the group leader among the members of the node group based on the instantaneous network reliability criteria.
[0092] Another example (e.g., Example 14) involves a previously described example (e.g., one of Examples 1 to 13) or any example described herein, further including the processor circuit being used to execute the machine-readable instructions to remove group members from the node group based on criteria.
[0093] Another example (e.g., Example 15) relates to a previously described example (e.g., Example 14) or any example described herein, further including the criterion being one of: the energy criterion, the instantaneous network reliability criterion, and the group participation reliability criterion.
[0094] Another example (e.g., Example 16) relates to a previously described example (e.g., one of Examples 1-15) or any example described herein, further comprising the processor circuitry being operable to execute the machine-readable instructions to cause the node to relinquish its role as group leader based on a review of the group leader's activities on at least one blockchain by one or more other members of the group.
[0095] Another example (e.g., Example 17) involves a previously described example (e.g., one of Examples 1 to 16) or any example described herein, further including the processor circuit being used to execute the machine-readable instructions to communicate on behalf of the node group with one or more additional nodes outside the node group.
[0096] Another example (e.g., Example 18) involves a previously described example (e.g., one of Examples 1 to 17) or any example described herein, further including group membership in the node group being authenticated based on a group public key and based on a member-specific membership private key.
[0097] Another example (e.g., Example 19) involves a previously described example (e.g., Example 18) or any example described herein, further including group membership in the node group being authenticated using an enhanced privacy identifier (EPID), and wherein group members join the node group using an EPID join protocol and are removed from the node group using EPID membership revocation.
[0098] Another example (e.g., Example 20) relates to a previously described example (e.g., one of Examples 1 to 19) or any example described herein, further including at least one of the group leader and one or more group members being excluded from one or more predefined transactions based on a policy.
[0099] Another example (eg, Example 21) relates to a previously described example (eg, Example 20) or any example described herein, further including that the policy is based on the energy criterion.
[0100] An example (e.g., Example 22) relates to an apparatus (20) for a group member (100-X) of a node group (100) of a blockchain network (105), the apparatus comprising interface circuitry (22), machine-readable instructions (26a), and processor circuitry (24) that executes the machine-readable instructions to obtain information about blockchain-related computing activities performed or delegated by a group leader of the node group, obtain information about a record of the blockchain-related computing activities by the group leader (100-L) or a representative (100-D) of the node group, and trust the blockchain-related computing activities based on the record.
[0101] Another example (e.g., Example 23) relates to a previously described example (e.g., Example 22) or any example described herein, further comprising the processor circuit being operable to execute the machine-readable instructions to obtain information about further blockchain-related computing activities to be performed, obtain instructions from the group leader to perform the further blockchain-related computing activities, and perform the further blockchain-related computing activities according to the instructions.
[0102] Another example (e.g., Example 24) relates to a previously described example (e.g., Example 23) or any example described herein, further including the processor circuit being operable to execute the machine-readable instructions to provide the group leader with information about at least one of the energy efficiency of the group members when performing blockchain-related computing activities, information about the group members' use of renewable energy, and information about the group members' instantaneous network reliability, and obtaining instructions to perform the further blockchain-related computing activities in response to the provided information.
[0103] Another example (e.g., Example 25) involves a previously described example (e.g., one of Examples 23-24) or any example described herein, further including the processor circuit being configured to execute the machine-readable instructions to obtain a key encryption key for recording blockchain-related computing activities from the group leader, and recording the blockchain-related computing activities on the blockchain using the key encryption key for recording blockchain-related computing activities.
[0104] Another example (e.g., Example 26) relates to a previously described example (e.g., one of Examples 22 to 25) or any example described herein, further including the processor circuit being used to execute the machine-readable instructions to obtain information about a group node nominated as a successor to the group leader, and having that member of the group serve as the leader of the node group.
[0105] Another example (e.g., Example 27) involves a previously described example (e.g., Example 26) or any example described herein, further including the processor circuit being used to execute the machine-readable instructions to cause the node of the group to serve as the leader of the node group based on energy criteria.
[0106] Another example (e.g., Example 28) relates to a previously described example (e.g., one of Examples 22-27) or any of the examples described herein, further comprising the processor circuitry being operable to execute the machine-readable instructions to audit the group leader's activity on at least one blockchain, and to share information about the audit with other members of the node group.
[0107] Another example (e.g., Example 29) involves a previously described example (e.g., one of Examples 22 to 28) or any example described herein, further including group membership in the node group being authenticated based on a group public key and based on a member-specific membership private key.
[0108] Another example (e.g., Example 30) relates to a previously described example (e.g., Example 29) or any example described herein, further including group membership in the node group being authenticated using an enhanced privacy identifier (EPID), and wherein group members join the node group using an EPID join protocol and are removed from the node group using EPID membership revocation.
[0109] Another example (e.g., Example 31) relates to a previously described example (e.g., one of Examples 22 to 30) or any example described herein, further including at least one of the group leader and one or more group members being excluded from one or more predefined transactions based on a policy.
[0110] Another example (eg, Example 32) relates to a previously described example (eg, Example 31) or any example described herein, further including that the policy is based on the energy criterion.
[0111] An example (e.g., Example 33) relates to an apparatus (10) for a group leader (100-L) of a node group (100) of a blockchain network (105), the apparatus comprising a processor circuit configured to manage membership of nodes of the blockchain network in the node group. The processor circuit is configured to perform or delegate blockchain-related computing activities on behalf of the node group according to an energy criterion.
[0112] An example (e.g., Example 34) relates to an apparatus (20) for a group member (100-X) of a node group (100) of a blockchain network (105), the apparatus comprising a processor circuit (24) configured to obtain information about blockchain-related computing activities performed or delegated by a group leader of the node group. The processor circuit is configured to obtain information about a record of the blockchain-related computing activities by a group leader (100-L) or a representative (100-D) of the node group. The processor circuit is configured to trust the blockchain-related computing activities based on the record.
[0113] An example (e.g., Example 35) relates to a device (10) for a group leader (100-L) of a node group (100) of a blockchain network (105), the device including means (14) for processing to manage membership of nodes of the blockchain network in the node group. The device (10) includes means for processing to perform or delegate blockchain-related computing activities on behalf of the node group according to an energy standard.
[0114] An example (e.g., Example 36) relates to a device (20) for a group member (100-X) of a node group (100) of a blockchain network (105), the device comprising means (24) for processing to obtain information about blockchain-related computing activities performed or delegated by a group leader of the node group. The means for processing is configured to obtain information about a record of the blockchain-related computing activities by the group leader (100-L) or a representative (100-D) of the node group. The means for processing is configured to trust the blockchain-related computing activities based on the record.
[0115] An example (e.g., Example 37) relates to a method for a group leader (100-L) of a node group (100) of a blockchain network (105), the method comprising managing (130) membership of nodes of the blockchain network in the node group. The method comprises executing (140) or delegating (150) blockchain-related computing activities on behalf of the node group according to an energy criterion.
[0116] Another example (e.g., Example 38) relates to a previously described example (e.g., Example 37) or any example described herein, further including the method comprising having a node serve as a leader of the node group (110) based on the energy criteria.
[0117] Another example (e.g., Example 39) relates to a previously described example (e.g., one of Examples 37-38) or any example described herein, further including the method comprising delegating (150) blockchain-related computing activities to another member of the node group based on the load of the group leader.
[0118] Another example (e.g., Example 40) relates to a previously described example (e.g., one of Examples 37 to 39) or any example described herein, further including the method comprising delegating (150) blockchain-related computing activities to another swarm member if the other swarm member surpasses the swarm leader according to the energy criterion.
[0119] Another example (e.g., Example 41) relates to a previously described example (e.g., one of Examples 37 to 40) or any example described herein, further including that the act of performing the blockchain-related computing activity includes recording (145) the blockchain-related computing activity on a blockchain accessible to the node group.
[0120] Another example (e.g., Example 42) relates to a previously described example (e.g., Example 41) or any example described herein, further including the method comprising recording (145) the blockchain-related computing activity on a blockchain using a key encryption key for recording the blockchain-related computing activity.
[0121] Another example (e.g., Example 43) relates to a previously described example (e.g., one of Examples 37 to 42) or any example described herein, further including that the act of delegating the blockchain-related computing activity includes sharing (155) a key encryption key for recording the blockchain-related computing activity with the node in the node group to which the blockchain-related computing activity is delegated.
[0122] Another example (e.g., Example 44) relates to a previously described example (e.g., one of Examples 37 to 43) or any example described herein, further including the method comprising nominating (160) a successor to the group leader among members of the node group based on the energy criterion.
[0123] Another example (e.g., Example 45) relates to a previously described example (e.g., Example 44) or any example described herein, further including the method comprising causing the node to relinquish (170) as group leader and transferring (175) the group leader qualification to the successor.
[0124] Another example (e.g., Example 46) relates to a previously described example (e.g., one of Examples 44 to 45) or any example described herein, further including the method comprising nominating (160) a successor to the group leader among members of the node group based on an instantaneous network reliability criterion.
[0125] Another example (e.g., Example 47) relates to a previously described example (e.g., one of Examples 37 to 46) or any example described herein, further including the method comprising causing the node to relinquish (170) as the group leader based on a review of the group leader's activities on at least one blockchain by one or more other members of the group.
[0126] Another example (e.g., Example 48) relates to a previously described example (e.g., one of Examples 37 to 47) or any example described herein, further including the method comprising removing (180) a group member from the node group based on a criterion.
[0127] Another example (e.g., Example 49) relates to a previously described example (e.g., Example 48) or any example described herein, further including the criterion being one of: the energy criterion, the instantaneous network reliability criterion, and the group participation reliability criterion.
[0128] Another example (e.g., Example 50) relates to a previously described example (e.g., one of Examples 37 to 49) or any example described herein, further including the method comprising communicating on behalf of the node group with one or more additional nodes outside the node group (120).
[0129] An example (e.g., Example 51) relates to a method for a group member (100-X) of a node group (100) of a blockchain network (105), the method comprising obtaining (210) information about blockchain-related computing activities performed or delegated by a group leader of the node group. The method comprises obtaining (212) information about a record of the blockchain-related computing activities by a group leader (100-L) or a representative (100-D) of the node group. The method comprises trusting (214) the blockchain-related computing activities based on the record.
[0130] Another example (e.g., Example 52) relates to a previously described example (e.g., Example 51) or any example described herein, further including the method comprising obtaining (230) information about further blockchain-related computing activities to be performed, obtaining (232) instructions from the group leader to perform the further blockchain-related computing activities, and performing (234) the further blockchain-related computing activities according to the instructions.
[0131] Another example (e.g., Example 53) relates to a previously described example (e.g., Example 52) or any example described herein, further including the method comprising providing (220) to the group leader information about at least one of the energy efficiency of the group members when performing blockchain-related computing activities, information about the group members' use of renewable energy, and information about the group members' instantaneous network reliability, and obtaining (232) the instructions to perform the further blockchain-related computing activities in response to the provided information.
[0132] Another example (e.g., Example 54) relates to a previously described example (e.g., one of Examples 52 to 53) or any example described herein, further including the method comprising obtaining (236) a key encryption key for recording blockchain-related computing activities from the group leader, and recording (238) the blockchain-related computing activities on the blockchain using the key encryption key for recording blockchain-related computing activities.
[0133] Another example (e.g., Example 55) relates to a previously described example (e.g., one of Examples 51 to 54) or any example described herein, further including the method comprising obtaining (240) information about a group member nominated as a successor to the group leader, and having the member of the group serve (260) as the leader of the node group.
[0134] Another example (e.g., Example 56) relates to a previously described example (e.g., Example 55) or any example described herein, further including the method comprising having the member of the group serve as (260) a leader of the node group based on an energy criterion.
[0135] Another example (e.g., Example 57) relates to a previously described example (e.g., one of Examples 51 to 56) or any example described herein, further including that the method includes auditing (250) the group leader's activity on at least one blockchain and sharing information about the audit with other members of the node group.
[0136] An example (e.g., Example 58) relates to a computer system (100) comprising an apparatus (10) or device (10) according to one of Examples 1 to 21, 33, or 35 (or according to any other example), wherein the computer system is a group leader of the node group.
[0137] An example (e.g., Example 59) relates to a computer system (100) configured to perform a method as described in one of Examples 37 to 50 (or according to any other example), wherein the computer system is a group leader of the node group.
[0138] An example (e.g., Example 60) relates to a computer system (200) comprising an apparatus (20) or device (20) according to one of Examples 22 to 32, 34, or 36 (or according to any other example), wherein the computer system is a group member of the node group.
[0139] An example (e.g., Example 61) relates to a computer system (200) configured to perform a method as described in one of Examples 51 to 57 (or according to any other example), wherein the computer system is a group leader of the node group.
[0140] An example (e.g., Example 62) relates to a system comprising a computer system (100) according to one of Examples 58 or 59 (or according to any other example) as a group leader and comprising one or more computer systems (200) according to one of Examples 60 or 61 (or according to any other example) as group members.
[0141] An example (e.g., Example 63) relates to a non-transitory machine-readable storage medium comprising program code that, when executed, causes a machine to perform a method as described in one of Examples 37 to 50 (or according to any other example) or a method as described in one of Examples 51 to 57 (or according to any other example).
[0142] An example (e.g., Example 64) relates to a computer program having program code for performing a method as described in one of Examples 37 to 50 (or according to any other example) or a method as described in one of Examples 51 to 57 (or according to any other example) when the computer program is executed on a computer, a processor, or a programmable hardware component.
[0143] An example (e.g., Example 65) relates to a machine-readable storage device comprising machine-readable instructions that, when executed, implement a method as claimed in any pending claim or shown in any example or implement an apparatus as claimed in any pending claim or shown in any example.
[0144] The aspects and features described herein with respect to a particular one of the preceding examples may also be combined with one or more other examples to replace the same or similar features of the other examples or to introduce features additionally into the other examples.
[0145] Example can also be or can relate to (computer) program, and this program includes program code, to perform one or more in the above-mentioned method when this program is executed on computer, processor or other programmable hardware component.Thus, the step, operation or process of the different methods described above also can be performed by programmed computer, processor or other programmable hardware component.Example can also cover program storage device, for example digital data storage medium, they are machine, processor or computer readable and encode and / or comprise machine executable, processor executable or computer executable instruction and program.Program storage device can include or can be for example digital storage device, magnetic storage medium such as disk and tape, hard disk drive or optical readable digital data storage medium. Other examples may also include a computer, a processor, a control unit, a (field) programmable logic array ((F)PLA), a (field) programmable gate array ((F)PGA), a graphics processor unit (GPU), an application-specific integrated circuit (ASIC), an integrated circuit (IC), or a system-on-a-chip (SoC) system programmed to perform the steps of the above method.
[0146] It is also understood that the disclosure of several steps, processes, operations, or functions disclosed in the specification or claims should not be interpreted as implying that these operations must follow the described order, unless explicitly stated in the individual case or necessary for technical reasons. Therefore, the previous description does not limit the performance of several steps or functions to a certain order. Moreover, in other examples, a single step, function, process, or operation may include and / or be decomposed into several sub-steps, sub-functions, sub-processes, or sub-operations.
[0147] If aspects are described in relation to an apparatus or system, those aspects should also be understood as descriptions of corresponding methods. For example, a block, device, or functional aspect of the apparatus or system may correspond to a feature of a corresponding method, such as a method step. Thus, aspects described in relation to a method should also be understood as descriptions of the corresponding block, element, attribute, or functional feature of the corresponding apparatus or system.
[0148] As used herein, the term "module" refers to logic that can be implemented in a hardware component or device, software or firmware running on a processing unit, or a combination of these to perform one or more operations consistent with the present disclosure. Software and firmware can be embodied as instructions and / or data stored on a non-transitory computer-readable storage medium. As used herein, the term "circuit" can include, alone or in any combination, non-programmable (hard-wired) circuits, programmable circuits (e.g., processing units), state machine circuits, and / or firmware that stores instructions that can be executed by programmable circuits. The modules described herein can be embodied collectively or individually as circuits that form part of a computing system. Thus, any module can be implemented as a circuit. A computing system that is referred to as being programmed to perform a method can be programmed to perform the method via software, hardware, firmware, or a combination thereof.
[0149] Any disclosed method (or portion thereof) may be implemented as computer-executable instructions or a computer program product. Such instructions may cause a computing system or one or more processing units capable of executing computer-executable instructions to perform any disclosed method. As used herein, the term "computer" refers to any computing system or device described or mentioned herein. Thus, the term "computer-executable instructions" refers to instructions that can be executed by any computing system or device described or mentioned herein.
[0150] Computer-executable instructions can be, for example, part of an operating system of a computing system, an application stored locally on the computing system, or a remote application accessible to the computing system (e.g., via a web browser). Any of the methods described herein can be performed by computer-executable instructions that are executed by a single computing system or by one or more networked computing systems operating in a network environment. Computer-executable instructions and updates to computer-executable instructions can be downloaded from a remote server to a computing system.
[0151] Furthermore, it should be understood that the implementation of the disclosed techniques is not limited to any specific computer language or program. For example, the disclosed techniques can be implemented by software written in C++, C#, Java, Perl, Python, JavaScript, Adobe Flash, C#, assembly language, or any other programming language. Similarly, the disclosed techniques are not limited to any particular computer system or any specific type of hardware.
[0152] Furthermore, any software-based examples (including, for example, computer-executable instructions for causing a computer to perform any disclosed method) can be uploaded, downloaded, or remotely accessed via any suitable communication means, including, for example, the Internet, the World Wide Web, an intranet, cables (including fiber optic cables), magnetic communications, electromagnetic communications (including RF, microwave, ultrasonic, and infrared communications), electronic communications, or other such communications means.
[0153] The disclosed methods, apparatus, and systems should not be construed as limiting in any way. Rather, the present disclosure is directed to all novel and non-obvious features and aspects of the various disclosed examples, whether alone or in various combinations and sub-combinations with each other. The disclosed methods, apparatus, and systems are not limited to any specific aspect or feature or combination thereof, and the disclosed examples do not require that any one or more specific advantages must exist or that any one or more specific problems must be solved.
[0154] The theories of operation, scientific principles, or other theoretical descriptions presented herein when referring to the devices or methods of the present disclosure are provided for better understanding and are not intended to be limiting in scope. The devices and methods in the appended claims are not limited to those devices and methods that operate in the manner described by such theories of operation.
[0155] The following claims are hereby incorporated into the detailed description, where each claim may stand on its own as a separate example. It should also be noted that although a dependent claim may be cited in a particular combination with one or more other claims, other examples may include combinations of the dependent claim with the subject matter of any other dependent or independent claim. Such combinations are expressly set forth herein unless a particular combination is stated to be undesirable in an individual case. Furthermore, features of a claim should also be included for any other independent claim, even if that claim is not directly defined as dependent upon that other independent claim.
Claims
1. A device for a group leader of a node group of a blockchain network, the device comprising an interface circuit, a machine-readable instruction, and a processor circuit, the processor circuit being configured to execute the machine-readable instruction to: Managing membership of nodes of the blockchain network in the node group; Execute or delegate blockchain-related computing activities on behalf of the node group according to energy standards.
2. The device according to claim 1, wherein: The processor circuit is used to execute the machine-readable instructions to: allow a node to serve as a leader of the node group based on the energy standard.
3. The device according to claim 1, wherein: The energy standard is based on at least one of: an amount of energy required by a node to perform blockchain-related computing activities, and usage of renewable energy by nodes of the node group.
4. The device according to claim 3, wherein: The use of renewable energy by nodes varies over time, wherein the act of performing or delegating blockchain-related computing activities on behalf of the group of nodes is performed based on the current or predicted use of renewable energy by the individual nodes.
5. The device according to claim 1, wherein: The blockchain-related computing activity involves at least one of: creating a zero-knowledge proof, verifying a zero-knowledge proof, and publishing a creation proof on a blockchain.
6. The device according to claim 1, wherein: The processor circuit is configured to execute the machine-readable instructions to delegate blockchain-related computing activities to another member of the node group based on a load of the group leader.
7. The device according to claim 1, wherein: The processor circuit is configured to execute the machine-readable instructions to delegate blockchain-related computing activities to another swarm member if the other swarm member surpasses the swarm leader according to the energy criteria.
8. The device according to claim 1, wherein: The act of executing the blockchain-related computing activity includes: recording the blockchain-related computing activity on a blockchain accessible to the node group.
9. The device according to claim 8, wherein: The processor circuit is used to execute the machine-readable instructions to: record the blockchain-related computing activity on a blockchain using a key encryption key used to record the blockchain-related computing activity.
10. The device according to claim 1, wherein: The act of delegating the blockchain-related computing activity includes: sharing a key encryption key used to record the blockchain-related computing activity with the node in the node group to which the blockchain-related computing activity is delegated.
11. The device according to claim 1, wherein: The processor circuit is configured to execute the machine-readable instructions to nominate a successor to a group leader among members of the group of nodes based on the energy criteria.
12. The device according to claim 1, wherein: The processor circuit is configured to execute the machine-readable instructions to remove a group member from the node group based on a criterion.
13. The device according to claim 12, wherein: The criterion is one of: the energy criterion, the instantaneous network reliability criterion, and the group participation reliability criterion.
14. The device according to claim 1, wherein: The processor circuit is configured to execute the machine-readable instructions to cause the node to relinquish status as a group leader based on a review of the group leader's activities on at least one blockchain by one or more other members of the group.
15. The device according to claim 1, wherein: The processor circuit is configured to execute the machine-readable instructions to communicate on behalf of the group of nodes with one or more additional nodes outside of the group of nodes.
16. The device according to claim 1, wherein Group membership in the group of nodes is authenticated based on a group public key and based on a member specific membership private key.
17. A device for a group member of a node group of a blockchain network, the device comprising an interface circuit, a machine-readable instruction, and a processor circuit, the processor circuit being configured to execute the machine-readable instruction to: obtaining information about blockchain-related computing activities being performed or delegated by a group leader of the group of nodes; Obtaining information about a record of computing activities related to the blockchain by a group leader or representative of the node group; and Trusting the blockchain-related computing activities based on the records.
18. The device according to claim 17, wherein: The processor circuit is used to execute the machine-readable instructions to: obtain information about further blockchain-related computing activities to be performed, obtain instructions from the group leader to perform the further blockchain-related computing activities, and perform the further blockchain-related computing activities according to the instructions.
19. A method for group leadership of a node group of a blockchain network, the method comprising: Managing membership of nodes of the blockchain network in the node group; Execute or delegate blockchain-related computing activities on behalf of the node group according to energy standards.
20. The method according to claim 19, further comprising: A node is made a leader of the node group according to the energy standard.
21. The method of claim 19, further comprising: Delegating blockchain-related computing activities to another member of the node group based on the load of the group leader.
22. The method of claim 19, further comprising: Delegating blockchain-related computing activities to another swarm member if the other swarm member surpasses the swarm leader according to the energy criteria.
23. The method according to claim 19, wherein: The act of performing the blockchain-related computing activity includes recording the blockchain-related computing activity on a blockchain accessible to the node group.
24. The method of claim 19, further comprising: The blockchain-related computing activity is recorded on the blockchain using a key encryption key for recording the blockchain-related computing activity.
25. A non-transitory machine-readable storage medium comprising a program code, which, when executed, causes a machine to perform the method of any one of claims 19-24.