Pages:
Author

Topic: The Bitcoin scripting system is purposefully not Turing-complete - why? - page 3. (Read 3386 times)

staff
Activity: 4172
Merit: 8419
Still fees can't resolve the problem of UXTO bloat and that was a problem.
Well, they could if bitcoin were designed a bit differently, but I don't know that its worth it.

Imagine that each txout created by a transaction reduced the permitted block size by— say— 100 bytes and every txout consumed by a transaction decreases its the transaction's effective size by up to 100 bytes per scriptsig (clamped to not result in a negative size for each scriptsig)... and then there was some sanity limit on the real size to prevent silly attacks.

Then in that case the transactions that are creating txouts are effectively prepaying for the space the signatures will take to consume them. This would help a lot with the UTXO bloat.  I don't think anything short of utxo expiration of some form can be a complete solution, but if the system worked a bit differently fees would be a much better tool.
donator
Activity: 1218
Merit: 1079
Gerald Davis
surely there must be SOME limit there.

Yes but it is self resolving.  Someday a large number of merchants combined may produce 10x as many txs the dice site.  Does that mean Bitcoin is doomed.   It is inevitable it will get so popular it will produce "too many transactions" and then die?   Of course not.  As tx volume rises, tx will compete for space in the next block and fees will discourage low value transactions (like martingaling 100 sat starts to look stupid when it will cost you 10x in fees).

Quote
These other 'rider' networks like Color Coins don't necessarily have any relationship to the price of BTC at all and that's going to be the basic problem from which many technological issues will emerge.

They still have to pay fees like any other tx.  If tx volumes rise sufficiently those colored coins concepts may find themselves stuck on a network where moving their assets is prohibitively expensive.   
sr. member
Activity: 266
Merit: 250
but i think my point about some (eg dice-like) contracts would create many more transactions still stands. afaik there is no coin which could handle a large  tx volume (though 100 bets/sec might be possible in the future).

Not true that implies Bitcoin will eventually become so popular it fails.  Eventually 1000 merchants or 10,000 merchants or 100,000 merchants would generate the same tx volume.   Fees will keep tx usage in line.   A 1 bit fee is cheap if you are transferring 1,000,000 bits but you might think twice if you are trying to transfer 2 bits.   Still fees can't resolve the problem of UXTO bloat and that was a problem.

actually you are right.
i think that bitcoin will mainly be used as a clearence network between bitpay like institutions and exchanges.
donator
Activity: 1218
Merit: 1079
Gerald Davis
but i think my point about some (eg dice-like) contracts would create many more transactions still stands. afaik there is no coin which could handle a large  tx volume (though 100 bets/sec might be possible in the future).

Not true that implies Bitcoin will eventually become so popular it fails.  Eventually 1000 merchants or 10,000 merchants or 100,000 merchants would generate the same tx volume.   Fees will keep tx usage in line.   A 1 bit fee is cheap if you are transferring 1,000,000 bits but you might think twice if you are trying to transfer 2 bits.   Still fees can't resolve the problem of UXTO bloat and that was a problem.
sr. member
Activity: 280
Merit: 257
bluemeanie
Actually I don't. What happened?

(And if whatever it was doing was done on bitcoin, you didn't answer my original question about ethereum)

too much transaction which bloated the chain.
as many try martingale wth dice sites i think this would happen with this contract.

Well there is no such thing as too many transactions.

surely there must be SOME limit there.  We can't be sending terabytes of transactions data to all nodes at all times.  The problem may seem remote until you start to see transactions multiply by number of coin colors + whatever other sorts of trading applications and the like emerge.  You can't just stick anything you want on the blockchain.  This poses a systemic risk to Bitcoin.

transactions don't require a limit for so long as they reflect the value of the currency.  These other 'rider' networks like Color Coins don't necessarily have any relationship to the price of BTC at all and that's going to be the basic problem from which many technological issues will emerge.

-bm
sr. member
Activity: 266
Merit: 250
Actually I don't. What happened?

(And if whatever it was doing was done on bitcoin, you didn't answer my original question about ethereum)

too much transaction which bloated the chain.
as many try martingale wth dice sites i think this would happen with this contract.

Well there is no such thing as too many transactions.  The problem was that the site used a "payment" of a single satoshi as notification that a player lost.  This bloats the UXTO which is a more critical resources.  Spent tx can be pruned but to validate future txs and blocks nodes need to maintain a copy of the UXTO.  Normally most outputs in the UXTO are eventually spent (and create new outputs) so the UXTO grows much slower than the overall blockchain.  The problem with single satoshi outputs is they are never economical to spend so they probably will never spend.  This means the UXTO starts growing on the same order as the overall blockchain.

Site like this are one reason the dust rules were created.  They discourage creating outputs that will probably never be spent to prevent them from remaining in the UXTO forever.

thanks DnT for clarifying.

but i think my point about some (eg dice-like) contracts would create many more transactions still stands. afaik there is no coin which could handle a large  tx volume (though 100 bets/sec might be possible in the future).
donator
Activity: 1218
Merit: 1079
Gerald Davis
Actually I don't. What happened?

(And if whatever it was doing was done on bitcoin, you didn't answer my original question about ethereum)

too much transaction which bloated the chain.
as many try martingale wth dice sites i think this would happen with this contract.

Well there is no such thing as too many transactions.  The problem was that the site used a "payment" of a single satoshi as notification that a player lost.  This bloats the UXTO which is a more critical resources.  Spent tx can be pruned but to validate future txs and blocks nodes need to maintain a copy of the UXTO.  Normally most outputs in the UXTO are eventually spent (and create new outputs) so the UXTO grows much slower than the overall blockchain.  The problem with single satoshi outputs is they are never economical to spend so they probably will never spend.  This means the UXTO starts growing on the same order as the overall blockchain.

Site like this are one reason the dust rules were created.  They discourage creating outputs that will probably never be spent to prevent them from remaining in the UXTO forever.
sr. member
Activity: 280
Merit: 257
bluemeanie
also related to the COIN_DUST episode.  It raises the basic question of - what is *clever use* of Bitcoin and what is *abuse* of Bitcoin.

we're about to explore that territory and I dont think some parties are going to like the answer.

-bm
staff
Activity: 4172
Merit: 8419
I think we'll never know what really happened there. SD's traffic fell off almost instantly with the change back to private ownership. I believe, and I think that the data supports, that there was activity going on to pump the level of traffic there— though for what exact motivations are anyone's guess. Smiley Hideously inefficient in any case, and not even necessary for security.
legendary
Activity: 1162
Merit: 1007
just-dice could be completly onchain (including user deposits for bankroll and interest).
but most know what happend when satoshi-dice was onchain Wink
Actually I don't. What happened?

I posted this in another thread, but I think it answers your question:



The above chart is distorted by the "on-chain" gambling bubble of mid 2012 to mid 2013.  Most gambling now takes place off-chain (in fact, just-dice.com processes over 100 bets per second).  If we attempt to remove the "on-chain gambling" bubble to get a better sense of organic growth in the number of transactions per day in the bitcoin economy, we finds its been growing exponentially at approximately 320% per year.  

sr. member
Activity: 280
Merit: 257
bluemeanie
Thanks. But I guess there must be tools that convert high level Turing-complete languages to low-level BTCscript code. Right?

One of the main selling point of Ethereum, as I understand, is that their Turing-complete programmable system permits writing complex contracts.

Where/what are the use-cases for these complex contracts?


that was part of my case in the thread I linked above.

They are(were?) trying to create an environment for scripting a block chain but are ignoring the massive computational complexities that these problems imply.  The only way to achieve these functions is on a case-by-case basis.  Each one has distinct processor/storage/usability requirements.

-bm
sr. member
Activity: 280
Merit: 257
bluemeanie
Actually I don't. What happened?

(And if whatever it was doing was done on bitcoin, you didn't answer my original question about ethereum)

too much transaction which bloated the chain.
as many try martingale wth dice sites i think this would happen with this contract.

and what's going to happen to all these new Block Chain Piggypack schemes(counterparty, color coins, etc.)?

it poses a huge systemic risk to Bitcoin and many other serious dangers I wont get into here.

-bm
sr. member
Activity: 266
Merit: 250
Actually I don't. What happened?

(And if whatever it was doing was done on bitcoin, you didn't answer my original question about ethereum)

too much transaction which bloated the chain.
as many try martingale wth dice sites i think this would happen with this contract.
legendary
Activity: 1302
Merit: 1004
Core dev leaves me neg feedback #abuse #political
Actually I don't. What happened?

(And if whatever it was doing was done on bitcoin, you didn't answer my original question about ethereum)
sr. member
Activity: 266
Merit: 250
Thanks. But I guess there must be tools that convert high level Turing-complete languages to low-level BTCscript code. Right?

One of the main selling point of Ethereum, as I understand, is that their Turing-complete programmable system permits writing complex contracts.

Where/what are the use-cases for these complex contracts?



just-dice could be completly onchain (including user deposits for bankroll and interest).
but most know what happend when satoshi-dice was onchain Wink
legendary
Activity: 1302
Merit: 1004
Core dev leaves me neg feedback #abuse #political
Thanks. But I guess there must be tools that convert high level Turing-complete languages to low-level BTCscript code. Right?

One of the main selling point of Ethereum, as I understand, is that their Turing-complete programmable system permits writing complex contracts.

Where/what are the use-cases for these complex contracts?

sr. member
Activity: 280
Merit: 257
bluemeanie
Also: Aston Kutcher likes it!  can you say, paid-for-PR?

-bm
sr. member
Activity: 280
Merit: 257
bluemeanie
well what exactly do they have left as a value proposition?
Are you suggesting they ever had one to begin with?

what's hilarious is they're releasing videos on people using Ethereum?

https://www.youtube.com/watch?v=9WNyupn8pvw

they clearly haven't even worked out the basics yet, but they're advertising all these end-user GUIs and such?

such wow.

-bm
legendary
Activity: 1400
Merit: 1009
well what exactly do they have left as a value proposition?
Are you suggesting they ever had one to begin with?

Remember that Ethereum's promise from the beginning was allowing you to do computations on a global distributed computer with no privacy and cycle times in the milliHertz range.

Nobody ever bothered to ask if there really was a market for this service in the first place.
sr. member
Activity: 280
Merit: 257
bluemeanie
Can somebody explain to me why the Bitcoin scripting system is purposefully not Turing-complete? To make malicious programs difficult to develop (I guess)? Or because it was difficult to make it Turing-complete?

this was discussed here: https://bitcointalksearch.org/topic/m.6509979

as is already suggested, they were purposefully made to be non-turing complete.  Actually what it takes to compute a TX is entirely bounded.  See: The Halting Problem, ie. we know the little programs put inside bitcoin scripts must eventually end.

I believe Ethereum is backing off from that claim and it will not be Turing complete.   Generally the higher the complexity of the environment the higher the chance of undetected flaws, bugs, and exploits.   The idea that one would want a highly complex Turing complete scripting language that deals with the irreversible transfer of money seems dubious to me.

well what exactly do they have left as a value proposition?



-bm
Pages:
Jump to: