Lumaktaw patungo sa pangunahing content

Ang Bitsocial at ang Nostr

Hindi maayos na kasya ang Nostr sa kategorya ng federated o ng blockchain. Hindi binibigyan ng account ang mga user ng mga instance, at walang chain, consensus, gas o pandaigdigang pagkakasunod-sunod. Mas mainam ilarawan ang Nostr bilang social media na nakabatay sa relay: hawak ng mga user ang kanilang keypair, pinipirmahan nila ang mga event, at inilalathala nila ang mga ito sa mga relay, na mga ordinaryong server na nag-iimbak at naghahatid ng mga ito (NIP-01). Sinasabi mismo ng README ng Nostr na hindi ito umaasa sa mga peer-to-peer na teknik.

Dahil dito, mas malapit ang Nostr sa Bitsocial kaysa sa mga federated o blockchain na sistema sa isang mahalagang aspeto: kriptograpiko at portable ang identity. Ang mga pagkakaiba ay nasa layer ng data at kung sino ang may hawak ng tarangkahan.

Paano gumagana ang Nostr​

  • Mga event at relay. Ang bawat post, profile o reaksyon ay isang pirmadong JSON event. Inilalathala ng mga kliyente ang mga event sa mga relay sa pamamagitan ng WebSocket at nagsa-subscribe sila gamit ang mga filter; iniimbak ng mga relay ang mga event at ibinabalik ang mga ito. Hindi nag-uusap ang mga relay sa isa't isa.
  • Replication. Karaniwang naglalathala ang mga user sa ilang relay. Natuklasan ng isang pag-aaral sa 712 relay noong 2023 na ang karaniwang post ay nasa 34.6 sa mga ito (Wei at Tyson).
  • Paghahanap sa mga post ng isang tao. Naglalathala ang mga user ng listahan ng mga relay na sinusulatan at binabasa nila (NIP-65), at kinukuha ng mga kliyente ang mga post ng isang user mula sa mga write relay ng user na iyon.
  • Identity. Ang bawat user ay isang secp256k1 key na pumipirma gamit ang mga Schnorr signature. Walang itinatakdang key rotation o recovery ang mga spec, kaya ang nawalang key ay nawalang account. Ang mga opsyonal na identifier na name@domain (NIP-05) ay sinusuri laban sa isang file sa web server ng domain na iyon.
  • Mga grupo. Ang inirerekomendang mekanismo para sa komunidad ay ang mga grupong nakabatay sa relay (NIP-29): nagho-host ng grupo ang isang relay, ipinapatupad nito ang mga tuntunin ng grupo sa pagiging miyembro at pagpo-post bago tanggapin ang isang post, at pinipirmahan nito ang metadata ng grupo. Ang mas lumang mga komunidad na inaaprubahan ng moderator (NIP-72) ay minarkahan na ngayong hindi inirerekomenda pabor sa NIP-29.
  • Kontrol sa spam. Pinipili ng bawat relay ang sarili nitong tarangkahan: proof of work (NIP-13), authentication at mga allowlist (NIP-42), bayad o mga limitasyon sa rate. Nagdaragdag ang mga kliyente ng mga mute list at trust score.
  • Media. Ina-upload ang mga larawan at video sa hiwalay na mga HTTP file server.

Saan sila nagkakaiba​

Sino ang nag-iimbak at naghahatid ng mga post​

Sa Nostr, ang mga relay ang layer ng imbakan at paghahatid: kailangang panatilihing online ng isang server ang bawat post. Sa Bitsocial, tinutulungan lang ng mga HTTP router ang mga kliyente na makahanap ng mga peer. Hindi sila nag-iimbak ng mga post, profile, metadata ng komunidad o estado ng pagmo-moderate; kinukuha ng mga kliyente ang nilalaman mula sa node ng komunidad at sa mga peer na nagse-seed nito. Tingnan ang Protokol ng Peer-to-Peer.

Sino ang may hawak ng tarangkahan​

Nasa mga operator ng relay ang mga tarangkahan sa pagsulat sa Nostr. Sa labas ng mga grupong NIP-29, ang isang key na tinanggihan ng isang relay ay maaaring maglathala ng parehong event sa alinmang relay na tatanggap dito, at ang nakikita ng mga mambabasa ay nakadepende sa kung aling mga relay ang binabasa ng kanilang kliyente. Mas malapit sa isang komunidad ng Bitsocial ang isang grupong NIP-29: ang host relay nito ang tumatanggap o tumatanggi sa mga post. Gayunman, ang relay pa rin ang nagtatakda kung ano ang magagawa ng mga tungkulin sa grupo, at nananatiling nakatali sa relay na iyon ang kasaysayan ng grupo maliban kung pumayag ang ibang relay na akuin ito.

Sa Bitsocial, ang komunidad ay isang kriptograpikong bagay na may sariling keypair. Pinapatakbo ng node ng komunidad ang anumang hamong piliin ng may-ari at inilalathala nito ang tinanggap na estado sa peer-to-peer network. Tingnan ang Mga Pasadyang Anti-Spam na Hamon.

Pagpapatakbo ng imprastraktura​

Ang relay ay isang server na may domain at WebSocket endpoint, at pasan ng mga sikat na relay ang gastos sa imbakan at bandwidth ng mga inihahatid nila. Tinantiya ng pag-aaral noong 2023 na humigit-kumulang 95% ng mga libreng relay ang hindi kayang tustusan ang kanilang gastos mula sa mga donasyon. Tumatakbo ang isang node ng komunidad ng Bitsocial sa pangkaraniwang hardware, at makatutulong sa pagbabahagi nito ang mga peer na nagbabasa ng komunidad.

Browser​

Direktang nagbubukas ang isang Nostr web client ng mga koneksyong WebSocket sa mga relay, kaya hindi kailangan ng app server. Nagpapatakbo ang isang Bitsocial web app ng peer-to-peer na node sa loob ng tab at kumukuha ito ng nilalaman mula sa mga peer. Tingnan ang Peer-to-Peer sa Browser.

Lumang nilalaman​

Malawakang nire-replicate sa mga relay ang mga post sa Nostr, na tumutulong upang manatili ang mga lumang post. Pinapanatili ng Bitsocial ang pinakabagong estado ng komunidad at hindi nito ginagarantiyang mananatili magpakailanman ang lumang nilalaman.

Paghahambing​

TanongNostrBitsocial
KategoryaProtocol na nakabatay sa relayPeer-to-peer na network ng komunidad
Identitysecp256k1 na key ng user, walang rotation sa mga specMga Ed25519 keypair para sa mga user at komunidad
Saan nakalagak ang mga postMga relay na pinili ng may-akda, kadalasang maramiAng node ng may-ari ng komunidad at ang mga peer na nagbabasa at nagse-seed nito
Sino ang nagpapanatiling onlineMga operator ng relayNode ng may-ari ng komunidad kasama ang mga katulong na seeder
Mga komunidadMga grupong naka-host sa relay (NIP-29)First-class na mga bagay na ang node ang tumatanggap o tumatanggi sa mga post
Kontrol sa spamPatakaran ng bawat relay: proof of work, authentication, bayad, mga allowlist, mga limitasyon sa rateAng hamon ng bawat komunidad bago tanggapin ang isang post
Pagmo-moderateMga patakaran ng relay, mga mute list ng kliyente, mga label at ulatMino-moderate ng mga may-ari ang kanilang komunidad; pinipili ng mga app kung ano ang ipapakita
Mga pangalanMga opsyonal na identifier na name@domain na sinusuri sa HTTPSMga pangalang .bso at .eth na nireresolba sa mga key
BrowserWebSocket client ng mga relayPeer-to-peer na node sa loob ng karaniwang browser tab
Pangunahing palitanPortable na identity at malawak na replication, ngunit nakadepende sa relay ang availability at patakaranMas maliit na pagdepende sa relay, ngunit hindi garantisadong panghabambuhay ang lumang nilalaman