Using Decentralized Governance: Proposals; Voting; and Budgets

From Terracoin Wiki
Revision as of 21:01, 12 April 2019 by Clockuniverse (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

You must vote at least three days before the superblock is created or else your vote won't count. The exact deadline is 2160 blocks before the superblock.

Terracoin's Decentralized Governance by Blockchain (DGBB) is a novel voting and funding platform. This document introduces and details best practices for using this system.



  • DGBB consists of three components: Proposals, Votes, and Budgets.
  • Anyone can submit a proposal for a small fee.
  • Shareholders (owners of network masternodes) cast votes for or against proposals.
  • Approved proposals become budgets.
  • Budgets are paid directly from the blockchain.


  • Proposals are a request to receive funds.
  • Proposals can be submitted by anyone for a fee of 10 TRC. The proposal fee is destroyed on submission.
  • Proposals cannot be altered once submitted.


  • Votes are cast by masternode owners.
  • Votes can be changed at any time.
  • Votes are counted every 19440 blocks (approx. 27 days).


  • Budgets are proposals which receive a net total of yes votes equal to or greater than 10% of the total possible votes (for example over 448 out of 4480)
  • Budgets can be nullified at any time if vote totals (cast or re-cast) fall below the approval threshold.
  • Budgets are processed (paid) in order of yes minus no votes. More popular budgets get payment priority.
  • Approximately 21600 TRC (in 2017) are available for each budget cycle.

Budget cycles

When preparing a proposal, be aware of when the next cycle will occur and plan accordingly. It is recommended to choose your proposal payment start block at least one cycle in the future to allow time for discussion and gathering support and votes.

Budget cycle block heights and approximate dates

1123200 - Fri Nov 24 15:19:35 UTC 2017
1144800 - Tue Dec 26 10:31:35 UTC 2017
1166400 - Sat Jan 27 05:43:35 UTC 2018
1188000 - Wed Feb 28 00:55:35 UTC 2018
1209600 - Sat Mar 31 20:07:35 UTC 2018
1231200 - Wed May  2 15:19:35 UTC 2018
1252800 - Sun Jun  3 10:31:35 UTC 2018
1274400 - Thu Jul  5 05:43:35 UTC 2018
1296000 - Mon Aug  6 00:55:35 UTC 2018
1317600 - Thu Sep  6 20:07:35 UTC 2018
1339200 - Mon Oct  8 15:19:35 UTC 2018
1360800 - Fri Nov  9 10:31:35 UTC 2018
1382400 - Tue Dec 11 05:43:35 UTC 2018
1404000 - Sat Jan 12 00:55:35 UTC 2019
1425600 - Tue Feb 12 20:07:35 UTC 2019



  • Choose a proposal name
    • Proposal names are limited to 40 characters.
    • Choose a unique proposal name to to prevent voter confusion.
    • The currently active proposals can be found by visiting
  • Choose your payment amount and cycle duration.
    • The payment amount is fixed. You cannot vary your payment across cycles.
    • For instance: request 100 TRC for 6 cycles to receive a total of 600 TRC.
  • Write your proposal webpage/forum post
    • Explain your project.
    • Introduce yourself. Include your qualifications, experience and contact information for questions.
    • Estimate and outline the project requirements, progress milestones, and deliverables.
      • Continued funding may depend on reaching your stated goals.
      • The more detail the better. This page is your marketing and sales pitch.
    • Justify your funding request
      • Explain how the funds will be used. Detail your expenses and profit.
  • Shorten your proposal webpage/forum post url
  • Select your funding cycle start block
    • Choose a block far enough in the future to allow time for your proposal to be discussed and gain support.
    • Allow at least one cycle (calendar month) for most proposals.
    • Consider longer incubation periods for larger funding requests.
  • Generate and backup your funding address
    • create a new address using one of:
      • the wallet interface "file -> receiving addresses... -> New button"
      • the debug console command 'getnewaddress'
    • create a backup of this new private key using one of:
      • the wallet interface "file -> backup wallet"
        • save to different media (usb key or second hard drive) -- in case of primary hard drive failure
      • the debug console command 'dumpprivkey <payment address>'
        • the output of the above command is called a WIF (Wallet Import Format) and is an unprotected private key
        • possession of the WIF means possession of the funds -- protect it accordingly
          • carefully write it down or
          • store it in an encrypted container


The following information is required to create a proposal:

  • proposal-name -- a unique label, 20 characters or less
  • url -- a proposer-created webpage or forum post containing detailed proposal information
  • payment-count -- how many cycles the proposal is requesting payment
  • block-start -- the requested start of proposal payments
  • terracoin-address -- the address to receive proposal payments
  • monthly-payment-dash -- the requested payment amount


  • Proposals become active one day after submission.
  • Proposals will remain visible on the network until they are either disapproved or the proposal's last payment-cycle is reached.
  • Approval occurs when yes votes minus no votes equals 10% or more of the total available votes.
  • Disapproval occurs when no votes minus yes votes equals 10% or more of the total available votes.
  • The total available votes is the count of online and responding masternodes and can be seen by running the command 'masternode count' in any wallet debug window. A graph of the total masternode count can be found at


To prevent mistakes and loss of collateral funds, make sure you've completed all the tasks in the checklist below before submitting your proposal to the network.

Proposal Checklist

  • proposal name
    • is 20 characters or less in length
    • does not match any currently active proposal names
  • url
    • is a shortened url and retrieves proposal page
  • proposal page
    • contains enough information for voters to decide their vote
  • payment amount
    • is reasonable compensation for project scope
  • payment count
    • is appropriate compensation for project duration
  • payment address
    • is backed up
  • payment start block
    • is far enough in the future to allow for discussion and to gather voting support


Once prepared, submitting the proposal to the network requires running the following two commands.

The first command (prepare) will create your collateral transaction.

The collateral transaction must mature (reach six confirmations (about 12 minutes)) before running the second command.

The second command (submit) publishes your proposal for voting.

When you are ready to create your network proposal, go to to complete the process.

Next steps

Once you have completed submitting your proposal to the network, it's time to get the word out.

Use social media to announce your proposal and contact community members to begin a discussion and gather voter support.

Project Proposal and Status UpdateTemplates

Project Proposal Template: Dash Project Proposal Template v1.0.docx Project Status Update Template: Dash Project Status Update Template v1.0.docx