Nem, a decentralizált alkalmazás (dapp) indítása a blokkláncon nem vezet sikeres üzlethez. Valójában a felhasználók többsége egyáltalán nem foglalkozik azzal, hogy az alkalmazás blokkláncon működik-e – egyszerűen a olcsóbb, gyorsabb és egyszerűbb terméket választják.
Sajnos, még ha a blokkláncnak vannak egyedi jellemzői és előnyei, a rajta működő alkalmazások általában sokkal drágábbak, lassabbak és kevésbé érthetők, mint központosított konkurenseik.

Elég gyakran találkozhatunk a blokkláncon alapuló alkalmazások whitepaperjeiben olyan bekezdésekkel, amelyek azt mondják: "a blokklánc drága és nem képes támogatni a szükséges tranzakciók számát másodpercenként. Szerencsére sok okos ember dolgozik a blokklánc skálázhatóságán, és a mi alkalmazásunk indulására elég skálázható lesz."
Egy egyszerű bekezdésben az dapp fejlesztője lemondhat a skálázhatósági problémák és alternatív megoldások mélyebb megvitatásáról. Ez gyakran olyan hatékonyatlan architektúrához vezet, ahol a backend és az alkalmazás magja okosszerződések, amelyek a blokkláncon működnek.
Azonban még mindig léteznek kipróbálatlan megközelítések a decentralizált alkalmazások architektúrájában, amelyek lehetővé teszik a sokkal jobb skálázhatóságot a blokklánctól való függés csökkentésével. Például a Blockstack egy olyan architektúrával dolgozik, ahol az alkalmazás legnagyobb része és logikai működése a blokkláncon kívül tárolódik.
Először nézzük meg a hagyományosabb megközelítést, ahol a blokkláncot közvetlen közvetítőként használják az alkalmazás felhasználói között, és amely nem különösebben skálázható.
Megközelítés #1: Blokklánc mint backend
Hogy szemléletesebb legyen, vegyük az idegenforgalmi ipart példának. Ez egy hatalmas ipar, ahol olyan közvetítők működnek, mint a Booking.com, a vendégek és a szállodák összekapcsolásáért.
Bármilyen helyzetben, amikor meg akarjuk verni egy ilyen közvetítőt e megközelítés segítségével, megpróbáljuk megismételni az üzleti logikáját okosszerződésekkel olyan blokkláncokon, mint például az Ethereum.
A nyílt forráskódú okosszerződések, amelyeket a "világméretű számítógépen" futtatnak, összeköthetik az eladókat a fogyasztókkal közvetítő cég mentesen, végül csökkentve a közvetítők által felszámított díjakat és jutalékokat.
Ahogy az alábbi képen látható, a szállodák decentralizált alkalmazást használnak a Blockchain-en a szobák, elérhetőségük és áruk, akár hétköznapokon, akár hétvégén, valamint esetleg a szobák leírásának feltüntetésére, a többi releváns információval együtt.

Bárki, aki szobát szeretne foglalni, ezt az alkalmazást használja a Blockchain-en listázott szállodák és szobák keresésére. Miután a felhasználó kiválasztja a szobát, a foglalás azzal történik, hogy a szükséges tokenek összegét elküldik a szállodának letétként. Ezután az okosszerződés frissíti az információt a Blockchain-en, miszerint a szoba már nem elérhető.
Ennél a megközelítésnél a skálázhatóság problémájának két oldala van. Először is, a maximális tranzakciók száma másodpercenként. Másodszor, az az adatmennyiség, amelyet a Blockchain-en tárolni lehet.
Nézzük a példás számításokat. A Booking.com azt állítja, hogy közel 2 millió szállodát regisztráltak. Tételezzük fel, hogy egy szállodának átlagosan 10 szobája van, és minden egyes szobát évente átlagosan 20 alkalommal foglalnak — ez körülbelül 13 foglalást jelent másodpercenként.
E szám jegyében érdemes megjegyezni, hogy az Ethereum körülbelül 15 tranzakciót tud kezelni másodpercenként.
Ezenkívül figyelembe kell venni, hogy az alkalmazásunkban is lesznek tranzakciók a szállodák részéről — a szobáik információinak feltöltésére és folyamatos frissítésére. A szállodák nagyon gyakran frissítik a szobák árait, néha akár naponta is, és minden árváltoztatás vagy leírásmódosítás tranzakciót igényel a Blockchain-en.
Itt is fennáll a méret problémája — az Ethereum Blockchain súlya nemrégiben átlépte a 2 TB-ot. Ha az ilyen megközelítésű alkalmazások igazán népszerűvé válnának, az Ethereum hálózat rendkívül instabillá válna.
Az ilyen, Blockchain-alapú rendszer kizárhatja a harmadik feleket, a technológia átláthatósága és decentralizáltsága — a Blockchain legfontosabb előnyei miatt. De a Blockchain-nak vannak más jellemzői is — elosztott és nem felülírható, ezek nagyszerű tulajdonságok, de gyorsasággal és tranzakciós díjakkal kell fizetni értük.
Ezért a dapp fejlesztőknek alaposan mérlegelniük kell, hogy valóban szükség van-e a blokkláncot használó minden egyes funkció disztribúciójára és visszafordíthatatlanságára.
Például: mi az előnye annak, hogy minden szálloda adatai számos gépen kerülnek tárolásra az egész világon? Valóban fontos, hogy a szobák árára és elérhetőségére vonatkozó történelmi adatokat mindig a blokkláncra rögzítsük? Valószínűleg nem.
Ha elkezdünk ilyen kérdéseket feltenni, akkor észre fogjuk venni, hogy nem szükséges minden költséges blokklánc-jellemzőt alkalmazni minden funkciónkhoz. Mi lehet a alternatíva?
Megközelítés #2: Blockstack inspirálta architektúra
Bár a hangsúly az a felhasználók adatainak tulajdonlására összpontosító alkalmazásokon van (például: , , vagy ), a blockstack filozófiája a blokklánc kis mértékű használatára is épít — csak akkor, ha ez feltétlenül szükséges. Fő érvelésük, hogy a blokklánc lassú és drága, ezért csak egyedi vagy ritkán előforduló tranzakciókhoz szabad használni. A többi alkalmazásbeli interakciónak peer-to-peer módon kell zajlania, azaz a decentralizált alkalmazások felhasználóinak közvetlenül kell adatokat megosztaniuk egymással, nem pedig a blokkláncon keresztül. Végül is a legelső és legsikeresebb decentralizált alkalmazások, mint a BitTorrent, az email és a Tor még a blokklánc fogalmának megalkotása előtt készültek.

Balra: az első megközelítés, ahol a felhasználók a blokkláncon keresztül lépnek kapcsolatba. Jobbra: a felhasználók közvetlenül egymással lépnek kapcsolatba, a blokkláncot pedig csak az azonosításra és hasonlókra használják..
Térjünk vissza a szállásfoglalás példájához. Olyan pártatlan, független és nyílt protokollra vágyunk, amely összeköti a vendégeket a szállodákkal. Más szavakkal, szeretnénk eltávolítani a központosított közvetítőt. Nincs szükségünk például arra, hogy folyamatosan rögzítsük a szobák árait egy közös elosztott nyilvántartásban.
Miért ne engednénk a vendégeknek és a szállodáknak, hogy közvetlenül kapcsolatba lépjenek egymással, ahelyett, hogy blokkláncon keresztül tennék? A szállodák tárolhatják az árakat, a szobák elérhetőségét és egyéb információkat olyan helyeken, amelyek mindenki számára elérhetők — például az IPFS-en, az Amazon S3-on, vagy akár saját helyi szerverükön. Ez pontosan az, amit a Blockstack decentralizált tárolási rendszere biztosít, amelyet . Ez lehetővé teszi a felhasználók számára, hogy válasszák meg, hol szeretnék tárolni az adataikat, és irányítsák, ki férhet hozzá ezekhez az adatokhoz egy úgynevezett .
A bizalom megteremtéséhez minden szálloda adatát a szálloda kriptográfiailag aláírja. Függetlenül attól, hogy ezek az adatok hol vannak tárolva, épségüket az adott szálloda azonosító információjához kapcsolódó nyilvános kulcsok használatával lehet ellenőrizni, amely az blokkláncon található.
A Blockstack esetében a blokklánc csak az ön azonosító információját tárolja. Az információ arról, hogyan lehet elérni minden felhasználó adatait, zónafájlokban (zone files) van tárolva, és peer-to-peer hálózaton keresztül terjed a csomópontok segítségével. Ismételten — nem kell hinni a csomópontok által szolgáltatott adatoknak, mert azokat hitelesítheted azzal, hogy összeveted őket a blokkláncon és más felhasználóknál tárolt hashekkel.
A rendszer leegyszerűsített verziójában a vendégek a Blockstack peer-to-peer hálózatát használják a szállodák keresésére és szobainformációk beszerzésére. És az összes olyan adat hitelességét és épségét, amelyeket kapsz, nyilvános kulcsok és tárolt hashek segítségével lehet ellenőrizni a Blockstack.
Ez az architektúra bonyolultabb, mint az első megközelítés, és összetettebb infrastruktúrát igényel. Valójában pontosan ez az, ahol a Blockstack belép, biztosítva a szükséges összes komponenst egy ilyen decentralizált rendszer létrehozásához.

Egy ilyen architektúra esetén csak azokat az adatokat tároljuk a blokkláncon, amelyeket valóban elosztottak és nem felülírhatók. A Blockstack esetében blokklánc tranzakciókra van szükséged, hogy regisztrálj és megadd, hol kellene tárolni az adataidat. Lehet, hogy több tranzakcióra lesz szükséged, ha valamit meg akarsz változtatni ebből az információból, de ez nem gyakori esemény.
Továbbá, az alkalmazás logikája, szemben az első megközelítéssel, az ügyfélszolgálati oldalon működik, nem pedig okos szerződéseken. Ez lehetővé teszi a fejlesztő számára, hogy megváltoztassa ezt a logikát drága vagy néha akár lehetetlen frissítések nélkül is az okos szerződésekben. Az adatok és az alkalmazás logikájának blokkláncon kívüli tartása révén a decentralizált alkalmazások elérhetik a hagyományos központosított rendszerek teljesítmény- és skálázhatósági szintjét.
Zárás
A Blockstack-en működő alkalmazások sokkal jobban skálázhatók, mint a hagyományos blokklánc alkalmazások, de ez egy fiatalabb megközelítés, saját problémáival és megválaszolatlan kérdéseivel.
Például, ha a decentralizált alkalmazás nem okos szerződéseken működik, akkor csökken az igény a hasznos tokenekre. Ez problémákat okozhat a vállalkozások számára, tekintettel arra, hogy az ICO-k a decentralizált alkalmazások (köztük maga a Blockstack) fő finanszírozási forrása volt.
Itt egyéb technikai problémák is vannak. Például viszonylag könnyen megvalósítható egy szállodai foglalási funkció okos szerződésben, ahol atomikus művelet keretében a szobák foglalása tokenekért történik. Nem egyértelmű, hogyan fog a foglalás működni a Blockstack alkalmazásban okos szerződések nélkül.
A globális piacokra célozó alkalmazások, amelyek potenciálisan milliók felhasználóit vonzzák, nagyon jól kell, hogy skálázhatók legyenek a siker érdekében. Téves lenne kizárólag a blokkláncokra támaszkodni ahhoz, hogy a közeljövőben ilyen mértékű skálázhatóságot elérjünk. Ahhoz, hogy versenyezni tudjanak a piac nagy központosított szereplőivel, mint például a Booking.com, a decentralizált alkalmazások fejlesztőinek alternatív megközelítéseket kell mérlegelniük az alkalmazások tervezésénél, például a Blockstack által kínált megoldást.
Forrás: habr.com
