Lewati ke konten utama

Bitsocial dan Nostr

Nostr tidak masuk rapi ke kategori federasi maupun blockchain. Pengguna tidak diberi akun oleh instance, dan tidak ada rantai, konsensus, gas, maupun urutan global. Nostr lebih tepat disebut media sosial berbasis relay: pengguna memegang pasangan kunci, menandatangani event, lalu mempublikasikannya ke relay, yaitu server biasa yang menyimpan dan menyajikan event tersebut (NIP-01). README Nostr sendiri menyatakan bahwa Nostr tidak mengandalkan teknik peer-to-peer.

Hal itu menempatkan Nostr lebih dekat ke Bitsocial daripada sistem federasi atau blockchain dalam satu hal penting: identitasnya kriptografis dan bisa dibawa pindah. Perbedaannya ada di lapisan data dan di tangan siapa gerbangnya dipegang.

Cara kerja Nostr​

  • Event dan relay. Setiap postingan, profil, atau reaksi adalah event JSON bertanda tangan. Klien mempublikasikan event ke relay melalui WebSocket dan berlangganan dengan filter; relay menyimpan event dan menyajikannya kembali. Relay tidak saling berkomunikasi.
  • Replikasi. Pengguna biasanya mempublikasikan ke beberapa relay. Sebuah studi pada 2023 terhadap 712 relay menemukan bahwa rata-rata satu postingan ada di 34,6 relay (Wei dan Tyson).
  • Menemukan postingan seseorang. Pengguna mempublikasikan daftar relay tempat mereka menulis dan membaca (NIP-65), dan klien mengambil postingan seorang pengguna dari relay tulis milik pengguna tersebut.
  • Identitas. Setiap pengguna adalah sebuah kunci secp256k1 yang menandatangani dengan tanda tangan Schnorr. Spesifikasinya tidak mendefinisikan rotasi atau pemulihan kunci, jadi kehilangan kunci berarti kehilangan akun. Pengenal opsional name@domain (NIP-05) diperiksa terhadap sebuah file di server web domain tersebut.
  • Grup. Mekanisme komunitas yang direkomendasikan adalah grup berbasis relay (NIP-29): sebuah relay menampung grup, menegakkan aturan keanggotaan dan aturan posting grup itu sebelum menerima postingan, serta menandatangani metadatanya. Komunitas dengan persetujuan moderator yang lebih lama (NIP-72) kini ditandai tidak direkomendasikan dan digantikan NIP-29.
  • Pengendalian spam. Setiap relay memilih gerbangnya sendiri: proof of work (NIP-13), autentikasi dan allowlist (NIP-42), pembayaran, atau batas laju. Klien menambahkan daftar bisu dan skor kepercayaan.
  • Media. Gambar dan video diunggah ke server file HTTP terpisah.

Letak perbedaannya​

Siapa yang menyimpan dan menyajikan postingan​

Di Nostr, relay adalah lapisan penyimpanan dan pengiriman: sebuah server harus menjaga setiap postingan tetap online. Di Bitsocial, router HTTP hanya membantu klien menemukan peer. Router tidak menyimpan postingan, profil, metadata komunitas, atau status moderasi; klien mengambil konten dari node komunitas dan dari peer yang men-seed komunitas itu. Lihat Protokol Peer-to-Peer.

Siapa yang memegang gerbang​

Gerbang tulis di Nostr dipegang operator relay. Di luar grup NIP-29, kunci yang ditolak oleh satu relay bisa mempublikasikan event yang sama ke relay mana pun yang mau menerimanya, dan apa yang dilihat pembaca bergantung pada relay mana yang dibaca klien mereka. Grup NIP-29 lebih mirip komunitas Bitsocial: relay yang menampungnya menerima atau menolak postingan. Namun relay tetap menentukan apa yang boleh dilakukan peran-peran dalam grup, dan riwayat grup tetap terikat pada relay itu kecuali ada relay lain yang bersedia mengambil alih.

Di Bitsocial, komunitas adalah objek kriptografis dengan pasangan kuncinya sendiri. Node komunitas menjalankan tantangan apa pun yang dipilih pemiliknya dan mempublikasikan status yang diterima ke jaringan peer-to-peer. Lihat Tantangan Anti-Spam Khusus.

Menjalankan infrastruktur​

Relay adalah server dengan domain dan endpoint WebSocket, dan relay populer menanggung biaya penyimpanan dan bandwidth untuk apa yang mereka sajikan. Studi tahun 2023 tadi memperkirakan sekitar 95% relay gratis tidak bisa menutup biayanya dari donasi. Node komunitas Bitsocial berjalan di perangkat keras konsumen, dan peer yang membaca sebuah komunitas bisa ikut membagikannya.

Browser​

Klien web Nostr membuka koneksi WebSocket langsung ke relay, jadi tidak perlu server aplikasi. Aplikasi web Bitsocial menjalankan node peer-to-peer di dalam tab dan mengambil konten dari peer. Lihat Peer-to-Peer di Browser.

Konten lama​

Postingan Nostr direplikasi secara luas di berbagai relay, sehingga postingan lama lebih mungkin bertahan. Bitsocial menyimpan status komunitas terbaru dan tidak menjamin konten lama tersedia selamanya.

Perbandingan​

PertanyaanNostrBitsocial
KategoriProtokol berbasis relayJaringan komunitas peer-to-peer
IdentitasKunci pengguna secp256k1, tanpa rotasi dalam spesifikasiPasangan kunci Ed25519 untuk pengguna dan komunitas
Tempat postingan disimpanRelay yang dipilih penulis, sering kali banyakNode pemilik komunitas dan peer yang membaca serta men-seed komunitas itu
Siapa yang menjaganya onlineOperator relayNode pemilik komunitas plus seeder pembantu
KomunitasGrup yang ditampung relay (NIP-29)Objek kelas satu yang node-nya menerima atau menolak postingan
Pengendalian spamKebijakan tiap relay: proof of work, autentikasi, pembayaran, allowlist, batas lajuTantangan masing-masing komunitas sebelum sebuah postingan diterima
ModerasiKebijakan relay, daftar bisu klien, label, dan laporanPemilik komunitas memoderasi komunitasnya; aplikasi memilih apa yang ditampilkan
NamaPengenal opsional name@domain yang diperiksa lewat HTTPSNama .bso dan .eth yang diresolusi menjadi kunci
BrowserKlien WebSocket bagi relayNode peer-to-peer di dalam tab browser biasa
Konsekuensi utamaIdentitas bisa dibawa pindah dan replikasi luas, tetapi ketersediaan dan kebijakan bergantung pada relayKetergantungan pada relay lebih kecil, tetapi konten lama tidak dijamin tersedia selamanya