Přehled

Farcaster je dostatečně decentralizovaný protokol pro budování sociálních aplikací. Plná decentralizace znamená, že vždy mohou komunikovat dva lidé, kteří chtějí komunikovat. Znamená to také, že vývojáři mohou přistupovat k veřejným datům na webu bez povolení.

Koncepce designu

Došlo k mnoha pokusům o decentralizaci sociálních sítí, přičemž byly učiněny různé kompromisy v decentralizaci, škálovatelnosti a použitelnosti. ActivityPub zvolil federaci, SecureScuttlebutt šel cestou peer-to-peer a Peepeth je založen na blockchainu.

Farcaster si půjčuje nápady z některých z těchto projektů, ale dělá různé kompromisy. Jeho architektura je nejlépe chápána jako produkt tří návrhových rozhodnutí:

Flexibilní jmenný prostor

Uživatel může mít více uživatelských jmen z různých jmenných prostorů. Jména mohou pocházet z decentralizovaného jmenného prostoru, který je odolný vůči cenzuře, nebo z centralizovaného jmenného prostoru, který je zdarma a snadno se používá.

Uživatelský účet má jedinečný číselný identifikátor 413241, například , který se mapuje na uživatelské jméno, které vlastní. Pomocí smluv Ethereum sledujte identifikátory a zajistěte, aby se dva uživatelé mohli vždy najít a komunikovat.

globální stav

Mnoho decentralizovaných sítí je federovaných, ale to narušuje záruku přístupu k veřejným datům bez povolení. Také to komplikuje vývojářskou zkušenost, protože vyžaduje, aby vývojáři procházeli mnoho nespolehlivých serverů.

Farcaster ukládá všechna uživatelská data na serveru zvaném Hub. Každý může provozovat hub připojený ke všem ostatním hubům prostřednictvím sítě p2p. Když uživatel odešle novou zprávu do rozbočovače, zpráva se rozšíří do všech ostatních rozbočovačů. Každý hub musí uchovávat platná data pro všechny uživatele, jinak bude ze sítě vyloučen.

Pronájem skladových prostor

Umožnění uživatelům ukládat neomezené množství dat poškozuje zdraví sítě. Uživatelé se zlými úmysly mohou vytvářet miliardy spamových zpráv, což vývojářům a uživatelům ztěžuje používání webu. Rovněž znemožňuje provoz hubů určených pro komoditní hardware.

Farcaster účtuje uživatelům nájemné za ukládání dat v síti. Zaplaťte roční poplatek za smlouvu, abyste zaručili určité množství místa na hubu. To omezuje spam a povzbuzuje uživatele k čištění méně cenných dat v síti.

koncept

Protokol má pět hlavních stavebních bloků:

Účty, které představují uživatele v síti

Uživatelské jméno ukazující na účet

Signatáři, kteří posílají zprávy jménem účtů

Zprávy, které představují veřejné aktualizace účtu

Úložiště, které si musí účet pronajmout pro publikování zpráv

Účet

Účet Farcaster představuje jedinečnou entitu v síti. Každý účet má Farcaster ID nebo fid, což je jedinečný číselný identifikátor, jako je 78213. Identity jsou vydávány a spravovány on-chain pomocí Ethereum kontraktu zvaného IdRegistry.

Uživatel provede transakci do IdRegistry, aby získal nový fid. Adresa, která vlastní fid, se nazývá escrow adresa uživatele. IdRegistry zajišťuje, že fid lze přenášet mezi adresami a žádné dvě adresy nebudou mít stejné fid.

Uživatelské jméno

Uživatelské jméno lze použít k identifikaci nebo odkazování na účet. Uživatelé mohou k účtu připojit více jmen, ale aktivní může být pouze jedno jméno. Farcaster podporuje názvy ENS publikované v řetězci nebo mimo něj.

Farcaster na fcast.id Každý účet Farcaster může požádat o bezplatné jméno. Uživatelé mohou také používat jména v jiných jmenných prostorech ENS, jako je .eth. Pro získání uživatelského jména je nutné odeslat do sítě podepsaný důkaz.

Podepsán

Signatář je pár kryptografických klíčů používaný k podepsání zprávy. Každý účet může mít více signatářů, což je užitečné, pokud chcete sdílet vlastnictví účtu nebo používat více aplikací současně. Farcaster používá smlouvu KeyRegistry pro správu podepisujících v řetězci.

Signatář je klíč Ed25519 generovaný mimo řetězec. Účet registruje podepisujícího provedením transakce do KeyRegistry pomocí veřejného klíče podepisujícího. Soukromý klíč pak lze použít k podepsání zprávy a její zveřejnění v síti.

Zanechte zprávu

Zprávy jsou veřejné aktualizace od Farcaster, jako je zveřejnění příspěvku, sledování někoho nebo přidání profilového obrázku. Síť podporuje více typů zpráv, z nichž každý má své vlastní vlastnosti, požadavky a sémantiku. Zprávy jsou na Farcaster Hub ukládány zcela offline.

Zprávy jsou kódovány jako protobuf a musí být hashovány a podepsány signatářem účtu. Dokud je dostatek úložného prostoru, mohou uživatelé publikovat zprávy na Hub. Hub před přijetím každé zprávy zkontroluje její platnost.

Skladování

Úložiště dává účtu právo publikovat zprávy v síti. Pronajímá se za roční poplatek, podobně jako si pronajímáte prostor na webovém serveru. Úložiště je spravováno a sledováno v řetězci na základě smlouvy StorageRegistry.

Úložiště se měří v jednotkách, přičemž jednotka uděluje účtu právo uložit určitý počet zpráv. Kdokoli může zaplatit StorageRegistry za pronájem skladovací jednotky na účet. Cena a velikost každé skladovací jednotky se bude lišit v závislosti na nabídce a poptávce.

Architektura

Decentralizované sociální sítě mají mnoho požadavků, které je obtížné splnit v jednom systému. Uživatelé musí mít možnost vytvářet, vlastnit a převádět účty decentralizovaným způsobem. Zprávy, které vytvářejí, musí cestovat téměř v reálném čase a jsou často rozesílány ve velkém množství. Těchto cílů lze dosáhnout pouze pomocí hybridní architektury, která kombinuje systémy on-chain a off-chain.

On-chain kontrakty se používají pro málo časté operace, kde je důležitá konzistence a decentralizace. Účty, uživatelská jména, úložiště a klíče jsou spravovány pomocí řady smluv Ethereum.

Offline systémy se používají pro časté operace, kde je kritický výkon. Zprávy vytvořené uživatelskými účty jsou uloženy a šířeny v síti p2p centra Farcaster. Na rozdíl od blockchainu tato síť používá model případného konsenzu, který umožňuje rychlé šíření zpráv výměnou za model se slabší konzistencí.

Registrační smlouva

Registrační smlouva na hlavní síti Optimism spravuje identity účtů, podepisující osoby a úložiště. Existují tři hlavní smlouvy:

Registr ID – Vydání fid pro vytvoření nového účtu

Registr úložiště – Sledujte, kolik úložného prostoru má každý účet

Registr klíčů – umožňuje účtům registrovat osoby podepisující zprávy

Tyto smlouvy mají jednoduchý design, nelze je upgradovat a mají omezený životní cyklus. Tyto smlouvy jsou nasazeny v důvěryhodném režimu a pouze Farcaster může registrovat nové účty. Po zkušební době se stanou bez oprávnění, takže si účet může zaregistrovat kdokoli. Tuto změnu nelze vrátit zpět.

úřad pro registraci občanských průkazů

Registr ID vydává nové účty Farcaster na adresy Ethereum. Uživatelé mohou provádět transakce za účelem získání jedinečného číselného identifikátoru adresy, známého jako Farcaster ID nebo fid. Adresa může obsahovat pouze jeden fid najednou, ale lze je volně přenášet. Účet může specifikovat adresu pro obnovení, ze které lze fid kdykoli převést.

Registr obchodu

Evidence úložiště pronajímá skladovací jednotky k účtům za roční poplatek. Aby účty mohly odesílat zprávy na Farcaster, musí vlastnit alespoň jednu úložnou jednotku. Ceny za skladování jsou stanoveny smlouvou v USD, ale musí být zaplaceny v ETH. Řetězová věštkyně určují směnné kurzy, které se aktualizují maximálně jednou za 24 hodin. Ceny, směnné kurzy, dostupné jednotky a velikost každé jednotky jsou řízeny společností Farcaster a liší se v závislosti na nabídce a poptávce.

Registr klíčů

Registr klíčů umožňuje účtu zaregistrovat podepisujícího, který může psát zprávy jeho jménem. Podepisující lze kdykoli přidat nebo odebrat, ale jakmile je odeberete, nelze je přidat zpět. Podepisujícího lze přidat k více účtům. Autor podpisu je veřejný klíč Ed25519 a musí být podepsán žadatelem (tj. účtem, který požaduje klíč). Může to být uživatelský účet nebo účet aplikace, která chce pracovat jménem uživatele.

nasadit

Hub

Centrum ověřuje, ukládá a replikuje zprávy účtů do jiných center. Aplikace spouští centrum pro čtení a zápis do Farcaster v reálném čase. Huby běží na komoditním hardwaru a jsou koncepčně podobné nízkoúrovňovým vysoce výkonným datovým tokům. Většina aplikací by měla kopírovat centrální data do databáze pro snadné indexování a dotazování.

Každý hub ukládá celý globální stav nebo zprávy vytvořené každým účtem v síti. Maximální limit úložných jednotek pro ukládání registru zajišťuje, že velikost globálního stavu je omezena. Na rozdíl od uzlů Ethereum jsou rozbočovače v konečném důsledku konzistentní a mohou mít zprávy mimo provoz. Díky tomu je čtení a psaní velmi rychlé, ale při interpretaci změn je to složitější.

Ověřte

Když je zpráva přijata, je hašována a její podpis je porovnán se smlouvami registru ID a registru klíčů. Zpráva také specifikuje další ověřovací pravidla, která jsou před sloučením zkontrolována centrem.

Skladování

Když je zpráva ověřena, uloží se do sady zpráv. Každý typ zprávy má definovanou sadu pravidel pro slučování zpráv a řešení situací, kdy počet zpráv překračuje limit uživatele. Obvykle jsou nejstarší zprávy nakonec vyřazeny. Pravidla jsou navržena tak, aby zprávy přidané v libovolném pořadí vždy vedly ke stejné sadě.

kopírovat

Když je zpráva uložena, je odeslána do jiných hubů prostřednictvím libp2p gossip grid. Zprávy, které nedorazí prostřednictvím klepů, jsou získávány pomocí diferenciální synchronizace, což je periodický proces mimo pásmo. Rozdílová synchronizace porovnává Merkle strom ID zpráv mezi dvěma rozbočovači a získává chybějící zprávy. Centrum sleduje vrstevníky a hodnotí jejich chování. Peer může být svými kolegy ignorován, pokud nepřijímá platné zprávy, zaostává nebo příliš chatuje.

Implementace

Hubble - Implementace rozbočovače v Typescript a Rust

Uživatelské jméno

Uživatelé mohou ke svému účtu přiřadit název ENS, aby je ostatní mohli snadno zmínit ve zprávách. Jména musí mít méně než 16 znaků a obsahovat pouze malá písmena, čísla nebo pomlčky, aby se zabránilo útokům homografů.

Farcaster v současné době podporuje dva názvy ENS:

fnames, jsou zdarma a spravuje je Farcaster.

.eth jména, která stojí peníze a jsou řízena uživatelem.

Vládnutí

Farcaster používá hrubý konsensus a běžící kód jako model řízení. Ke změně dochází, když někdo navrhne, získá podporu a uvolní funkční kód. V závislosti na změně je třeba přesvědčit různé skupiny:

Vývojáři protokolů se rozhodnou sloučit změny do center a smluv.

Vývojáři aplikací se rozhodnou implementovat tyto změny do svého centra.

Uživatelé, vyberte aplikace, které chtějí používat.

Konsensus se vyvíjí, když lidé přijímají nebo odmítají nový kód. Farcaster nikomu neposkytuje závazný proces hlasování, oficiální roli ani práva veta. Příliš mnoho struktury může vytvořit strnulost v systému, povzbudit politikaření a zpomalit pokrok. Hrubý konsensus zkresluje činnost, podporuje rozmanitost hledisek a maximalizuje decentralizaci, která je nezbytná pro dlouhodobé protokoly. K většině změn dochází prostřednictvím procesu FIP.

FIP

FIP, neboli Farcaster Improvement Offer, je proces budování konsensu ohledně změn protokolu. FIP je inspirován Ethereum EIP a Python PEP. Kdokoli může napsat FIP ​​a navrhnout změny:

Proces, jako je plán vydání pro dohodu

Standardy, jako jsou URI pro aktiva v řetězci

Implementace, jako je přidání nové funkce protokolu

Přečtěte si více o FIP ​​ve FIP-0: Návrh na předložení návrhu. Konečný seznam návrhů je níže. Návrhy byly předloženy na diskusním fóru a schváleny.

Jakmile projekt vyšel, V God zveřejnil nejnovější zprávy, které naznačovaly, že V God na tento projekt nehledí a brzy se stane novým vůdcem.

Bývalý výkonný ředitel Coinbase získává 30 milionů dolarů za protokol decentralizované sociální sítě v čele s a16z

Merkle Manufactory získala 30 milionů dolarů v kole vedeném Andreessenem Horowitzem (a16z).

Začínající společnost, kterou vede bývalý výkonný ředitel Coinbase Dan Romero, pracuje na spuštění Farcaster, „plně decentralizovaného“ protokolu pro budování sociálních sítí.

Bývalý výkonný ředitel Coinbase v úterý řekl, že jeho společnost Merkle Manufactory získala 30 milionů dolarů ve finančním kole vedeném Andreessenem Horowitzem (a16z) na vývoj protokolu sociální sítě s názvem Farcaster.​

Dan Romero, který opustil burzu v roce 2019, oznámil kolo financování v příspěvku na svých webových stránkách. Vysvětlil, že on a Varun Srinivasan, další bývalý ředitel Coinbase, začali spolupracovat v roce 2020 na nápadu zvaném RSS+.​

„Naším cílem bylo vytvořit důvěryhodný, neutrální protokol, který by uživatelům umožnil mít přímý vztah se svým publikem a vývojářům svobodu vytvářet nové klienty bez povolení,“ napsal „Prošli jsme několika iteracemi a nakonec jsme postavili Farcaster, a dostatečně decentralizovaný protokol pro budování sociálních sítí.“

Standardní kryptoměna, Elad Gil, 1 potvrzení, skalární kapitál, kapitál prvního kola, Volt Capital, A Capital, Todd a Rahul's Angel Fund, Coinbase Ventures, Mischief, Ansa Capital, Haystack, Ribbit Capital, Kapitola jedna, Multicoin Capital, Offline Ventures, Archetype , Canonical Crypto, Proof Group, Floodgate, Balaji Srinivsasan, 6529, Ray Tonsing a několik dalších andělských investorů se také zapojilo do kola.

#BinanceSquare #Farcaster #BTC