Bitcoin Forum
November 11, 2024, 03:23:04 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why so many OP codes are disabled?  (Read 2011 times)
jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
August 15, 2011, 12:51:50 AM
 #1

All I could find to explain that is 3 lines:
Quote
LSHIFT and RETURN bugs

On July 28 2010 two bugs were discovered and demonstrated on the test network. The first caused bitcoin to crash on some machines when processing a transaction containing an OP_LSHIFT. The second exploited another bug in the transaction handling code and allowed an attacker to spend coins that they did not own. Neither were exploited on the main network, and both were fixed by Bitcoin version 0.3.5.

After these bugs were discovered, many currently-unused script words were disabled for safety.

Are there any more details about this?
Is it possible that the official client accept them again in the near future? (at least INVERT, OR, AND, XOR and arithmetic ones)

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
Maged
Legendary
*
Offline Offline

Activity: 1204
Merit: 1015


View Profile
August 15, 2011, 01:06:08 AM
 #2

This thread answers some of your questions:
https://bitcointalk.org/index.php?topic=28861.0

jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
August 15, 2011, 02:32:06 AM
 #3

Thanks for that

My second question is still unanswered though, and I can't find any information about that

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
Maged
Legendary
*
Offline Offline

Activity: 1204
Merit: 1015


View Profile
August 15, 2011, 02:44:29 AM
 #4

gmaxwell's post addresses that point.

jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
August 15, 2011, 02:51:25 AM
 #5

If I understand correctly: if I want an OP code to be re-enabled, I'll have to make it secure

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
Maged
Legendary
*
Offline Offline

Activity: 1204
Merit: 1015


View Profile
August 15, 2011, 04:34:08 AM
 #6

If I understand correctly: if I want an OP code to be re-enabled, I'll have to make it secure
You'll also have to mathematically prove it.

Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1134


View Profile
August 15, 2011, 11:53:05 AM
 #7

Seeing use cases for the disabled opcodes would definitely help.
ByteCoin
Sr. Member
****
expert
Offline Offline

Activity: 416
Merit: 277


View Profile
August 15, 2011, 01:27:07 PM
 #8

Does it seem reasonable to everyone that there is very little distinction between enabling an existing but disabled opcode and creating a completely new opcode to facilitate some desired functionality?

Many of the existing but disabled opcodes (especially the stack manipulation ones) seem rather pointless and it would be better to work towards opcodes that facilitate desired functionality such as Rivest and Shamir's  Paywords scheme as mentioned by hashcoin.

Scripting is a great idea but parts of the current (but disabled) implementation seem to have been rushed out with insufficient thought.

ByteCoin
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2301


Chief Scientist


View Profile WWW
August 15, 2011, 02:08:14 PM
 #9

I'd say the short answer to "is it possible to accept them again in the near future" is no (where "near" is in the next six months).

I agree with Maged-- before enabling new opcodes, I'd like to see a peer-reviewed academic-style paper that works through the security implications of the existing set of opcodes and gives a nice framework for thinking about new (or disabled old) opcodes. Doing that is way outside my own personal level of expertise; I know only enough about designing secure algorithms to know that I  have no idea whether or not re-enabling OP_XOR would have security implications for bitcoin.

Same goes for enabling nLockTime / transaction replacement, although I suspect that proving that transaction replacement doesn't open up any subtle attacks may be harder than proving security properties of opcodes.

How often do you get the chance to work on a potentially world-changing project?
jackjack (OP)
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
August 15, 2011, 05:54:13 PM
 #10

Ok thanks for the explanations

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!