Menambah Pesan Pada Transaksi Bitcoin Dengan Menggunakan OP_RETURN
Menambah Pesan Pada Transaksi Bitcoin. Bitcoin, adalah sebuah platform pembayaran elektronik secara peer-to-peer. Tepat seperti yang telah dituliskan pada whitepaper Satoshi Nakamoto, dengan judul “Bitcoin: A Peer-to-Peer Electronic Cash System.”
Bitcoin menggunakan teknik kriptografi di dalam sistemnya. Sehingga, apa yang dibicarakan secara keseluruhan adalah tentang sebuah “Pesan“, yang dapat mentransfer nilai. Meski pesan ini dimaksudkan secara khusus untuk mentransfer nilai pada sebuah transaksi, tentu bisa juga untuk menambahkan sebuah pesan khusus pada transaksi itu.
Bahkan, pesan pada transaksi bitcoin secara khusus tersebut juga dapat digunakan untuk mencatat informasi sebuah pernikahan juga. Ibaratnya, pernikahan tersebut diharapkan mampu bertahan dan abadi, karena juga telah dapat direkam di dalam Blockchain, yang dapat menyimpan data informasi itu selamanya, dan tamper-proof.
Beberapa contohnya, pada tanggal 8 Mei 2014, pemilik pool mining p2pool pernah mencatatkan pernikahannya di Blockchain. Informasi pernikahan tersebut terekam di dalam Blockchain. Bisa dilihat di sini:
https://blockchain.info/tx/e250c6d7ea4c5037fb96de1a2cb169850be792474401bae140fce784940f1dd3
Di Indonesia, hal itu dilakukan juga oleh pasangan Oscar Darmawan (CEO Bitcoin.co.id) dan Yenni pada tanggal 26 September 2015 yang lalu. Transaksi yang mencatat informasi tersebut dapat pula dilihat di sini:
https://blockchain.info/tx/10ef0ecc2c2a1315bf9800b3ac6e87d3cbc87b9de0cfa9b789143eaee1d6b239
Dari dua contoh diatas, dapat kita lihat bahwa ada dua cara untuk melakukannya.
- Transaksi Coinbase
- Menggunakan OP_Return
Untuk cara transaksi Coinbase ini, hanya dapat dilakukan oleh penambang. Yakni dengan memasukkan output transaksinya berupa arbitrary text, pada saat penambang tersebut berhasil menemukan block baru, dan block baru tersebut telah disepakati. Sehingga, transaksi reward block inilah yang nantinya dibubuhi arbitrary text tersebut. Biasanya, kita akan melihat transaksi reward block oleh pool mining, dan tertulis disana sebuah pesan khusus, misalnya saja dengan nama pool tersebut, jika kita melihat di block exploler.
Dan cara yang kedua, adalah dengan menggunakan OP_Return. Apa itu OP_Return? OP_Return ini adalah script opcode yang digunakan untuk menandai output transaksi yang Invalid (tidak valid). Di dalam Bitcoin, setiap transaksi tentu akan berisi dengan input (s) dan juga output (s). Keduanya digunakan dalam script Bitcoin. Jadi dalam hal ini, penggunaan OP_RETURN nantinya, akan dianggap sebagai sebuah output transaksi yang unspendable.
Baca Juga: Cara Kerja Bitcoin Dan Prosesnya
Karena sifatnya OP_Return ini menandai transaksi yang invalid, dan untuk menunjukkan bahwa pada output tersebut tidak digunakan lagi, maka output dalam OP_Return ini dapat digunakan untuk membakar atau burning Bitcoin, atau dikenal dengan proof of burn.
Baca Juga: Script Bitcoin
OP_RETURN Tidak Dianjurkan Karena Membebani Blockchain
Penggunaan OP_RETURN dapat membuat pembengkakan database yang tersimpan di dalam Blockchain. Lebih tepatnya, OP_RETURN tersebut akan tersimpan dalam database UTXO (Unspent Transaction Output). Mengapa begitu? Karena seperti yang telah disebut di atas, OP_RETURN digunakan untuk menandai transaksi yang invalid. Contohnya bisa dibedakan pada gambar diatas.
Meski dapat dilakukan, namun karena dapat menambah beban database UTXO, penggunaan OP_RETURN untuk menambahkan pesan khusus ini sebenarnya tidak dianjurkan. Walaupun telah ada batasan ukuran di setiap output di OP_RETURN, yakni sebesar 80 byte.
Bahkan pada rilis note Bitcoin Core versi 0.9.0 telah dijelaskan juga tentang hal ini. Disebutkan disana, bahwa penambahan arbitrary data kedalam blockchain masih merupakan ide yang buruk. Karena dapat memperbesar database UTXO saja. Apalagi jika data tersebut berupa embedded file ataupun gambar. Batasan limit yang semula berukuran 80 byte, kemudian dibatasi hanya 40 byte saja.
Hal tersebut dilakukan oleh developer Bitcoin Core, untuk menjaga Blockchain, dan menghindari penggunaan data-data yang tidak penting selain hanya yang berkaitan dengan informasi transaksi saja. Namun kenyataannya, memang OP_RETURN memang ada dan digunakan di dalam Bitcoin.
Bahkan OP_RETURN juga telah diaplikasikan dalam berbagai hal. Di Bitcoin Wiki, telah ada cukup banyak pengaplikasian OP_RETURN ini. Seperti Bitproof, coinsecrets.org, Colu, DocProof, Eternity Wall, proofofexistence.com, crypto-copyright.com, CoinSpark, Factom, Cryptograffiti.info, Stampery, dan masih banyak yang lain.
Sehingga dapat digunakan untuk memberikan catatan khusus sebuah peristiwa penting, seperti yang telah pernah dilakukan Satoshi Nakamoto pada Genesis block. Bisa juga untuk perekaman dokumen notaris, email khusus, atau yang lain. Anda bisa melihatnya di sini: The OP_RETURN Explosion.
Lalu Bagaimana Caranya?
Untuk dapat menggunakan OP_Return ini, kita bisa menggunakan consol yang ada pada Bitcoin Core. Baca petunjuk agar dapat melakukan hal ini di sini: Create OP_RETURN Transaction. Atau jika ingin lebih mudah jika belum memahami bahasa script yang memang cukup rumit ini, anda juga dapat menggunakan wallet dari coinspark.
Namun, transaksi yang dapat memuat pesan di coinspark tersebut, hanya memungkinkan terjadi pada penerima yang telah juga mempunyai coinspark address. Jadi minimal anda mempunyai dua address coinspark disana, lalu membuat satu transaksi pengiriman, yang telah dibubuhi dengan pesan pada transaksi bitcoin secara khusus tersebut.