
Apa yang sebenarnya menghentikan transaksi
Setiap produk kustodi punya halaman fitur yang mendaftar kendali: daftar putih, batas belanja, kunci waktu, alur persetujuan, pembatasan IP. Semuanya nyata, dan semuanya berguna. Tetapi tidak semuanya jenis yang sama, dan memperlakukannya sebagai saling menggantikan adalah cara organisasi berakhir dengan model keamanan yang lebih lemah daripada yang disiratkan pemasaran.
Ada satu pertanyaan yang memisahkannya dengan bersih: kalau setiap potong perangkat lunak dalam sistem ini keliru atau bermusuhan, apakah kendali ini masih akan bertahan?
Untuk sebagian besar daftar itu, jawabannya tidak. Untuk tepat satu, jawabannya ya. Artikel ini tentang membedakan keduanya.
Tiga lapis, bukan satu
Di antara keinginan seseorang memindahkan dana dan dana yang benar-benar berpindah, SSP Enterprise punya tiga penghalang yang berbeda. Ketiganya gagal dengan cara berbeda, dan mengetahui mana yang mana adalah keseluruhan intinya.

Lapisan-lapisan itu tidak diurutkan berdasarkan kegunaan. Mereka diurutkan berdasarkan apa yang dibutuhkan untuk mengalahkannya.
Lapis 1: lapisan koordinasi
Ini mesin kebijakan, dan di situlah sebagian besar fitur tinggal. SSP Enterprise mendukung daftar putih alamat, pembatasan jenis tujuan, kunci waktu yang menunda transaksi di atas ambang nilai, aturan yang menuntut persetujuan admin di atas jumlah tertentu, dan pembatasan IP pada akses organisasi. Templat kebijakan memberi prasetel yang masuk akal, yang kemudian mewujud sebagai aturan nyata yang bisa disunting.
Semua ini mengerjakan hal yang sungguhan. Daftar putih mencegah alamat yang salah ketik bahkan sekadar menjadi proposal. Kunci waktu memberi tim perbendaharaan jendela untuk menyadari ada yang keliru. Aturan persetujuan mengubah transfer besar menjadi percakapan dua orang alih-alih sore hari satu orang.
Yang bukan mereka adalah penegakan kustodi. Aturan-aturan ini tinggal di perangkat lunak SSP dan dievaluasi oleh server SSP. Mereka bukan bagian dari alamat vault, dan blockchain tak pernah mendengar tentang mereka. Kalau mesin kebijakan dilewati — lewat bug, server yang dibobol, atau operator yang bermusuhan — aturan itu sekadar tidak berlaku.
Kami menyatakannya terang-terangan karena alternatifnya lebih buruk. Tim yang percaya daftar putihnya adalah jaminan kustodi akan menentukan ambangnya berdasarkan itu, dan justru itulah kesalahan yang mengubah insiden yang bisa dilalui menjadi yang tidak bisa.
Lapis 2: perangkat Anda
Penghalang kedua adalah sepasang perangkat yang dipegang setiap penanda tangan, dan ia lebih kuat dari yang pertama dalam satu hal penting: ia juga tidak memercayai SSP.
Ketika sebuah proposal sampai ke seorang penanda tangan, perangkatnya mendekode byte mentah transaksi secara lokal dan membandingkan hasilnya dengan yang sedang ditampilkan. Penerima, jumlah, token — dibaca dari byte, bukan diambil dari keterangan server. Di Solana perbandingan ini gamblang dan tanpa ampun: kalau byte hasil dekode bertentangan dengan muatan yang ditampilkan, penandatanganan diblokir keras alih-alih sekadar diperingatkan, sebab ketidakcocokan di situ menandakan serangan aktif, bukan gangguan penggambaran.
Perangkat juga menerapkan batas atas independennya sendiri untuk penggantian biaya. Relay mengusulkan biayanya; dompet menolak menandatangani yang di atas maksimum yang tertanam di kode, apa pun klaim relay, sehingga membatasi setiap pengurasan lewat jalur biaya bahkan bila relay sepenuhnya bermusuhan. Simulasi juga berjalan sebelum persetujuan, mengeksekusi proposal terhadap keadaan rantai saat ini agar layar peninjauan bisa menunjukkan apa yang sungguh akan dilakukan transaksi; itu datang bersama simulasi transaksi dan peringatan risiko.
Lapisan ini mengalahkan server yang dibobol. Yang tak bisa dikalahkannya adalah perangkat yang dibobol, atau penanda tangan yang menyetujui tanpa membaca. Ia juga menuntut kedua perangkat penanda tangan, dan itulah mengapa 2-dari-2 per orang berarti: lapis 2 hanya sekuat perangkat yang lebih lemah dari keduanya, dan keduanya sengaja berupa jenis perangkat keras yang berbeda.
Lapis 3: rantai
Penghalang ketiga adalah satu-satunya yang bertahan ketika semua yang lain sudah gagal.
Alamat sebuah vault diturunkan dari himpunan penanda tangan dan ambang persetujuan. Transaksi yang tidak membawa jumlah tanda tangan sah yang diperlukan bukan transaksi yang ditolak — ia transaksi yang tidak sah. Setiap simpul di jaringan sampai pada kesimpulan yang sama secara mandiri, dan seberapa pun besarnya akses ke infrastruktur SSP, aritmetika itu tidak berubah.
Karena itulah ambang adalah angka yang paling layak dipikirkan saat Anda membuat vault, dan karena itu ia tak bisa disunting sesudahnya. Menyiapkan vault perusahaan pertama Anda membahas mekanismenya; 2-dari-2 vs 2-dari-3 vs m-dari-n membahas cara memilih angkanya.
Di mana tiap lapis gagal
Menjejerkan modus kegagalannya membuat pekerjaan rancangannya jadi terang.
| Skenario | Lapisan koordinasi | Perangkat Anda | Rantai |
|---|---|---|---|
| Penanda tangan salah mengetik alamat | Menghentikannya | Menghentikannya bila ia membaca | Tak peduli |
| Penanda tangan diphishing hingga menyetujui | Menghentikannya bila tak ada di daftar putih | Menunjukkan yang benar; ia tetap bisa menyetujui | Tak peduli |
| Relay SSP dibobol | Gagal | Bertahan — byte didekode secara lokal | Bertahan |
| Mesin kebijakan SSP punya bug | Gagal | Bertahan | Bertahan |
| Laptop seorang penanda tangan dibobol | Bukan untuk ini rancangannya | Sebagian — ponselnya masih memeriksa | Bertahan |
| Penyerang memegang kurang dari M penanda tangan | Bukan untuk ini rancangannya | Bertahan | Bertahan |
| Penyerang memegang M penanda tangan atau lebih | Gagal | Gagal | Gagal |
Baris terakhir adalah dasar jujur dari model ini. Multisig melindungi dari dibobolnya minoritas penanda tangan Anda. Ia tidak melindungi dari mayoritas, dan tidak ada produk yang bisa mengklaim sebaliknya tanpa berbohong. Itulah sebabnya ambang dan kemandirian para penanda tangan Anda lebih berarti daripada daftar fitur mana pun.
Apa artinya bagi cara Anda menyusun semuanya
Rancang vault agar aman dengan lapis 3 saja. Pilih ambang dan himpunan penanda tangan seakan mesin kebijakan tidak ada. Kalau jawabannya membuat Anda tak nyaman, perbaikannya ambang yang berbeda atau penanda tangan yang berbeda — bukan lebih banyak kebijakan.
Baru kemudian tambahkan kebijakan untuk hal yang memang jadi kekuatan kebijakan. Daftar putih menangkap kekeliruan manusia. Kunci waktu membeli waktu bereaksi. Aturan persetujuan menciptakan sepasang mata kedua untuk jumlah besar. Itu perbaikan proses dan sungguh menurunkan insiden; ia cuma bukan yang berdiri di antara penyerang dan perbendaharaan Anda.
Jaga penanda tangan Anda benar-benar mandiri. Dua penanda tangan di laptop yang sama, di gedung yang sama, dengan susunan pemulihan yang sama, lebih dekat ke satu penanda tangan daripada dua. Kekuatan lapis 3 datang dari sulitnya membobol M orang terpisah dengan M pasang perangkat terpisah.
Buat penanda tangan sungguh-sungguh membaca layar peninjauan. Lapis 2 adalah satu-satunya penghalang yang mampu menangkap proposal yang tampak sah tetapi keliru, dan ia hanya bekerja kalau ada manusia yang terlibat dengan apa yang didekode perangkatnya. Perjalanan bolak-balik yang digladi saat vault dibuat membantu membangun kebiasaan itu selagi tak ada yang dipertaruhkan.
Ajukan pertanyaan yang sama kepada penyedia kustodi lain. Entah Anda memakai SSP atau tidak, kerangka ini bisa dibawa ke mana-mana: untuk tiap kendali di halaman fitur, tanyakan apakah ia bertahan ketika perangkat lunak penyedianya sendiri keliru. Jawabannya kerap mencerahkan, dan penyedia yang menjawab dengan jelas sedang memberi tahu Anda sesuatu yang baik tentang cara mereka berpikir.
Tentang cara-cara susunan berkunci banyak dilemahkan dalam praktik, modus kegagalan multisig dan bagaimana SSP meredamnya menelusurinya satu per satu, dan SSP Enterprise: vault multisig untuk tim adalah gambaran menyeluruh bagaimana bagian-bagiannya terpasang.


