Arcturus Docs
  • Note!
  • Bitcoin and Decentralized Structure
  • Introducing to Arcturus Chain
  • For End User
    • How to add Arcturus to Metamask
    • Obtaining tARC from the Faucet
    • Faucet API
    • How to Use Arcscan
  • For Nerds
    • Proof Of Stake
    • Arcturus Chain
      • Accounts
      • Messages and Transactions
      • Messages
      • Arcturus State Transition Function
      • Code Execution
      • Blockchain and Mining
      • Applications
        • Token Systems
        • Financial Derivatives and Stable-Value Currencies
        • Identity and Reputation Systems
        • Decentralized File Storage
        • Decentralized Autonomous Organizations
        • Further Applications
      • Fees
      • Computation And Turing-Completeness
      • Currency And Issuance
      • Mining Centralization
      • Scalability
      • Conclusion
    • Arcturus Pay
      • About
      • Technolog & Use Cases
      • Developer Instructions
        • arcpay_dev-1
        • arcpay_dev-2
        • arcpay_dev-3
  • Updates & News
Powered by GitBook
On this page
  1. For Nerds
  2. Arcturus Chain
  3. Applications

Decentralized Autonomous Organizations

The general concept of a "decentralized autonomous organization" is that of a virtual entity that has a certain set of members or shareholders who, perhaps with a 67% majority, have the right to spend the entity's funds and modify its code. The members would collectively decide on how the organization should allocate its funds. Methods for allocating a DAO's funds could range from bounties, salaries to even more exotic mechanisms such as an internal currency to reward work. This essentially replicates the legal trappings of a traditional company or nonprofit but using only cryptographic blockchain technology for enforcement. So far, much of the talk around DAOs has been around the "capitalist" model of a "decentralized autonomous corporation" (DAC) with dividend-receiving shareholders and tradable shares; an alternative, perhaps described as a "decentralized autonomous community", would have all members have an equal share in the decision making and require 67% of existing members to agree to add or remove a member. The requirement that one person can only have one membership would then need to be enforced collectively by the group.

A general outline for how to code a DAO is as follows. The simplest design is simply a piece of self-modifying code that changes if two-thirds of members agree on a change. Although code is theoretically immutable, one can easily get around this and have de-facto mutability by having chunks of the code in separate contracts and having the address of which contracts to call stored in the modifiable storage. In a simple implementation of such a DAO contract, there would be three transaction types, distinguished by the data provided in the transaction:

  • [0,i,K,V][0,i,K,V][0,i,K,V] to register a proposal with index iii to change the address at storage index KKK to value VVV

  • [0,i,K,V][0,i,K,V][0,i,K,V] to register a vote in favor of proposal iii

  • [2,i][2,i][2,i] to finalize proposal iii if enough votes have been made

The contract would then have clauses for each of these. It would maintain a record of all open storage changes, along with a list of who voted for them. It would also have a list of all members. When any storage change gets to two-thirds of members voting for it, a finalizing transaction could execute the change. A more sophisticated skeleton would also have built-in voting ability for features like sending a transaction, adding members and removing members, and may even provide for Liquid Democracy-style vote delegation (i.e., anyone can assign someone to vote for them, and assignment is transitive so if AAA assigns BBB and BBB assigns CCC, then CCC determines AAA's vote). This design would allow the DAO to grow organically as a decentralized community, allowing people to eventually delegate the task of filtering out who is a member to specialists, although unlike in the "current system" specialists can easily pop in and out of existence over time as individual community members change their alignments.

An alternative model is for a decentralized corporation, where any account can have zero or more shares, and two-thirds of the shares are required to make a decision. A complete skeleton would involve asset management functionality, the ability to make an offer to buy or sell shares, and the ability to accept offers (preferably with an order-matching mechanism inside the contract). Delegation would also exist Liquid Democracy-style, generalizing the concept of a "board of directors".

PreviousDecentralized File StorageNextFurther Applications

Last updated 10 months ago