Lewati ke konten utama

Bitsocial dan Secure Scuttlebutt

Secure Scuttlebutt (SSB) adalah protokol sosial peer-to-peer yang dibuat oleh Dominic Tarr pada 2014. Manyverse adalah aplikasinya yang paling dikenal, tersedia untuk Android, iOS, dan desktop; Patchwork adalah klien desktop utama sebelum diarsipkan. Di antara sistem yang dibandingkan dalam dokumentasi ini, SSB adalah yang paling dekat dengan Bitsocial secara semangat: tidak ada server di jalur data, tidak ada blockchain, tidak ada urutan global, dan identitas memakai kunci Ed25519. Keduanya mengambil pilihan yang berlawanan soal apa yang disimpan setiap peer dan di mana spam dihentikan.

Cara kerja Scuttlebutt​

  • Feed. Setiap identitas adalah pasangan kunci Ed25519, yang ditulis sebagai @<public key>.ed25519. Semua yang dipublikasikan pengguna masuk ke feed miliknya sendiri, yaitu log append-only (hanya bisa ditambah) tempat setiap pesan bertanda tangan membawa nomor urut dan hash pesan sebelumnya. Menurut panduan protokol, pesan yang sudah diposting tidak bisa diubah lagi.
  • Replikasi. Peer menyalin feed secara utuh, bukan postingan satu per satu, dan graf follow menentukan feed mana yang disimpan sebuah peer. Patchwork, misalnya, menampilkan feed hingga dua hop jauhnya dan mereplikasi feed hingga tiga hop jauhnya. Dengan epidemic broadcast trees (EBT), peer membandingkan nomor urut terbaru yang mereka miliki untuk setiap feed dan hanya mengirim yang belum ada.
  • Koneksi. Peer melakukan autentikasi dengan secret handshake dan mengenkripsi lalu lintas dengan box stream. Handshake ini menggunakan pengenal jaringan sebagai kunci, sehingga peer di jaringan SSB terpisah yang memakai pengenal berbeda tidak bisa terhubung ke jaringan utama.
  • Menemukan peer. Peer mengumumkan dirinya di jaringan lokal melalui broadcast UDP dan melakukan sinkronisasi melalui LAN; Manyverse juga melakukan sinkronisasi melalui Bluetooth. Melalui internet, pengguna mengandalkan pub, yaitu peer yang selalu online yang mem-follow balik Anda setelah Anda menukarkan kode undangan lalu menyimpan dan menyajikan feed Anda, serta room, yang tidak menyimpan feed tetapi meneruskan koneksi antaranggotanya melalui tunnel.
  • Blob dan pesan pribadi. Gambar dan file lainnya adalah blob beralamat konten yang diambil dari peer, dengan batas ukuran bawaan 5 MB pada implementasi saat ini. Pesan pribadi dienkripsi untuk paling banyak tujuh penerima dan dipublikasikan sebagai ciphertext di feed penulisnya.

Letak perbedaannya​

Apa yang disimpan sebuah peer​

Peer SSB menyimpan salinan lengkap setiap feed dalam jangkauan replikasinya, mulai dari pesan pertama tiap feed, dan menyajikan feed tersebut kepada pihak lain. Itulah yang membuat SSB bisa bekerja secara offline, tetapi kebutuhan penyimpanan bertambah seiring setiap pesan dalam jangkauan, dan instalasi baru harus mengunduh feed-feed itu sebelum bisa menampilkan banyak hal. Klien Bitsocial mengambil status terbaru dari komunitas yang dibukanya dari node komunitas dan dari peer yang men-seed komunitas itu, dan jaringan hanya menyimpan status terbaru tersebut. Lihat Protokol Peer-to-Peer.

Penghapusan dan perangkat​

Karena feed adalah rantai hash, SSB tidak punya penghapusan di seluruh jaringan: sebuah peer bisa membuang pesan dari basis datanya sendiri tetapi tidak bisa menariknya kembali dari salinan milik peer lain. Memposting dengan kunci yang sama dari dua perangkat, atau dari cadangan yang dipulihkan, membuat feed bercabang (fork), sehingga solusi yang lazim adalah satu identitas per perangkat. PZP, protokol penerus dari tim Manyverse, mencantumkan penghapusan, banyak perangkat per akun, dan feed yang tahan terhadap fork sebagai beberapa perubahan utamanya dari SSB (postingan peluncuran). Node komunitas Bitsocial mempublikasikan versi baru status komunitas pada setiap pembaruan, sehingga konten yang dihapus moderatornya hilang dari status terbaru.

Siapa yang bisa Anda dengar​

Jangkauan replikasi SSB sekaligus berfungsi sebagai filter spamnya. Feed orang asing hanya sampai kepada Anda jika ada seseorang dalam jangkauan hop Anda yang mem-follow-nya, dan memblokir sebuah feed membuat node Anda berhenti mereplikasinya. Spam tetap di luar, tetapi begitu pula pendatang baru, sampai ada yang mem-follow mereka. Bitsocial membiarkan siapa pun memposting ke sebuah komunitas, dan node komunitas memutuskan melalui tantangannya apakah sebuah postingan diterima. Lihat Tantangan Anti-Spam Khusus.

Komunitas​

SSB tidak punya objek komunitas. Channel dan hashtag adalah label pada postingan individual, balasan dalam sebuah thread berada di feed masing-masing penulisnya, dan seberapa banyak thread yang Anda lihat bergantung pada feed mana saja yang dimiliki node Anda. Room bisa memiliki moderator dan daftar anggota, tetapi mereka mengendalikan siapa yang boleh terhubung melalui room tersebut, bukan apa yang dipublikasikan. Komunitas Bitsocial adalah objek kelas satu dengan pasangan kunci, aturan, moderator, dan tantangannya sendiri.

Infrastruktur​

Keduanya menjauhkan server dari jalur data, dan keduanya mengandalkan pembantu. Pub adalah hal yang paling mendekati layanan yang di-host di SSB: pub menyimpan dan menyajikan feed semua orang yang mereka follow. Room lebih mirip router HTTP Bitsocial karena keduanya tidak menyimpan konten, tetapi room meneruskan koneksi antaranggotanya, sedangkan router hanya mengembalikan alamat penyedia dan tidak berperan dalam transfer. Seperti peer SSB, node komunitas Bitsocial berjalan di perangkat keras konsumen, dan node itu harus online untuk menerima postingan baru.

Offline dan jaringan lokal​

Di sinilah SSB lebih unggul. Dua peer SSB di jaringan Wi-Fi yang sama, atau melalui Bluetooth di Manyverse, bisa melakukan sinkronisasi tanpa koneksi internet, dan semua yang sudah direplikasi tetap bisa dibaca secara offline. Tujuan utama yang dinyatakan Manyverse adalah membuat jejaring sosial tidak bergantung pada konektivitas internet. Bitsocial membutuhkan koneksi internet untuk menemukan peer dan untuk mempublikasikan.

Browser​

Aplikasi SSB utama menyertakan node SSB lengkap: Manyverse membundel satu node di aplikasi seluler dan desktopnya. ssb-browser-demo menjalankan SSB di dalam browser dengan replikasi parsial dan koneksi melalui room, dan diarsipkan pada 2022. Aplikasi Bitsocial menjalankan node peer-to-peer di dalam tab browser biasa. Lihat Peer-to-Peer di Browser.

Pesan pribadi​

SSB memiliki pesan pribadi terenkripsi bawaan. Bitsocial berfokus pada komunitas publik dan belum punya pesan langsung bawaan.

Status proyek​

André Staltz, yang membangun Manyverse, mundur dari SSB, Manyverse, dan penerus yang mereka rencanakan pada April 2024 (pembaruan terakhirnya). Pada Juli 2024, Jacob Karlsson meluncurkan penerus itu sebagai PZP dan menulis bahwa ia tidak akan lagi mengerjakan Manyverse dan tidak tahu ada orang lain yang berencana melakukannya. Pada Oktober 2026, repositori PZP di Codeberg tidak mendapat pembaruan apa pun setelah Desember 2024. Repositori Patchwork telah diarsipkan dengan v3.18.1 sebagai rilis terakhirnya, dan tim di balik Planetary, aplikasi SSB untuk iOS, beralih ke Nostr dengan aplikasi Nos mereka pada 2023. Jaringan SSB masih berjalan di atas peer dan pub yang dijaga tetap online oleh orang-orang, tetapi aplikasi utamanya tidak lagi dikembangkan.

Perbandingan​

PertanyaanSecure ScuttlebuttBitsocial
KategoriProtokol gossip peer-to-peerJaringan komunitas peer-to-peer
IdentitasSatu pasangan kunci Ed25519 per perangkatPasangan kunci Ed25519 untuk pengguna dan komunitas
Tempat postingan disimpanFeed append-only milik penulis, yang disalin oleh setiap peer yang mereplikasinyaNode pemilik komunitas dan peer yang membaca serta men-seed komunitas itu
Apa yang disimpan peerRiwayat lengkap setiap feed dalam jangkauan follow-nyaStatus terbaru dari komunitas yang dibaca atau di-seed-nya
KomunitasTidak ada objek komunitas; channel dan hashtag melabeli postinganObjek kelas satu yang node-nya menerima atau menolak postingan
Pengendalian spamJangkauan replikasi berdasarkan graf follow, serta blokirTantangan masing-masing komunitas sebelum sebuah postingan diterima
ModerasiFollow dan blokir masing-masing penggunaPemilik komunitas memoderasi komunitasnya; aplikasi memilih apa yang ditampilkan
Server pembantuPub menyimpan dan menyajikan feed; room meneruskan koneksi melalui tunnelRouter HTTP mengembalikan peer penyedia dan tidak menyimpan konten
OfflineSinkronisasi LAN dan Bluetooth tanpa internetMembutuhkan koneksi internet
BrowserAplikasi membundel node SSB lengkapNode peer-to-peer di dalam tab browser biasa
JaringanMasih berjalan, tetapi aplikasi utamanya tidak lagi dikembangkanJaringan aktif dengan aplikasi seperti 5chan dan Seedit
Konsekuensi utamaBekerja offline dan tidak butuh hosting, tetapi feed terus bertambah tanpa batas dan orang asing tetap tak terlihatPublikasi terbuka dan dukungan browser, tetapi butuh internet dan hanya menyimpan status terbaru