Did you know you could send messages using Bitcoin and have them stored on the blockchain?
People think of many things when they think of bitcoin; for some, it can be as simple as “what is it?” for others, it can be its value in enabling economic independence and the freedom to trade as you choose. However, something many people don’t think about when discussing bitcoin is its potential for sharing small amounts of information in a highly secure and essentially uncensorable way.
How can I Read a Message on the Bitcoin Blockchain?
When you’re talking about sending messages using Bitcoin, your first thought may be that you’ve heard something about this but can’t remember what. However, for most of us, the mention of the message stored in the Bitcoin genesis block will almost always provoke responses of ah-hah! It’s also a great way to learn how to read a message stored on Bitcoin.
The first block on the Bitcoin network contained just one transaction, and this transaction included the famously well-known message. Furthermore, while you’ve probably heard this message quoted online at least once, you’ve likely never looked it up to confirm that’s what it says, so let’s find out for ourselves!
Head over to a Bitcoin block explorer; just about any well-supported explorer should work for following these steps. However, blockchain.info was used when creating this tutorial and can be used to find this message quickly and easily.
Typically, block explorers allow you to search for blocks by number. In most cases, you can simply enter “0” (without the quotes) into the explorer’s search function. If the blockchain explorer supports more than one blockchain, the next step will be to select Bitcoin or BTC specifically (depending on the options provided).
At this stage, you’ll be viewing the list of transactions in that first block (the genesis block), and as we mentioned, there is only one. In most explorers, if you scroll down a little, you’ll be able to find and click the specific hash for that transaction to be taken to a page with the data associated with that transaction. If, for some reason, you can’t find it, you can take a shortcut and search for the hash directly if you have it available: 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
Once you have found the transaction, scroll down and look for the Sigscript or OP_RETURN data included with the transaction. It will look a little like a hash, just a long string of letters and numbers (unless the explorer automatically converts it for you). Once you’ve found it, copy it to your clipboard. As the message is stored in hexadecimal form, the easiest way to read it is to use one of the many hex to ASCII converters found online. Most of these will simply require you to paste the hex string you found into a text input and hit convert.
Once you’ve completed the steps above, you will see the famous message the founder of Bitcoin left in that first transaction for the world to ponder:
The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
How to Write a Message on the Bitcoin Blockchain
While not a feature supported by all Bitcoin wallets, some wallets enable you to add a message directly by selecting a particular option or filling in an optional field.
For example, you're in luck if you use a Trezor hardware wallet to store your Bitcoin. This feature is natively supported by selecting the option “Add OP_RETURN” to enable you to add some text to be attached to the transaction quite easily.
If you use the fantastic Electrum wallet, you can use it to perform OP_RETURN transactions very easily, albeit a little differently from some other wallets. You can find a helpful thread on Twitter from the Electrum wallet team regarding how to perform these types of transactions. Just be sure to enter 0 for the amount, as any funds added to the transaction will become unspendable.
Steps for Sending a Message Using Bitcoin with Electrum Wallet:
Download and set up Electrum. If you haven’t already, you can create a new wallet and fund it with a small amount of bitcoin if you don’t already have a suitable wallet to use or simply don’t want to put all of your funds at risk experimenting with something unfamiliar (usually a good idea).
Navigate to the “Send” tab, and you’ll find a few fields you can fill in. An excellent place to start is by setting the amount to 0 (zero), as any funds used will become unspendable.
Convert your text to hex; this is quickly done with one of the many ASCII to hex converters available online. Once your hex is ready, you can enter it in the “Pay to” input field as follows. “OP_RETURN YOURHEXGOESHERE” (without the quotes and replacing the second portion with the text you converted to hex).
Click “pay,” then check your fee, and once you are ready, you can perform the transaction by following the prompts. Once the transaction is confirmed sufficiently, you can forever consider it part of the Bitcoin blockchain!
You can see an example that was performed using the above steps by checking the following transaction hash in a Bitcoin blockchain explorer:
Why Censorship Resistant Messaging is Important
Even though Bitcoin isn’t the most practical way to send messages at scale and won’t replace any of the social media giants anytime soon, it is an important feature. One of the biggest things that bitcoin provides is immutability and resistance to censorship, which is extremely important in the modern world.
Being able to send a few words that you can trust not to be tampered with isn’t just satisfying; it provides a foundation to show that things like this are possible, and the freedom to not just exchange but to get your message across is vital to anyone that values their freedom and the freedom of everyone else in this world.
One of the other ways that Bitcoin messages are important is for those wanting to speak for themselves without exposing themselves. For instance, should you claim that you have access to a specific wallet and try to use the size of that wallet for public influence in some way, the owner of that wallet could simply sign a message denouncing you without having to expose themselves and lose their privacy as the owner of that wallet address.
However, alongside the powerful statement that being able to do this kind of thing makes, it’s also what enables some projects to leverage the strong security and resilience of the bitcoin network. For example, Omni Layer (well known as the home for the original USDT Tether) is an excellent example of how the ability to include messages attached to transactions can provide a perfect way to build additional features or functionality on top of bitcoin without ever affecting the core network itself.
Instant Messaging on the Lightning Network
As you may have noticed in recent years, the Lightning Network is gaining more traction. Suppose you haven’t heard of this before. In that case, it’s an attempt to extend bitcoin with a second layer that can provide extremely high transaction throughput and very inexpensive transactions (among other valuable things). You may have noticed in this guide that the speed, cost, and other limitations of sending messages using Bitcoin make it far from practical for instant message-style communication. However, some experimentation has begun to provide ways to leverage many of the benefits of using the Lightning Network to help provide a more practical way to send secure messages using Bitcoin.
One example worth checking out is called Juggernaut; it boasts being able to send messages while being end-to-end encrypted, routed via the TOR network, and even having support for payments between users in a simplified way. While you will need a Lightning node to use it, there’s some interesting information on the official website about the project.
Another project worth checking out is Whatsat. It’s a little rawer and more of a proof-of-concept, but if you’re looking for something open source to get a little hands-on with, this can be an intriguing thing to explore.
As the popularity of the Lightning Network continues to grow, we’ll likely begin seeing a lot of creative and novel projects that take this secure payment network and make things even more interesting. So if more advanced use cases for Bitcoin are interesting to you, keeping an eye on the Lightning Network is a great thing to be doing.
The Limitations of Sending Messages with Bitcoin
When storing messages on the Bitcoin blockchain, there are several limitations you may wish to consider. It’s helpful to understand these limitations to best use this functionality to your advantage.
- Limited to 80 bytes in length or 160 hexadecimal characters makes for short messages
- One message per transaction limits the amount of information you can exchange at once
- 10 minute block times make this a little slow and unsuitable for instant messaging
- Fees can add up or may become worth significantly more over time
- Using OP_RETURN results in the bitcoin being sent becoming unspendable
Searching for Messages on the Bitcoin Blockchain
Another fun thing is searching for specific words or phrases to find messages hidden in various transactions. While not all block explorers support this, some do, and one of the best is Blockchair.
For example, open up your favorite bitcoin explorer and test a simple keyword like “hello” if this type of search is supported, you’ll see a list of results you can investigate. Another fun example is searching for “.com,” as you’ll find many random website links and even a few Tweets about Bitcoin immortalized on the blockchain.
Sometimes, sending messages using the Bitcoin network can be incredibly useful, such as when trying to discretely prove control of a specific wallet address. However, while the ability to send immutable messages on the most censorship-resistant blockchain in the world is impressive, it doesn’t hold up to most forms of communication used in the internet age.
With all that said, being able to leave your mark on the Bitcoin blockchain is a fun way to learn a little more about Bitcoin and the many possibilities it provides to its users.