Névszolgáltatások IPFS-hez
Névszolgáltatások IPFS-hez
IPNS, DNSLink és blokklánc alapú címzés #ethereumtudas
Akik olvasták az IPFS-ről szóló cikkünket, azok tudják, hogy egy tartalom IPFS címe minden esetben megváltozik, ha változik a tartalom. Éppen ezért az IPFS cím nem alkalmas arra, hogy bármilyen változó tartalomra (pl. egy IPFS weblapra) hivatkozzunk általa. Ilyenkor jönnek képbe a névszolgáltatások.
Az IPNS az IPFS szabványos névszolgáltatása.
Az IPNS cím egy publikus kulcsból képzett hash, amihez egy IPFS címet rendelhetünk. Az IPNS címhez rendelt IPFS cím a kulcs privát részének segítségével módosítható. Ilyen egyedi kulcspárok bármikor generálhatóak, tehát korlátlan számban “igényelhetünk” IPNS címeket. Az IPNS blokkok az IPFS blokkokhoz hasonlóan terjednek szét a hálózatban, így szükség lehet egy kis időre, amíg egy IPNS cím befrissül.
Egy másik megoldás a DNSLink.
Ebben az esetben egy hagyományos DNS címet használunk az IPFS tartalom címzésére, csak ebben az esetben a DNS cím nem IP címre, hanem IPFS címre mutat. A DNSLink bejegyzések a DNS címhez rendelt TXT rekordban kerülnek megadásra. A DNSLinkkel megadott IPFS tartalmak teljesen ugyanúgy néznek ki, mint a webes URL-ek.
A harmadik megoldás a blokklánc alapú címzés.
Ilyen esetben valamilyen blokkláncon tároljuk el azt, hogy egy adott névhez mi az aktuális IPFS cím. Ideális megoldás lehet például egy Ethereum smart contract, ahol tárolhatjuk és módosíthatjuk az adott névhez tartozó IPFS címet. Ennek a megoldásnak az előnye, hogy gyorsabb mint az IPNS (amint kibányászták a tranzakciónkat, megtörténik a módosítás), ugyanakkor a DNSLinkkel szemben decentralizált.
További előny, hogy a név tulajdonosa lehet egy másik smart contract, ami valamilyen szabályrendszer alapján engedi a név módosítását. Így birtokolhat egy nevet pl. egy egész közösség, akik szavazással döntenek arról, hogy a név hová mutasson.
A fentiek alapján a blokklánc tűnik a legideálisabb névszolgáltatásnak az IPFS tartalmakhoz. A megoldás egyetlen hátránya, hogy az IPNS-el vagy a DNSLinkkel ellentétben a blokklánc tranzakciók pénzbe kerülnek, így minden módosítás esetén fizetnünk kell pár centnyi cryptot.
Az írás végére hagytam azt a megoldást, amit az ENVIENTA Platform esetén szeretnénk majd használni.
Az ENVIENTA közösség egy saját Ethereum alapú sidechain üzemeltetését tervezi, ahol az egyes node-ok dedikált szerverek lesznek (POA konszenzus). Egy ilyen lánc teljesen Ethereum kompatibilis, publikus és a biztonságát az Ethereum mainnet szavatolja. Bár ez a megoldás centralizáltabb mint az Ethereum mainnet, cserébe viszont gyorsabb, kevésbé erőforrás igényes és megoldható pl. hogy a névbejegyzések módosításáért ne kelljen fizetni. Úgy gondoljuk, hogy egy ilyen Ethereum sidechain többek közt ideális névszolgáltatás lehet az IPFS-en tárolt Git repokhoz, amik együttesen alkotják majd az ENVIENTA platform globális, szabad tudásbázisát.
Kövess minket!
A cikksorozat további részeiben ezekkel az okos szerződésekkel fogunk közelebbről megismerkedni, és megtanuljuk azt is, hogy hogyan készíthetünk ilyeneket mi magunk is.
Hogy mindez tényleg felfogható lehessen, a cikksorozatot ketten fogjuk írni. A programozói részekért jómagam Laszlo Fazekas(fejlesztő) felelek majd. Azért pedig, hogy tényleg minden érthető legyen, Gabriel Varaljay(marketing) “játsza majd a naivat” (tesz fel kérdéseket, magyarázza újra a feldolgozott anyagot).
Épp ezért érdemes feliratkoznod ERRE a medium csatornára, de követheted az ENVIENTA Magyarországot Twitteren, vagy akár csatlakozhatsz a tematikus Facebook csoportunkhoz is.