Improved blockchain governance system and method
The simplified blockchain governance system uses intuitive user interfaces to streamline proposal creation and voting, addressing the complexity of existing blockchain voting processes and enhancing user accessibility.
Patent Information
- Application Number
- PCT/US2025/039465
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-30
- Filing Date
- 2025-07-28
- Publication Date
- 2026-02-05
AI Technical Summary
Voting in blockchain systems is challenging due to the complexity and unintuitive nature of the process, requiring specialized knowledge of commands and many unobvious steps.
A simplified governance system and method that uses user interfaces with drop-down boxes and logical flows to facilitate proposal creation, delegate selection, and voting, replacing archaic commands with intuitive interfaces.
Enables a broader range of users to participate in blockchain voting by simplifying the process, making it more accessible and user-friendly.
Smart Images

Figure US2025039465_05022026_PF_FP_ABST
Abstract
Description
IMPROVED BLOCKCHAIN GOVERNANCE SYSTEM AND METHODCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 677,358, file July 30, 2024, the disclosures of which are hereby incorporated by reference herein.BACKGROUND
[0002] Voting in Blockchain systems is difficult. In concept, people who have been delegated rights can create proposals and vote on proposals. In reality, the process is unnecessarily challenging and unintuitive as the process requires knowledge of commands and steps which are not obvious and require many unobvious steps and specialized knowledge of the inner workings of the blockchain.SUMMARY
[0003] Disclosed is a system and method to simplify the governance of blockchains. In one embodiment, a method of governing a blockchain may be disclosed. The system and method may determining that a blockchain user has appropriate right to transfer. In response to determining that the blockchain user has appropriate rights to transfer, the system and method may allow a user to select a voting delegate to place votes for the blockchain user using a delegate selection user interface. The delegate may be selected from a display of available delegates along with the information about the delegates such as the current rights of the delegate. If a delegate does not have the rights to vote, steps, which may be hyperlinks, may be displayed such that the delegate may obtain the rights to vote. The voting delegate may then be displayed a proposal user interface for the voting delegate to create a proposal. There may be a plurality of proposal types and the proposals may be selected from a list of proposal ty pes. The proposal may be distributed to members the blockchain for voting delegates to vote upon using a voting user interface. The status of the votes for the proposal may be displayed to the voting delegates of the blockchain in a proposal status user interface. After a set period of time, the system and method may count the votes to determine if the proposal is approved or denied and the results may be displayed to the members of the blockchain using the proposal status user interface.BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Fig. 1 may illustrate a sample welcome user interface;
[0005] Fig. 2 may illustrate a delegate user interface;
[0006] Fig. 3 may illustrate a manage delegation interface;
[0007] Fig. 4 may illustrate a user interface of delegates that are available;
[0008] Fig. 5 may illustrate a proposal creation user interface;
[0009] Fig. 6 may illustrate a proposal creation user interface;
[0010] Fig. 7 may illustrate a proposal creation user interface;
[0011] Fig. 8 may illustrate a proposal creation user interface;
[0012] Fig. 9 may illustrate a voting on a proposal user interface;
[0013] Fig. 10 may illustrate a voting on a proposal user interface;
[0014] Fig. 11 may illustrate a sample computing device used by the system and method; and
[0015] Fig. 12 may illustrate a sample logical flow of the system and method.
[0016] Persons of ordinary' skill in the art will appreciate that elements in the figures are illustrated for simplicity and clarity so not all connections and options have been shown to avoid obscuring the inventive aspects. For example, common but well-understood elements that are useful or necessary' in a commercially' feasible embodiment are not often depicted in order to facilitate a less obstructed view of these various embodiments of the present disclosure. It will be further appreciated that certain actions and / or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity' with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein are to be defined with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein. All dimensions specified in this disclosure may be by way of example only and are not intended to be limiting. Further, the proportions shown in these Figures may not be necessarily to scale. As will be understood, the actual dimensions and proportions of any system, any device or part of a system or device disclosed in this disclosure may be determined by its intended use.SPECIFICATION
[0017] Persons of ordinary' skill in the art will appreciate that elements in the figures are illustrated for simplicity and clarity' so not all connections and options have been shown to avoid obscuring the inventive aspects. For example, common but well-understood elements that are useful or necessary' in a commercially feasible embodiment are not often depicted inorder to facilitate a less obstructed view of these various embodiments of the present disclosure. It will be further appreciated that certain actions and / or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein are to be defined with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein. All dimensions specified in this disclosure may be by way of example only and are not intended to be limiting. Further, the proportions shown in these Figures may not be necessarily to scale. As will be understood, the actual dimensions and proportions of any system, any device or part of a system or device disclosed in this disclosure may be determined by its intended use.
[0018] Voting in Blockchain systems is difficult. In concept, people who have been delegated rights can create proposals and vote on proposals. In reality, the process is unnecessarily challenging and unintuitive as the process requires knowledge of commands and steps which are not obvious and require many unobvious steps and specialized knowledge of the inner workings of the blockchain.
[0019] Disclosed is a system and method to simplify the governance of blockchains. In one embodiment, a method of governing a blockchain may be disclosed. The system and method may determining that a blockchain user has appropriate right to transfer. In response to determining that the blockchain user has appropriate rights to transfer, the system and method may allow a user to select a voting delegate to place votes for the blockchain user using a delegate selection user interface. The delegate may be selected from a display of available delegates along with the information about the delegates such as the current rights of the delegate. If a delegate does not have the rights to vote, steps, which may be hyperlinks, may be displayed such that the delegate may obtain the rights to vote. The voting delegate may then be displayed a proposal user interface for the voting delegate to create a proposal. There may be a plurality of proposal types and the proposals may be selected from a list of proposal types. The proposal may be distributed to members the blockchain for voting delegates to vote upon using a voting user interface. The status of the votes for the proposal may be displayed to the voting delegates of the blockchain in a proposal status user interface. After a set period of time, the system and method may count the votes to determine if the proposal is approved or denied and the results may be displayed to the members of the blockchain using the proposal status user interfaceTechnical problem
[0020] Currently, creating proposals, creating delegates and voting on the blockchain is a nightmare of characters and commands that require specific formats and naming conventions for the commands that are difficult to understand and use. An analogy7is DOS based computer systems which required the memorization of commands to search for files, change file names, move files, etc. Similar to the creation of icons and user interfaces which allow files to be dragged, dropped, renamed, etc., the present system and method replaces the archaic commands with user interfaces that have drop down boxes for easy selections, a logical flow to additional interfaces and an easy user interface to track the results of the votes on proposals. The user interfaces have been designed and created to improve the blockchain governance function for distributed autonomous organizations. As a result, many people may now participate in the blockchain voting process who could not do so in the past.
[0021] As for how this new functionality7is created, command commands for the blockchain are mapped to the user interface. For example, instead of having to know the commands and steps for creating a new proposal for the blockchain, the system and method may allow' the mere press of a button on a user interface to execute the necessary steps and commands in the proper order, in the proper format and at the proper time for the blockchain activity to be executed.
[0022] At a high level, the method and system may be implemented in a variety of ways such as the following layers in an implementation strategy.
[0023] 1. User Interface Layer
[0024] Purpose: Provide a clean, intuitive experience for users to create and submit proposals.
[0025] Features:
[0026] Form inputs for proposal title, description, role selection, and recipient address
[0027] Preview7of the transaction
[0028] Submit button to initiate the proposal
[0029] Status tracker (e.g.. pending, voting, executed)
[0030] 2. Proposal Logic Layer
[0031] Purpose: Translate user input into blockchain-compatible transactions.
[0032] Responsibilities:
[0033] Encode function calls (e.g., grantRole)
[0034] Validate inputs (e.g., role format, address validity)
[0035] Construct proposal payloads
[0036] Handle error feedback and confirmations
[0037] 3. Blockchain Interaction Layer
[0038] Purpose: Interface with smart contracts and wallets.
[0039] Responsibilities:
[0040] Connect to user wallet (e.g., MetaMask, WalletConnect)
[0041] Submit transactions to the blockchain
[0042] Monitor proposal lifecycle (e.g., voting, execution)
[0043] Handle gas estimation and transaction signing
[0044] 4. Security & Access Control
[0045] Purpose: Ensure only authorized users can propose or vote.
[0046] Features:
[0047] Role-based access (e.g., proposer, voter)
[0048] Signature verification
[0049] Rate limiting or proposal cooldowns
[0050] 5. Data Layer
[0051] Purpose: Store and retrieve proposal metadata.
[0052] Options:
[0053] On-chain storage (e.g., via events or mappings)
[0054] Off-chain indexing (e.g.. The Graph, custom backend)
[0055] IPFS or decentralized storage for rich content
[0056] Technologies that may be used:
[0057] Layer Technologies
[0058] UI React, Vue. Svelte
[0059] Logic TypeScript, JSON schemas
[0060] Blockchain ethers.js, web3.js, WalletConnect
[0061] Smart Contracts Solidity (Governor, AccessControl)
[0062] Storage IPFS, The Graph. Firebase. PostgreSQL
[0063] Hosting Vercel, Netlify, decentralized hosting
[0064] The conceptual flow of the implementation may follow the following steps:
[0065] User opens the app
[0066] Connects wallet
[0067] Fills out proposal form
[0068] App encodes and submits transaction
[0069] Blockchain processes proposal
[0070] UI updates with status and voting options
[0071] Methods and devices that may implement the embodiments of the various features of the invention will now be described with reference to the drawings. The drawings and the associated descriptions may be provided to illustrate embodiments of the invention and not to limit the scope of the invention. Reference in the specification to “one embodiment” or “an embodiment” may be intended to indicate that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least an embodiment of the invention. The appearances of the phrase “in one embodiment” or “an embodiment” in various places in the specification may not necessarily be referring to the same embodiment.
[0072] Throughout the drawings, reference numbers may be re-used to indicate correspondence between referenced elements. As used in this disclosure, except where the context requires otherwise, the term “comprise” and variations of the term, such as “comprising”, “comprises” and “comprised” may not be intended to exclude other additives, components, integers or steps.
[0073] In the following description, specific details may be given to provide a thorough understanding of the embodiments. However, it may be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. Well-known circuits, structures and techniques may not be show n in detail in order not to obscure the embodiments. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail.
[0074] Also, it is noted that the embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. The flowcharts and block diagrams in the figures may illustrate the architecture, functionality', and operation of possible implementations of systems, methods and computer programs according to various embodiments disclosed. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, that may include one or more executableinstructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures.
[0075] Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may be terminated when its operations are completed. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function. Additionally, each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
[0076] Moreover, a storage may represent one or more devices for storing data, including read-only memory (ROM), random access memory (RAM), magnetic disk storage mediums, optical storage mediums, flash memory devices and / or other non-transitory machine readable mediums for storing information. The term "machine readable medium" may include, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and various other non-transitory mediums capable of storing, comprising, containing, executing or earn ing instruction(s) and / or data.
[0077] Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary' tasks may be stored in a machine-readable medium such as a storage medium or other storage(s). One or more than one processor may perform the necessary tasks in series, distributed, concurrently or in parallel. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or a combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted through a suitable means including memory sharing, message passing, token passing, network transmission, etc. and are also referred to as an interface, where the interface is the point of interaction with software, or computer hardware, or with peripheral devices.
[0078] Referring to Fig. 12, one flow of a possible many flows is illustrated. Logically, the steps may be combined or placed in different order without deviating from the spirit of the method and system. At block 1200, a welcome user interface may be displayed. As part of the welcome user interface, a user may login with their blockchain credentials. As a result, only users with appropriate rights will be able to view and use the functionality in the system and method. The rights may be stored as tokens in some embodiments or may be stored on the blockchain. If the user does not have appropriate rights, at block 1205. the user may be presented with the options to obtain the necessary rights at block 1210. If the user has necessary' rights, the user interface such as in Fig. 1 may display information about the specific distributed autonomous organization (DAO) such as circulating supply, contacts and the ability to create a proposal or delegate rights.
[0079] At block 1215, a user may select ato appoint a voting delegate such as illustrated in Fig. 2. In some blockchains or decentralized autonomous organizations, a user may even have to delate voting rights to him / her self. The system and method notes there situations and reminds users that the delegation of rights may be necessary.
[0080] Fig. 3 may illustrate the options for managing delegation. As mentioned previously, a user may delegate to themselves. If a delegate is known, the delegate may be manually entered. If the delegate is not know n, a display such as in Fig. 4 may display delegates. In another aspect, a user may ask for others to delegate rights to them.
[0081] Referring to Fig. 4. some existing delegates may be illustrated. Additional information may also be displayed such as how many rights the delegate already has or what percent of the rights the delegate has. As a result of making delegation easier, the governance of the blockchain may be improved as people that may not being paying attention may delegate their votes to like minded or trusted individuals to vote for them.
[0082] Referring again to Fig. 12, at block 1220, as mentioned briefly in regard to Fig. 1, a user may also submit proposal to the group. A user may use drop down boxes to create the proposal. In the past, the process to create a proposal was complex and difficult. For example, to submit a governance proposal on the Ethereum blockchain, a user may typically follow the Ethereum Improvement Proposal (EIP) process. This may be the formal mechanism for proposing changes to the Ethereum protocol. Here's how it may work:
[0083] Step-by-Step: Submitting a Governance Proposal on Ethereum
[0084] 1. Draft an Ethereum Improvement Proposal (EIP)
[0085] Use the EIP-1 template as a starting point.
[0086] The EIP should include:
[0087] Preamble: EIP number, title, author, status, type, etc.
[0088] Abstract: A short summary of the proposal.
[0089] Motivation: Why this change is necessary.
[0090] Specification: Technical details of the change.
[0091] Rationale: Design decisions and trade-offs.
[0092] Backwards Compatibility . Any breaking changes.
[0093] Test Cases: If applicable.
[0094] Security Considerations: Risks and mitigations.
[0095] 2. Submit the EIP to GitHub
[0096] Fork the Ethereum EIPs repository.
[0097] Add your EIP as a new file under the EIPS directory.
[0098] Submit a Pull Request (PR) with your EIP.
[0099] 3. Engage in Community Discussion
[0100] Share your EIP on:
[0101] Ethereum Magicians Forum
[0102] Ethereum R&D Discord
[0103] Gather feedback and iterate on your proposal.
[0104] 4. Review by EIP Editors
[0105] Editors check for formatting, clarity, and completeness.
[0106] If accepted, your EIP status changes from Draft to Review.
[0107] 5. Core Developer Evaluation
[0108] Present your EIP on an AllCoreDevs call.
[0109] If accepted, it may be included in a future network upgrade.
[0110] 6. Implementation and Activation
[0111] If the EIP is approved, it is implemented in Ethereum clients.
[0112] It becomes active during a scheduled network upgrade (hard fork)
[0113] Example Command (for DAO-based on-chain governance)
[0114] If you're working with a DAO on Ethereum (e.g., using OpenZeppelin Governor contracts), you might use commands like:
[0115] 1 # Propose a governance action (e.g., calling a function on a contract)
[0116] 2 npx hardhat propose \
[0117] 3 -targets [contract_address] \
[0118] 4 -values [0] \
[0119] 5 -signatures ["functionName(type)"] \
[0120] 6 -calldatas ["encodedFunctionCall"] \
[0121] 7 -description "Proposal to execute functionName"
[0122] Fig. 5 may illustrate a user interface to submit a proposal in accordance with the method and system. There may be several proposals such as constitutional proposals like process modifications and protocol upgrades. In addition, non-constitutional proposals maybe proposals such as funding requests and informational proposals. If the type of proposals are not understood, a user may select an information icon to obtain more information about the proposal types.
[0123] Fig. 6 may illustrate a proposal creation user interface. The user may preview the proposal or save it for later. There may be different methods of the proposal. Fig. 6 may illustrate a new quorum numerator method. Fig. 7 may illustrate an additional create proposal interface with slightly different data being entered and where the method is to cancel transaction.
[0124] Fig. 8 may illustrate a create proposal with a grant role method. The options may be specific to granting a role such as the specific role to be granted or the account to receive the grant. In the past, creating these different proposals was a technical challenge as blockchain commands were difficult to know and understand while the described system and method simplifies the entire process. At block 1225, the proposal may be distributed to the blockchain for approval.
[0125] Below may be the same process for creating a proposal to grant a role without using the described system and method. A user may need:
[0126] A deployed Governor contract
[0127] A TimelockController (if used)
[0128] A target contract that implements AccessControl (i.e.. has grantRole)
[0129] Sufficient governance tokens to propose
[0130] Step 1 : Encode the grantRole Call
[0131] Use ethers.js or web3.js to encode the function call:
[0132] 1 Const iface = new ethers. utils. Interface(["function grantRole(bytes32 role, address account)"]);
[0133] 2 Const data = iface.encodeFunctionData("grantRole", [roleHash, targetAddress]):
[0134] roleHash: Use ethers. utils. keccak256(ethers. utils. toUtf8Bytes("ROLE_NAME"))
[0135] targetAddress: The address to receive the role
[0136] Step 2: Submit the Proposal
[0137] Using Hardhat or Foundry, submit the proposal via the Governor contract:
[0138] 1 npx hardhat run scripts / propose.js -network mainnet
[0139] Example propose.js:
[0140] 1 const { ethers } = require("hardhat");
[0141] 2
[0142] 3 async function main() {
[0143] 4 const governor = await ethers.getContractAt("Govemor", govemorAddress);
[0144] 5 const target = targetContractAddress;
[0145] 6 const value = 0;
[0146] 7 const calldata = encodedGrantRoleCall;
[0147] 8 const description = "Proposal to grant ROLE_NAME to 0x123...";
[0148] 9
[0149] 10 const tx = await govemor.propose(
[0150] 11 [target],
[0151] 12 [value],
[0152] 13 [calldata],
[0153] 14 description
[0154] 15 );
[0155] 16
[0156] 17 console.log("Proposal submitted:", tx.hash);
[0157] 18 }
[0158] Step 3: Voting and Execution
[0159] 1. Voting Delay: Wait for the delay period.
[0160] 2. Vote: Token holders vote on the proposal.
[0161] 3. Queue: If passed, queue the proposal (if using Timelock).
[0162] 4. Execute: After the timelock, execute the proposal.
[0163] 1 npx hardhat run scripts / queue.js
[0164] 2 npx hardhat run scri pts / execute .js
[0165] Example Role Grant
[0166] bytes32 public constant MODERATOR ROLE = keccak256("MODERATOR_ROLE");
[0167] To grant this role to OxAbC...:
[0168] const role = ethers. utils. keccak256(ethers.utils.toUtf8Bytes("MODERATOR_ROLE"));
[0169] const account = "OxAbC...";
[0170] Fig. 9 may illustrate a user interface when a proposal is received, in this case, onProposal 2. The proposal also may have an id. The user may select to vote on a proposal byselecting a button on the user interface. By verifying users in advance, the system and method may ensure only users with appropriate rights will be able to vote. In addition, if the requirements to vote are not met, a user may be able to follow prompts and links to take the necessary steps to be able to have the rights to vote. Fig. 10 may illustrate a user interface when a vote has been cast by a user. Referring to Fig. 12 again, at block 1230, the status of the voting on the various open and closed proposals may be displayed in a user interface.
[0171] The proposals may only accept votes for a period of time. Once the time is complete, at block 1235, the votes may tallied and the system and method may determine if the vote totals in favor of the proposal are over a threshold. If the proposal is denied, the denial may be displayed at block 1240 and if the proposal is approved, the approval may be displayed at block 1245 on a user interface.
[0172] Computing devices are used through the method and system. As shown in Fig. 1 1, the computing device 401 that executes the method may include a processor 402 that is coupled to an interconnection bus. The processor 402 may include a register set or register space 404, which is depicted in Fig. 11 as being entirely on-chip, but which could alternatively be located entirely or partially off-chip and directly coupled to the processor 402 via dedicated electrical connections and / or via the interconnection bus. The processor 402 may be any suitable processor, processing unit or microprocessor. Although not shown in Fig. 11, the computing device 401 may be a multi-processor device and, thus, may include one or more additional processors that are identical or similar to the processor 402 and that are communicatively coupled to the interconnection bus.
[0173] The processor 402 of Fig. 11 may be coupled to a chipset 406, which includes a memory controller 408 and a peripheral input / output (I / O) controller 410. As is well known, a chipset may typically provide I / O and memory’ management functions as well as a plurality’ of general purpose and / or special purpose registers, timers, etc. that are accessible or used by one or more processors coupled to the chipset 406. The memory controller 408 may' perform functions that enable the processor 402 (or processors if there are multiple processors) to access a system memory 412 and a mass storage memory 414, that may include either or both of an in-memory cache (e.g.. a cache within the memory 412) or an on-disk cache (e.g., a cache within the mass storage memory' 414).
[0174] The system memory' 412 may include any desired ty pe of volatile and / or non-volatile memory such as, for example, static random access memory' (SRAM), dynamic random access memory (DRAM), flash memory, read-only memory (ROM), etc. The mass storage memory 414 may include any desired type of mass storage device. For example, thecomputing device 401 may be used to implement a module 416 (e.g., the various modules as herein described). The mass storage memory 414 may include a hard disk drive, an optical drive, a tape storage device, a solid-state memory (e.g., a flash memory, a RAM memory, etc.), a magnetic memory (e.g., a hard drive), or any other memory suitable for mass storage. As used herein, the terms module, block, function, operation, procedure, routine, step, and method refer to tangible computer program logic or tangible computer executable instructions that provide the specified functionality to the computing device 401, the systems and methods described herein. Thus, a module, block, function, operation, procedure, routine, step, and method can be implemented in hardware, firmware, and / or software.
[0175] In one embodiment, program modules and routines may be stored in mass storage memory 414. loaded into system memory 412, and executed by a processor 402 or may be provided from computer program products that are stored in tangible computer-readable storage mediums (e.g. RAM, hard disk, optical / magnetic media, etc.).
[0176] The peripheral I / O controller 410 may perform functions that enable the processor 402 to communicate with a peripheral input / output (I / O) device 424, a network interface 426, a local network transceiver 428, (via the network interface 426) via a peripheral I / O bus. The I / O device 424 may be any desired type of I / O device such as, for example, a keyboard, a display (e.g., a liquid cry stal display (LCD), a cathode ray tube (CRT) display, etc.), a navigation device (e.g., a mouse, a trackball, a capacitive touch pad, a joystick, etc ), etc. The I / O device 424 may be used with the module 416. etc., to receive data from the transceiver 428, send the data to the components of the system 100, and perform any operations related to the methods as described herein. The local network transceiver 428 may include support for a Wi-Fi network, Bluetooth, Infrared, cellular, or other wireless data transmission protocols. In other embodiments, one element may simultaneously support each of the various wireless protocols employed by the computing device 401. For example, a software- defined radio may be able to support multiple protocols via downloadable instructions. In operation, the computing device 401 may be able to periodically poll for visible wireless network transmitters (both cellular and local network) on a periodic basis. Such polling may be possible even while normal wireless traffic is being supported on the computing device 401. The network interface 426 may be, for example, an Ethernet device, an asynchronous transfer mode (ATM) device, an 802.11 wireless interface device, a DSL modem, a cable modem, a cellular modem, etc., that enables the system 100 to communicate with another computer system having at least the elements described in relation to the system 100.
[0177] While the memory controller 408 and the I / O controller 410 are depicted in Fig. 11 as separate functional blocks within the chipset 406, the functions performed by these blocks may be integrated within a single integrated circuit or may be implemented using two or more separate integrated circuits. The computing environment 400 may also implement the module 416 on a remote computing device 430. The remote computing device 430 may communicate with the computing device 401 over an Ethernet link 432. In some embodiments, the module 416 may be retrieved by the computing device 401 from a cloud computing server 434 via the Internet 436. When using the cloud computing server 434, the retrieved module 416 may be programmatically linked with the computing device 401. The module 416 may be a collection of various software playgrounds including artificial intelligence software and document creation software or may also be a Java® applet executing within a Java® Virtual Machine (JVM) environment resident in the computing device 401 or the remote computing device 430. The module 416 may also be a “plug-in” adapted to execute in a web-browser located on the computing devices 401 and 430. In some embodiments, the module 416 may communicate with back end components 438 via the Internet 436.
[0178] The system 400 may include but is not limited to any combination of a LAN, a MAN, a WAN, a mobile, a wired or wireless network, a private network, or a virtual private network. Moreover, while only one remote computing device 430 is illustrated in Fig. 6 to simplify and clarify the description, it is understood that any number of client computers may be supported and may be in communication within the system 400.
[0179] Additionally, certain embodiments may be described herein as including logic or a number of components, modules, blocks, or mechanisms. Modules and method blocks may constitute either software modules (e.g., code or instructions embodied on a machine- readable medium or in a transmission signal, wherein the code is executed by a processor) or hardware modules. A hardware module may be a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g.. a standalone, client or server computer system) or one or more hardware modules of a computer system (e.g.. a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
[0180] In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a fieldprogrammable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently- configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
[0181] Accordingly, the term “hardware module” may be understood to encompass a tangible entity, be that an entity- that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module” may refer to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules include a processor configured using software, the processor may be configured as respective different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
[0182] Hardware modules may provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memorj- structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
[0183] The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software)or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
[0184] The methods or routines described herein may be at least partially processor- implemented. For example, at least some of the operations of a method may be performed by one or processors or processor-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
[0185] The one or more processors may also operate to support performance of the relevant operations in a “cloud computing’" environment or as a “softw are as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., application program interfaces (APIs).)
[0186] The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor- implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
[0187] Some portions of this specification may be presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary' digital signals within a machine memory’ (e.g., a computer memory). These algorithms or symbolic representations may be examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an “algorithm” may be a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations may involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred,combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as "data.” “content,’’ “bits,” “values,” “elements,” “symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like. These words, however, may be merely convenient labels and are to be associated with appropriate physical quantities.
[0188] Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing.” “calculating,” “determining,” “presenting,” “displaying.” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
[0189] As used herein any reference to “embodiments,” “some embodiments” or “an embodiment” or “teaching” may mean that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in some embodiments” or “teachings” in various places in the specification may not necessarily all be referring to the same embodiment.
[0190] Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. For example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments may not be limited in this context.
[0191] Further, the figures depict preferred embodiments for purposes of illustration only. One skilled in the art may be readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
[0192] Upon reading this disclosure, those of skill in the art may appreciate still additional alternative structural and functional designs for the systems and methods described herein through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments may not be limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which may be apparent to those skilled in the art, maybe made in the arrangement, operation and details of the systems and methods disclosed herein without departing from the spirit and scope defined in any appended claims.
Claims
CLAIMS1. A method of governing a blockchain comprising determining that a blockchain user has appropriate right to transfer;In response to determining that the blockchain user has appropriate rights to transfer, selecting a voting delegate to place votes for the blockchain user using a delegate selection user interface; displaying a proposal user interface for the voting delegate to create a proposal; distributing the proposal to members the blockchain for voting delegates to vote upon using a voting user interface; displaying the status of the votes for the proposal to the voting delegates of the blockchain in a proposal status user interface; after a set period of time, counting the votes to determine if the proposal is approved or denied; displaying the results to the members of the blockchain using the proposal status user interface.
2. The method of claim 1, wherein the delegate is selected from a display of possible delegates.
3. The method of claim 1, wherein the display of possible delegate comprises information of the rights of the delegate.
4. The method of claim 1, wherein the user selects a type of proposal from a plurality of proposal types.
5. The method of claim 1, wherein if the voting delegate does not have rights to vote, displaying the steps to be able to vote the voting delegate in a user interface.
6. The method of claim 5, wherein the steps have hyperlinks to execute the necessary steps.
7. A computer system comprising a processor physically configured according to computer executable instructions, a memory and an input-output circuit, the processor being physically configured according to a method of governing a blockchain, the method comprising blocks for: determining that a blockchain user has appropriate right to transfer; in response to determining that the blockchain user has appropriate rights to transfer, selecting a voting delegate to place votes for the blockchain user using a delegate selection user interface; displaying a proposal user interface for the voting delegate to create a proposal; distributing the proposal to members the blockchain for voting delegates to vote upon using a voting user interface;displaying the status of the votes for the proposal to the voting delegates of the blockchain in a proposal status user interface; after a set period of time, counting the votes to determine if the proposal is approved or denied; displaying the results to the members of the blockchain using the proposal status user interface.
8. The system of claim 7. wherein the delegate is selected from a display of possible delegates.
9. The system of claim 7, wherein the display of possible delegate comprises information of the rights of the delegate.
10. The system of claim 7, wherein the user selects a type of proposal from a plurality of proposal types.
11. The system of claim 7, wherein if the voting delegate does not have rights to vote, displaying the steps to be able to vote the voting delegate in a user interface.
12. The system of claim 11, wherein the steps have hyperlinks to execute the necessary steps.
Citation Information
Patent Citations
Voting proposal life cycle management method based on smart contract
CN111062060A
Voting support system
JP2015041178A
Method and apparatus for determining a voting result using a communications network
US20010037234A1
Computer-guided Corporate Governance with Document Generation and Execution
US20190259038A1
Systems and methods for blockchain administration
US20200334674A1