Skip to content

Instantly share code, notes, and snippets.

@cubicpostcode
Forked from RedTemi/bip.mediawiki
Last active October 3, 2021 15:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cubicpostcode/a6e7348a1506ae5c6b981ccd622b8057 to your computer and use it in GitHub Desktop.
Save cubicpostcode/a6e7348a1506ae5c6b981ccd622b8057 to your computer and use it in GitHub Desktop.

  BIP: ?
  Layer: Consensus (hard fork)
  Title: Universal Bitcoin Lottery
  Author: remotemass <bicomplex@gmail.com>
  Comments-Summary: No comments yet.
  Status: Draft
  Created: 2014-08-26
  License: PD

Motivation

I envision an engaging activity centered around the blockchain from which the community as a whole would benefit.

Specification

There would be a change in the protocol so that a specific address could not be used to send coins. It could only receive them. This way it could be used to burn coins and everyone would be sure that no one could ever own that address and spend those coins. Then - for every block - the amount of coins that were sent - during that 10 minutes in between block creation - to that "burn address" would be given as a reward to an address that sent coins to the burn address, with coins entering circulation, making it a lottery. This means that there would be no limit of bitcoins entering circulation but the extra coins entering circulation other than the ones from mining would be balanced by the ones burned, so no one would loose anything and we could talk about live coins that would still be limited to 21 million and dead coins.

The winner of this lottery mining would always be ruled by the following:

For every amount sent you would have that number of satoshis sent make you have your bitcoin address virtually listed in an ordered list of all the participations as many times as satoshis sent.

So for example if 1KyDtBCT6Vj7VdRP32reeNycrGnVvEjNDV sent 0.00000005 BTC, and after 1n6mSy5xptF8NpF5Nvoy3k1p1vapmZJb3 sent 0.00000003 BTC, and after 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e sent 0.00000009 BTC

The virtual list with the entries of participations would get to be:

 1 => 1KyDtBCT6Vj7VdRP32reeNycrGnVvEjNDV
 2 => 1KyDtBCT6Vj7VdRP32reeNycrGnVvEjNDV
 3 => 1KyDtBCT6Vj7VdRP32reeNycrGnVvEjNDV
 4 => 1KyDtBCT6Vj7VdRP32reeNycrGnVvEjNDV
 5 => 1KyDtBCT6Vj7VdRP32reeNycrGnVvEjNDV
 6 => 1n6mSy5xptF8NpF5Nvoy3k1p1vapmZJb3
 7 => 1n6mSy5xptF8NpF5Nvoy3k1p1vapmZJb3
 8 => 1n6mSy5xptF8NpF5Nvoy3k1p1vapmZJb3
 9 => 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e
10 => 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e
11 => 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e
12 => 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e
13 => 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e
14 => 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e
15 => 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e
16 => 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e
17 => 112adnFHbxDD9F72gRECPfxL3j62Ktrcm1e
...
N => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

It would then be computed:

  ( LAST_HASH_VALUE Mod N ) + 1

(where mod is the modulus operation, that is, the remainder of the integer division). It would be looked up that result in such virtual list of entries and the corresponding bitcoin address would be the winner.

And would get the same amount of coins as was sent to the lottery burn address in between that block creation.

Copyright

This document is placed in the public domain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment