@BabylonLabs_io dulu saya mengira setelah sebuah staking Babylon selesai unbonding, BTC pada dasarnya sudah kembali ke tangan pen-stake.
lalu saya membaca apa yang sebenarnya dibutuhkan oleh sebuah transaksi penarikan.
siklus staking Babylon punya empat jenis transaksi: staking, unbonding, slashing, dan withdrawal. unbonding mengakhiri penguncian (lock). itu tidak memindahkan koin ke mana pun.
itulah langkah yang hampir saya lewatkan, dan jujur saya baca ulang dua kali untuk memastikan. $BANK
transaksi withdrawal adalah transaksi yang berdiri sendiri. satu-satunya kebutuhannya adalah salah satu input-nya menunjuk ke output dari staking, unbonding, atau slashing yang timelock-nya sudah kedaluwarsa.
jadi dananya tetap berada di sana, tidak terkunci, sampai seseorang benar-benar menyiarkan (broadcast) withdrawal tersebut.
tidak ada yang memaksa ini terjadi otomatis—tidak ada keeper, tidak ada auto-sweep, tidak ada yang menyapu untuk Anda.
pen-stake tetap harus membangun dan mengirim transaksi keempat itu sebelum "unbonded" berubah menjadi "spendable" (bisa dibelanjakan). dua status, dua transaksi, dan kebanyakan penjelasan berhenti setelah yang pertama.
bukan karena itu cacat (flaw). itu hanya langkah yang belum selesai dan tidak ada yang repot menyebutkannya.
apakah melewati langkah withdrawal dalam kebanyakan penjelasan membuat orang berpikir BTC mereka bergerak sendiri, atau apakah "unbonded" sudah dipahami bahwa artinya sudah mencakup sesuatu selain itu? $BABY
apakah unbonded sebenarnya sama dengan withdrawn?
apakah "unbonded" berarti BTC Anda sudah bergerak?
$BICO Saya mencari jumlah agregat terkini dari Jaringan Supercharged Bitcoin — @BabylonLabs_io $BABY — namun tidak menemukan apa pun.
Yang muncul justru sebaliknya: Union berkomitmen dan mengambil 25 juta BABY untuk mempercepat integrasi. BOB berkomitmen lebih awal, dengan nilai lebih dari $400 juta dalam TVL, dengan kira-kira 44% di antaranya sudah dibangun di Babylon LST. Keduanya datang dengan pengumuman resmi masing-masing. Di luar dua pihak tersebut, materi milik Lombard sendiri menyebut Corn dan Pell Network sebagai tempat rencananya mengalokasikan delegasi untuk rencana Finality Providers — sinyal yang lebih lemah dibanding komitmen BSN yang formal, tetapi tetap nyata. Dokumen Babylon menjelaskan Phase 3 sebagai tahap ketika "L1 dan L2 mengintegrasikan protokol" — jamak, masih berlangsung, tanpa angka yang terlampir. $VIC
Dua komitmen BSN yang terkonfirmasi. Dua lagi kemungkinan sedang dalam perjalanan. Nol total resmi yang berjalan.
Saya memeriksa apa yang benar-benar terverifikasi dibandingkan apa yang hanya tersirat. Ada angka lama yang beredar — 25 yang dikomitkan, dari tinjauan 2024 — sudah cukup usang sehingga saya tidak akan mengulangnya sebagai data terkini. Sementara itu, Babylon memang mempublikasikan satu angka yang berdekatan dengan jelas: lebih dari 250 Finality Providers yang saat ini aktif. #baby
Kesenjangan itu lebih penting daripada yang terlihat. Mekanisme deflasi Babylon, pembakaran pada lelang reward BSN, bergantung langsung pada berapa banyak jaringan-jaringan ini yang benar-benar aktif dan menghasilkan volume lelang. Tidak ada yang mempublikasikan hitungan BSN terkini bukan sekadar celah trivia — itu adalah variabel masukan untuk mekanisme tokenomics yang tidak bisa saya verifikasi dari luar, meskipun angka Finality Provider yang bersebelahan itu sudah ada di sana, tepat dan dipublikasikan.
Pertumbuhan nyata terjadi secara tenang, atau metrik yang belum ada yang repot untuk membuatnya bisa dilacak? Masih memikirkannya.
@BabylonLabs_io Menghabiskan pagi dengan menggali sisa-sisa setelah eksploit Kelp DAO, dan respons Babylon justru menjadi titik data yang lebih menarik ketimbang eksploitnya.
Pada 18 April, para penyerang yang terkait dengan Grup Lazarus Korea Utara memalsukan pesan bridge LayerZero dan mencetak 116.500 token rsETH tanpa jaminan—sekitar senilai $292 juta. Sekitar 107.000 rsETH dari jumlah itu akhirnya disetor sebagai jaminan di Aave, sehingga protokol tersebut mengalami utang macet yang diperkirakan berada di kisaran $177 hingga $246 juta. Total value locked Aave turun dari $26 miliar menjadi $14 miliar akibat kejadian tersebut.
Upaya pemulihan, yang diberi nama “DeFi United,” berhasil mengumpulkan lebih dari $317 juta dalam ETH dari seluruh industri, termasuk Consensys, Avalanche Foundation, Lido, dan Ether.fi. Menjelang pertengahan Mei, rsETH milik pelaku telah dibakar di Arbitrum dan penarikan dana sepenuhnya dibuka kembali di seluruh pasar Aave—krisis terselesaikan dalam waktu sekitar satu bulan. $BLESS
Kontribusi Babylon Foundation: $3 juta USDT. Dibagi secara spesifik—$2 juta ke Aave V3, $1 juta ke Aave V4.
Hitung pembagiannya. Babylon tidak hanya menulis satu cek untuk “Aave.” Ia menanamkan dua kali lebih banyak ke versi lama yang sudah berjalan, V3, dibandingkan ke V4—versi yang tepat menjadi dasar integrasi TBV milik Babylon yang sedang direncanakan untuk dibangun di atasnya. Ini bukan gestur yang netral; ini adalah modal yang diarahkan ke ekosistem yang sama yang Babylon butuhkan agar tetap sehat, supaya produk mereka sendiri bisa berarti.
Ini bagian yang pantas direnungkan, bahkan berbulan-bulan kemudian. Ini bukan Babylon memperbaiki eksploitnya sendiri. Ini Babylon membayar untuk krisis orang lain—pada sebuah protokol yang tidak mereka kendalikan—karena stabilitas protokol tersebut sudah menjadi penopang bagi peta jalan mereka sendiri.
Pihak pemasaran menyebutnya dukungan ekosistem. Dalam praktiknya, itu lebih mirip asuransi—melindungi kesehatan platform masa depan yang produk Anda sendiri bergantung padanya.
Penempatan yang cerdas, atau pengakuan diam-diam tentang seberapa besar keberhasilan TBV bergantung khusus pada Aave?
@BabylonLabs_io Saya terus-menerus buntu pada satu keputusan desain kecil dalam pengajuan TBV Babylon bersama Aave DAO — pilihan untuk tidak pernah membuat vaultBTC menjadi dapat dipindahtangankan.
Protokol membutuhkan cara untuk merepresentasikan Bitcoin yang terkunci di dalam sistem peminjaman, tetapi tidak mengubah representasi itu menjadi sesuatu yang bisa dengan bebas dipertukarkan. vaultBTC dicetak satu banding satu terhadap sebuah vault, dibatasi sehingga hanya berinteraksi dengan Hub, Spoke, dan kontrak adapter milik Aave sendiri. Tidak di tempat lain. $BEAT
Itu terasa disengaja. Ini bahkan bukan kali pertama Babylon membuat pilihan seperti itu. Beberapa bulan sebelumnya, versi eksperimental yang diuji di Morpho bekerja berbeda pada tingkat mekanisme, dibangun sebagai aset non-fungible, bukan ERC-20, dengan likuiditas hanya $14 dalam USDC. Co-founder David Tse menyebutnya "aset non-fungible perantara yang menjadi antarmuka antara vault dengan Morpho." Mekanisme berbeda, insting yang sama: jangan biarkan representasi itu tumbuh melebihi satu integrasi yang untuknya ia dibangun.
Jika vaultBTC menjadi dapat diperdagangkan, pasar kedua akan terbentuk di sekitar representasi jaminannya sendiri, terpisah dari Bitcoin yang menjadi penopangnya. Itulah alasan sebenarnya mengapa ia tetap tidak dapat dipindahtangankan — ia mencegah jaminan mengambil hidupnya sendiri.
Saya benar-benar menghargai kehati-hatian itu. Tidak semua protokol membutuhkan token beredar lainnya, bahkan dengan mengorbankan fleksibilitas.
Bayangkan Unified Margin milik GRVT — di mana satu setoran sekaligus sudah menghasilkan imbal hasil melalui Aave, mendukung perdagangan, dan menahan eksposur spot sekaligus — mencoba menyerap vaultBTC dengan cara yang sama. Itu tidak bisa. Bahkan platform yang sudah terpasang ke Aave pun perlu vault terpisah miliknya sendiri. Tidak dibuat agar dapat dipindahtangankan, dengan sengaja. $GRVT
Kadang-kadang, membatasi apa yang bisa dilakukan pengguna adalah persis cara protokol melindungi asumsi-asumsinya.
Apakah non-pindahtangankan adalah desain yang lebih bersih, atau justru mengorbankan terlalu banyak untuk masa depan DeFi yang sedang dibangun secara komposabel?
@BabylonLabs_io tetap menganggap "Babylon berintegrasi dengan Aave" berarti hanya satu titik koneksi. nyatanya, ini adalah dua Spoke yang dibangun khusus, berjalan di atas arsitektur Hub-and-Spoke milik Aave.
yang pertama adalah Babylon Core Lending Spoke. BTC asli milik depositor, yang dikunci dalam Taproot UTXO, direpresentasikan di Ethereum sebagai vaultBTC dan digunakan untuk meminjam aset seperti stablecoin. aave v4 hanya menerima jaminan ERC-20, jadi vaultBTC ada semata untuk menjembatani kesenjangan itu — dicetak satu-ke-satu terhadap vault, dibatasi agar hanya berinteraksi dengan kontrak milik Aave sendiri.
yang kedua adalah BTC Vault Swap Spoke, yang dibangun untuk satu masalah yang sangat spesifik: penyelesaian bitcoin itu lambat. posisi yang dilikuidasi tidak bisa menunggu beberapa hari untuk penebusan BTC asli di dalam jendela normal Aave. jadi vault yang disita langsung ditukar untuk WBTC, memungkinkan likuidator tanpa izin menyelesaikan utang segera, sementara kelompok arbitrase terpisah menebus BTC yang sebenarnya nanti, mengikuti timeline Bitcoin.
dua spokes, satu pekerjaan dipecah menjadi dua.
saya harus menelusuri mengapa bentuk yang spesifik ini diperlukan. model Hub-and-Spoke Aave mengisolasi setiap risiko Spoke dari bagian Hub lainnya — kegagalan pada Spoke jaminan BTC tidak menyentuh pasar Aave yang tidak terkait. Aave DAO juga menjaga batas dan parameter tetap berada di bawah kendalinya sendiri, apa pun yang terjadi.
isolasi itulah kemenangan desain yang sebenarnya, dan ini jawaban nyata tentang bagaimana integrasi ini bekerja: satu Spoke menangani peminjaman terhadap BTC, yang lainnya menangani kelambatan penyelesaian Bitcoin secara terpisah, sehingga tidak ada satu pun masalah yang harus menunggu masalah lainnya.
apakah mengisolasi risiko dengan presisi seperti ini membuat integrasi lebih aman, atau dengan memecah penyelesaian menjadi dua jalur justru menciptakan dua hal yang bisa salah, bukan satu?
Babylon Genesis Berjalan dengan Delapan Modul Terpisah — Kebanyakan Penjelasan Hanya Menyebut Dua
@BabylonLabs_io Saya dulu mengira “Bitcoin plus Cosmos” adalah deskripsi yang cukup untuk menjelaskan apa sebenarnya Babylon Genesis.
lalu saya melihat apa yang sebenarnya dibangun dari balik frasa tersebut.
Babylon Genesis menjalankan delapan modul inti: Epoching, Checkpointing, BTC Checkpointing, BTC Light Client, Zone Concierge, BTC Staking, Finality, dan Rewards—masing-masing membawa bagian berbeda yang membuat rantai tersebut berjalan.
protokol ini bukan sekadar dua hal yang ditumpuk satu sama lain.
“Bitcoin plus Cosmos” menyebut aset keamanan dan kerangka dasar. itu tidak mengatakan siapa yang melacak status staking, siapa yang memfinalisasi blok, siapa yang menambatkan checkpoint kembali ke Bitcoin, atau siapa yang merutekan rewards setelah semuanya di atasnya berjalan dengan benar.
dua dari delapan modul mudah tertukar hanya dari namanya. BTC Staking menangani delegasi dan siklus staking. Finality memproses suara EOTS dari para penyedia. Zone Concierge mengoordinasikan data yang dikirim ke BSN yang terhubung. Epoching menyusun bagaimana Babylon Genesis maju secara internal dalam siklus, sementara Checkpointing menambatkan siklus-siklus tersebut ke Bitcoin melalui modul BTC Checkpointing dan BTC Light Client. Rewards berada di urutan terakhir, membayar hanya apa yang telah diperoleh oleh modul-modul di atasnya.
namun menyebut delapan modul tidak berarti delapan titik kegagalan memiliki bobot yang sama.
beberapa saling bergantung dan harus selesai lebih dulu; sebuah reward hanya bisa dirutekan setelah staking, finality, dan modul penambatan sudah menjalankan bagiannya tanpa error.
dengan mengompres semuanya menjadi dua kata tidak sepenuhnya salah, itu hanya menyembunyikan urutan—bukan jumlahnya. beberapa modul harus berhasil terlebih dahulu agar satu BTC stake pun berubah menjadi hasil yang terfinalisasi dan diberi reward.
dengan menyebut semua delapan modul, apakah itu memberi tahu lebih banyak tentang di mana Babylon bisa gagal, atau risiko nyatanya tetap terkonsentrasi pada satu atau dua di antaranya?
apakah risikonya benar-benar terkonsentrasi hanya pada satu atau dua?
Apa yang Terjadi Jika Relayer Offchain Babylon Keliru
@BabylonLabs_io Saya dulu mengira bahwa “permissionless” berarti tidak ada kejujuran siapa pun yang benar-benar penting—sistem tetap bekerja apa pun siapa yang menjalankannya.
Lalu saya menemukan baris spesifik dalam dokumentasi arsitektur milik Babylon sendiri yang membuatnya menjadi rumit.
Babylon menjalankan rangkaian “vigilante” bernama Submitter, Reporter, Monitor, yang meneruskan data antara Bitcoin dan Babylon Genesis. Siapa pun bisa menjalankan perangkat lunak ini. Tidak ada izin, tidak ada penjaga gerbang yang memutuskan siapa yang memenuhi syarat.
Namun dokumentasi arsitektur yang sama menyatakan dengan jelas bahwa operasi yang aman memerlukan setidaknya satu operator yang jujur untuk tiap program agar ada—bukan mayoritas atau kuorum, hanya satu untuk setiap peran.
Hmm.
Karena klaimnya berbeda secara bermakna dari “trustless”. Partisipasi yang permissionless dan adanya operator yang pasti jujur itu bukan hal yang sama: yang satu membahas siapa yang diizinkan menjalankan perangkat lunak, yang lain membahas apakah benar-benar ada siapa pun yang dapat diandalkan.
Tugas spesifik Monitor adalah mengeksekusi slashing ketika penyedia finalitas melakukan double-vote, atau mengambil kuncinya jika jalur otomatis gagal. Namun itu hanya akan bekerja jika operator Monitor benar-benar online dan memantaunya—ia memberi tahu Anda setelah kejadian, bukan sebelum. #baby
Saya mencatat baris itu dan membiarkannya terbuka di layar kedua saya cukup lama.
Jika semua operator untuk peran tertentu gagal atau offline sekaligus, tidak ada skema pengalihan (fallback) yang dijelaskan di mana pun dalam dokumen yang sama selain “alarm akan dibunyikan.” Deteksi masih mengasumsikan ada seseorang yang jujur memantau untuk melihat alarm itu sejak awal.
Saya tidak mengatakan ini membuat Babylon rapuh. Sistem terdistribusi hampir selalu bergantung pada asumsi adanya peserta yang jujur di suatu tempat; yang satu ini hanya dinamai secara langsung, bukan dibiarkan tersirat. $BABY
Yang menonjol adalah dokumentasi Babylon menjamin siapa yang diizinkan untuk berpartisipasi, bukan siapa yang benar-benar akan melakukannya.
Jadi, jika asumsi operator yang jujur itu suatu kali benar-benar rusak, apakah siapa pun yang memantau akan tahu bahkan sebelum itu menjadi masalah?
Apakah “permissionless” berarti hal yang sama dengan “trustless” di sini?
Di mana Penahanan Mandiri Babylon Masih Bergantung pada Komite Perjanjian
@BabylonLabs_io ada sesuatu tentang kata "self-custody" di Babylon yang terus mengganggu pikiranku.
aku mengira itu berarti pen-staker saja mengendalikan setiap hasil, tanpa pengecualian.
lalu aku benar-benar membaca persyaratan naskahnya, dan asumsi itu tidak terbukti.
output staking Babylon punya tiga jalur skrip. timelock memungkinkan pen-staker keluar sendiri setelah masa kunci berakhir. unbonding memungkinkan pen-staker keluar lebih cepat. slashing menghukum penyedia finality yang melakukan double-sign.
dua dari tiga jalur itu tidak bisa dieksekusi tanpa tanda tangan komite perjanjian.
itulah bagian yang hampir saja aku lewatkan.
komite perjanjian adalah grup M-of-N dari kunci Bitcoin. tanda tangan mereka diperlukan sebelum permintaan staking bahkan mulai aktif, dan diperlukan lagi sebelum transaksi unbonding atau slashing dapat berjalan. $BABY
data BTC itu sendiri tidak pernah keluar dari skrip pen-staker, jadi aset tetap berada di tempat yang sama seperti saat pen-staker menaruhnya sepanjang waktu.
patut disebutkan dengan tepat apa yang sebenarnya mengizinkan ketergantungan ini.
spesifikasi skrip staking secara eksplisit menjelaskan bagian ini. komite bisa menolak sebuah permintaan. mereka tidak bisa mengalihkan dana ke mana pun yang tidak sudah disetujui pen-staker pada waktu staking; mereka hanya bisa menahan tanda tangan yang memungkinkan sebuah pengeluaran berjalan.
jadi komite bisa menghentikan sesuatu agar tidak mengaktif tanpa pernah menjadi kustodian. #baby
tapi itu tetap berarti bahwa keluarnya pen-staker, baik yang dilakukan lebih awal maupun yang bersifat menghukum, bergantung pada tanda tangan yang tidak mereka pegang secara pribadi. self-custody melindungi ke mana dana pada akhirnya bisa pergi. itu tidak menghapus semua pihak yang kerja samanya dibutuhkan untuk sampai ke sana.
apakah membatasi kekuatan komite hanya untuk menolak membuatnya menjadi urusan yang tidak relevan bagi self-custody, atau kenyataan bahwa diperlukan tanda tangan pihak lain sejak awal saja sudah semakin mempersulit apa yang seharusnya dimaksud dengan "self-custody"?
apakah ketergantungan Babylon ini benar-benar dibatasi?
apakah kekuatan untuk menolak saja masih termasuk ketergantungan custody? #baby
Mengapa Babylon Memanfaatkan Utilitas BABY untuk Biaya, Konsensus, dan Tata Kelola — Bukan Investasi
@BabylonLabs_io Aku akui, penafian tokenomics dulu adalah bagian dari dokumen yang biasanya langsung aku lewati tanpa dibaca.
Kali ini aku melambat di halaman milik Babylon sendiri, dan malah kembali ke bagian yang sama dua kali.
Yang BABY dibangun untuk lakukan itu sempit: membayar gas di ubbn, di-stake bersama BTC untuk konsensus, dan memberi pemegang hak suara untuk tata kelola. Tiga pekerjaan, semuanya terhubung dengan benar-benar menjalankan rantai. Tidak ada bagian mana pun di halaman itu yang mempromosikannya sebagai sesuatu yang kau simpan dan nanti berharap.
Beberapa baris di bawah tabel alokasi, ada penafian yang mengatakan angkanya bersifat hipotetis, berwawasan ke depan, dan dapat berubah tanpa pemberitahuan. Penafian itu bahkan menyatakan dengan terang-terangan bahwa BABY tidak dimaksudkan untuk berfungsi sebagai investasi.
Membaca ulang kedua bagian itu lagi, kali ini berdampingan. Token yang diberi tiga tugas operasional spesifik, di samping peringatan bahwa angka jumlah supply-nya sendiri tidak dikunci.
Secara terpisah, tidak ada yang benar-benar menonjol dari kedua bagian tersebut. Namun bersama-sama, keduanya menyampaikan sesuatu yang lebih tajam: utilitas adalah inti yang sebenarnya, dan semua angka yang mengelilinginya masih bersifat sementara.
Itu mengubah cara pandang terhadap tabel alokasi itu sendiri. Investor, tim, dan advisor memperoleh kunci hingga April 2029. Insentif komunitas sudah dirilis. Pendanaan ekosistem dengan timeline tiga tahun. Semuanya berada di bawah catatan bahwa kategori-kategori tersebut, beserta persentasenya, masih bisa bergeser.
Tidak bilang itu pertanda merah. Penafian seperti ini umum, dan membingkai token di sekitar gas dan tata kelola—bukan potensi kenaikan—juga tidaklah aneh.
Yang hanya kulihat adalah tulisan Babylon sendiri meminta agar kau menganggap BABY sebagai infrastruktur terlebih dahulu, dan setiap angka di halaman itu sebagai informasi yang sedang berlaku, bukan final.
Jadi ketika utilitasnya sudah ditetapkan oleh desain, tapi angkanya secara eksplisit tidak, yang mana sebenarnya memberitahumu tentang apa yang kau miliki?
Haruskah BABY dinilai berdasarkan utilitasnya atau angka supply-nya?
Mengapa Jalur Lepas Babylon yang Tidak Mengikat (Unbonding) Melewatkan Penyedia Finalitas Sepenuhnya
@BabylonLabs_io setiap permintaan unbonding dan setiap peristiwa slashing di Babylon tampak bagi saya seperti kategori keluarnya yang sama, hanya beda waktunya.
lalu saya benar-benar membuka dua skrip itu berdampingan, berharap keduanya terlihat sama sekali tidak mirip.
Jalur unbonding: tanda tangan staker, ditambah ambang batas perjanjian (covenant). Tidak ada yang lain.
Jalur slashing: tanda tangan staker, ambang batas perjanjian yang sama, dan kunci penyedia finalitas.
Satu penandatangan tambahan. itulah seluruh perbedaannya.
pemasukan satu penandatangan itu bukan sekadar kosmetik.
satu tanda tangan saja sudah cukup untuk mengubah siapa yang harus hadir supaya pengeluaran bisa berjalan. seorang staker bisa melakukan unbonding kapan saja, tanpa perlu kerja sama dari penyedia yang ia delegasikan, cukup tanda tangannya sendiri dan persetujuan perjanjian. jalur slashing tetap terkunci sampai penyedia itu melakukan tanda tangan ganda (double-signs) dan secara tak sengaja menyerahkan kuncinya.
jadi kunci penyedia sudah ada di dalam skrip sejak hari pertama, dipra-tandatangani dan tidak melakukan apa pun, tepat sampai keacakan (randomness) dipakai ulang dan membuatnya “terbangun” dengan sendirinya.
semuanya sebelum titik itu berjalan sepenuhnya tanpa penyedia pernah mengangkat jari, diam mereka adalah inti persoalannya. begitu dilanggar, kerja sama mereka tidak lagi menjadi bagian dari gambaran; kunci yang terekspos menyelesaikan pekerjaannya sendiri.
bukan berarti ini membuat unbonding lebih aman secara keseluruhan. kedua jalur tetap bergantung pada ambang batas perjanjian yang sama, apa pun itu.
hanya menyadari keberadaan satu kunci adalah batas keseluruhan antara keluarnya secara sukarela dan yang bersifat hukuman (punitive), sementara yang lain di kedua skrip sama persis.
jika sebuah skrip berbeda tepat satu penandatangan, apakah itu pilihan desain yang kecil, atau justru baris paling penting dalam seluruh dokumen?
Apakah keberadaan satu penandatangan menentukan mana yang sukarela vs yang bersifat hukuman?
@BabylonLabs_io setiap kali saya melihat desain staking baru, hal pertama yang saya periksa adalah berapa banyak cara dana yang dikunci dapat bergerak. Dengan Babylon, hasilnya ternyata lebih kecil dari yang saya kira, dan jauh lebih disengaja.
Output staking tersebut adalah output Taproot, dan Babylon menonaktifkan jalur normal key-spend sepenuhnya. Ini dilakukan dengan menetapkan internal key ke titik NUMS, nilai “nothing up my sleeve” yang didefinisikan dalam BIP-341, diturunkan dari proses hashing base point G milik Bitcoin sendiri. Tidak ada private key untuk titik itu. Jalur tersebut bukan lemah—jalur itu ditutup, dengan sengaja.
yang tersisa tepat tiga jalur script.
jalur timelock memungkinkan staker membelanjakan sendiri setelah jumlah blok Bitcoin yang telah dikomitkan telah lewat. jalur unbonding memungkinkan staker keluar lebih awal, bersama ambang batas tanda tangan dari komite perjanjian (covenant committee), tanpa melibatkan penyedia finalitas.
jalur slashing membutuhkan staker, ambang batas covenant yang sama, dan kunci penyedia finalitas bersama-sama, dan baru dapat dieksekusi jika penyedia tersebut telah melakukan double-sign.
tiga pintu, dan perbedaannya bukan siapa yang diizinkan masuk, melainkan signer mana yang harus hadir. unbonding dan slashing terlihat hampir identik—tanda tangan staker yang sama, ambang covenant yang sama—kecuali satu menyertakan kunci penyedia finalitas dan yang lain tidak. satu penyertaan itulah yang mengubah sebuah exit sukarela menjadi sesuatu yang bersifat menghukum.
menghapus jalur key-spend menghilangkan cara informal untuk memindahkan dana; hanya tiga jalur formal ini yang ada. tetapi itu juga berarti seluruh model keamanan kini bergantung pada tiga script tersebut agar benar secara persis, tanpa opsi fallback yang lebih sederhana yang berada di bawahnya.
apakah menutup setiap jalan pintas membuat sebuah script lebih aman, atau hanya membuatnya lebih tidak memaafkan jika ada kesalahan di dalam script itu sendiri?
Apa yang Dibuktikan oleh Tanda Tangan Babylon EOTS Setelah Terjadi Double Sign
@BabylonLabs_io saya dulu mengira peristiwa pembantaian di Babylon berarti ada semacam komite yang telah meninjau penyedia finalitas dan memutuskan bahwa mereka bersalah atas sesuatu.
Saat menelusuri mekanisme EOTS Babylon, yang menarik perhatian saya adalah tidak ada komite, tidak ada peninjauan, tidak ada keputusan/pertimbangan di mana pun di dalamnya.
Setiap penyedia finalitas Babylon melakukan komitmen atas keacakan publik terlebih dahulu, satu nilai untuk setiap tinggi blok masa depan yang mereka rencanakan untuk mereka pilih. Pasangan pemungutan suara memublikasikan setengahnya dan merahasiakan setengahnya, dan selama setiap tinggi hanya pernah mendapat satu tanda tangan, keacakan privat tetap privat. Kegagalan itu baru terlihat pada momen penggunaan ulang: tanda tangani dua blok berbeda pada tinggi yang sama, dan keacakan privat yang sama dipakai dua kali. Dua tanda tangan yang dibangun di atas keacakan yang identik saja, secara matematis, sudah cukup untuk memecahkan kunci yang berada di bawahnya. Tidak ada yang mengekstraknya. Matematikanya yang membuatnya terbongkar.
Setelah itu, semuanya mekanis, bukan diskresioner. daya pemungutan suara pada Babylon turun menjadi nol seketika saat terdeteksi, penyedianya ditombstoned secara permanen, dan kunci yang berhasil dipulihkan itu sekarang bisa menandatangani transaksi-transaksi slashing di seluruh stake yang didelegasikan kepadanya.
jadi apa sebenarnya yang diverifikasi oleh tanda tangan Babylon EOTS. Satu hal: bahwa double-sign tertentu terjadi pada tinggi tertentu, dan bahwa kunci yang dihasilkan itu nyata. Ia tidak mengatakan apa pun tentang apakah penyedia melakukan sensor terhadap blok, menjalankan infrastruktur yang tidak andal, atau melakukan voting secara tidak konsisten dengan cara-cara yang tidak pernah menyentuh penggunaan ulang keacakan. Tidak ada yang itu menggunakan ulang keacakan, jadi tidak ada yang menghasilkan kunci.
Mekanisme yang sedetail ini untuk satu mode kegagalan adalah, menurut definisi, sunyi tentang semua mode lainnya.
Saat Dompet Aman tetapi Kunci Trading Tidak: Risiko Akses Terdelegasi GRVT
@grvt_io Semakin saya menelaah model API GRVT, semakin jelas satu perbedaan: sebuah kunci mungkin tidak dapat menarik dana, tetapi tetap cukup berkuasa untuk merusak akun.
GRVT mendokumentasikan kunci API akun trading dengan izin hanya untuk transaksi (trade-only). Setiap kunci dikaitkan dengan alamat Ethereum, dan kunci privatnya dapat menandatangani order melalui EIP-712.
Pemilahan ini penting. Kredensial trading tidak otomatis menjadi kredensial penarikan.
Namun terbatas bukan berarti tidak berbahaya.
Jika kunci yang diotorisasi untuk trading dikompromikan, risiko utamanya bukan penyerang mengirim aset ke dompet eksternal. Risikonya adalah penyalahgunaan trading yang diotorisasi. Penyerang dapat membuat exposure yang tidak diinginkan, menghabiskan margin yang tersedia, dan membawa akun lebih dekat ke likuidasi sementara order masih tampak valid sesuai izin yang ditetapkan pada kunci tersebut.
Ini adalah inferensi dari model izin yang terdokumentasi, bukan klaim bahwa API GRVT telah dikompromikan.
Lapisan kustodi dapat berperilaku persis sesuai desain sementara akun trading mengalami kerusakan ekonomi. Dompet tetap menjadi pemilik, tetapi penyerang untuk sementara mengendalikan keputusan yang mengubah nilai yang dimiliki akun.
Itulah mengapa keamanan API lebih dari sekadar penyimpanan rahasia. Kontrol praktisnya mencakup izin yang sempit, lingkungan penandatanganan yang terisolasi, pemantauan real-time, pencabutan cepat, dan rotasi kunci secara berkala. Tujuannya bukan hanya menghentikan penarikan. Tujuannya adalah membatasi seberapa besar kerusakan yang dapat ditimbulkan oleh otoritas trading yang didelegasikan sebelum akses dicabut.
Kunci yang sempit mengurangi radius ledakan. Tetapi tidak menguranginya sampai nol.
Jadi bahayanya adalah kontrol ekonomi tanpa kontrol kustodi. Perbedaan ini layak mendapat perhatian yang sama dengan keamanan penarikan.
Self-custody melindungi ke mana dana bisa dikirim. Keamanan akses terdelegasi melindungi keputusan yang dibuat sebelum dana itu bahkan perlu keluar.
Kontrol mana yang paling penting untuk kunci API trading?
Asumsi Keamanan Tersembunyi di Dalam Kebijakan Newton Rego
@NewtonProtocol Saya sedang membaca kebijakan Newton Rego yang terlihat hampir terlalu sederhana untuk gagal. Kebijakan tersebut mengizinkan penarikan ketika dompet memiliki status identitas yang diperlukan, tujuannya telah disetujui, dan akun tetap berada di atas ambang jaminannya. Setiap kondisi masuk akal. Bagian yang mengkhawatirkan saya adalah semuanya yang diharapkan kebijakan agar sistem di sekitarnya mengatur dengan benar sebelum evaluasi dimulai. Aturan tersebut mengasumsikan bahwa status identitas dimiliki oleh dompet yang sama yang meminta penarikan. Aturan tersebut mengasumsikan bahwa tujuan yang disetujui adalah alamat yang pada akhirnya akan menerima aset. Aturan tersebut mengasumsikan bahwa nilai jaminan telah dihitung menggunakan harga terbaru dan desimal aset yang benar.
@NewtonProtocol Awalnya, saya menganggap default-deny sebagai sesuatu yang bisa ditambahkan oleh kebijakan Newton setelah kondisi allow-nya selesai.
Semakin saya mempelajari aturannya, semakin saya menyadari bahwa keputusan default menentukan apa yang terjadi ketika sebuah permintaan tidak lagi terlihat familiar.
Bayangkan sebuah kebijakan yang mengizinkan transfer di bawah batas tertentu ketika tujuan termasuk dalam daftar yang disetujui. Logika itu mungkin bekerja untuk setiap transaksi yang diperkirakan oleh pengembang.
Uji yang lebih sulit dimulai ketika bentuk permintaan berubah.
Sebuah field yang diperlukan bisa saja hilang. Sebuah pengenal aset mungkin memakai format baru. Sebuah kontrak mungkin mengekspos fungsi yang belum pernah dilihat kebijakan tersebut. Aplikasi dapat memperkenalkan jenis transaksi baru sementara kebijakan tetap berjalan.
Sistem membutuhkan sebuah jawaban.
Jika kebijakan dimulai dari izin dan hanya mencari alasan yang sudah dikenal untuk menolak sebuah permintaan, tindakan yang tidak familiar bisa saja lolos karena tidak ada pembatasan yang terpicu.
Permintaan itu tidak terbukti aman.
Hanya saja permintaan itu tidak pernah dikenali sebagai berbahaya.
Kebijakan @NewtonProtocol dimulai dari penolakan dan memberikan otorisasi hanya setelah setiap kondisi hadir dan terpenuhi. Nilai yang tidak dikenal, tindakan yang tidak didukung, input yang cacat/bermalformasi, dan bukti yang tidak lengkap tetap ditolak sampai kebijakan dapat mengevaluasinya secara sengaja.
Hal ini penting karena aplikasi berkembang lebih cepat daripada kebijakan. Aset baru dan jalur eksekusi baru dapat muncul sementara aturan lama masih mengasumsikan lingkungannya.
Default-deny mencegah celah itu berubah menjadi izin.
Aturan allow menjelaskan di mana otorisasi ada. Aturan default memutuskan bagaimana sistem menangani apa yang tidak diantisipasi oleh pengembang.
Pertanyaan yang terus saya pertimbangkan adalah: di mana fallback itu seharusnya ditempatkan.
Apakah setiap kebijakan Newton harus menolak permintaan yang tidak dikenal itu sendiri, atau apakah satu lapisan validasi tepercaya harus menolak input yang tidak lengkap sebelum evaluasi?
Apa yang seharusnya dilakukan Newton dengan tindakan yang tidak dikenal?
Masalah Keadaan di Balik Batas Rolling dan Pemeriksaan Kecepatan dalam Newton
Saya meluangkan waktu untuk memikirkan apa yang terjadi ketika dua transaksi mencapai batas rolling yang sama sebelum salah satunya memperbarui status yang tercatat. Setiap permintaan dapat terlihat valid dengan sendirinya. Jika keduanya dievaluasi terhadap total sebelumnya yang sama, kebijakan @NewtonProtocol dapat menyetujui dua tindakan yang melebihi batas begitu keduanya dieksekusi bersama. Bayangkan sebuah dompet telah membelanjakan $8.000 dari batas hariannya. Dua permintaan lagi datang pada waktu yang sama, dan masing-masing mencoba membelanjakan tambahan $1.500. Permintaan pertama membaca total yang tercatat sebagai $8.000. Jumlah proyeksinya menjadi $9.500, jadi kebijakan menyetujuinya.
Saya menghabiskan waktu untuk melihat apa yang membuat attestation yang valid @NewtonProtocol dapat digunakan untuk hanya satu transaksi.
Pada awalnya, saya mengira tanda tangan operator itu sendiri akan mencegah penggunaan ulang.
Namun, tanda tangan hanya membuktikan bahwa operator menyetujui pesan yang mereka tandatangani. Pertanyaan yang lebih sulit adalah apakah pesan tersebut terikat pada tindakan persis yang kemudian dijalankan oleh aplikasi.
Bayangkan sebuah attestation yang menyetujui penarikan dari satu dompet ke satu kontrak.
Jika pesan yang ditandatangani tidak terikat pada pengirim, target, parameter, rantai (chain), nonce, dan kedaluwarsa, persetujuan yang sama masih bisa digunakan untuk transaksi yang berbeda.
Kriptografinya bisa tetap valid.
Otorisasinya tetap bisa salah.
Karena itu, attestation yang valid seharusnya diperlakukan sebagai izin untuk satu maksud spesifik, bukan sebagai persetujuan yang dapat digunakan ulang.
Replay tidak memerlukan siapa pun untuk memalsukan tanda tangan. Yang dibutuhkan hanya tindakan lain yang masih sesuai dengan konteks yang semula ditandatangani.
Nonce dapat mencegah penggunaan berulang. Expiry membatasi berapa lama persetujuan tetap berlaku. Pengikatan chain dan kontrak dapat mencegah penggunaan ulang di tempat lain. Pengikatan parameter dapat menghentikan jumlah yang disetujui atau penerima untuk berubah kemudian.
Attestation yang valid ≠ otorisasi yang dapat digunakan ulang.
Hal yang terus saya pikirkan adalah apakah aplikasi harus menolak setiap attestation yang tidak terikat pada satu maksud unik.
Jika target, parameter, chain, atau waktu dapat berubah sementara persetujuan tetap valid, sebenarnya apa yang diotorisasi oleh operator?
Pengikatan mana yang paling penting untuk mencegah replay attestation?
@grvt_io menghabiskan sedikit waktu untuk memikirkan apa yang perlu ditunjukkan agar pertandingan GRVT dinilai adil.
di sini, keadilan tidak berarti bahwa perdagangan akhir sekadar valid. maksudnya adalah pesanan yang memenuhi syarat menerima prioritas yang terdokumentasi, tanpa ada pesanan yang lebih awal “dipindahkan” tanpa alasan yang sesuai dengan aturan.
GRVT mendokumentasikan bahwa pencocokan (matching) dan penyimpanan data terjadi di luar rantai (offchain), sementara kontrak pintar menyediakan jaminan eksekusi di dalam rantai (onchain). pesanan yang dikirim membawa tanda tangan, dan jalur penyelesaian (settlement) dapat memvalidasi apakah paket maker-dan-taker yang dipilih memenuhi aturan yang diterapkan pada transaksi tersebut.
di tingkat mekanis, ini dapat memastikan bahwa kecocokan yang dipilih dapat diterima.
kecocokan yang valid tidak otomatis merupakan kecocokan yang dapat diputar ulang (replay) secara independen.
dokumen materi publik yang ditinjau menjelaskan umpan (feeds) order-book, isian (fills), dan aturan RPI, tetapi tidak menyediakan catatan pengurutan (sequencing) publik yang lengkap untuk setiap pesanan yang memenuhi syarat dan alternatif yang dipertimbangkan oleh pencocok (matcher). tanpa catatan tersebut, pengguna eksternal tidak dapat sepenuhnya merekonstruksi jalur pemilihan hanya dari keluaran penyelesaian publik, berdasarkan bukti publik yang tersedia saat ini.
likuiditas RPI membuat batasnya lebih mudah terlihat. GRVT mendefinisikan RPI sebagai likuiditas maker yang tersedia hanya untuk pengguna UI non-algoritmik. hal itu dapat menciptakan eksekusi yang lebih baik untuk alur yang memenuhi syarat, sekaligus memberi peserta API pandangan yang berbeda tentang likuiditas yang dapat dieksekusi.
saya memahami kompromi desainnya. alur pesanan yang dibatasi mungkin melindungi pembuat pasar dan meningkatkan harga yang dikutip.
namun, kualitas eksekusi dan prioritas yang dapat diverifikasi secara independen adalah klaim yang terpisah.
rekonstruksi publik yang terbatas tidak membuktikan bahwa GRVT melakukan pencocokan secara tidak adil. itu berarti pengguna harus bergantung pada catatan internal GRVT, aturan yang terdokumentasi, atau proses jaminan eksternal untuk bagian penilaian keadilan.
itulah pertanyaan yang terus saya ulang-ulang.
apakah keadilan pencocokan harus tetap menjadi jaminan operasional, atau menjadi sesuatu yang bisa diverifikasi pengguna secara independen?