Segwit – Segragated Witness
Segwit ini adalah implementasi dari usulan yang digagas oleh Eric Lambrozo, Johnson Lau dan Pieter Wuille pada BIP 0141. Dalam implementasinya, segwit juga menggunakan rancangan dari BIP 144 yang mengacu tentang base data dan juga witness data.
Segwit atau Segragated Witness muncul sebagai sebuah alternatif solusi untuk meringankan skalabilitas bitcoin yang sejak lama menjadi hambatan utama dalam ledger yang terdistribusi seperti Bitcoin. Skalabilitas block ini, sama halnya terjadi dan menjadi hambatan juga di varian kripto lain selain Bitcoin, atau yang disebut dengan Altcoin.
Perubahan bitcoin dengan menerapkan penggunaan Segwit, pada dasarnya dilakukan dengan merubah limit ukuran standar block dari 1 megabyte, menjadi limit berat block (blockweight). Dalam hal inilah sebenarnya yang membuktikan bahwa penerapan segwit secara otomatis juga akan membutuhkan ukuran block yang lebih besar dari limit block sebelumnya yang hanya berukuran 1 megabyte saja.
Karena hal tersebut telah menjadi sebuah konsensus maka tentu sudah menjadi ketetapan dasar yang nantinya diikuti oleh full node di dalam jaringan, dengan cara mengupgrade core bitcoin mereka dengan versi yang telah support segwit tersebut. Perubahan konsensus block limit ini, oleh bitoin hanya dilakukan dengan soft fork saja pada tahun lalu.
Seperti ini perubahan yang dimaksud:
Sebelum Segwit:
MAX_BLOCK_BASE_SIZE = 1000000;
menjadi:
MAX_BLOCK_WEIGHT = 4000000;
Nilai BlockWeight sebesar 4000000 unit tersebut diambil dengan perhitungan 4 kali jumlah non witness data ditambahkan dengan witness data dalam ukuran byte. Sehingga nilainya harus lebih kecil dari 4 juta unit.
Sementara itu, untuk lebih meringkas ukuran transaksinya, Segwit ini menggunakan Witness Data sebagai penyimpan digital signature transaksi. Perbedaannya, jika sebelum segwit, keseluruhan struktur data akan dilampirkan juga ke dalam runtutan transaksi berikutnya, maka segwit menggunakan tidak witness data (digital signature) tersebut. Kurang lebihnya akan nampak seperti ini:
Sedangkan, setelah Segwit, digital signature yang besaran ukurannya kurang lebih mencapai 54% dari struktur transaksi itu tidak lagi diikutsertakan dalam TXID transaksi selanjutnya. Sehingga transaksi dengan segwit akan nampak seperti di bawah ini:
Pertanyaannya, apakah Digital Signature dengan Segwit tersebut artinya tidak lagi dipergunakan? Tentu saja dipergunakan, hanya saja Digital Signature tersebut tidak diikutsertakan dalam TXID transaksi selanjutnya jika pengguna ingin membelanjakan sejumlah unit bitcoin miliknya.
Karena digital signature tersebut tidak dicantumkan dalam transaksi melainkan hanya disimpan saja, maka tentu ukuran transaksi makin berkurang drastis. Karena throughput transaksi yang telah menggunakan Segwit, ukuran transaksi menjadi lebih kecil, kurang lebih hanya berkisar 41% saja dari ukuran transaksi standar.
Selain untuk meminimalkan ukuran transaksi, segwit juga dapat meminimalisir terjadinya transaction malleability pada penyedia wallet dari pihak ketiga. Pada awalnya, dari sekian diskusi di forum-forum kripto mengenai Segwit banyak yang pesimis, memandang bahwa segwit akan membawa masalah tersendiri pada ukuran block blockchain bitcoin.
Asumsinya, karena Segwit Data tersebut, artinya akan menambah ukuran ruang penyimpanan blockchain yang lebih besar juga. Namun, dengan penggunaan blockweight pada segwit, sebenarnya berarti ukuran transaksi dalam 1 block harus lebih kecil dari 4 juta unit, namun witness data memang bisa mencapai hingga 4 megabyte.
Apakah dengan hal tersebut berarti dalam satu block bisa mencapai ukuran hingga 4 megabyte? Hanya ada kemungkinan kecil saja hal itu bisa terjadi. Karena konsensus limit block yang dipergunakan adalah ukuran blockweight, yakni dalam 1 block nantinya harus lebih kecil 4 juta unit seperti yang dijelaskan di atas. Sehingga yang paling memungkinkan, dalam 1 block bitcoin dengan segwit ini ukuran terbesarnya mungkin hanya akan mencapai kurang dari 2 megabyte saja.
1 Comment
Mantab!