Lanjutan Pelajaran 6 Baca 4 menit

Pembagian interval dan kerja bersama

Banyak orang yang mencari dalam interval yang sama membuang hampir semuanya. Membagi ruang dan membuktikan apa yang telah disapu adalah apa yang membuat usaha kolektif menjadi berarti.

Dua ribu komputer yang mencari kunci yang sama, masing-masing memulai dari titik yang berbeda, nilainya jauh lebih sedikit daripada dua ribu. Nilainya mendekati satu. Ini adalah masalah paling mahal dan paling bisa dihindari dalam seluruh bidang ini, dan menyelesaikannya tidak memerlukan matematika baru — hanya perlu mengatur sebelum memulai.

Penyebabnya adalah aritmetika sederhana. Jika setiap mesin memilih secara acak dari mana memulai dalam rentang tujuh puluh bit, peluang dua di antaranya menutupi bagian yang berbeda tinggi pada awalnya dan menurun seiring kemajuan pekerjaan. Usaha total meningkat, usaha yang berbeda hampir tidak bertambah, dan hasilnya adalah kerumunan yang lelah yang menyapu hal yang sama berkali-kali.

Lima puluh orang menggali lubang yang sama tidak menggali lima puluh lubang.

Solusinya adalah membagi ruang terlebih dahulu. Rentang tersebut dipotong menjadi bagian-bagian — katakanlah satu juta bagian —, dan setiap peserta menerima bagian yang tidak diterima oleh orang lain. Ketika selesai, mereka meminta bagian lain. Ini adalah logika yang sama dengan pencarian kelompok untuk orang yang hilang: lapangan dibagi menjadi kotak-kotak pada peta, dan setiap tim mendapatkan satu kotak.

Sebuah server pusat yang mendistribusikan bagian-bagian menyelesaikan koordinasi dan menciptakan masalah baru: siapa yang mendistribusikan tahu segalanya. Dia tahu siapa yang mencari di mana, tahu apa yang sudah disapu, dan berada dalam posisi istimewa jika kunci muncul. Ini membawa kita ke bagian yang sulit.

Bagaimana seorang peserta membuktikan bahwa mereka benar-benar menyapu bagian yang mereka terima? Mereka tidak bisa hanya mengatakan bahwa mereka telah menyapu, karena berbohong itu gratis dan menguntungkan: siapa yang berbohong menerima bagian baru tanpa menghabiskan energi, dan usaha kolektif memiliki lubang yang tidak diketahui oleh siapa pun.

Siapa yang mengaku telah menyapu kotak dan tidak menyapunya meninggalkan lubang yang tidak terlihat oleh siapa pun.

Ada jawaban parsial, dan layak untuk mengetahuinya. Yang paling umum digunakan adalah pembuktian dengan pengambilan sampel: selain target sebenarnya, server memasukkan beberapa target palsu ke dalam bagian tersebut, yang jawabannya sudah dia ketahui. Siapa yang benar-benar menyapu akan menemukan target yang ditanam ini dan mengembalikannya; siapa yang tidak menyapu tidak dapat menebaknya. Ini bukan pembuktian lengkap — ini adalah tes yang mahal untuk diakali.

Jawaban kedua datang dari metode kanguru itu sendiri. Di sana, setiap peserta mengembalikan titik-titik yang dibedakan yang mereka temukan, dan titik-titik ini adalah hasil kerja yang nyata: tidak ada cara untuk membuatnya tanpa melompat. Usaha kolektif yang didasarkan pada kanguru secara alami lebih mudah diaudit daripada yang didasarkan pada penyapuan berurutan.

Dan ada pertanyaan yang mendahului semua yang lain: bagaimana jika kunci muncul? Siapa yang menemukannya memiliki, sendirian dan pada saat itu, kekuatan untuk mengambil semuanya. Tidak ada kesepakatan, tidak ada kontrak, dan tidak ada reputasi yang dapat mencegah hal itu, karena kunci adalah uangnya. Kelompok yang serius menyelesaikannya dengan kriptografi daripada kepercayaan — membagi otorisasi pengeluaran di antara beberapa pihak terlebih dahulu, dengan multisig yang dijelaskan oleh jalur menengah, sehingga menemukan sendirian tidak sama dengan mengambil sendirian.

Menemukan sendirian tidak boleh sama dengan mengambil sendirian.

Perlu dicatat tentang legalitas dan batasan, karena ini adalah bagian dari topik ini. Mencari kunci dari alamat yang dipublikasikan seseorang sebagai tantangan adalah latihan yang disetujui: siapa yang mendanai alamat-alamat itu menaruhnya di sana untuk dicari. Menyapu blockchain untuk dompet orang lain yang dihasilkan dengan buruk adalah hal yang sepenuhnya berbeda, dan di hampir seluruh dunia adalah kejahatan. Tekniknya sama; perbedaannya sepenuhnya terletak pada persetujuan dari siapa yang menaruh uang di sana.

Perhatikan bahwa seluruh masalah adalah desain, bukan kode. Membagi rentang itu mudah. Membuktikan penyapuan itu sulit. Mendistribusikan temuan tanpa mempercayai siapa pun adalah masalah kustodi, dan ini adalah masalah yang sama yang telah dibahas dalam kursus ini sejak jalur pertama, sekarang dari sisi lain meja.

Anda telah mencapai akhir dari alat-alat ini. Anda tahu apa itu rentang, berapa biaya untuk menyapunya, dua algoritma yang memotong eksponen menjadi setengah, perangkat keras apa yang menjalankan setiap hal, dan bagaimana sebuah kelompok mengatur diri mereka tanpa saling merugikan. Yang kurang adalah objek studi: tantangan yang benar-benar ada di blockchain, siapa yang menciptakannya, mana yang sudah jatuh, bagaimana mereka jatuh — dan bagaimana platform ini menyusun tantangannya. Ini adalah modul terakhir dari kursus.