Diskon Saksi: Mengapa Beberapa Byte Lebih Murah Dibandingkan Lainnya

Lanjutan1/1/2024, 3:24:13 AM
Artikel ini menganalisis mengapa diskon harus diberikan pada dukungan ini dan apakah kita harus menghilangkan diskon pada data saksi melalui soft fork.

Tahun ini terjadi peningkatan besar-besaran dalam permintaan akan ruang terbatas yang tersedia dalam blok bitcoin, yang menyebabkan biaya lebih tinggi untuk transaksi berantai. Sebagian besar permintaannya adalah transaksi yang mengungkapkan prasasti. Isi prasasti ini terungkap sebagai bagian dari data saksi1 transaksi bitcoin. Data saksi1 ini didiskon menjadi seperempat biaya data transaksi lainnya. Mengapa kami memberikan diskon pada prasasti ini? Haruskah kita memberikan potongan harga untuk saksi?

Mengapa beberapa byte lebih murah dibandingkan byte lainnya?

Uang pada umumnya dan bitcoin pada khususnya beroperasi berdasarkan insentif manusia. Bitcoin menyelaraskan insentif bagi para penambang dan pelaku transaksi melalui penggunaan token bitcoin asli untuk membayar para penambang agar memasukkan transaksi tertentu ke dalam blok yang mereka bangun. Hal yang sama tidak dapat dikatakan dalam menyelaraskan insentif antara node runner dengan penambang dan pelaku transaksi, atau menyelaraskan insentif antara pengirim dan penerima.

Ada 3 perbaikan besar pada penyelarasan insentif bitcoin hingga saat ini:

  1. Membatasi ukuran blok

  2. Pergeseran biaya naskah kompleks dari pengirim ke penerima (P2SH)

  3. Menyelaraskan biaya data antara node runner dan transactors (SegWit)

MEMBATASI UKURAN BLOK

Para pelaku transaksi ingin melakukan banyak transaksi dan penambang ingin memungut banyak biaya transaksi; tetapi pelari node harus menyampaikan, memverifikasi, dan menyimpan semua data transaksi tersebut dan mereka tidak diberi kompensasi seperti penambang karena melakukan hal tersebut. Pada awal sejarah bitcoin, Satoshi berupaya mengatasi hal ini dengan menambahkan batas ukuran blok tetap (diberlakukan oleh node). Batasannya adalah 1 juta byte per blok, dan menetapkan batas atas jumlah data yang perlu diunduh dan diverifikasi oleh node. Pada saat itu, Satoshi menulis, “[kita] dapat melakukan perubahan secara bertahap nanti jika kita semakin membutuhkannya.” Kemudian, mengacu pada patch untuk meningkatkan batas, dia mencatat, “[d]jangan gunakan patch ini, itu akan membuat Anda tidak kompatibel dengan jaringan”, yang berarti bahwa meningkatkan batas ukuran blok adalah perubahan yang sulit dan memerlukan lebih banyak koordinasi bahkan daripada garpu lunak. Pada tahun-tahun berikutnya, bitcoin dengan sengaja menghindari perubahan hard fork yang tidak kompatibel, yang juga berarti mempertahankan batas ukuran blok 1 juta byte.

MENGGESER BIAYA SKRIP KOMPLEKS DARI PENGIRIM KE PENERIMA

Karena bitcoin diamankan dengan skrip penguncian, selalu dimungkinkan untuk menguncinya dengan skrip tingkat lanjut, termasuk multisig. Berdasarkan desain aslinya, pengirim transaksi bitcoin akan menempatkan skrip penguncian penuh milik penerima dalam transaksi mereka, dan membayar biaya apa pun agar skrip penguncian tersebut disertakan dalam sebuah blok. Pengembang menyadari bahwa seiring dengan kenaikan biaya, pengirim mungkin menjadi ragu untuk membayar pengguna skrip penguncian yang lebih besar karena biaya yang lebih tinggi untuk membayar pengguna tersebut. Skrip penguncian yang rumit ini juga menimbulkan masalah dalam penyandian ke alamat dan berbagi melalui mekanisme bandwidth rendah seperti Kode QR.

Untuk mengatasi hal ini, P2SH ditambahkan ke bitcoin sebagai soft fork. Berdasarkan aturan fork ini, alih-alih memasukkan seluruh skrip penguncian penerima ke dalam output transaksi, pengirim cukup menyertakan hashnya. Ketika penerima membelanjakan output tersebut, mereka menyertakan skrip lengkap dalam transaksi pembelanjaan, yang diperiksa terhadap hash skrip tempat koin dikunci sebelum divalidasi. Dengan perubahan ini, skrip penebusan dengan ukuran berapa pun dapat diwakili oleh skrip penguncian dengan panjang tetap dan pengirim tidak lagi memiliki kebutuhan (atau kemampuan) untuk membedakan penerima berdasarkan kondisi pembelanjaan mereka.

MENYESUAIKAN BIAYA DATA ANTARA NODE RUNNER DAN TRANSAKTOR

Verifikasi paling mendasar yang dilakukan node pada transaksi bitcoin adalah bahwa bitcoin yang mereka coba belanjakan memang benar-benar ada. Untuk melakukan hal ini, setiap node memelihara indeks setiap unit bitcoin yang dapat dibelanjakan (output transaksi yang tidak terpakai, UTXO). Semakin besar indeks ini, semakin besar biaya menjalankan sebuah node dan memverifikasi transaksi di masa depan2. Akibatnya, transaksi yang meningkatkan ukuran indeks ini (memiliki lebih banyak output daripada input) memerlukan biaya lebih banyak dari waktu ke waktu dibandingkan transaksi dengan jumlah byte yang sama yang mengurangi ukuran indeks.

Bagian terbesar dari sebagian besar skrip pembuka kunci bitcoin adalah tanda tangan kriptografi. Tanda tangan ini berukuran sekitar dua kali ukuran kunci publik terkait, yang membuat skrip pembuka kunci (bahkan tanpa P2SH) lebih besar daripada skrip penguncian.

Biaya konsumsi vs. pembuatan UTXO yang jauh lebih tinggi menciptakan konflik insentif antara node runner dan pelaku transaksi. Para pelaku transaksi tidak diberi insentif untuk membelanjakan UTXO kecil mereka (terutama pada saat biaya tinggi), dan lebih memilih untuk membelanjakan UTXO besar dan menciptakan lebih banyak UTXO perubahan kecil. Sementara itu, node runner membayar biaya akumulasi UTXO kecil ini dengan biaya validasi yang lebih tinggi untuk semua transaksi.

Walaupun kelihatannya aneh, verifikasi bahwa setiap UTXO yang dikeluarkan oleh suatu transaksi di blockchain historis memiliki skrip penguncian yang dipenuhi oleh skrip pembuka kunci yang sesuai secara signifikan kurang mendasar. Oleh karena itu, node bitcoin yang menjalankan bitcoin core 26.x default tidak akan memvalidasi eksekusi skrip penguncian penuh untuk transaksi sebelum blok 804000 (19 Agustus 2023).

Semua hal di atas berarti bahwa ada biaya berbeda yang dibebankan pada node bitcoin oleh bagian berbeda dari blockchain. Data yang diperlukan untuk menentukan dampak setiap transaksi harus divalidasi oleh setiap node yang melakukan sinkronisasi dari blok genesis3, keluaran transaksi cenderung lebih mahal daripada masukan transaksi dalam jangka panjang (terutama jika berumur panjang), dan sebagian besar data saksi bahkan tidak diperiksa kecuali transaksi terbaru.

MASUKKAN SAKSI YANG TERPISAH

Soft fork saksi terpisah (SegWit) adalah perubahan paling ambisius yang dilakukan pada bitcoin hingga saat ini. Motivasi terbesar untuk perubahan ini adalah untuk memperbaiki masalah kelenturanTXID4 5 yang sudah lama ada dalam bitcoin. Untuk memperbaiki kelenturan ini, skrip pembuka kunci diganti dengan “saksi” yang baru dibuat. Dengan menghapus data otorisasi (yang seringkali dapat diubah oleh pihak ketiga tanpa mengubah efek transaksi) dari TXID, protokol (seperti Lightning) yang bergantung pada TXID yang tidak berubah menjadi mungkin.

Dengan data otorisasi dipindahkan dari struktur transaksi asli, data tersebut tidak lagi dihitung terhadap batas blok 1 juta byte. Batas baru diperlukan. Banyak pendekatan untuk membatasi data saksi terpisah yang dibahas pada saat itu: Batas byte saksi terpisah6, batas gabungan <1 juta byte7, atau batas gabungan tertimbang. Pada akhirnya, batas gabungan tertimbang dipilih, dengan data saksi terpisah diberi bobot 1 unit, data transaksi diberi bobot 4 unit, dan batas blok bobot 4 juta. Setiap unit berat diperlakukan sebagai 1/4 byte virtual (vByte) untuk tujuan penghitungan biaya.

Mengapa beban ini? Mari kita lihat biaya input dan output transaksi dengan dan tanpa saksi terpisah:

Hal pertama yang perlu diperhatikan dari tabel ini adalah bagaimana tipe skrip saksi (P2WPKH, P2WSH) memiliki jumlah byte input dan output yang hampir sama (yang masing-masing dikenakan biaya vByte penuh). Pembelanja skrip saksi kemudian dikenai biaya 1/4 vByte untuk data yang mengesahkan pembelanjaan, sebagian besar tidak diverifikasi untuk transaksi apa pun kecuali transaksi terbaru, dan tidak ada satupun yang memiliki biaya berkelanjutan dalam indeks UTXO. Hal lain yang perlu diperhatikan di sini adalah bagaimana biaya penggunaan multisig 2-dari-3 yang lebih aman dibandingkan dengan tanda tangan tunggal berkurang dari 147 vBytes menjadi 36,25 vBytes.

TAPROOT DAN INSKRIPSI MENGUBAH SEMUANYA (ATAU TIDAK ADA)

Seperti yang saya katakan di awal, bitcoin bergantung pada insentif manusia, dan di sini kita dapat melihat bagaimana perubahan telah dilakukan pada bitcoin selama bertahun-tahun untuk meningkatkan keselarasan insentif antara pihak-pihak yang menggunakan jaringan tersebut.

Taproot sendiri “hanya” merupakan cara alternatif untuk mengunci bitcoin menggunakan segregated Witness. Hal ini tidak mengubah insentif ini secara signifikan. Salah satu perubahan yang terjadi pada Taproot adalah menghilangkan batasan tertentu pada ukuran skrip. Hal ini dilakukan untuk mengurangi kompleksitas perancangan alat analisis untuk skrip bitcoin, dan sebagai pengakuan atas biaya relatif dari berbagai jenis data. Penghapusan batasan ini membuat pembuatan prasasti menjadi lebih sederhana dibandingkan sebelum Taproot, namun tidak mengubah struktur insentif jaringan secara mendasar.

Sekarang ke inti permasalahannya. Prasasti terungkap di saksi, sehingga hanya dikenakan biaya 1/4 vByte per byte data prasasti. Apakah ini penyalahgunaan diskon saksi? Faktanya adalah bahwa data prasasti adalah salah satu data termurah yang dapat divalidasi oleh node di jaringan. Struktur skrip yang digunakan oleh prasasti secara eksplisit melewatkan eksekusi data prasasti, sehingga satu-satunya verifikasi yang dilakukan terhadapnya adalah pemeriksaan hash tunggal (memastikan bahwa prasasti yang terungkap adalah apa yang ingin diungkapkan oleh pembuatnya). Data ini di-hash satu kali dan kemudian tidak pernah dilihat lagi oleh node. Ini memiliki biaya komputasi yang sangat rendah (urutan besarnya lebih rendah dari skrip multisig berukuran setara).

Tapi prasasti menaikkan biaya dan menyingkirkan pengguna lain.

Ya! Dengan tersedianya perangkat lunak saat ini untuk berinteraksi dengan jaringan bitcoin, para juru tulis memiliki insentif ekonomi yang lebih besar untuk membuat prasasti mereka daripada yang harus dilakukan banyak orang untuk melakukan transaksi lainnya.

Hal ini sangat meringankan nilai peningkatan kepadatan ekonomi transaksi bitcoin. Lightning Network mengambil langkah besar menuju hal ini dengan memungkinkan ratusan, ribuan, atau jutaan transaksi ekonomi dikemas ke dalam satu transaksi bitcoin. Semakin besar kepadatan ekonomi setiap byte dalam suatu transaksi, semakin rendah biaya yang dibayarkan untuk aktivitas ekonomi tersebut. Seiring dengan meningkatnya kepadatan ekonomi transaksi bitcoin, penggunaan ruang blok lainnya telah dan akan terus diabaikan9.

Perlu dicatat bahwa jika protokol multisig off-chain seperti MuSig2 atau FROST, atau tanda tangan adaptor menjadi lazim; mungkin masuk akal untuk mengurangi atau menghilangkan diskon saksi. Protokol-protokol ini memungkinkan kondisi pengeluaran yang besar untuk diwakili oleh satu tanda tangan. Hal ini, dikombinasikan dengan pembelanjaan jalur utama Taproot yang efisien, dapat menurunkan biaya input dengan kondisi rumit yang hampir sewenang-wenang menjadi hanya 105 Byte.

KESIMPULAN

Respons terhadap biaya tinggi yang disebabkan oleh prasasti sama dengan skenario langit runtuh lainnya dalam sejarah bitcoin: Dengan sabar membangun, dengan sabar membangun. Ada banyak hal yang dapat kita lakukan untuk meningkatkan kepadatan ekonomi transaksi bitcoin, mulai dari membangun dompet Lightning yang lebih baik hingga Ark hingga kontrak log diskrit dan seterusnya. Menghapus diskon saksi (sebelum waktunya), mengembalikan akar tunggang, atau tindakan kontra-produktif serupa hanya akan mengurangi kepadatan ekonomi transaksi bitcoin saat ini dan memperburuk situasi.

Tetap rendah hati, susun sats, dan bangun.

CATATAN KAKI

  1. Istilah saksi diadopsi ke dalam bitcoin dari jargon kriptografi yang mengacu pada data yang diperlukan untuk memverifikasi klaim kriptografi secara efisien. BIP141 mendefinisikannya sebagai “data yang diperlukan untuk memeriksa validitas transaksi tetapi tidak diperlukan untuk menentukan dampak transaksi”. Kriptografer mungkin mengambil istilah tersebut dari pembuatan tanda saksi yang digunakan untuk memverifikasi kesejajaran komponen secara efisien.
  2. Proyek Utreexo bertujuan untuk mengubah hal ini pada subset node bitcoin dengan memungkinkan mereka mengakumulasi akar penyertaan UTXO secara efisien dan kemudian menerima jalur penyertaan bersama dengan pembelanjaan UTXO tersebut. Jika ini menjadi cara umum dalam menggunakan bitcoin, hal ini akan menggeser biaya lebih banyak UTXO dari node ke pemegang UTXO tersebut.
  3. Proyek ZeroSync bertujuan untuk mengubah hal ini pada beberapa node dalam beberapa konteks.
  4. ID Transaksi: Urutan byte terbalik SHA256 ganda dari transaksi format jaringan pra-segwit.
  5. Beberapa transaksi valid dengan input dan output yang sama memiliki txid berbeda jika ditandatangani dengan cara berbeda atau tanda tangannya diubah oleh pihak ketiga.
  6. Dapat berupa nilai apa pun tanpa hard fork karena node lama tidak mengetahui data saksi yang dipisahkan.
  7. 1 juta atau kurang untuk menjaga kompatibilitas dan mencegah hard fork.
  8. Dengan asumsi penggunaan kunci publik yang ringkas dan tanda tangan DER R/S rendah 71-byte.
  9. Ada yang ingat Satoshi Dice?

Ini adalah postingan tamu oleh Brandon Black. Pendapat yang dikemukakan sepenuhnya merupakan pendapat mereka sendiri dan tidak mencerminkan pendapat BTC Inc atau Majalah Bitcoin.

Penafian:

  1. Artikel ini dicetak ulang dari [bitcoinmagazine]. Semua hak cipta milik penulis asli [BRANDON BLACK]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.

Diskon Saksi: Mengapa Beberapa Byte Lebih Murah Dibandingkan Lainnya

Lanjutan1/1/2024, 3:24:13 AM
Artikel ini menganalisis mengapa diskon harus diberikan pada dukungan ini dan apakah kita harus menghilangkan diskon pada data saksi melalui soft fork.

Tahun ini terjadi peningkatan besar-besaran dalam permintaan akan ruang terbatas yang tersedia dalam blok bitcoin, yang menyebabkan biaya lebih tinggi untuk transaksi berantai. Sebagian besar permintaannya adalah transaksi yang mengungkapkan prasasti. Isi prasasti ini terungkap sebagai bagian dari data saksi1 transaksi bitcoin. Data saksi1 ini didiskon menjadi seperempat biaya data transaksi lainnya. Mengapa kami memberikan diskon pada prasasti ini? Haruskah kita memberikan potongan harga untuk saksi?

Mengapa beberapa byte lebih murah dibandingkan byte lainnya?

Uang pada umumnya dan bitcoin pada khususnya beroperasi berdasarkan insentif manusia. Bitcoin menyelaraskan insentif bagi para penambang dan pelaku transaksi melalui penggunaan token bitcoin asli untuk membayar para penambang agar memasukkan transaksi tertentu ke dalam blok yang mereka bangun. Hal yang sama tidak dapat dikatakan dalam menyelaraskan insentif antara node runner dengan penambang dan pelaku transaksi, atau menyelaraskan insentif antara pengirim dan penerima.

Ada 3 perbaikan besar pada penyelarasan insentif bitcoin hingga saat ini:

  1. Membatasi ukuran blok

  2. Pergeseran biaya naskah kompleks dari pengirim ke penerima (P2SH)

  3. Menyelaraskan biaya data antara node runner dan transactors (SegWit)

MEMBATASI UKURAN BLOK

Para pelaku transaksi ingin melakukan banyak transaksi dan penambang ingin memungut banyak biaya transaksi; tetapi pelari node harus menyampaikan, memverifikasi, dan menyimpan semua data transaksi tersebut dan mereka tidak diberi kompensasi seperti penambang karena melakukan hal tersebut. Pada awal sejarah bitcoin, Satoshi berupaya mengatasi hal ini dengan menambahkan batas ukuran blok tetap (diberlakukan oleh node). Batasannya adalah 1 juta byte per blok, dan menetapkan batas atas jumlah data yang perlu diunduh dan diverifikasi oleh node. Pada saat itu, Satoshi menulis, “[kita] dapat melakukan perubahan secara bertahap nanti jika kita semakin membutuhkannya.” Kemudian, mengacu pada patch untuk meningkatkan batas, dia mencatat, “[d]jangan gunakan patch ini, itu akan membuat Anda tidak kompatibel dengan jaringan”, yang berarti bahwa meningkatkan batas ukuran blok adalah perubahan yang sulit dan memerlukan lebih banyak koordinasi bahkan daripada garpu lunak. Pada tahun-tahun berikutnya, bitcoin dengan sengaja menghindari perubahan hard fork yang tidak kompatibel, yang juga berarti mempertahankan batas ukuran blok 1 juta byte.

MENGGESER BIAYA SKRIP KOMPLEKS DARI PENGIRIM KE PENERIMA

Karena bitcoin diamankan dengan skrip penguncian, selalu dimungkinkan untuk menguncinya dengan skrip tingkat lanjut, termasuk multisig. Berdasarkan desain aslinya, pengirim transaksi bitcoin akan menempatkan skrip penguncian penuh milik penerima dalam transaksi mereka, dan membayar biaya apa pun agar skrip penguncian tersebut disertakan dalam sebuah blok. Pengembang menyadari bahwa seiring dengan kenaikan biaya, pengirim mungkin menjadi ragu untuk membayar pengguna skrip penguncian yang lebih besar karena biaya yang lebih tinggi untuk membayar pengguna tersebut. Skrip penguncian yang rumit ini juga menimbulkan masalah dalam penyandian ke alamat dan berbagi melalui mekanisme bandwidth rendah seperti Kode QR.

Untuk mengatasi hal ini, P2SH ditambahkan ke bitcoin sebagai soft fork. Berdasarkan aturan fork ini, alih-alih memasukkan seluruh skrip penguncian penerima ke dalam output transaksi, pengirim cukup menyertakan hashnya. Ketika penerima membelanjakan output tersebut, mereka menyertakan skrip lengkap dalam transaksi pembelanjaan, yang diperiksa terhadap hash skrip tempat koin dikunci sebelum divalidasi. Dengan perubahan ini, skrip penebusan dengan ukuran berapa pun dapat diwakili oleh skrip penguncian dengan panjang tetap dan pengirim tidak lagi memiliki kebutuhan (atau kemampuan) untuk membedakan penerima berdasarkan kondisi pembelanjaan mereka.

MENYESUAIKAN BIAYA DATA ANTARA NODE RUNNER DAN TRANSAKTOR

Verifikasi paling mendasar yang dilakukan node pada transaksi bitcoin adalah bahwa bitcoin yang mereka coba belanjakan memang benar-benar ada. Untuk melakukan hal ini, setiap node memelihara indeks setiap unit bitcoin yang dapat dibelanjakan (output transaksi yang tidak terpakai, UTXO). Semakin besar indeks ini, semakin besar biaya menjalankan sebuah node dan memverifikasi transaksi di masa depan2. Akibatnya, transaksi yang meningkatkan ukuran indeks ini (memiliki lebih banyak output daripada input) memerlukan biaya lebih banyak dari waktu ke waktu dibandingkan transaksi dengan jumlah byte yang sama yang mengurangi ukuran indeks.

Bagian terbesar dari sebagian besar skrip pembuka kunci bitcoin adalah tanda tangan kriptografi. Tanda tangan ini berukuran sekitar dua kali ukuran kunci publik terkait, yang membuat skrip pembuka kunci (bahkan tanpa P2SH) lebih besar daripada skrip penguncian.

Biaya konsumsi vs. pembuatan UTXO yang jauh lebih tinggi menciptakan konflik insentif antara node runner dan pelaku transaksi. Para pelaku transaksi tidak diberi insentif untuk membelanjakan UTXO kecil mereka (terutama pada saat biaya tinggi), dan lebih memilih untuk membelanjakan UTXO besar dan menciptakan lebih banyak UTXO perubahan kecil. Sementara itu, node runner membayar biaya akumulasi UTXO kecil ini dengan biaya validasi yang lebih tinggi untuk semua transaksi.

Walaupun kelihatannya aneh, verifikasi bahwa setiap UTXO yang dikeluarkan oleh suatu transaksi di blockchain historis memiliki skrip penguncian yang dipenuhi oleh skrip pembuka kunci yang sesuai secara signifikan kurang mendasar. Oleh karena itu, node bitcoin yang menjalankan bitcoin core 26.x default tidak akan memvalidasi eksekusi skrip penguncian penuh untuk transaksi sebelum blok 804000 (19 Agustus 2023).

Semua hal di atas berarti bahwa ada biaya berbeda yang dibebankan pada node bitcoin oleh bagian berbeda dari blockchain. Data yang diperlukan untuk menentukan dampak setiap transaksi harus divalidasi oleh setiap node yang melakukan sinkronisasi dari blok genesis3, keluaran transaksi cenderung lebih mahal daripada masukan transaksi dalam jangka panjang (terutama jika berumur panjang), dan sebagian besar data saksi bahkan tidak diperiksa kecuali transaksi terbaru.

MASUKKAN SAKSI YANG TERPISAH

Soft fork saksi terpisah (SegWit) adalah perubahan paling ambisius yang dilakukan pada bitcoin hingga saat ini. Motivasi terbesar untuk perubahan ini adalah untuk memperbaiki masalah kelenturanTXID4 5 yang sudah lama ada dalam bitcoin. Untuk memperbaiki kelenturan ini, skrip pembuka kunci diganti dengan “saksi” yang baru dibuat. Dengan menghapus data otorisasi (yang seringkali dapat diubah oleh pihak ketiga tanpa mengubah efek transaksi) dari TXID, protokol (seperti Lightning) yang bergantung pada TXID yang tidak berubah menjadi mungkin.

Dengan data otorisasi dipindahkan dari struktur transaksi asli, data tersebut tidak lagi dihitung terhadap batas blok 1 juta byte. Batas baru diperlukan. Banyak pendekatan untuk membatasi data saksi terpisah yang dibahas pada saat itu: Batas byte saksi terpisah6, batas gabungan <1 juta byte7, atau batas gabungan tertimbang. Pada akhirnya, batas gabungan tertimbang dipilih, dengan data saksi terpisah diberi bobot 1 unit, data transaksi diberi bobot 4 unit, dan batas blok bobot 4 juta. Setiap unit berat diperlakukan sebagai 1/4 byte virtual (vByte) untuk tujuan penghitungan biaya.

Mengapa beban ini? Mari kita lihat biaya input dan output transaksi dengan dan tanpa saksi terpisah:

Hal pertama yang perlu diperhatikan dari tabel ini adalah bagaimana tipe skrip saksi (P2WPKH, P2WSH) memiliki jumlah byte input dan output yang hampir sama (yang masing-masing dikenakan biaya vByte penuh). Pembelanja skrip saksi kemudian dikenai biaya 1/4 vByte untuk data yang mengesahkan pembelanjaan, sebagian besar tidak diverifikasi untuk transaksi apa pun kecuali transaksi terbaru, dan tidak ada satupun yang memiliki biaya berkelanjutan dalam indeks UTXO. Hal lain yang perlu diperhatikan di sini adalah bagaimana biaya penggunaan multisig 2-dari-3 yang lebih aman dibandingkan dengan tanda tangan tunggal berkurang dari 147 vBytes menjadi 36,25 vBytes.

TAPROOT DAN INSKRIPSI MENGUBAH SEMUANYA (ATAU TIDAK ADA)

Seperti yang saya katakan di awal, bitcoin bergantung pada insentif manusia, dan di sini kita dapat melihat bagaimana perubahan telah dilakukan pada bitcoin selama bertahun-tahun untuk meningkatkan keselarasan insentif antara pihak-pihak yang menggunakan jaringan tersebut.

Taproot sendiri “hanya” merupakan cara alternatif untuk mengunci bitcoin menggunakan segregated Witness. Hal ini tidak mengubah insentif ini secara signifikan. Salah satu perubahan yang terjadi pada Taproot adalah menghilangkan batasan tertentu pada ukuran skrip. Hal ini dilakukan untuk mengurangi kompleksitas perancangan alat analisis untuk skrip bitcoin, dan sebagai pengakuan atas biaya relatif dari berbagai jenis data. Penghapusan batasan ini membuat pembuatan prasasti menjadi lebih sederhana dibandingkan sebelum Taproot, namun tidak mengubah struktur insentif jaringan secara mendasar.

Sekarang ke inti permasalahannya. Prasasti terungkap di saksi, sehingga hanya dikenakan biaya 1/4 vByte per byte data prasasti. Apakah ini penyalahgunaan diskon saksi? Faktanya adalah bahwa data prasasti adalah salah satu data termurah yang dapat divalidasi oleh node di jaringan. Struktur skrip yang digunakan oleh prasasti secara eksplisit melewatkan eksekusi data prasasti, sehingga satu-satunya verifikasi yang dilakukan terhadapnya adalah pemeriksaan hash tunggal (memastikan bahwa prasasti yang terungkap adalah apa yang ingin diungkapkan oleh pembuatnya). Data ini di-hash satu kali dan kemudian tidak pernah dilihat lagi oleh node. Ini memiliki biaya komputasi yang sangat rendah (urutan besarnya lebih rendah dari skrip multisig berukuran setara).

Tapi prasasti menaikkan biaya dan menyingkirkan pengguna lain.

Ya! Dengan tersedianya perangkat lunak saat ini untuk berinteraksi dengan jaringan bitcoin, para juru tulis memiliki insentif ekonomi yang lebih besar untuk membuat prasasti mereka daripada yang harus dilakukan banyak orang untuk melakukan transaksi lainnya.

Hal ini sangat meringankan nilai peningkatan kepadatan ekonomi transaksi bitcoin. Lightning Network mengambil langkah besar menuju hal ini dengan memungkinkan ratusan, ribuan, atau jutaan transaksi ekonomi dikemas ke dalam satu transaksi bitcoin. Semakin besar kepadatan ekonomi setiap byte dalam suatu transaksi, semakin rendah biaya yang dibayarkan untuk aktivitas ekonomi tersebut. Seiring dengan meningkatnya kepadatan ekonomi transaksi bitcoin, penggunaan ruang blok lainnya telah dan akan terus diabaikan9.

Perlu dicatat bahwa jika protokol multisig off-chain seperti MuSig2 atau FROST, atau tanda tangan adaptor menjadi lazim; mungkin masuk akal untuk mengurangi atau menghilangkan diskon saksi. Protokol-protokol ini memungkinkan kondisi pengeluaran yang besar untuk diwakili oleh satu tanda tangan. Hal ini, dikombinasikan dengan pembelanjaan jalur utama Taproot yang efisien, dapat menurunkan biaya input dengan kondisi rumit yang hampir sewenang-wenang menjadi hanya 105 Byte.

KESIMPULAN

Respons terhadap biaya tinggi yang disebabkan oleh prasasti sama dengan skenario langit runtuh lainnya dalam sejarah bitcoin: Dengan sabar membangun, dengan sabar membangun. Ada banyak hal yang dapat kita lakukan untuk meningkatkan kepadatan ekonomi transaksi bitcoin, mulai dari membangun dompet Lightning yang lebih baik hingga Ark hingga kontrak log diskrit dan seterusnya. Menghapus diskon saksi (sebelum waktunya), mengembalikan akar tunggang, atau tindakan kontra-produktif serupa hanya akan mengurangi kepadatan ekonomi transaksi bitcoin saat ini dan memperburuk situasi.

Tetap rendah hati, susun sats, dan bangun.

CATATAN KAKI

  1. Istilah saksi diadopsi ke dalam bitcoin dari jargon kriptografi yang mengacu pada data yang diperlukan untuk memverifikasi klaim kriptografi secara efisien. BIP141 mendefinisikannya sebagai “data yang diperlukan untuk memeriksa validitas transaksi tetapi tidak diperlukan untuk menentukan dampak transaksi”. Kriptografer mungkin mengambil istilah tersebut dari pembuatan tanda saksi yang digunakan untuk memverifikasi kesejajaran komponen secara efisien.
  2. Proyek Utreexo bertujuan untuk mengubah hal ini pada subset node bitcoin dengan memungkinkan mereka mengakumulasi akar penyertaan UTXO secara efisien dan kemudian menerima jalur penyertaan bersama dengan pembelanjaan UTXO tersebut. Jika ini menjadi cara umum dalam menggunakan bitcoin, hal ini akan menggeser biaya lebih banyak UTXO dari node ke pemegang UTXO tersebut.
  3. Proyek ZeroSync bertujuan untuk mengubah hal ini pada beberapa node dalam beberapa konteks.
  4. ID Transaksi: Urutan byte terbalik SHA256 ganda dari transaksi format jaringan pra-segwit.
  5. Beberapa transaksi valid dengan input dan output yang sama memiliki txid berbeda jika ditandatangani dengan cara berbeda atau tanda tangannya diubah oleh pihak ketiga.
  6. Dapat berupa nilai apa pun tanpa hard fork karena node lama tidak mengetahui data saksi yang dipisahkan.
  7. 1 juta atau kurang untuk menjaga kompatibilitas dan mencegah hard fork.
  8. Dengan asumsi penggunaan kunci publik yang ringkas dan tanda tangan DER R/S rendah 71-byte.
  9. Ada yang ingat Satoshi Dice?

Ini adalah postingan tamu oleh Brandon Black. Pendapat yang dikemukakan sepenuhnya merupakan pendapat mereka sendiri dan tidak mencerminkan pendapat BTC Inc atau Majalah Bitcoin.

Penafian:

  1. Artikel ini dicetak ulang dari [bitcoinmagazine]. Semua hak cipta milik penulis asli [BRANDON BLACK]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!