>Řešení? Pár bych jich měl, ale to je na delší článek. A samozřejmě, vidle do toho hází rozbité klientské aplikace a obecná neochota podporovat nové NIPy
Ake mate riesnie pre uchovavnie sukromneho kluaca pre pouzivatelov? Sam som uz niekolkokrat riesil tuto otazku (a nechcem pouzit mobilnu aplikaciu ani sa nikam registrovat).
> Je možné, že všechny mé obavy jsou liché. I Bitcoin síť lze zneužít k jiným účelům, například Bitcoin ordinals umožňuje uložit do blockchainu libovolný soubor – takže i soubor odporující zákonům – přesto to (zatím) nepředstavuje problém a Bitcoin síť to ustála.
Tu je trochu ina situacia, je to drahe a neprakticke. zatial co otvorena databaza alebo miesto, kde to aj niekto realne uvidi su ovela lakavejsie.
Ale NOSTR ma zaujal, budem rad aj za dalsie blogy o nom alebo o vasom navrhu protokolu a problemov.
asi jsem se ztratil v textu, soulromy klic prece musim mit jen u sebe a sifrovani/desifrovani musi jet jen na moji strane. prece nemuzu muj klic nekam nahravat.
no a co to forknout a s lidmi, kteri jsou otevrenejsi delat rychlejsi vyvoj, prijimat zmeny aktivneji, pripadne i s rozbitim kompatibility, ale zase s chytrejsimi zmenami.
Už jsem to nakousnul v jednom issue a mám rozepsaný NIP.
Ale pro shrnutí. Existuje NIP-46 signer, který řeší způsob komunikace mezi podepisovací aplikací a klientem a používají na to relay. Zprávy mezi signerem a klientem se šifrujou.
Signer může být cokoliv a to dává určitou svobodu, tedy ten kdo chce mít klíče u sebe, ten bude mít dedikovanou aplikaci, mobilní telefon, whatever si vymyslí.
Já zkouším jít cestou komunitních identity providerů, kteří mohou tuhle funkci poskytovat jako službu, založeno čistě na login/heslo/2FA - soukromý klíč je samozřejmě uložen na serveru v nějaké zašifrované podobě. Tohle by mělo cílit na nové nezkušené usery, kteří jsou na tenhle způsob zvyklý. Uživatel nemusí vůbec přijít do styku se soukromým klíčem, dokud to vyloženě nepotřebuje (proč mu to zesložiťovat). Soukromý klíč může obdržet jen jako formu zálohy, kterou si někam zapíše a vytáhne ji, jen když třeba zapomene heslo.
Identity provideři by pak měli umožnit uživateli exportovat klíč a importovat ho jinde. Samozřejmě že je to trochu kontroverzní, protože musíš prostě věřit nějaké autoritě, která to zajišťuje a která ti garantuje, že klíč poctivě smaže po tvém odchodu jinam.
Součástí mého (rozpracovaného) NIP je hlavně popis komunikace mezi klientem a providerem tak aby uživatel měl k dispozici tlačítko "Login" za kterým je jméno a heslo, tak jak je zvyklý.
A ještě bych to navázal na NIP-05, takže se přihlásíš svým identifikátorem NIP-05 a klient si dokáže zjistit, kde je tvůj identity provider a přesměruje tam
Ohledně mé představě, já jsem spíš chtěl dát větší power serverům než klientům. Asi se to dá očekávat, protože víc vidím do serverů, a klienty vidím jen jako primitivní javascriptové prohlížeče.
Ta myšlenka byla taková, že máš primární server (relay) jako u Mastodonu, ale máš profil svázaný s klíčem. Pokud publikuješ, publikuješ na svůj server. Jediné co se šíří do světa mezi ostatní servery je tvůj profil, resp. jen ta část, která obsahuje informaci, kam publikuješ. Pokud tě ostatní chtějí vidět, na svém serveru by měli najít informaci o tom, kde se nalézáš a tam se podívat.
Pokud změníš domovský server, rozešleš informaci o novém umístění tvého profilu. Část tvého profilu sice zůstane na domovském serveru, ale... a tady přichází další část:
Totiž fakt, že tě někdo followuje znamená, že jeho domovský server se připojuje na tvůj domovský server a stahuje tvé události a cashuje je na své straně. Ten kdo tě followuje tedy čte tvé zprávy na svém serveru. Synchronizaci si zajišťují servery samy. Pokud se tedy časem odstěhuješ někam, kde jsi měl aspoň jednoho followera, tam najdeš i celý svůj obsah.
Pokud někdo na tvůj obsah reaguje, jeho domovský server si zjistí, kde se nacházíš a jeho reakci zase syncne na tvůj domovský server. Víceméně všechny zmínky nebo reakce na tvé eventy se takto syncnou.
Díky tomu, že můžeš mít víc followerů na jednom serveru, lze stahování agregovat, takže ne že každý klient chodí na všechny servery, ale servery se jen synchují s agregovanými balíky eventů.
Takto jsem si to představoval já.
Tohle by šlo 100% realizovat v NOSTRu, kdyby se změnil význam některých věcí, například povinnost rozesílat NIP-65 na všechny relay. V rámci vývoje své relay se snažim naprogramovat FollowerService, která právě agreguje relay všech uživatelů, kteří mají na mé relay profil a stahuje obsah všech followerů a ukládá lokálně. To by mělo způsobit, že na té relay bude nějaký obsah i když tam přijdeš nový a nebudeš nikoho followovat. Miimálně uvidíš obsah lidí které followují uživatelé té relay.
tak jsem si rozjel ondruv relay a stahnul gossip.
rozhlizim se, zatim mi to pripada dost kostrbate.
uvazuju, ze si rozjedu svoje dva relaye a vic klientu na testovani a uceni se.
v designu nostru se mi taky nelibi, ze relaye maji komunikovat jen s klienty a nikoliv spolu. kdyby servery mohly spolu komunikovat tak by mezi sebou mohly vytvaret routy a automaticky vyhledavat uzivatele se stejnymi zajmy napr. #linux, #kvetinky.
nelibi se mi, ze musim znat klic nebo jmeno@ uzivatele, abych se s nim propojil, ze mi servery nemuzou nabidnout vsechny zajemce treba o #pivo.
Otázka je, jestli bys opravdu chtěl vidět "všechny uživatele" kteří se hlásí k tomuto tagu. Ono stačí to zadat na twitteru a většinou vypadne zmatek nad zmatek. Od toho často bávají skupiny, které bývají moderované právě aby se focusovalo na daný zájem.
Možná pro zájmy vyhrazovat konkrétní relaye.
Ta komunikace mezi sebou - to se nevylučuje, i když protokol tohle nespecifikuje. Existuje několik mirrorujících relayí, všiml jsem si, že mou relay už taky mirroruje relayable.org.
Hledání uživatelů - měl jsem v plánu do své relay udělat nějaký spider procházeč, který by sestavoval databázi všech uživatelů sběrem jejich routovacích informací (myslím že kind 10002 - tam se dozvíš, na jakých relay uživatel publikuje). Nicméně mnohem lepší je použít NIP-05, a uživatele hledat podle domény. (moje ondra@nostr.novacisko.cz). Moje relay umí NIP-05 automaticky, stačí si dát do profilu přezdívku s doménou na které ti relay běží a automaticky se aktivuje NIP-05 na tvou přezdívku - pokud ten profil je samozřejmě uložený na té relay.
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 51 078×
Přečteno 23 949×
Přečteno 22 876×
Přečteno 20 965×
Přečteno 17 763×