Bitcoin Forum
May 07, 2024, 08:32:31 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [pull req] Add small data items to transactions  (Read 807 times)
jgarzik (OP)
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1091


View Profile
September 09, 2012, 05:53:41 PM
 #1


Summary: Add small-data OP_DROP transactions as standard transactions.
URL: https://github.com/bitcoin/bitcoin/pull/1809

This is likely to be controversial.  It is useful to highlight this ancient thread, where satoshi, gavin, myself and others discuss the merits and perils of data in the chain.

The consensus tends to be,
  • It bloats the chain
  • It incentivizes non-currency chain usage, which negatively impacts all who use bitcoin as a currency
  • It is unavoidable...
  • ...so we might as well figure out a way to permit a few tiny uses, such as carrying a hash or auxiliary transaction id or comment along with each transaction, while creating some limits that discourage wholesale binary data storage in the main chain.

This change is intended to enable use cases like Mike Hearn's distributed bond markets example.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
1715070751
Hero Member
*
Offline Offline

Posts: 1715070751

View Profile Personal Message (Offline)

Ignore
1715070751
Reply with quote  #2

1715070751
Report to moderator
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715070751
Hero Member
*
Offline Offline

Posts: 1715070751

View Profile Personal Message (Offline)

Ignore
1715070751
Reply with quote  #2

1715070751
Report to moderator
1715070751
Hero Member
*
Offline Offline

Posts: 1715070751

View Profile Personal Message (Offline)

Ignore
1715070751
Reply with quote  #2

1715070751
Report to moderator
1715070751
Hero Member
*
Offline Offline

Posts: 1715070751

View Profile Personal Message (Offline)

Ignore
1715070751
Reply with quote  #2

1715070751
Report to moderator
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
September 09, 2012, 06:22:08 PM
Last edit: September 09, 2012, 09:32:28 PM by gmaxwell
 #2

The consensus tends to be,
  • It bloats the chain
  • It incentivizes non-currency chain usage, which negatively impacts all who use bitcoin as a currency
  • It is unavoidable...
  • ...so we might as well figure out a way to permit a few tiny uses, such as carrying a hash or auxiliary transaction id or comment along with each transaction, while creating some limits that discourage wholesale binary data storage in the main chain.
This is a poor idea currently because only /actual developed/ demand for it are things like instant messaging, transaction source deanonymization, and timestamping— things which are would be done better without creating an immortal burden on all future users of Bitcoin by instead using payment protcols or an overlay messaging network (or both) (or in the case of timestamping O(1) cost for infinite use by doing it via the coinbase).  The applications where it would make sense are few, speculative, and perhaps won't ever be developed much less used.

It's not like its impossible to write non-standard txn now, you just have to get a miner to mine them— so please, if I'm mistaken point me to the virtuous usage of OP_DROP in the chain. Additions to the standard set should be based on established trial usage, not speculation.

As far as mitigation goes, if you were to propose that they only be standard in scriptsigs (allowing fast pruning) or P2SH, that they have a maximum of 32 bytes (as you did), and that SHA256(data) begins with 32 zero bits, and that they have a fee which is >= the mean in the last N blocks, you'd probably cut it down to harmlessness... because you would have successfully taken it away from most of the applications where it doesn't belong (except timestamping, which is probably the least bad especially if limited to scriptsigs), but I think that would be pointless because doing so also only leaves it for applications which are currently undemanded and non-existant.
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!