29 comments

[ 3.7 ms ] story [ 63.3 ms ] thread
Looks cool! How are you actually embedding messages into the blockchain?
hey, that's a good question. Each standard Bitcoin address is a derivation of the 20 bytes `hash160`. This allows us to embed an arbitrary 20 bytes message in each output. When you put together a message, we build and propagation a transaction where your message is matched by the hash160s of the outputs.

You can see more here: http://www.thenoteblock.com/how-it-works

Please don't do this, as it pollutes the UTXO set and makes it more expensive to run a full node, which reduces decentralization. Please use an OP_RETURN, provably unspendable output if you want to embed data in the blockchain. As a bonus, you can embed 80 bytes, rather than 20.
Not all miners are relaying OP_RETURN transactions. The plan is the use OP_RETURN once v0.9 is released.

We were hoping it would've been released before 14th Feb, however that's not the case.

BTCGuild now mines OP_RETURN - so there's nothing preventing you from using it.

EDIT: As does eligus (they have always accepted nonstandard transactions).

We were aware that some miners did mine OP_RETURN.

We do have plans to move this. We previously decided against because we felt it might take too long for the transaction to get confirmed and wanted to at least wait til there is at least 50% pool market share that mines OP_RETURN.

On second thought, we might move to OP_RETURN in the next week, I will certain evaluate this a bit more tonight.

The backup plan is still to move to OP_RETURN once v0.9 is adopted or more miners start accepting OP_RETURN

Please move to OP_RETURN ASAP. Right now, you're making money off the storage of 1000s of people like me running bitcoind, with no ability to remove your messages.

If people are really wanting something to be stored forever, is an extra hour or two really going to matter? BTCGuild is accepting OP_RETURN, along with several small outfits like Eligius, so it won't take days on end to confirm.

-- you're making money off the storage of 1000s of people like me running bitcoind

Not making any money actually. Project is open sourced too

-- OP_RETURN

Will probably move on the weekend.

If it's possible to grief or DOS the blockchain by making many transactions like this, isn't it inevitable that someone will do it for malicious purposes?
Isn't this just needless blockchain spam? Seems like the blockchain is getting huge enough without spammy messaging transactions like these.
Well, This was inspired by the upcoming v0.9 release which makes OP_RETURN (allows you to create immediately prunable output to attach message bytes) a standard transaction output in Bitcoin. And when does get released we will move to use OP_RETURN instead of creating messaging outputs.

So back to your question, do I think this is spammy? No, because this project will never generate enough transactions to matter in the slightest bit to the size of the blockchain. However, I feel the project is important to demonstrate a point which is this:

Bitcoin as a programmable currency protocol has enormous potentials beyond just sending transactions. And OP_RETURN (when it does become standard) has important implications for smart contracts, using Bitcoin transactions to prove / transfer ownership. The objective of this project is to raise awareness in that area. And make developers realise the potential in a fun way on Valentine's Day.

At most, I would say using hash160 output to attach messages is not an elegant way to do this compares when OP_RETURN does become standard. But I believe this awareness that we generate is far more important to Bitcoin development.

It seems dangerous to encourage people to use the Bitcoin blockchain for messaging at all as even if this implementation has little traffic, future work may only encourage more messaging.

It seems if people want to use blockchain technology for messaging, they should create a new blockchain and not clutter Bitcoin's.

This chart is scary enough without throwing new use cases into the blockchain (e.g. messaging) that have nothing to do with Bitcoin transactions: https://blockchain.info/charts/blocks-size?timespan=all

I must say I disagree with you although I do see your point.

I don't believe that people will use the Blockchain for messaging. It will cost you 60c per message. I certainly wouldn't use it for messaging.

I think the implication is being able to use OP_RETURN (which btw does not add to the size of the blockchain because it is immediately provably prunable) and people will be able to attach payload onto a transaction. This will be important for this currency to be far more powerful beyond just sending money around.

well you could probably post magnet links for torrents
Isn't the blockchain going to keep growing like that indefinitely _anyway_ if Bitcoin is successful? Unless there's a plan to reset it somehow, then a few valentine's day cards are, in the long run, going to be the least of your worries.
If BitCoin can't handle "needless spam", it can't do the job it's claiming to do. "Needless spam" is an obvious attack vector it's going to have to deal with, and, also... a currency that decides what is and is not "needful" is a rather dangerous thing.
While I agree with you, this does not actually mean Bitcoin can handle needless spam.
This is one of many reasons that while I think cryptocurrency in general is extremely interesting (I remember reading about "digital cash" in Applied Cryptography 15 years ago), I seriously doubt BitCoin in particular is going to last very long.
Bitcoin supports want Bitcoin to take over the world.

If the blockchain can't handle a few spammy message transactions like this, how could it handle taking over the world?

I wonder what happens when someone adds copyright-infringing material into the blockchain. Seems like governments would be all too ready to consider all Bitcoin users to be pirates, and they tend to be less understanding of the concept of something being unremovable from the Internet.
Umm, good point. I don't have an answer for that. But considering it will cost you about 60c to store a 100 byte payload, I am not sure what copyright infringment material you can put in there. Probably none.

So for now, I will say I don't feel like this is of a concern

DeCSS[1] comes to mind, but I think any use of the blockchain to distribute copyrighted material would be more to make a statement than a convenient way of distributing it.

[1] http://en.wikipedia.org/wiki/DeCSS

> I wonder what happens when someone adds copyright-infringing material into the blockchain.

Then everyone who's running a full bitcoin node becomes a copyright infringer TWICE - once in their blockchain cache and once in their running torrent client.

>I wonder what happens when someone adds copyright-infringing material into the blockchain.

> Undeveloped film, undeveloped videotape, and electronically stored data that can be converted into a visual image of child pornography are also deemed illegal visual depictions under federal law.

From http://www.justice.gov/criminal/ceos/citizensguide/citizensg...

As I understand it there is no fee for a 1BTC transfer. Is there anything stopping me from sending 1BTC back and forth between two wallets, as a means of recording permanent messages?
This is actually not possible with this particular system right now. Because you will need to send to particular outputs for messaging.

But if you do it with OP_RETURN then yes, you should be able to do that.

I like how they judge contributions by amount of money people send. Growth hacking right thing.
Neat site! The dialog box stays open after clicking "How it Works" though. Thought I'd let you know (assuming you're the creator of this) Firefox 24.3.0 on Linux x86