Maneki-neko DUCAT, memegang koin Monero
perdagangan jarak dekat antarwarga · spesifikasi draf 1.1.0-dev13

DUCAT

Veilid untuk pengangkutan. Monero untuk penyelesaian. Tanpa operator di tengah.

Tidak ada server DUCAT di mana pun — kontak, pesan, tagihan, dan tanda terima adalah catatan DHT dan muatan tersegel ujung ke ujung, dan setiap ponsel menjalankan simpul Veilid penuh, mengembalikan perutean dan penyimpanan yang dipakainya.

0 vektor kesesuaian 0 mode operasi 0 bahasa 0 server

Ditandatangani mode debug, hanya stagenet. Belum untuk uang sungguhan.

Berdiri di atas

Perdagangan tanpa siapa pun di tengah

Dukat adalah koin emas yang selama enam abad diterima dari Venesia hingga Wina sampai Levant — tanpa hubungan dengan penerbit, tanpa rekening di belakangnya, tanpa izin yang melekat. DUCAT adalah hal itu, untuk saat kamu berdiri di depan seseorang dan berdagang.

🐱

Tidak ada server di mana pun

Kontak, tagihan, pembayaran, dan tanda terima berjalan sebagai muatan tersegel ujung ke ujung di atas DHT Veilid. Tidak ada yang bisa dipanggil pengadilan, dibatasi, dicabut dari platform, atau dimatikan, karena tidak ada yang berjalan. Setiap ponsel adalah simpul penuh dan mengembalikan perutean serta penyimpanan yang dipakainya.

🔑

Identitas adalah sepasang kunci

Dibuat di ponsel. Tanpa surel, tanpa nomor telepon, tanpa siapa pun untuk didaftari — dan karena itu pula tidak ada yang bisa memulihkannya untukmu, dan aplikasi mengatakannya terang-terangan alih-alih menguburnya.

🎫

Kartu sekali klaim

Kamu memberi seseorang kartu — QR, tautan ducat:, atau sentuhan NFC — dan itu berlaku untuk satu orang. Setelah diklaim, kartu berhenti bekerja, jadi tangkapan layar yang berpindah ke tempat lain bukanlah jalan masuk.

🔒

Percakapan tersegel

Enkripsi berbentuk X3DH, dengan prakunci sekali pakai dan kerahasiaan maju. Ketika aplikasi harus mundur ke prakunci bertanda tangan, ia menunjukkan gembok terbuka alih-alih menyembunyikannya.

💬

Percakapan yang membawa uang

Utas berbasis kotak surat yang bekerja meski salah satu pihak luring — membawa tagihan terperinci yang barisnya wajib berjumlah sama dengan totalnya atau pesan ditolak, pembayaran, serta tanda terima yang diterbitkan penerima dan menunjuk pada transaksi yang mereka akui. Grup kecil menyebar ke utas berpasangan yang sama: tanpa kunci grup, tanpa catatan bersama, setiap sifat utas tetap utuh.

Enam langkah, tanpa akun,
sekitar satu menit

Setiap tangkapan layar di halaman ini adalah aplikasi yang berjalan di ponsel, bukan maket. Tidak ada di sini yang memintamu mendaftar, karena tidak ada siapa pun untuk didaftari.

Langkah 1 dari 6: buat identitasmu — sepasang kunci yang dibuat di ponsel ini, tanpa akun
1 · Identitas — sepasang kunci, bukan pendaftaran
Langkah 4 dari 6: pilih PIN, dengan peringatan tanpa penyetelan ulang dinyatakan terus terang
4 · Sebuah PIN — dan tak ada cara menyetel ulang, dikatakan terus terang
Langkah 5 dari 6: bagaimana orang asing saling percaya — kedua pihak menaruh jaminan, menuntaskan mengembalikannya
5 · Kepercayaan — dijelaskan sebelum transaksi pertamamu
Langkah 6 dari 6: cadangan, yang sejujurnya belum jadi cadangan sampai keluar dari ponsel
6 · Cadangan — «belum jadi cadangan» sampai keluar dari ponsel

Identitasmu adalah sepasang kunci yang dibuat di perangkat — tanpa surel, tanpa nomor telepon, tanpa siapa pun untuk didaftari, dan karena itu pula tidak ada yang bisa memulihkannya untukmu. Langkah terakhir adalah cadangan, karena dompet yang tak bisa dipulihkan adalah satu-satunya cara seseorang benar-benar kehilangan uang di sini.

Uang yang memang milikmu

Dompet Monero yang kamu simpan sendiri, dengan konversi mata uang setempat di mana-mana, dipindai dan dibelanjakan oleh mesin monero-oxide yang tertanam — tanpa daemon dompet apa pun di ponsel.

Beranda pribadi: saldo dalam XMR dan mata uang setempat, status sinkronisasi, penghitung lembaran yang bisa dibelanjakan, ubin mode, dan pergerakan terbaru
Saldo, dan lembaran di baliknya
Membayar atau meminta: jumlah dalam mata uang setempat atau XMR, hitungan biaya, sisa setelahnya
Seluruh hitungannya sebelum kamu setuju
Rekening koran: saldo berjalan, pencarian tanda terima, ekspor CSV
Rekening koran yang disusun ulang dari rantai
Memilih siapa yang dibayar: kontak dengan sidik kunci masing-masing
Siapa yang kamu bayar, lewat sidik kunci

Saat membayar, tampil jumlahnya, perkiraan biaya jaringan, totalnya, sisa yang kamu punya setelahnya, berapa lembar yang dibelanjakan dan kira-kira berapa lama — dan kamu bisa memilih kecepatan. Riwayat disusun ulang dari rantai: kiriman dikenali lewat key image, kembalian tak pernah ditampilkan sebagai pemasukan, tiap baris membawa saldo berjalan, dan seluruh rekening koran bisa diekspor ke CSV.

Monero membelanjakan lembaran-lembaran terpisah, bukan saldo, jadi dompet yang memegang satu lembar besar bisa gagal membayar dua kali berturut-turut. Aplikasi menghitung lembaran yang bisa dibelanjakan dan menyuruhmu memecah satu sebelum kamu berdiri di kasir, alih-alih gagal di sana.

Percakapan yang membawa uang

Kontak adalah sepasang kunci, bukan pengenal. Satu pemindaian membuka percakapan berbasis kotak surat yang bekerja meski salah satu pihak luring — dan utas itu membawa perdagangan, bukan sekadar teks.

Kartumu: QR sekali klaim yang membuka percakapan, berlaku untuk satu orang
Kartumu — berlaku untuk satu orang
Percakapan yang membawa uang: tagihan terperinci dengan baris pajak, tanda terimanya, spanduk escrow yang sudah selesai
Tagihan, pembayaran, tanda terima — di dalam utas
Grup bertiga di papan bersama: satu catatan per generasi, sebuah pertanyaan dan jawabannya dari ponsel lain
Grup — satu catatan bersama per generasi
Mencari apa yang orang katakan, dengan kecocokan nama di atas kecocokan pesan
Cari apa yang benar-benar orang katakan

Kamu memberi seseorang kartu — lewat QR, tautan ducat:, atau sentuhan NFC — dan itu berlaku untuk satu orang: setelah diklaim ia berhenti bekerja, jadi tangkapan layar yang berpindah ke tempat lain bukanlah jalan masuk.

Grup adalah daftar yang hanya bertambah, dan kata-katanya menumpang satu catatan papan bersama per generasi (§16.24): setiap anggota menulis halamannya sendiri di bawah kunci grup yang dibawa daftar itu, jadi pesan untuk lima orang adalah satu penulisan alih-alih lima, dan jaringan tak bisa membedakan catatan itu dari catatan mana pun. Tak seorang pun bisa menyamar sebagai orang lain, dan keluar adalah urusan lokal. Sebuah grup bisa membagi tagihan: satu total menjadi permintaan terpisah kepada tiap orang ditambah satu kalimat yang bisa dipakai semua orang memeriksa hitungannya, dan tiap permintaan berubah menjadi lunas begitu rujukannya tiba.

Ponselmu adalah seluruh usahanya

Pilih satu dari sembilan mode dan seluruh aplikasi menyerahkan diri — dengan tabnya sendiri, tanpa apa pun dari dompet. Hampir tidak ada satu pun dari ini yang memerlukan objek protokol baru, dan itulah kalimat yang paling dibanggakan spesifikasi.

Mode operasi: pribadi, kasir, bon terbuka, taksi, donasi, pasar, penyewaan, sewa bantuan, kios
Sembilan mode, satu protokol
Kasir: barang yang dimasukkan dengan baris pajak penjualan terhitung
Kasir — dengan pajaknya terhitung
Satu kode untuk dipindai pelanggan; tagihan terperinci tiba di ponselnya
Satu kode — tagihan tiba saat dipindai
Bon terbuka: terbuka, sudah ditagih dan menunggu, ditutup dengan satu tagihan
Bon terbuka — dilunasi dari bus pulang
Mode kios, sisi pelanggan: ketuk yang kamu mau, pajak ditampilkan sebelum kamu menyetujui
Kios — pelanggan memesan sendiri
Panel petugas kios di balik PIN: pesanan, menu, dan tarif pajaknya
Panel petugas di balik PIN
Kode donasi tetap, dengan biaya keterhubungannya dinyatakan di layar
Donasi — dengan biayanya disebut

Sebuah kasir memasukkan barang atau menerima total yang diketik, menghitung pajak penjualan untuk wilayahnya, dan menampilkan satu kode; tagihan tiba di ponsel pelanggan begitu ia memindai, dan tanda terima kembali saat ia membayar. Sebuah bon terbuka mengabari pelanggan tiap minuman dan ditutup dengan satu tagihan. Sebuah kios menyerahkan ponsel sepenuhnya kepada pelanggan, dengan panel petugas di balik PIN. Sebuah kotak donasi menawarkan dua jalur sekaligus: kode DUCAT yang membuka percakapan dan mengirim tanda terima begitu uang tiba, serta alamat tetap yang bisa diberi oleh dompet Monero mana pun — dengan biaya keterhubungannya dinyatakan di layar, bukan di dalam kebijakan.

Tumpangan yang tak seorang pun mengaturnya

Ketik ke mana kamu pergi. Ponselmu mengubah titik GPS menjadi geosel — papan pengumuman publik yang alamatnya adalah tempat itu sendiri — dan memasang panggilan: kartu sekali klaim, sebuah wilayah kasar, dan tawaran yang dihitung dari rute mengemudi sebenarnya. Tidak ada nama yang naik ke papan — tidak di kartunya, tidak pula di catatan di baliknya. Pengemudi mengawasi selnya dan sel tetangga lalu mengambilnya; DHT yang menjadi wasit perlombaan, dan tidak ada penjodoh mana pun.

Garis hijau itulah intinya: tarif DUCAT berada sekitar 15% di bawah yang ditagihkan platform kepada penumpang, dan pengemudi menyimpan semuanya — potongan platform yang absen, dikembalikan kepada keduanya. Penerimaan datang dengan sebuah wajah: nama, mobil, warna, pelat, perkiraan tiba — tersegel untuk penumpang, tak pernah ditampilkan di papan. Namamu sendiri dan pintu tempat kamu berdiri berjalan ke arah sebaliknya pada saat yang sama, kepada satu-satunya pengemudi yang mengambilnya.

Satu kompromi, dinyatakan terang-terangan di layar: pencarian alamat, perutean, dan ubin peta menanyai OpenStreetMap — satu-satunya tempat DUCAT mengirim lokasi ke luar perangkat. Papan-papan itu sendiri tak pernah membawa ketelitian lebih baik dari ~1,2 km.

Memanggil tumpangan: rute, jarak, waktu, dan tarifnya dibanding yang akan ditagih platform
Panggilan, dibandingkan dengan platform
Argometer: tarif diketik sekali, kode penjemputan, syaratnya masuk ke obrolan saat mulai
Argometer, dengan syaratnya di dalam utas

Jual, sewakan, atau tawarkan satu jam waktumu

Mesin papan yang sama membawa lebih dari sekadar tumpangan. Iklan pasar, penyewaan, atau satu jam bantuan terampil semuanya dipasang di papan pengumuman yang beralamatkan lingkungan sekitar, dan orang asing di dekatnya membacanya tanpa kalian berdua menyentuh platform mana pun.

Iklan duduk di papan yang lebih kasar daripada panggilan — sekitar lima kilometer lebarnya, karena orang mau menempuh jarak untuk mengambil seikat kunci. Pencarian membaca papanmu dan cincin di sekelilingnya, menggambar hasil begitu masing-masing menjawab, sehingga sesuatu yang terparkir dekat denganmu muncul di layar dalam kurang dari enam detik, sementara «tak ada apa pun di sekitar sini» memakan sekitar empat puluh detik dan mencentang wilayah satu per satu.

Menelusuri pasar: iklan yang ditemukan di papan, dengan harga, jaminan, dan tombol untuk bertanya
Pasar
Menelusuri bantuan: keterampilan yang ditawarkan di dekatnya, dihargai per jam
Sewa bantuan
Memasang kendaraan untuk disewakan: paruh publik yang naik ke papan
Paruh publik — yang boleh dibaca papan
Hanya untuk yang memesan: alamat dan rincian serah terima tak pernah naik ke papan
Paruh pribadi — tak pernah ke papan
Mencari perlengkapan di dekatnya: iklan aktif dengan harga per hari dan jaminannya
Menemukannya — harga, jaminan, dan cara bertanya

Formulir iklan dibelah dua dan aplikasi memberitahumu paruh mana yang mana: semua di bagian pertama naik ke papan publik yang bisa dibaca siapa pun di dekatnya, dan alamat, letak kunci, serta pelat nomor masuk ke bagian kedua, yang tak meninggalkan ponselmu sampai ada pemesanan yang sungguhan.

Sebuah rumah, sebuah beranda,
dan rak milik sendiri

Catatan yang membawa tagihan sama baiknya membawa halaman. Kuncimu sudah berupa alamat, jadi apa yang kamu tulis punya tempat tinggal tanpa meminta ruang kepada siapa pun.

Beranda: kiriman dari orang-orang yang kamu simpan, dan rumahmu sendiri
Beranda — kiriman dari orang-orang yang kamu simpan
Perpustakaan: terbitan diarsipkan menurut penerbit, disimpan keluar alih-alih dibuka
Perpustakaan — terbitan diarsipkan menurut penerbit
Seluruh dunia: terbitan di papan bertopik, dengan «Semua» membaca tiap rak sekaligus
Seluruh dunia — papan bertopik, semua rak sekaligus
Sebuah iklan dibuka: foto-foto dari bundelnya, deskripsi penjual, harga yang diketiknya di samping konversi hari ini
Sebuah iklan dibuka — foto-fotonya dan harga yang diketik

Rumah sebuah persona berdiri di alamat yang disebut kuncinya sendiri, dan beranda adalah lini masa orang-orang yang kamu simpan — sebuah kiriman bisa membawa gambar dan berkas, dan hati kembali. Situs disajikan dari cakram oleh siapa pun yang menerbitkannya dan terbuka di ruang tersegel, sehingga membaca satu situs tidak mengambil apa pun dari tempat lain.

Terbitan — sebuah koran, sebuah serial, sepotong perangkat lunak — dijual ke seluruh dunia di papan bertopik alih-alih menurut lingkungan: sebuah kiriman mendarat di papan topiknya sekaligus di papan bahasanya, dan «Semua» membaca keenam rak berdampingan. Sebuah iklan mengambil bundelnya dari ponsel penjual sendiri — hingga 24 foto ukuran penuh, sebuah deskripsi, spesifikasi dan berkas lampiran — ditolak seluruhnya pada kunci mana pun yang tidak disebutnya, supaya dokumen yang buruk tak bisa menyembunyikan foto yang baik.

Kalian berdua menaruh jaminan.
Menuntaskan mengembalikannya.

Tidak ada perusahaan di tengah yang bisa memihak, jadi DUCAT melakukan yang lebih sederhana. Uangnya duduk di alamat yang hanya kalian berdua bisa buka, dan pelepasannya mengembalikan jaminan masing-masing pihak atas namanya sendiri. Tak seorang pun bisa mengambil jaminan — termasuk kami, karena tidak ada kami untuk dibayar.

~10% satu tumpangan singkat, risiko kerusakan kecil
~20% tempat menginap kunci rumah seseorang
~30% sebuah kendaraan kerusakan bisa melebihi harganya

Angka-angka itu diperdebatkan, bukan ditebak — model 2-dari-2 tanpa kustodian milik Bisq adalah preseden yang paling dekat dan benar-benar bekerja, dan literatur setoran ganda membuktikan susunan itu tahan curang pada keseimbangan. Dua batas muncul darinya: jaminan yang nilainya lebih kecil dari biaya mengembalikannya menjadi nol alih-alih hiasan, dan tak satu pun melebihi separuh harga. Pihak yang lebih terpapar menyetor kedua, agar uangnya tak pernah duduk sendirian di alamat bersama.

⅔

Escrow tanpa perusahaan di belakangnya

Ketika sebuah transaksi menuntut lebih dari sekadar jaminan: penumpang, pengemudi, dan kontak wasit yang dipercaya kedua pihak menjalankan pembangkitan kunci terdistribusi lewat utas tersegel — tiga perangkat menurunkan satu alamat Monero, masing-masing hanya memegang satu bagian, dua di antaranya bisa menandatangani, tanpa pembagi di mana pun. Jalur bahagianya dua ketukan.

Selebihnya adalah kesepakatan: satu pihak mengusulkan pembagian, pihak lain menandatangani atau menawar balik. Yang terdampar bertanya kepada wasit, yang tanda tangan pendampingnya adalah putusannya — wasit yang dikuasai paling jauh hanya bisa memilih di antara pihak yang disebut, tak pernah membayar dirinya sendiri. Terbukti di rantai pada stagenet dalam segala bentuk, termasuk pelepasan FROST dengan dua masukan.

∅

Berapa harga sebuah nama

Sebelum ada transaksi apa pun, yang ada adalah orang asing, dan pertanyaannya adalah berapa harga nama itu baginya. Sebuah persona boleh membakar Monero — mengirimnya ke alamat yang kuncinya tidak dipegang siapa pun, diturunkan dari hash yang bisa dihitung ulang siapa saja — dan membawa bukti pembayaran Monero sendiri untuk itu. Klienmu memeriksa bukti itu terhadap node-nya sendiri, bertanya kepada node kedua apakah transaksinya sudah masuk blok, dan sejak itu menampilkan persona itu dengan kata-kata di mana pun kamu memutuskan sesuatu: membakar 0,01 XMR, sejak blok N. Tidak pernah berupa skor. Aturan yang penting adalah peringatannya: ketika yang hendak kamu pertaruhkan bernilai lebih dari yang mereka bakar, aplikasi mengatakannya, karena nama yang tidak berharga apa pun tidak kehilangan apa pun dengan menghilang.

Setelah sebuah transaksi selesai, salah satu pihak boleh menandatangani tanda terima dengan penilaian, dan siapa pun yang pernah kamu temui langsung boleh menandatangani sebuah jaminan. Keduanya berjalan di utas tersegel dan keduanya ditimbang oleh pembacanya sendiri — satu suara per penanda tangan, hanya menghitung penanda tangan yang bakarannya sudah kamu periksa, dan hanya menghitung jaminan dari orang yang sudah ada di kontakmu. Satu lompatan, tanpa graf, tidak ada yang dipublikasikan di mana pun. Reputasi yang memakan uang, bukan privasi.

Dan ia berperilaku seperti aplikasi

Alat privasi yang tak enak dipakai hanya dipakai sekali. Yang ini menyebut apa yang harus kamu bayar, berbicara dua puluh bahasa, dan punya tema gelap yang bukan pikiran belakangan.

Profil: biaya keterhubungan bila kontak boleh membayarmu langsung, dinyatakan di tempat kamu memilihnya
Biaya disebut pada saat kamu memilih
Layar beranda yang sama dalam tema gelap Mocha
Mocha — tema gelap, dikerjakan dengan benar
Layar beranda yang sama dalam bahasa Arab: cermin kanan-ke-kiri yang utuh, dengan angka Arab Timur
Arab — cermin kanan-ke-kiri yang utuh
Paruh bisnis dari pengaturan: wilayah tarif, tarif pajak penjualan, privasi, cadangan
Paruh bisnis dari pengaturan

Kenyamanan ada harganya dalam sistem privasi, dan aplikasi menyebutnya pada saat kamu memilih, bukan di dalam kebijakan yang tak ada yang membacanya. Membiarkan kontak membayarmu langsung berarti memakai ulang satu alamat — jadi ia berkata bahwa siapa pun yang mengamati rantai bisa tahu orang yang sama dibayar setiap kali, termasuk orang yang hanya sekali membayarmu, dan menunjuk alternatifnya. Kebiasaan yang sama berjalan di seluruhnya: kemunculan di mempool ditampilkan sebagai terlihat, belum diselesaikan; profil selalu disajikan sebagai klaim yang memang begitulah adanya.

Ia berbicara dua puluh bahasa — tiap layar membaca dari sumber daya, bentuk jamak disusun alih-alih disambung, dan bahasa Arab dan Farsi membuktikan cerminnya. Tanda terima adalah catatan, bukan pesan: setiap tanda terima hidup di penyimpanannya sendiri, selamat dari penghapusan utas dan kontak, dan ikut dalam cadangan terenkripsi — yang membawa orang-orangnya sama seperti uangnya.

Aplikasi yang sama di atas meja

Jendela asli di atas Rust yang sama dengan yang dijalankan ponsel — sehingga kasir seorang pedagang, sebuah kios, ruang pers, pasar dan beranda adalah satu implementasi, bukan port.

Halaman Obrolan di meja: grup di papan di atas utas berpasangan, dengan panel percakapan
Obrolan — grup di papan, di atas utas berpasangan
Kasir di meja: sebuah penjualan dimasukkan dan bon-bon terbuka
Kasir — sebuah penjualan dimasukkan dan bon-bon terbuka
Halaman Pasar di meja: iklan di dekat sebuah sel dengan gambar kecilnya
Pasar — iklan di dekat sebuah sel, dengan gambar kecilnya
Halaman Status di meja: simpul, tabel peruteannya, Hubungkan ulang, catatan log
Status — simpul, tabel peruteannya, Hubungkan ulang

Ia berbicara dua puluh bahasa ponsel dari sumber daya yang sama, dan sudah dibuktikan terhadap ponsel dalam setiap ritus: obrolan, grup di papan, tagihan dan tanda terima, pesanan kios yang dibayar dari ponsel yang belum pernah bertemu meja itu, berkas dan situs yang disajikan dan diambil, serta panggilan dengan suara sungguhan.

Apa yang terbukti, dan apa yang tidak

README menyimpan catatan tentang apa yang benar-benar berjalan ujung ke ujung di jaringan sungguhan dan stagenet sungguhan — dan menyatakan celahnya alih-alih menguburnya.

Ditunjukkan ujung ke ujung
  • Dua tumpangan lengkap yang terdistribusi ponsel↔desktop — dari panggilan geosel sampai penyelesaian di rantai, tip dan tanda terima — dan tumpangan berjaminan kini dijalankan sampai tuntas di dua ponsel juga
  • Lengkung escrow yang penuh — dua ponsel dan seorang wasit di meja menurunkan satu alamat 2-dari-3 secara mandiri; setor → lepas → pengemudi dibayar
  • Sebuah pemesanan — pemilik dan tamu masing-masing menyetor jaminan, kumpulannya dikonfirmasi lewat pemindaian tamu sendiri, pembagian diusulkan, ditandatangani, kedua pihak utuh; ia melanjutkan alih-alih mengulang ketika di tengah jalan sebuah simpul Monero kehabisan waktu
  • Bon terbuka dari ponsel ke desktop, dari tagihan ke tanda terima; sepuluh serangan ditolak
  • Sebuah ponsel yang dihapus sampai kosong dituntun melalui penyiapan: kartu pertama, pembayaran pertama, satu penjualan kios dibayar dari ujung ke ujung — lalu dihapus lagi dan dipulihkan dari cadangannya sendiri
  • Setiap jalur escrow lewat antarmuka dalam satu hari — sebuah penjualan pasar, panggilan di jalan dengan posisi langsung yang menyeberang antarponsel, penyewaan perlengkapan, dan pekerjaan bantuan yang jalannya yang pertama memunculkan sekaligus memperbaiki sebuah kondisi balapan yang nyata
  • Lapisan kepercayaan, dijalani alih-alih diperdebatkan — sebuah bakaran dibuktikan dan diperiksa terhadap node milik orang asing sendiri dalam 12 detik, tanda terima dengan penilaian ditimbang tepat pada nol, empat desktop menyimpulkan «2 kontakmu mengenal mereka», dan kartu panggilan tanpa nama yang baru bernama berkat data yang dibagikan setelahnya
Dinyatakan, tidak dikubur
  • Tanpa tinjauan dari siapa pun di luar proyek — §2.5 adalah argumen mengapa hal itu penting; satu putaran internal atas lima permukaan serangan menemukan empat puluhan hal dan memperbaiki sebagian besarnya, yang merupakan hal yang lebih kecil
  • Tanpa pengembang yang belum pernah membaca core/
  • NFC terverifikasi saat kompilasi, belum pernah diuji lapangan antara dua ponsel — dan ketukannya belum pernah diukur di ponsel mana pun
  • Angka latensi diukur di desktop dengan simpul terpasang, bukan di ponsel yang memakai baterai
  • Dua radio, dua baterai, dua jam yang saling bebas — hari lapangan masih terutang
  • Desktop tidak punya faktor kedua — tidak ada kunci perangkat dan tidak ada rahasia miliknya sendiri, jadi penjagaan yang dipasang ponsel sebelum uang keluar tidak bisa berjalan di sana
!

Pra-alfa. Stagenet. Bukan untuk uang sungguhan.

Setiap build ditandatangani mode debug dan menyelesaikan di stagenet Monero — koin tanpa nilai, memang dirancang begitu. Spesifikasinya adalah draf 1.1.0-dev13 dan berkata tentang dirinya sendiri: tak ada di sini yang final, dan §14 adalah agenda yang sebenarnya. Cobalah, patahkan, bacalah — hanya jangan danai.

Spesifikasinya adalah produknya.
Sisanya menjaganya tetap jujur.

ducat-protocol.md adalah artefak utamanya — lima bagian, catatan perubahan di depan, dan rangkaian uji kesesuaian yang dijalankan implementasi kedua sehingga dokumen tak bisa menyimpang dari kode secara diam-diam.

★ ducat-protocol.md   spesifikasinya — draf 1.1.0-dev13, catatan perubahan di depan
  core/               implementasi rujukan (Rust)
  vectors/            406 kasus kesesuaian + skema
  conformance/        empat pemeriksa, tiap push
  harness/            ujung ke ujung lewat rute Veilid sungguhan
  sim/                simulator luring, skenario pasar
  applications/       android/ + desktop/ (sumber yang sama)
  mobile/             jembatan Rust: dompet · kotak surat · simpul
  research/           bukti, bukan produk

Empat pemeriksa, tiap push

  • Tiap vektor divalidasi terhadap schema.json
  • Implementasi kedua menjalankan seluruh 406 dan harus sepakat
  • Dokumen diaudit terhadap kode — ini menangkap satu bagian normatif yang diacu tiga kali dan tak pernah ditulis, satu rentang nilai yang tidak dideklarasikan registri, dan enam jenis vektor yang tak pernah disebut dokumen
  • Tak ada yang diimpor tanpa dideklarasikan

Penatalayanan bersifat normatif, bukan cita-cita: §18.7 menjadikan etika Veilid sebagai syarat kesesuaian — tanpa biaya protokol, tanpa bayaran untuk simpul, selamanya. Bangun apa pun yang kamu suka dari kode ini, tetapi klien yang menguangkan pengangkutan bukanlah DUCAT.

Pasang di ponsel,
atau di meja

Tak ada yang perlu dipasang lebih dulu — tiap build membawa pustaka Rust dan JVM-nya sendiri. Android di ponsel, dan aplikasi yang sama sebagai jendela asli di Linux, Windows, dan macOS. Tidak ada build iOS; ia akan mendapat foldernya begitu pantas mendapatkannya.

🤖 Android

Peramban ponsel, build terbaru, tanpa halaman rilis untuk ditelusuri. armeabi-v7a hanya untuk ponsel yang lebih tua dari sekitar 2016; x86_64 untuk emulator.

🐧 Linux

.deb dan .rpm dipasang sebagai paket; AppImage tinggal dijalankan.

🪟 Windows

Tanpa tanda tangan — Windows akan memperingatkan saat pertama dibuka.

🍎 macOS

Build Apple Silicon dan Intel. Tanpa tanda tangan — macOS akan memperingatkan saat pertama dibuka.

Ditandatangani mode debug, hanya stagenet — bukan untuk uang sungguhan.