Take the 2-minute tour ×
Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It's 100% free, no registration required.

I would like to send transactions with messages as described in the wiki. In Transaction with slightly changed script is never relayed, someone answered that non-standard transactions are not relaid by the client. I was wondering if this will affect this type of transactions.

Also, I would like to know if there is a source code that implement this functionality. I need to send small data (SHA256) as a digital signature that can be view by all the peers in the network and is associated to this specific transaction.

Thank you very much and your help is very appreciated

share|improve this question

3 Answers 3

up vote 3 down vote accepted

You will find that non-standard transactions are very hard to get into the block chain. Instead, encode the additional information as accounts and send a single satoshi to each account needed to convey your message. That way, you can use standard transactions.

Transaction 28ccf29cfcc9f82d42793db770e7c7894d61ccf3d18299f34bda2e54415da287 is a particularly silly example of this.

share|improve this answer
    
If you don't want to throw away the coins to phantom addresses you can encode the message in the transferred amount: gist.github.com/1625828 . The link is the example for BTCsg (btcmsg.com), but there are other ways. –  halftimepad Jan 1 '13 at 22:44
    
Thank you. I will try that out. –  Omar Alriyami Jan 2 '13 at 10:21

You can, but you shouldn't. Bitcoin transactions should only contain the information needed for the world to verify your transaction. Anything else is essentially private information between the sender and the receiver, and would be useless bloat to the block chain (making it more expensive to maintain for everyone).

That doesn't mean you can't have messages attached to transactions at all, of course. The problem is that there is no easy way to communicate between sender and receiver right now, apart from via the block chain (which works, but as a means of communication it is slow, inefficient, expensive and unreliable). The payment protocol currently being worked on (see the current draft, or the mailing list archives) should solve this very neatly, as it supports transaction metadata that does not become part of the resulting Bitcoin transaction.

share|improve this answer
    
Thank you for the comments. This is part of my thesis proposal. I'm actually testing using testnet-in-a-box. The purpose of this is to allow linking virtual payment to real life transactions for non-repudiation purposes. –  Omar Alriyami Jan 2 '13 at 10:29

Yes, you can now store up to 80 bytes via an additional, special output: https://bitcoinfoundation.org/blog/?p=290

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.