Pages:
Author

Topic: Hard-Fork to make us have a have a FREE Universal lottery system (Read 3756 times)

legendary
Activity: 1330
Merit: 1003
Amusing idea. Chance of it getting majority support for a hard fork and being implemented though? Zero.

Exactly this^^^.  While I enjoy gambling and whatnot, not everyone does.  This sort of amusement would make the bitcoin network seem a lot less serious and focused.  You can't build unmotivated larks and games and distractions into a project with the scope and ambitions of bitcoin.

I don't have a problem with gambling per se, but I can tell you I would be in the majority that would oppose this.
legendary
Activity: 1456
Merit: 1081
I may write code in exchange for bitcoins.
Amusing idea. Chance of it getting majority support for a hard fork and being implemented though? Zero.

Exactly this^^^.  While I enjoy gambling and whatnot, not everyone does.  This sort of amusement would make the bitcoin network seem a lot less serious and focused.  You can't build unmotivated larks and games and distractions into a project with the scope and ambitions of bitcoin.
legendary
Activity: 1400
Merit: 1013
Troll/disruption activity seems to be in an increase recently.
legendary
Activity: 1330
Merit: 1003
This just isn't the purpose of Bitcoin. Gambling can be implemented outside of the network, but a built-in lottery system would only add strain with no real benefit.

Add strain to what - Bitcoin network? Don't we want more transactions with fees, not less? And it can't be implemented outside the network, since sending to unspendable addy would reduce the number of bitcoins significantly if it catches up and many people start to play, the only way to recover those burnt coins is through alternative coinbase.

It can be implemented outside the network, just not using a burn address like this. 

And what do you suggest using instead of burn address with keeping it 0 trust?

That's really not important since it's not the purpose of Bitcoin. If someone wants a lottery they can figure out how to do it themselves.
legendary
Activity: 1330
Merit: 1003
This just isn't the purpose of Bitcoin. Gambling can be implemented outside of the network, but a built-in lottery system would only add strain with no real benefit.

Add strain to what - Bitcoin network? Don't we want more transactions with fees, not less? And it can't be implemented outside the network, since sending to unspendable addy would reduce the number of bitcoins significantly if it catches up and many people start to play, the only way to recover those burnt coins is through alternative coinbase.

If you are a miner yeah, but the reality is that lottery transactions would push out low priority transactions with lower fees making Bitcoin more expensive for users. Making money for miners is not the primary or even a major purpose of Bitcoin (I do understand why it is necessary, but it doesn't exist for that purpose).

A bigger concern is that the blockchain size would be inflated. We want to encourage USE of the bitcoin network, but not WASTE. A built in lottery would be a waste of network resources.

It couldn't be implemented outside the network in the way the OP proposes, but that doesn't mean it couldn't be implemented somehow.
legendary
Activity: 4130
Merit: 1307
...
I'm fond of things that liberate people, rather. And I sense something quite liberating about this kind of lottery. You would be able to play an hazardous game without a sense of loss.

I too am fond of things that liberate people.  As an aside, if things can be implemented without a hard fork for bitcoin, that is a good thing because then it is a much more difficult target to attack.  If the bitcoin protocol and software itself implemented any type of gambling, it makes it a bigger target.  If they can be implemented on top of the blockchain, bitcoin is less of a target itself and you get the benefits you may have been thinking about regarding another use for bitcoin.

:-)
legendary
Activity: 1122
Merit: 1017
ASMR El Salvador
First of all, I don't like lotteries. I like blackjack. I therefore think it would be unfair for zero-trust lotteries to be added to the blockchain unless blackjack is also added. Would anyone else like to add something? (Poker would be pretty cool I think.)


I think you could emulate most gambling games, including blackjack assuming the
players are the best players possible as they would use a computer to decide how
to play and could, for that matter, be automated.
You just need to generate a random number to know the state of the shuffled deck(s) and another random number to know the state of how the players will play (that will only depend on when they enter and leave the game).
It would be very tricky to emulate blackjack with a lottery like this but I'm pretty sure it is possible, if you could concede on the time constrains.
I'll give you an example of how you could emulate a roulette.
You need an address for each of the odds that enforces the rule that when the total amount at sake required for the win of the bet of the first player is fulfilled the winner is decided.
For instance, in roulette, you have bets that have odds 50/50, like red/black, odd/pair, 1-18/19-36.
So, to place such a bet you would have a lottery address designed so that once the total amount of bets surpasses 2X the bet of the first bet placed the winner outcome is decided, sending change of the surpassed amounts back to
the corresponding players.
It is complicated, but I am pretty sure that if you can concede on the time constrains, such gambling games could be emulated to a certain degree.

Secondly, unregulated lotteries are illegal in many (most?) jurisdictions. Although transactions can be used for either legal or illegal purposes, unregulated lotteries would always be illegal in those jurisdictions. The fact that something is illegal isn't reason enough to avoid it, for example if it were added to right some terrible evil, but I really don't see lotteries as an inalienable human right that Bitcoin should concern itself with.

I'm fond of things that liberate people, rather. And I sense something quite liberating about this kind of lottery. You would be able to play an hazardous game without a sense of loss.
legendary
Activity: 4130
Merit: 1307
This just isn't the purpose of Bitcoin. Gambling can be implemented outside of the network, but a built-in lottery system would only add strain with no real benefit.

Add strain to what - Bitcoin network? Don't we want more transactions with fees, not less? And it can't be implemented outside the network, since sending to unspendable addy would reduce the number of bitcoins significantly if it catches up and many people start to play, the only way to recover those burnt coins is through alternative coinbase.

It can be implemented outside the network, just not using a burn address like this. 

And what do you suggest using instead of burn address with keeping it 0 trust?

Something like what is discussed here:
https://en.bitcoin.it/wiki/Contracts#Example_8:_Multi-party_decentralised_lotteries
and
http://eprint.iacr.org/2013/784

e.g.
Quote
As an instantiation of this idea we construct protocols for secure multiparty lotteries using the Bitcoin currency, without relying on a trusted authority. By “lottery” we mean a protocol in which a group of parties initially invests some money, and at the end one of them, chosen randomly, gets all the invested money (called the pot). Our protocols can work in purely peer-to-peer environment, and can be executed between players that are anonymous and do not trust each other. Our constructions come with a very strong security guarantee: no matter how the dishonest parties behave, the honest parties will never get cheated. More precisely, each honest party can be sure that, once the game starts, it will always terminate and will be fair.



hero member
Activity: 672
Merit: 504
a.k.a. gurnec on GitHub
Add strain to what - Bitcoin network? Don't we want more transactions with fees, not less?

Why are "more transactions with fees" desirable?

If you start with the assumption that the purpose of Bitcoin is to make money for miners, then yes "more transactions with fees" would be desirable.

But the purpose (or at least a purpose) of Bitcoin is to permit transactions and permit stored value. In other words, the decentralized transactions themselves, as well as the stored value of bitcoins, is the purpose of (capital-B) Bitcoin. Miners are just a necessary component in securing Bitcoin. Transaction spam, whether it includes fees or not, is still spam.

Technical discussions aside, OP's idea has problems for at least two other reasons.

First of all, I don't like lotteries. I like blackjack. I therefore think it would be unfair for zero-trust lotteries to be added to the blockchain unless blackjack is also added. Would anyone else like to add something? (Poker would be pretty cool I think.)

Secondly, unregulated lotteries are illegal in many (most?) jurisdictions. Although transactions can be used for either legal or illegal purposes, unregulated lotteries would always be illegal in those jurisdictions. The fact that something is illegal isn't reason enough to avoid it, for example if it were added to right some terrible evil, but I really don't see lotteries as an inalienable human right that Bitcoin should concern itself with.
legendary
Activity: 1974
Merit: 1077
^ Will code for Bitcoins
This just isn't the purpose of Bitcoin. Gambling can be implemented outside of the network, but a built-in lottery system would only add strain with no real benefit.

Add strain to what - Bitcoin network? Don't we want more transactions with fees, not less? And it can't be implemented outside the network, since sending to unspendable addy would reduce the number of bitcoins significantly if it catches up and many people start to play, the only way to recover those burnt coins is through alternative coinbase.

It can be implemented outside the network, just not using a burn address like this. 

And what do you suggest using instead of burn address with keeping it 0 trust?
legendary
Activity: 4130
Merit: 1307
This just isn't the purpose of Bitcoin. Gambling can be implemented outside of the network, but a built-in lottery system would only add strain with no real benefit.

Add strain to what - Bitcoin network? Don't we want more transactions with fees, not less? And it can't be implemented outside the network, since sending to unspendable addy would reduce the number of bitcoins significantly if it catches up and many people start to play, the only way to recover those burnt coins is through alternative coinbase.

It can be implemented outside the network, just not using a burn address like this. 
legendary
Activity: 1974
Merit: 1077
^ Will code for Bitcoins
This just isn't the purpose of Bitcoin. Gambling can be implemented outside of the network, but a built-in lottery system would only add strain with no real benefit.

Add strain to what - Bitcoin network? Don't we want more transactions with fees, not less? And it can't be implemented outside the network, since sending to unspendable addy would reduce the number of bitcoins significantly if it catches up and many people start to play, the only way to recover those burnt coins is through alternative coinbase.
legendary
Activity: 1330
Merit: 1003
This just isn't the purpose of Bitcoin. Gambling can be implemented outside of the network, but a built-in lottery system would only add strain with no real benefit.
legendary
Activity: 1122
Merit: 1017
ASMR El Salvador
I had another idea that would make this lottery even more popular and remarkable.
The burn address, that is, the address to where you would send coins to participate in a lottery contest, would simply be:
1234567891234567891234567891234567

It ends in 7 (considered by mystics a number with magical proprieties), no zeros, 34 chars.
So simple. But it is good to use. Everyone can type it using a telephone for instance.
And we have to agree that no one will ever be able to spend with the corresponding private key.
Do we agree on that? Good.

So this would mean that one rule less would have to be enforced, namely you wouldn't have to enforce that transactions to our burnt address could not be valid.

Now we just need to convince the community that the same amount of all coins burnt to that address should enter circulation being given to our random winner, given that in that randomness it would be included a factor unpredictable by
miners like a third party factor given by twitter API, for instance, as does bitmillions.com; by random.org API, or similar.

To enforce all miners to include an extra coinbase a hardfork seems necessary: so that incompatibilities could arise in the majority of nodes if miners tried to avoid those rules.

Please send 1 satoshi now to 1234567891234567891234567891234567
if you like it Smiley



[EDIT] Ouch! That address is not valid.
legendary
Activity: 1122
Merit: 1017
ASMR El Salvador
I'm done here. it's obvious that OP reads like he quotes, taking the first sentence of a statement without reading the explanation and then replying in contradiction to what was just explained without an articulate reason of his own.

That's a pity. I actually found your comments very helpful for the discussion. I wish I could have answered you better. I try my best to reason, answer and articulate for the discussion to be worthy. I'm open to discussion and don't claim to have all the reason in any way. I actually don't want to contradict. Just want to make my case clear and find interesting solutions to make such a FREE lottery possible.

What bewilders me the most is that once we have such free lotteries we can gamble in any of them independently and keep having more chances of winning in them, generally.
If you spend 100 BTC in your lifetime in free lotteries you get the same chance of winning whether you play them all at once or in different lotteries in a cumulative way.
The more that you play, the more likely it will be that you end up without having lost money.

I also like the idea that it reduces the burden of games like SatoshiDice as people would be playing more in these new lotteries that don't cause spamming of the blockchain.
legendary
Activity: 1512
Merit: 1036
I'm done here. it's obvious that OP reads like he quotes, taking the first sentence of a statement without reading the explanation and then replying in contradiction to what was just explained without an articulate reason of his own.
legendary
Activity: 1974
Merit: 1077
^ Will code for Bitcoins
It looks like the OP is heavily misunderstood. His proposal doesn't have anything to do with the transaction fees. He just proposed an alternative coinbase included in every block, with the difference that this alternative coinbase would not be fixed to current 25BTC, but would be the exact sum of inputs in that block which have unspendable destination address.

Distribution of this alternative coinbase would not depend on the miner who mined a block, but would be spendable only by the private key corresponding to one of the public keys which sent BTC to unspendable address. Miners would gladly include such a lottery transactions in blocks because nothing stops those lottery trabsactions to have normal transaction fees.

Chances that the core devs would accept such a large change are close to zero, but the idea is very interesting and in general quite doable. It's at least worth a BIP, since such a lottery would really be great incentive for people to buy BTC.
legendary
Activity: 1122
Merit: 1017
ASMR El Salvador
I have to agree that using the hash of a block is prone to miners manipulation as they would be able to discard blocks that didn't make them winners.

Since *difficulty* changes every 2016 blocks, what about running the contest on the
first block after difficulty changes and use as random number the hash of: (all the following 2015 block hashes + new difficulty). Wouldn't that be a good random number for the winner draw?
The lottery would run every two weeks and you would have to place your bets during the first block.

Can you think of something even better?

[EDIT] I think Twitter could also be used as a third party to avoid that miners could discard blocks to manipulate the results. The random number mentioned just needs to be affected by a twitter-ID generated afterwards.
"Bitmillions" uses Twitter as a third party for a bitcoin lottery and it seems it works fine. https://en.bitcoin.it/wiki/BitMillions

[EDIT] Other reliable third parties for the the random number generation could be used, like Random.org, that has a good API.
legendary
Activity: 1122
Merit: 1017
ASMR El Salvador


>> There is no need for an actual transaction

I disagree. Although clients are able to determine the winner you would need someone to have a private key to spend the funds to pay the prize.
That makes it impossible to be sure he will pay the prize so it really makes more sense to enforce the prize payment with minted coins.
Those minted coins wouldn't affect anyone because they would correspond to the same amount of coins burnt.

>>You cannot make a normal bitcoin address unspendable.

Yes you can. You just need the protocol to be saying that transactions from that address are to be considered invalid.

>> Again, we don't need a transaction to make the winnings. However you hint at the solution to most miner-based attacks. The hash of block X+10 picks the winner of block X. For example, let's say block 300,000 included your lottery payment; block 300,010's hash will determine the winner of block 300,000. When the list of entrants is buried under a few blocks before the winner-choosing hash occurs, the only miner attack method is block discarding (discarding block finds that don't pick the miner as winner), which could be very costly depending on the economics of the coin, and the influence of a miner is only proportionate to their percentage of the hashrate.

>> It is also probable that there will be many blocks with no entries or just a single entry. You could even say blocks 300,001-300,144 are one contest period (every 144 blocks), and block 300,154 picks the winner, making it a daily or weekly drawing.


Exactly.
legendary
Activity: 1512
Merit: 1036

>> You seem to be proposing another kind of "virtual" transaction


I mean a generation transaction that creates new coins from nothing.
There would be the coins entering circulation for mining, as usually, and
(roughly, 25 BTC every 10 minutes) plus the new lottery coinbase coins (same amount
recently burnt)

There is no need for an actual transaction. This only allows miners to omit the lottery reward transaction or pay it to arbitrary individuals, requiring "validation rules" for the transaction. Given the list of entrants from a block and a winner-picking hash from another, any Bitcoin client can determine the winner, recognize the balance and owner, and determine the validity of it being spent.


>>recognizable as being a lottery entrance, say any address with a network byte of 77

>There is no need for that.


You cannot make a normal bitcoin address unspendable. There are quadrillions of private keys that may equal that particular address and be generated offline by any of hundreds of tools in existence. While the chance of generating the same address is infinitesimal, it must be considered. It is one thing to to be able to send coins to an address that might be spendable by two people, it's another thing entirely to be able to send (or expect to receive) coins to an address that can be spendable by nobody or would be given to someone else.


>> Now the second inaccuracy - you say that entries will be made

>Maybe my explanation was not very good but what I mean is that each block would be having one of these lottery contests.
>The transactions must be in the blockchain and with 6 confirmations or so, and only then miners will pay the prize minting a number of coins equivalent to the amount of coins that are confirmed to be burned on that contest.

Again, we don't need a transaction to make the winnings. However you hint at the solution to most miner-based attacks. The hash of block X+10 picks the winner of block X. For example, let's say block 300,000 included your lottery payment; block 300,010's hash will determine the winner of block 300,000. When the list of entrants is buried under a few blocks before the winner-choosing hash occurs, the only miner attack method is block discarding (discarding block finds that don't pick the miner as winner), which could be very costly depending on the economics of the coin, and the influence of a miner is only proportionate to their percentage of the hashrate.

It is also probable that there will be many blocks with no entries or just a single entry. You could even say blocks 300,001-300,144 are one contest period (every 144 blocks), and block 300,154 picks the winner, making it a daily or weekly drawing.
Pages:
Jump to: