Apa itu SegWit?

Apa itu SegWit?

Pada tahun 2017, Bitcoin mengalami masalah yang hampir memecah belah komunitasnya. Jaringan hanya mampu menangani sekitar 3 transaksi per detik. Biaya transaksi melonjak. Blok penuh. Dan setiap orang memiliki ide yang berbeda tentang cara memperbaikinya.

Solusi yang terpilih adalah SegWit, singkatan dari Segregated Witness. Solusi ini diusulkan oleh Pieter Wuille, salah satu pengembang utama Bitcoin Core, dan mengubah struktur setiap transaksi bitcoin. Bukan sekadar perubahan kecil. Ini adalah perombakan mendasar tentang bagaimana data masuk ke dalam sebuah blok. Delapan tahun kemudian, sekitar 96% dari semua transaksi bitcoin menggunakan alamat SegWit. Jika Anda telah membeli atau mengirim bitcoin dalam beberapa tahun terakhir, Anda hampir pasti telah menggunakannya tanpa menyadarinya.

Sebenarnya apa masalahnya?

Izinkan saya menggambarkan situasi tahun 2016 untuk Anda.

Bitcoin memiliki batasan 1 MB untuk setiap blok. Satoshi menetapkan batasan itu pada tahun 2010 untuk menghentikan serangan spam, dan tidak ada yang menghapusnya. Blok ditambang setiap 10 menit atau lebih. Dengan ukuran 1 MB per blok, itu berarti sekitar 1.650 transaksi per blok. Jika dihitung, akan menghasilkan sekitar 2-3 transaksi per detik untuk seluruh jaringan bitcoin. Seluruh planet berbagi saluran yang sangat tipis itu.

Ngomong-ngomong, Visa memproses 65.000 transaksi per detik. Jadi, ya. Itu masalah.

Pada akhir tahun 2016, setiap blok mencapai batas 1 MB. Ketika tidak ada ruang tersisa, pengguna bitcoin mulai saling menawar biaya transaksi, mencoba menyuap penambang agar transaksi mereka diprioritaskan. Biaya menjadi sangat tinggi. Mengirim bitcoin senilai $10 bisa dikenakan biaya $15. Itu tidak masuk akal.

Lalu ada masalah yang lebih teknis. Kerentanan transaksi. Saya akan mencoba menjelaskannya secara sederhana. Saat Anda mengirim bitcoin, jaringan membuat ID untuk transaksi tersebut. Sebelum SegWit, ID tersebut dibangun dari keseluruhan transaksi, termasuk tanda tangan. Masalahnya? Seseorang dapat mengambil transaksi Anda yang belum dikonfirmasi, memanipulasi pengkodean tanda tangan (tetap membuatnya valid secara teknis), dan akhirnya mendapatkan ID yang berbeda untuk pembayaran yang sama persis. Pengirim yang sama. Penerima yang sama. Jumlah yang sama. Nomor ID yang berbeda.

Mengapa Anda harus peduli? Karena Mt. Gox, bursa yang kehilangan 840.000 BTC pada tahun 2014, dieksploitasi melalui bug yang persis sama ini. Dan yang lebih penting, sistem lapisan kedua apa pun yang dibangun di atas Bitcoin (seperti saluran pembayaran) perlu merujuk transaksi berdasarkan ID-nya. Jika ID tersebut dapat berubah, semuanya akan runtuh.

Bitcoin menghadapi dua masalah sekaligus: ukuran blok yang terlalu kecil, dan ID transaksi yang tidak dapat dipercaya. SegWit memperbaiki keduanya dalam satu langkah.

Cara kerja SegWit (tanpa perlu gelar ilmu komputer)

Bayangkan transaksi Bitcoin seperti cek. Ada bagian yang menyatakan siapa membayar siapa dan berapa jumlahnya. Kemudian ada tanda tangan Anda di bagian bawah yang membuktikan keabsahannya. Sebelum SegWit, kedua bagian tersebut digabungkan menjadi satu blok data, dan semuanya dihitung terhadap batas ukuran blok 1 MB.

Inilah yang mengganggu Pieter Wuille: data tanda tangan menghabiskan sekitar 65% dari setiap transaksi. Sebagian besar dari setiap blok tidak mencatat apa yang terjadi. Itu hanya mencatat bukti bahwa seseorang mengatakan itu baik-baik saja. Itu terasa boros.

Idenya: pisahkan tanda tangan. Letakkan di bagian tersendiri yang disebut "witness". Data transaksi tetap berada di blok utama. Data witness disimpan secara terpisah. Data ini tetap diperiksa oleh setiap node di jaringan. Hanya saja bobotnya tidak sama ketika menghitung seberapa penuh suatu blok.

Apa yang terjadi dalam praktiknya? Blok yang sebelumnya menampung sekitar 1.650 transaksi, meningkat menjadi sekitar 2.700. Bitcoin melonjak dari 2-3 transaksi per detik menjadi sekitar 7-10. Masih tergolong rendah dibandingkan Visa. Tetapi bagi jaringan yang sedang terbebani oleh kesuksesannya sendiri, ini adalah ruang bernapas.

segwit

Berat blok: matematika baru

Di sinilah letak kecerdikannya. Langkah yang paling jelas adalah mengubah batas 1 MB menjadi 2 MB. Tetapi itu akan menjadi hard fork. Setiap node di jaringan bitcoin perlu diperbarui, atau mereka akan terputus dari rantai. Hard fork itu berantakan. Banyak orang yang tertinggal.

Pieter Wuille menemukan sesuatu yang lebih cerdas. Alih-alih mengukur blok dalam byte mentah, SegWit menggunakan "bobot blok". Data transaksi reguler dihitung sebagai 4 unit bobot per byte. Data saksi hanya dihitung sebagai 1 unit bobot per byte. Batas maksimalnya adalah 4 juta unit bobot total.

Apa artinya dalam praktiknya? Sebuah blok tanpa data saksi tetap maksimal berukuran 1 MB, sama seperti biasanya. Node lama tidak melihat hal yang aneh. Sebuah blok yang penuh dengan transaksi SegWit secara teori dapat mencapai hampir 4 MB. Namun dalam praktiknya, sebagian besar blok berukuran sekitar 1,5 hingga 2 MB.

Keindahan dari hal ini: SegWit dirilis sebagai soft fork. Node yang tidak pernah diupgrade tetap berjalan lancar. Mereka hanya tidak dapat melihat data saksi di bagian baru. Blockchain Bitcoin tidak terpecah. Tidak ada "Bitcoin lama" dan "Bitcoin baru." Satu rantai, satu jaringan, kompatibel ke belakang. Itu saja sudah merupakan kemenangan rekayasa yang tidak cukup dihargai.

Sebelum SegWit Setelah SegWit
Ukuran blok: maksimal 1 MB Berat blok: maksimal 4 juta satuan berat.
~1.650 transaksi per blok ~2.700 transaksi per blok
2-3 TPS 7-10 TPS
Data tanda tangan di dalam blok Data tanda tangan di kolom saksi terpisah
ID transaksi mencakup tanda tangan. ID transaksi hanya berdasarkan data inti.

Perbaikan kerentanan transaksi

Orang-orang terus-menerus membicarakan masalah ukuran blok. Wajar saja, itu adalah masalah yang paling banyak dibicarakan. Tapi menurut saya, perbaikan kerentanan transaksi adalah bagian yang lebih penting, dan kebanyakan orang di luar kalangan pengembang hampir tidak mengetahuinya.

Jadi begini ceritanya. Sebelum SegWit, ketika dompet bitcoin Anda membuat transaksi, ID transaksi (disebut TXID) dihitung dari semua yang ada dalam transaksi. Termasuk tanda tangan. Dan inilah bagian yang aneh: tanda tangan digital dapat dinyatakan dalam lebih dari satu format yang valid. Tanda tangan yang sama, bukti kepemilikan yang sama, tetapi urutan byte yang sedikit berbeda.

Itu berarti seseorang dapat mengambil transaksi Anda yang belum dikonfirmasi, mengkode ulang tanda tangan dengan cara yang berbeda tetapi sama validnya, dan menyiarkannya. Jaringan akan mengkonfirmasi versi yang telah dimodifikasi. Pengirim yang sama, penerima yang sama, jumlah yang sama. Tetapi TXID yang sama sekali berbeda.

Saya tahu. Kedengarannya rumit. Tapi itu sangat penting. Bayangkan membangun sistem di mana langkah B merujuk pada ID langkah A. Jika seseorang dapat mengubah ID langkah A setelah dikirimkan tetapi sebelum dikonfirmasi, langkah B akan rusak. Seluruh rantai logika Anda akan runtuh.

SegWit memperbaiki ini dengan menghitung TXID hanya dari bagian yang bukan merupakan bagian saksi. Tanda tangan sekarang berada di kolom saksi, terpisah dari ID. Tidak ada yang bisa mengutak-atiknya. ID transaksi dikunci untuk selamanya.

SegWit dan Jaringan Lightning

Inilah mengapa perbaikan masalah kelenturan (malleability) itu penting. Lightning Network adalah cara Bitcoin menangani jutaan pembayaran per detik. Anda dan saya membuka saluran pembayaran. Kita mengirim bitcoin bolak-balik di antara kita, di luar blockchain utama. Setelah selesai, hanya saldo bersih akhir yang diselesaikan di blockchain. Satu transaksi di blockchain bitcoin, bukan ratusan.

Lightning bekerja dengan membangun rantai transaksi yang saling merujuk satu sama lain melalui ID-nya. Jika seseorang dapat mengubah ID di tengah proses, transaksi pengembalian dana yang melindungi Anda menjadi tidak valid. Anda bisa kehilangan uang. Seluruh konsep saluran pembayaran bergantung pada kestabilan ID.

SegWit membuat mereka stabil. Titik. Tanpa perbaikan itu, Lightning akan terlalu berisiko untuk diterapkan. Dan tanpa Lightning, Bitcoin akan selamanya terjebak pada 7-10 transaksi per detik. Itu bukanlah jaringan pembayaran. Itu hanyalah lapisan penyelesaian untuk para paus (pemilik aset kripto dalam jumlah besar).

Saya memikirkannya seperti ini: SegWit bukan sekadar peningkatan. Itu adalah fondasi dasarnya. Taproot pada tahun 2021, Lightning Network, bahkan prasasti Ordinals pada tahun 2023. Semua itu tidak akan terjadi tanpa perubahan struktural yang dilakukan pada Agustus 2017.

Format alamat: legacy, wrapped, dan native SegWit

Pernahkah Anda memperhatikan bahwa beberapa alamat bitcoin dimulai dengan "1", beberapa dengan "3", dan beberapa dengan "bc1"? Itu adalah peningkatan SegWit yang muncul di dompet Anda.

Alamat yang diawali dengan "1" adalah alamat lama. Format lama. Tidak ada SegWit. Anda membayar biaya paling banyak. Jika dompet Anda masih menampilkan alamat-alamat ini, perbarui perangkat lunak Anda.

Alamat yang diawali dengan "3" menggunakan SegWit. Transaksi bitcoin menggunakan SegWit secara internal, tetapi dibungkus sehingga dompet lama yang belum pernah mendengar tentang SegWit masih dapat mengirim bitcoin ke sana. Lebih murah daripada metode lama, tetapi bukan pilihan termurah.

Alamat yang diawali dengan "bc1q" adalah SegWit asli, juga disebut Bech32. Ini adalah hal yang bagus. Biaya terendah. Pemeriksaan kesalahan terbaik (format alamat lebih baik dalam mendeteksi kesalahan ketik). Dan ini adalah format yang digunakan oleh 96% transaksi saat ini.

Anda mungkin juga melihat alamat "bc1p". Itu adalah Taproot, peningkatan yang lebih baru dari tahun 2021 yang dibangun di atas SegWit. Topik yang berbeda, tetapi penting untuk mengetahui keberadaannya.

Jenis alamat Dimulai dengan Tingkat biaya SegWit?
Warisan (P2PKH) 1 Paling tinggi TIDAK
SegWit Terbungkus (P2SH) 3 Sedang Ya (terbungkus)
SegWit Asli (Bech32) bc1q Terendah Ya (penutur asli)
Akar tunggal (Bech32m) bc1p Terendah Ya + Taproot

Seberapa besar penghematan biaya yang sebenarnya Anda dapatkan?

Inilah yang sebenarnya ingin diketahui teman-teman saya yang bukan ahli teknologi. Seberapa jauh lebih murah?

Unchained telah menghitung angkanya. Transaksi SegWit dengan tanda tangan tunggal standar menghemat biaya sekitar 53% dibandingkan dengan metode lama. Jika Anda menggunakan pengaturan multisig 2-dari-3 (umum dalam penyimpanan aset digital), Anda menghemat sekitar 64%. Itu bukan kesalahan pembulatan. Pada hari yang sibuk di mana pengguna metode lama membayar $30 per transaksi, Anda membayar kurang dari $15 dengan SegWit asli.

Mengapa? Sekali lagi, karena perhitungan bobot blok. Data saksi dihitung sebagai 0,25 byte virtual, bukan 1. Transaksi Anda membutuhkan lebih sedikit ruang dalam blok. Penambang mengenakan biaya lebih rendah untuk itu. Sederhana.

Jika dompet bitcoin Anda masih memberikan alamat yang diawali dengan "1", Anda membuang uang setiap kali mengirim. Beralihlah ke SegWit asli. Hanya butuh lima menit. Coinbase, Ledger, Trezor, BlueWallet, Sparrow, semuanya mendukungnya. Tidak ada kerugian sama sekali.

segwit

Kontroversi: mengapa SegWit hampir tidak terwujud?

Bagian ini jujur saja lebih menarik daripada teknologinya. SegWit hampir mati sebelum diluncurkan.

Pertarungan itu tampak sederhana di permukaan. Satu kubu, "pendukung blok besar," ingin meningkatkan batas ukuran blok dari 1 MB menjadi 8 MB atau lebih tinggi. Lebih banyak ruang, lebih banyak transaksi. Solusi yang mudah. Bitmain, penambang bitcoin terbesar di planet ini, sangat mendukung kubu ini. Beberapa orang menuduh Bitmain menentang SegWit karena akan membunuh ASICBOOST, trik rahasia yang tertanam dalam chip penambangan mereka yang memberi mereka keunggulan kecepatan dibandingkan pesaing. Bitmain membantahnya. Dunia kripto tidak mempercayai mereka.

Kubu lainnya sebagian besar terdiri dari pengembang Bitcoin Core dan orang-orang yang menjalankan node penuh di rumah. Argumen mereka: jika blok dibuat 8 kali lebih besar, Anda membutuhkan 8 kali lebih banyak bandwidth, penyimpanan, dan daya pemrosesan untuk menjalankan node. Beberapa tahun kemudian, hanya pusat data dan pertanian penambangan yang mampu memvalidasi blockchain bitcoin. Desentralisasi mati dengan tenang.

Saya mengikuti perkembangan ini secara langsung dan benar-benar terasa seperti Bitcoin mungkin tidak akan bertahan dari perdebatan ini. Orang-orang saling berteriak di Twitter, Reddit, dan di konferensi. Bahkan ada pertemuan tertutup di New York ("Perjanjian New York") di mana sejumlah perusahaan mencoba menengahi kesepakatan yang menggabungkan SegWit dengan peningkatan ukuran blok di kemudian hari. Kesepakatan itu pun gagal.

Yang sebenarnya terjadi: SegWit diaktifkan pada 1 Agustus 2017 sebagai soft fork yang diaktifkan oleh pengguna. Para penambang bitcoin yang menentangnya memisahkan diri dan menciptakan Bitcoin Cash (BCH) pada hari yang sama. BCH menggunakan blok 8 MB (sekarang 32 MB) dan tanpa SegWit. BCH masih ada hingga sekarang. Harganya diperdagangkan dengan harga yang jauh lebih rendah daripada Bitcoin.

Tanggal 1 Agustus disebut sebagai "Hari Kemerdekaan Bitcoin" oleh sebagian orang. Intinya adalah bahwa operator node, bukan perusahaan penambangan, yang memiliki wewenang terakhir atas aturan Bitcoin. Preseden tersebut lebih penting daripada baris kode apa pun dalam peningkatan SegWit itu sendiri.

Adopsi SegWit hari ini

Perdebatan sudah berakhir. 96% transaksi bitcoin menggunakan SegWit pada tahun 2025. Setiap dompet utama mendukungnya. Setiap bursa mendukungnya. Jika Anda masih menggunakan alamat lama, satu-satunya penjelasannya adalah perangkat lunak yang belum Anda perbarui selama bertahun-tahun.

Pembaruan SegWit juga membuka jalan bagi semua yang terjadi setelahnya. Taproot hadir pada November 2021 dan menambahkan tanda tangan Schnorr di atas struktur SegWit. Ordinals muncul pada tahun 2023 dan mulai memasukkan JPEG ke dalam ruang data saksi yang dibuat oleh SegWit. Orang-orang memiliki perasaan yang beragam tentang hal terakhir itu, tetapi intinya tetap: SegWit menciptakan ruang tersebut, dan para pengembang mengisinya.

Jadi, apakah SegWit penting bagi Anda secara pribadi? Jika Anda menggunakan bitcoin, ya. Buka pengaturan dompet Anda dan periksa format alamat Anda. Jika dimulai dengan "bc1q", Anda aman. Jika dimulai dengan "1", Anda harus beralih hari ini. Biaya lebih rendah, konfirmasi lebih cepat selama kemacetan, dan akses penuh ke pembayaran Lightning.

Anda mungkin tidak akan pernah memikirkan SegWit dalam kehidupan sehari-hari. Itu seperti instalasi pipa di bawah lantai. Tetapi jika seseorang tidak memasangnya pada tahun 2017, seluruh rumah pasti sudah kebanjiran sekarang.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.