My notes on the Truthcoin Whitepaper by Paul Sztorc. The purpose of Truthcoin is to add “the decentralized creation and administration of Prediction Markets(http://en.wikipedia.org/wiki/Prediction_market)”. Learn more at truthcoin.info/.
There is a thread on r/bitcoin that serves as a good introduction to Truthcoin, with some discussion between critics and the author.
Overview
Assumptions
- Truthcoin inherits all of the assumptions of Bitcoin, e.g. “No malicious entity controls a large percentage of hashing power”
- “There are always future Decisions to resolve”
- No malicious entity owns more than 75% of the VoteCoins of a given Branch
- No malicious entity owns more than 50% of the CashCoins
- Search Costs (for a single VOter to learn the realistic answer to a Decision) are lower than Coordination Costs (for multiple Voters to collectively fabricate a false answer)
Component overview
- Truthcoin Blockchain
- meant to be a sidechain to Bitcoin
- a blockchain with “CashCoins” (functionally identical to Bitcoin) and “VoteCoins”
- VoteCoins:
- allow Owners to vote on “Decisions”
- allow Owner to collection half of the transaction fees (paid in CashCoin), as well as authorship fees
- are lost if Owners fail to vote or cast votes differing from the consensus
- are gained if Owners vote on neglected Decisions or with the consensus on disputed Decisions
- do not interfere with the digital-scarcity or value-storage properties of CashCoins
- Automated Market-Maker
- Figuratively a “trader” who accepts the other side of any and all Prediction Market trades
- Literally, a protocol for updating market prices based on trading activity
- Utilizes LMSR technology to ensure permanent market liquidity
- Collects, stores and pays out balances without human-error or mismanagement
-
Incentive Mechanism
Authors
- any user can create a prediction market (“Author a Market”) about anything
- authors only have an incentive to write Decisions whose outcome can be easily assessed by Voters
- authors only have an incentive to create Markets if they anticipate sufficiently-high trading volume
VoteCoin Owners (“Voters”)
- have an incentive to maximize the long-run trading volume of future PMs on their Branch, encouraging them to establish and maintain a reputable network
- have an incentive to participate in the resolution of all Decisions
- have an incentive to vote “the way they believe other Voters will vote”
Traders
- anyone who owns a CachCoin can trade on any PM without directly interfacing with VoteCoins
- have an incentive to set the market price to “their personal expectation of the probability of the event taking place”
Bitcoin Miners
- have an incentive to mine blocks
- have an incentive to include every trade and transaction into a block to maximize dividend revenue
- cannot read Markets or Votes until they have been included in blocks, preventing Miner censors
How it works
##Blockchain and Coin Types
- the blockchain is designed to contain information not only about the transfer of two coin-types, but also about the existence and state of Prediction Markets
CashCoins
- functionally equivalent to Bitcoins
- accounts always retain a constant amount of unspent coins, private keys only sign messages that transfer coins to a different address, new coins are mined asymptotically approaching 21 million, etc.
VoteCoins
- accounts may either gain or lose unspent coins, based on voting activity
- private keys can either sign messages which transfer coins to a different account, or Votes
- the total quantity of coins exists immediately, and is constantly redistributed based on voting behavior
- expectation of a max. 10k addresses, most of which will vote and not transact
- coin values are analogous to reputation, influence or shares of a corporation
- “ownership of VoteCoins is a liability as well as an asset”
- owners are expected to use their coins to vote on the status of each decision
Calculation of Decision Outcomes
Decisions
- questions that must be resolved by Voters
- types:
- Binary
- e.g. “Will Hillary Clinton be elected US President in 2016?”
- Decisions: 0, 0.5, 1
- State “.5” denotes that a Decision is irresolvable
- Scaled
- e.g. “How many electoral college votes will Hillary Clinton receive in the 2016 US Presidential election (if Hillary does not run, select ‘zero’)?”
- Decisions: [Xmin, Xmax]
- Binary
- statuses:
-
Active: just been created.
-
Matured: the “date by which the information will become available” has passed, and Votes may be cast
-
Disputed: if Voters cannot sufficiently agree on the outcome
-
Resolved: if Voters have sufficiently agreed and the life-cycle is now over
-
Markets
- “the lifeblood of the Truthcoin project”
- allow anyone with CachCoin to buy and sell shares representing states of the world
- all markets are available to all users
- partition the world into ‘states’ or “mutually exclusive possible descriptions of reality”
- when traders buy and sell shares, these shares are of a single MarketState
- statuses:
- Trading: allows traders to buy and sell shares; a Market would be in this status from when it was created until its Decisions are voted on
- Disputed: activated if any of a Market’s Decisions attain ‘Disputed’ status. No one can buy or sell until the Dispute is resolved.
- Audited: activated if a Market remained in a Disputed state and became audited; shares can be sold (redeemed); buying is disabled
- Resolved: activated if all of a Market’s Decisions were successfully resolved; shares can be sold (redeemed); buying is disabled
Other terms
- Branches
- Decisions are partitioned into clusters called “Branches”
- based primarily on topic
- each branch has its own set of VoteCoins, Decisions and Voting Period
- Voting Period
- the length of time between two consecutive votes on the same Branch
- Vote
- a Voter’s selection of what the Voter believes would match the Decision to its real-world Outcome
- default value is “Missing”
- Ballot
- a set of the current Voting Period’s matured Decisions
- contain the Decisions of many different Markets
- Vote Matrix
- the matrix created by stacking the Ballots (of a particular Voting Period) by row; the columns correspond to Decisions
- Outcome
- the final, calculated result for each Decision, as determined by the consensus algorithm
Timeline
- Decision Added
- Markets require Decisions, so this is the first step
- a “Decision Author” would select the appropriate Branch, submit the hash of the Decision and a payment, and wait for the hash to be included in the block
- Market Added
- a “Market Author” can create a new prediction market by submitting its hash, number of states, and payment, and waiting for the hash to be included in a block
- Trading
- With a market built, traders can now buy and sell shares of the states of the Market e.g. “Buy 3.8 of State 2 of Market m16j9…”
- Events Occur
- the events relevant to the Decision(s) of the Market occur and become observable (so Votes can be cast)
- Decisions Mature
- Voting is done on the Outcome of all the Branch’s Decisions which matured this Voting Period
- Voters encrypt, sign and broadcast a Ballot which contains their Votes and a new public key
- Voters can change their Ballot at any time - only the last Ballot stands
- Votes Decrypted
- The Votes have been included in the blockchain when this phase begins
- VoteCoins are temporarily frozen
- Voters reveal the private key used to encrypt their votes in #5, allowing these votes to be decrypted and read into the consensus algo
- Decisions Resolve
- Votes are run through the consensus algo to establish the Outcome of each Decision in the Ballot
- Redemptions
- the market-maker
- stops determining/broadcasting market prices
- uses the resolved-outcome of Decisions to actively fix shares to their final prices
- Traders “redeem” these shares for CashCoin
- the market-maker
- Audits
- A Market may have a Decision where Voters could not sufficiently agree on an Outcome
- Voters may get a “do-over” on the next Voting Period
- Failing to reach a consensus ultimately leads to an Audit
Consensus Puzzle Pieces
- Singular Value Decomposition (SVD) is the mathematical process that underlies the calculation of Outcomes
- SVD is performed upon the Vote Matrix
- There is more conceptual and technical description of the SVD process in this section
Reputation Based Coin Redistribution (RBCR)
- After a round of voting, Branch VoteCoins are redistributed among all of the VoteCoin accounts
- For each account, smooth (weighted average) the value of the previous reputation vector with the value represented by the new reputation vector
- Author suggests weighing the new value 20% and the old value 80%
- Weighing the new value too low and bad agents can coast on inertia without punishment, weighing it too high and the network becomes volatile and neurotic
Temporal Economics of RBCR
- RBCR ensures that, even in one voting round, each Voter has one incentive to vote realistically: minimal effort
- Information search costs and psychological effort will be lowest for the Realistic Ballot
- Multiple voting rounds adds a second incentive to vote realistically: revenue maximizations
- Fees & dividends:
- Authors pay, in CashCoin, Listing Fees when creating a new Market
- Traders pay Trading Fees in CashCoin while making trades on Markets
- Fees accumulate and are gradually paid out to VTC Owners
- The gradual payout:
- Rewards past conformity and provides an incentive to get and keep a high reputation
- Offsets the constantly-present incentive to be dishonest today and manipulate Outcomes
- Encourages other behaviors which maximize the future expected trading volume (good judgment, entrepreneurship)
Voting Strategy
- Votes are encrypted to prevent any voting commitments from being credible
- Truthcoin provides a strong incentive for Voters to lie to each other about what they plan to do
- We rely ont he assumption that the search costs to accurately resolve a Decision are lower than the cost of active coordination
- The Cheapest Ballot will then be the Realistic Ballot
- Availability fo the VoteCoins on the open marketplace ensures that they are allocated efficiently
- Those who most believe in and are most dedicated to the project will be VoteCoin owners and therefore Voters; Those who lose faith would neither neglect nor interfere, as they can just sell their coins
- Any attack with less than 35% of the voting power will fail outright
- An attack with >65% of a Branch’s VoteCoins would be able to successfully alter the state of all Decisions on that Branch
- it is because of this that the project is capable of determining anything about reality at all
- this is unlikely for several reasons:
- an ‘ownership attack’ would collapse the market price of VoteCoin before anyone could liquidate
- by (costlessly) deceiving the coalition and returning to the truth, “double-agents” can profit quickly (against the attackers) and over the long run from the increase in coin value
- each trade changes the price, making it practically impossible for a coalition to end up with a coordinated payout
- when there are no audits and greater than 10 branches, an honest group needs to control only 5% of the votes in order to ensure that every single Decision is resolved accurately
- The efficacy of these protections is actually tradeable and measurable, which adds a few minor layers of protection and enables skeptics and researchers to understand the risks
Mining Activity
- Miners are paid in CashCoin to advance the Truthcoin blockchain, incentivizes Miners to keep the value of CashCoins high
- Merged mining allows use of the existing Bitcoin infrastructure
- Miners cannot censor the creation of prediction markets
- Miners cannot censor votes
- we could introduce anti-vote-censorship measure and force blocks with relatively low cumulative participation to be rejected by nodes
Authoring Activity
- fully censorship-resistant - any user can create a prediction market about anything, provided he / she is willing to pay for it
- fees arise from authoring the Decisions and adding the Market
- Authors are entrepreneurial
- they bear the costs of Market-creation, but also profit as a result of the Market’s use
- get half of all trading fees (Voters get the other half)
- bear the total lifetime economic costs of a Market by paying upfront fees
Trading Activity
- The central goal of a prediction market is to have Traders pay for shares which they either: a. sell at a future market price b. upon maturation of the Market, redeem at a non-market price which is instead a function solely of the prediction’s outcome
- Traders pay fees in the form of a small percentage (e.g. 1%) of their trade cost
- Anyone can make pseudonymous trades via CashCoin
- Shares can be “traded” for efficiency or (optionally) even to offload trading-infrastructure to third parties
Attempts to Guarentee that the Assumptions Hold
- This section gives evidence to support the integrity of the assumptions mentioned in the Overview
Scalability, Extensibility and Customizability view “Branching”
-
In Bitcoin, a fork occurs when the network cannot agree on a single reality. All users who held 10BTC before the fork would have two separate ‘versions’ of 10 ‘BTC’ on two different forks
-
This is spectacularly undesirable in a system designed to store value…for several critical reasons, the chief of which are the instantaneous and unexpected doubling of the money supply (if the chains remain separated) or a full reversal of transaction history for an arbitrary subset of the currency system (if the chain re-merge)
-
As all VoteCoin-sets (“Branches”) use the same CashCoins, and Markets exist independently of Branches, there is no way of doubling the money supply or double-spending by forking only the VoteCoins (i.e. “Branching”)
- It is possible to double the supply of VoteCoins in order to half the future judging activity required on each of the two new “Branches”
- because Voters are fatigued at the number of Decisions they are asked to vote on
- for the sake of increased competition
- to charge different fees
“For example to create a Sports Branch or a Finance Branch. By forking off a new Branch, all previous Owners would maintain their old VoteCoins…Eventually, some Owners would sell…and the Sports Branch would eventually be owned by individuals especially interested in sports…[then] ‘Sports’ later splits itself into ‘Sports:Basketball’”
- One might create a new VoteCoin set from nowhere to create private internal markets for a business or club; Can set up the initial allocation of reputation…to establish an ‘eternal dictator’ or ‘rotating board of directors’, etc
Branches impose a number of costs on the network: each needs its own n x m Vote Matrix per Voting Period and its own SVD operation, and less-popular Branches may be likely to freeze (fail to achieve the required Λ=150 upcoming Decisions) or simply be bought- up and attacked
It may be desirable to impose serious prerequisites for both Branching and Planting. The option to Branch may require an automatic trigger, for example, that there be >500 upcoming Decisions. Planting may require the permanent destruction of, say 1 CashCoin, or Branches could be required to bid for the option to “rent” one “SVD slot” among a fixed (but growing) number of slots
Implementation Details
- This section speaks of the technical implementations of Truthcoin