Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: onepix on April 14, 2016, 03:12:19 PM



Title: Bitcoin intrinsic value equals Bitcoin's Scripting Language ?
Post by: onepix on April 14, 2016, 03:12:19 PM
Hello people,

I just started today to get into bitcoin "core system", specially about the "Script" language which permit to insure that transaction are valide.
By this well made video : https://www.youtube.com/watch?v=4qz7XehSBCc
The man explain that :
  • there is 5 standard script
  • standard script are the one accepted mostly by miners
  • Others custum homemade script are likely to never be accepted on a block

Which makes me wondering :
  • If transaction script equals "smart contract" and miners don't accept "custom script", Bitcoin intrinsic value is kinda limitated right ?
  • How can we know which miners or pool-mining accept custom script ?
  • Is there a statistique about the acceptance of a custom script ? How calcul that !?
  • Why miners don't accept non standard script !?  ???


Title: Re: Bitcoin intrinsic value equals Bitcoin's Scripting Language ?
Post by: deepceleron on April 14, 2016, 05:31:30 PM
There are many script instructions that are simply math or stack manipulation that were written for versatility or future use. To eliminate potential bugs and undefined states, some non-money transfer instructions as originally implemented by Satoshi have been disabled. Transactions including them would be invalid, and modified or non-Satoshi clients including them in a block would result in an invalid "fork" block, ignored by the rest of the network.

You can see which instructions are disabled: https://en.bitcoin.it/wiki/Script#Splice


Title: Re: Bitcoin intrinsic value equals Bitcoin's Scripting Language ?
Post by: onepix on April 14, 2016, 07:48:23 PM
There are many script instructions that are simply math or stack manipulation that were written for versatility or future use. To eliminate potential bugs and undefined states, some non-money transfer instructions as originally implemented by Satoshi have been disabled. Transactions including them would be invalid, and modified or non-Satoshi clients including them in a block would result in an invalid "fork" block, ignored by the rest of the network.

You can see which instructions are disabled: https://en.bitcoin.it/wiki/Script#Splice
Well, it makes sense ^^ I've notice that some instructions was disable and I asked myself why, now I have the answer, security purpose ^^
But does that imply that we can play with every other instructions and assume It will be verify and accepted by a miner (with the appropriate fee ofc) ?


Title: Re: Bitcoin intrinsic value equals Bitcoin's Scripting Language ?
Post by: Patatas on April 14, 2016, 09:27:31 PM
Well, it makes sense ^^ I've notice that some instructions was disable and I asked myself why, now I have the answer, security purpose ^^
But does that imply that we can play with every other instructions and assume It will be verify and accepted by a miner (with the appropriate fee ofc) ?

Not exactly security purpose.You can still create the custom transactions using say Python but it is less convenient for the miners.Using of short bitcoins addresses will probably a good alternative as described in P2SH workflow. You can call it as an established Standard accepted by all the miners to communicate with the protocols.


Title: Re: Bitcoin intrinsic value equals Bitcoin's Scripting Language ?
Post by: fbueller on April 18, 2016, 12:32:57 AM
Nothing is lost by having 'standard' output types - P2SH (and soon, segregated witness) is standard, letting you fund arbitrary smart contracts.

(The idea behind standardness is to dissuade bulky output scripts since anyone with the utxo set would store a copy until it's spent. script-hashes are smaller).