30.2 C
Budapest, HU
2019-07-22
Blog Lightning

A Neutrino projekt

Várható olvasási idő: 6 perc

Ahhoz, hogy a Lightning Network-öt (amiről már több cikkben írtunk), hatékonyan használni tudjuk, szükség van a teljes Bitcoin blokklánc futtatására. A Bitcoin blokklánc jelenlegi mérete jóval meghaladja a 200 GB-ot. Ez a méret rendkívül nagy, sok eszköz nem képes ekkora adatmennyiséget folyamatosan tárolni. Erre lehet egy jó megoldás a Neutrino.

A Neutrino protokollt (BIP 157 és BIP 158) arra fejlesztették, hogy ne kelljen a teljes Bitcoin blokkláncot tárolni, hanem csak az egyes blokkokat, amelyek ugyanúgy hitelesíthetik, hogy a valódi blokkláncot futtatjuk, a valódi blokklánc adatait érjük el.

A Neutrino előnyei

A decentralizált mobil Bitcoin alkalmazások kihívása az, hogy a bitcoin globális tranzakciós előzményeit kihagyja és csak a felhasználó számára releváns tranzakciókat tartalmazza. Ezen túlmenően az alkalmazásnak biztosítania kell a biztonságos magánéletet és a tökéletes felhasználói élményt.

A Neutrino protokollt úgy tervezték meg, hogy megkönnyítse ezt az alacsony fogyasztású processzorokkal, korlátozott tárhellyel, korlátozott sávszélességgel, kevés árammal és a néha hibás csatlakozással rendelkező eszközökön.

Biztonság

A decentralizált rendszerek jól ismert buktatóinak köszönhetően a tapasztalt felhasználók, akik nagyobb mennyiségű bitcoint tartanak, általában inkább saját kulcsuk ellenőrzését tartják a legfontosabbnak. A Neutrino-t úgy tervezték, hogy a felhasználó által kezelt kulcsokkal rendelkező alkalmazások gyorsabban, könnyebben használhatók, és remélhetőleg még hatékonyabbak legyenek.

Emellett a Neutrino új biztosítékokat is tartalmaz az egymással ellentétes tranzakciós információk megoldására, ami különösen hasznos a Lightning Network felhasználói számára.

Adatvédelem

A pénzügyi szoftverek kulcsfontosságú követelménye a felhasználó magánéletének védelme. A számlaegyenlegeket és a tranzakciós előzményeket nem szabad a felhasználó beleegyezése nélkül publikálni. A BIP 37 alapján, a felhasználókról nagy mennyiségű információk láthatnak napvilágot, beleértve a felhasználó BTC címeinek listáját is, amelyekkel körülbelüli tranzakciós előzményeket lehet megismerni.

A decentralizált szolgáltatások teljes körű hozzáférést biztosítanak ezekhez az adatokhoz, és nem garantálják a magánélet védelmét. A Neutrino egy sokkal jobb megoldás azoknak a felhasználóknak, akik nem akarják harmadik (külső, ismeretlen) személyeknek publikálni a pénzügyi előzményeiket.

Decentralizáció

A Neutrino protokoll kevesebb számítógépes számítási kapacitást igényel a Bitcoin teljes csomópontjai részéről, mivel a Neutrino felhasználóknak feldolgozandó adatokat csak egyszer kell kiszámítani az összes Neutrino felhasználó számára.

A régebbi BIP 37 protokoll alatt a teljes csomópontok különböző eredményeket számítottak ki minden egyes kliens felhasználó számára, ami jelentős számítási terheket jelent, ha egy teljes csomópont számos tranzakcióit figyelembe vesszük.

Cenzúra

Mivel a Neutrino felhasználók saját kulcsaikat kezelhetik és saját tranzakcióikat közvetíthetik, azt gondolom, hogy a Neutrino alapú alkalmazások fokozzák a Bitcoin decentralizált tulajdonságait.

Hogyan működik a Neutrino?

Most egy kicsit mélyebb vízekre megyünk, amely már lehet, hogy csak azokat érdekli, akik a technológiai részével szeretnének jobban megismerkedni. De a kripto téma igényel egy olyan technológiai elhivatottságot és érdeklődést, hogy ezeket is meg kell ismerni.

Ahhoz, hogy megértsd jobban a Neutrino-t, fontos, hogy a BIP 157 és BIP 158 meglegyen számodra! Ha nem elégszel meg a felszínes információkkal, javaslom elolvasni a szabványokat!

Golomb Coded Set (GCS) szűrők

A Neutrino a „szűrők” láncán alapul, amelyek mindegyike egy blokknak felel meg a Bitcoin blokkláncában. Ezek a szűrők a Golomb-Rice kódolást használják a blokkban lévő címek ábrázolására. A Neutrino szűrők (ún. GCS szűrők, a „Golomb-Coded Set”) sokkal tömörebbek a blokk megfelelésének, és nagyjából 15 KB-nak felelnek meg, míg a forrásblokkok több mint 250-szeresek lehetnek (akár 4 MB).

Ez a tömörítés lehetővé teszi a kisebb sávszélességű eszközökön levő futtatást, és meghatározza, hogy az újonnan bányászott blokkok relevánsak-e a felhasználó pénztárcájával.

GCS szűrő

A folyamatban szereplő lépések a következők:

  • 1. lépés – szűrő létrehozása: Mivel minden új blokkot bányásznak, a teljes csomópontok kiszámítják a megfelelő GCS szűrőket. Ezeket a szűrőket ezután a Neutrino light klienseknek adják tovább.
    GCS 1
  • 2. lépés – szűrők megfigyelése és összehasonlítása: A Neutrino felhasználók kb. tíz percenként új szűrőt kapnak, amelyet összehasonlítanak a felhasználó pénztárcájával annak megállapításához, hogy vannak-e olyan új ügyletek, amelyek relevánsak a felhasználó számára.
    GCS 2
  • 3. lépés – releváns blokkok letöltése: Ha egy szűrő azt jelzi, hogy egy blokk releváns tranzakciókat tartalmaz, a Neutrino kliens lekérdezi az előző blokkokat, amelyek tartalmazzák a blokk összes tranzakciós adatait, de kizárja az aláírásokat vagy a “tanú adatokat”. A letöltött blokkban a kliens átvizsgálhatja a blokkban a tranzakciókat.
    GCS 3
  • 4. lépés – érvényesíti a tárca egyenlegét: A tárca egyenlegeket frissíti az új tranzakciós információkkal, és ezáltal a Neutrino naprakész.

Ne felejtsd el, hogy ezzel a megközelítéssel a felhasználók BTC címét közvetlenül azonosító információk soha nem kerülnek át a hálózaton keresztül, és a blokklánc és a felhasználó tárca közötti egyeztetés a felhasználó szoftverével történik, nem pedig egy nem megbízható, távoli csomóponton, mint a BIP 37 esetében.

Szinkronizálás

A Neutrino csomópontok új blokkok feldolgozásának módját a fentiekben leítam, de amikor egy felhasználó először nyitja meg a Neutrino-alapú alkalmazását, az alkalmazásnak szinkronizálnia kell a blokklánc aktuális állapotát. Ennek a folyamatnak a rövidített változata akkor is megtörténik, ha a Neutrino csomópont offline van, és éppen a „felzárkózás” állapota zajlik az adott eszközön.

Négy lépés szükséges a Neutrino csomópont szinkronizálásához

  • Először is, mint egy átlag Bitcoin kliens vagy BIP 37 kliens, a Neutrino letölti és validálja a blokkfejlécek adatait, amely a blokkláncban lévő blokkok helyzetének meghatározására szolgál (mint a blokkmagasság) és a blokk kibányászott tényének igazolásának ellenőrzése. Minden fejléc kb. 80 bájt, amely nagyjából 40 MB-ot tesz hozzá a Bitcoin blokkláncához.
  • Másodszor, a Neutrino kliens (egyidejűleg) letölti a „szűrőfejlécek” láncát, amely megfelel a fent leírt blokkfejlécek láncának. A Neutrino protokollban a blokkláncban lévő minden blokkhoz tartozik egy GCS-szűrő. A szűrőfejláncok a Neutrino-ügyfelek számára könnyű lehetőséget biztosítanak arra, hogy az egyes GCS-szűrőket hozzárendeljék a megfelelő blokkhoz. Ezt a folyamatot részletesen a BIP 157 tartalmazza. Minden szűrő 32 bájt, és a szűrők fejlécéhez szükséges sávszélesség összesen 20 MB. A pénztárca létrehozási dátumát megelőző blokkokból származó fejlécek eldobásra kerülnek, ha validálva vannak, így a számítógép merevlemezén tárolt adat minimális. A fejléceket minden alkalommal letölti és ellenőrzi.
  • A harmadik lépés a GCS-szűrő letöltése minden egyes blokkra, amikor a tárca létrejön. A szűrők teljes sávszélessége körülbelül 70 MB/hónap, és a szűrőket nem kell tárolni.
  • Végül negyedik lépésben a Neutrino csomópont ellenőrzi a szűrőket, hogy meghatározza, vannak-e olyan tranzakciók, amelyek a felhasználó tárcájához kapcsolódnak. Amennyiben igen, a szükséges blokkokat letölti és a fent leírt módon ellenőrzi a tranzakciókat.

Új tárca esetében a kezdeti szinkronizálás csak néhány percet vesz igénybe egy átlagos eszközön. A Neutrino csomópont által tárolt blokkadatok összege megközelítőleg tíz megabájt, míg a teljes Bitcoin csomópontnál jelenleg már több, mint 200 gigabájt adat szükséges.

A kezdeti szinkronizálás után a GCS tömörítés miatt a tipikus Neutrino felhasználók számára a sávszélességigény is meglehetősen alacsony. Megjegyzem, hogy míg a Neutrino csomópontok kevesebb sávszélességet igényelnek, mint a teljes csomópontok, a Neutrino protokoll több sávszélességet igényelhet, mint a BIP 37.

A szükséges sávszélesség az eszközök többségénél elfogadható, úgy gondolom, hogy a magánélet és a biztonsági előnyök megérik a kompromisszumot. Ezenkívül a Neutrino-t a szűrő és a blokkadatok párosítása és párhuzamossága alapján tervezték, így még ha nagyobb sávszélességet igényel is, a Neutrino felhasználók felhasználói élménye általában jobb lehet.

Mi lehet a jövő, milyen fejlesztéseken kell még dolgozni?

Teljesítmény

Amint fentebb említettem, a Neutrino protokoll úgy van kialakítva, hogy ne az adott számítógép kapacitása legyen a határ. Eléggé fontos, hogy korlátozott (gyengébb hardverrel rendelkező) eszközökkel is működjön, időszakos csatlakozással és hash erővel. Ne feledjük azonban, hogy a jelenleg korai szakaszában a Neutrino implementáció még nem teljesen optimalizált. A fejlesztések jelenleg is folyamatban vannak.

Blokk visszakeresés

A Neutrino kliensek bármely forrásból letölthetnek blokkokat vagy szűrőket, beleértve a Bitcoin P2P hálózaton kívüli forrásokat is. A privát információ visszakeresése a blokkinformáció keresés lehetősége, amely tovább javíthatja a biztonságot. Jelenleg a Tor is egy lehetőség, mert minden egyes blokkhoz új útvonalat hoz létre.

Neutrino-kiszolgáló neutrino

Mivel a Neutrino-ban használt szűrők minden csomópont esetében azonosak (a 37-es BIP-ben használt szűrőkkel ellentétben), a neutrino csomópontok úgy konfigurálhatóak, hogy a szűrők szolgáltassanak más információkat más neutrino csomópontoknak.

Ez lehetővé teszi, hogy a Neutrino ügyfelek is hozzáférjenek a teljes Bitcoin hálózathoz, ezáltal csökkentve a teljes csomópontot üzemeltetők költségeit.

Szűrőkötelezettségek

Egy softfork az egyes blokkok GCS-szűrőjének hash-ét használva a bányászok közvetlenül hozzáadhatják a Bitcoin blokkfejléceket, kiküszöbölve a szűrőfejlánc szükségességét és figyelembe véve az ellentétes eseteket, amikor egy teljes csomópont megpróbálhat hibás szűrőt küldeni a Neutrino kliens számára.

A szűrőket más alkalmazások is használhatják, amelyeknek gyorsan be kell szkennelniük vagy meg kell keresniük a blokklánc adatait.

Fejlesztőeszközök

Egyre több kiegészítő API és háttérben működő programok vannak, amelyek lehetővé teszik a fejlesztők számára, hogy az általános blokkláncok adatainak lekérdezéséhez neutrino csomópontokat használjanak.

Miben bíznak a Neutrino fejlesztői?

Hosszú távon bíznak benne, hogy a Neutrino-t számos csomópont-üzemeltető és Bitcoin pénztárca-fejlesztő támogatni fogja, hogy a felhasználók egyszerűbben kezeljék digitális értékeiket, miközben védik az adataikat és csökkentik a biztonsági kockázatokat. Azt gondolják, hogy a Neutrino sokkal jobb alapot nyújt a mobil pénztárcák következő generációjának.

Egy következő cikkben egy Neutrino-t használó tárca működését fogjuk elemezni. Tarts velünk, kövesd az oldalunkat!

Várjuk hozzászólásaitokat/véleményeiteket a cikkhez, illetve a közösségi oldalainkon is!

Hogy ne maradj le az új cikkekről, iratkozz fel RSS-re, vagy hírlevelünkre (jobb oldalsáv!)!

Ha szeretnéd támogatni a munkánkat, akkor az alábbi kripto címeinkre teheted meg.

  • BTC: 3CmeUs1PjHs5158rHKRwLRye4c4PpFQ93A
  • ETH: 0xB4185d344b1241C5129f1C18e8cCa75820b10e3F
  • LTC: MJ2hWahbpgotX8Pb2A56h6WKM1bv9fjNQ2

Köszönjük!

Szeretnél nyerni egy Trezor One kriptotárcát?

Ha szeretnél nyerni egy Trezor One kriptopénztárcát, iratkozz fel hírlevelünkre (jobb oldalsávban tudod megtenni) és kövesd a Facebook oldalunkat. Fontos, hogy csak a 2 együtt jogosít fel a sorsolásra! Minden hónap végén elemezzük az adatokat és a következő hónap első hetén sorsolunk, amely eredményét a Facebook oldalunkon publikáljuk! Várunk!

ui: Hogy biztosra menj, küld el a Facebook profilod címét és az email címed a [email protected] email címre, hogy be tudjunk azonosítani!

A témához kapcsolódó bejegyzések

Mi lehet 2019 legjobb befektetése?

Lívia

A kriptopénzek és a blokklánc hajnala

Lívia

Részletesen a Harmony blokkláncról

Roland