Megjelent a Bitcoin Core 24.0: Íme, az új PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Megjelent a Bitcoin Core 24.0: itt vannak az újdonságok

Az eredeti Bitcoin szoftver új verzióját indította el Satoshi Nakamoto 2009-ben jelent meg.

A Bitcoin Core 24.0-n 112 fejlesztő dolgozott nagyjából hét hónapig, hogy kézzelfogható fejlesztéseket hozzon a Bitcoin Core pénztárcáján, a peer-to-peer (P2P) kommunikáción, a grafikus felhasználói felületen (GUI) és még sok máson.

Ez a cikk a főbb változásokat tárgyalja.

Wallet frissítések

Kezdeti Miniscript támogatás

A Bitcoin Core 24.0 bevezeti a Miniscript támogatását a wsh() kimeneti leíró. Noha ez egy kezdeti és kezdetleges integráció, a lépés megnyitja az utat a bonyolultabb szkriptek bevezetéséhez a Bitcoinban, egyszerűbb és biztonságosabb módon.

Miniszkript keretrendszernek (vagy sablonnak) tekinthető Bitcoin Script, A Bitcoin natív programozási nyelve. A Bitcoin Script felelős azért, hogy engedélyezze a Bitcoin számára elérhető összes programozási funkciót, beleértve például a talán legegyszerűbbet is: annak meghatározását, hogy ki költhet el egy adott érmét. A küldő minden Bitcoin-tranzakciónál lekéri a címzett címét, és ezzel az információval létrehoz egy szkriptet, amely úgy zárolja a küldendő bitcoint, hogy azt csak a címzett tudja elkölteni. Míg a fentiekhez hasonló egyszerű szkripteket meglehetősen könnyű elkészíteni a Bitcoin Script segítségével, minél összetettebb a szkript, annál nagyobb az emberi hiba esélye. Itt jön képbe a Miniscript.

A Miniscript lehetővé teszi a Bitcoin Scriptek egy részhalmazának írását a szerkesztett út. Lehetővé teszi többek között az elemzést, az összeállítást és az általános aláírást, lehetővé téve a fejlett szkriptek biztonságosabb megírását a fejlesztők számára. Más szavakkal, a Miniscript „tartalmazza” az előre beállított Bitcoin Scriptek bizonyos funkcióit egy elvárt viselkedési mintára, korlátozva az esetleges kockázatokat, mivel a váratlan viselkedés minimálisra csökken. A gyakorlatban egy „eszköztárat” biztosít a fejlesztők számára, hogy trükközzenek, és fejlett és összetett szkripteket hozzanak létre a Bitcoin számára, ahelyett, hogy mindezt kézzel kellene megtenniük a Bitcoin Script segítségével.

A Bitcoin Core 24.0-tól kezdve a felhasználók létrehozhatnak egy Miniscript szkriptet tartalmazó pénztárcát, címeket hozhatnak létre a pénztárcához, és finanszírozhatják azokat bitcoinnal. Az ezekről a címekről történő költekezést azonban még nem támogatja a Bitcoin Core pénztárca, ami azt jelenti, hogy a Bitcoin Core-on lévő Miniscript-kompatibilis pénztárcák egyelőre csak nézhetőek.

Változatlan tranzakciók

Új RPC került bevezetésre, sendall, amely lehetővé teszi a felhasználók számára, hogy bizonyos el nem költött tranzakciós kimeneteket (UTXO-k) teljes egészében elköltsenek. Az RPC elküldi a megadott UTXO-kban tárolt összeget egy vagy több címzettnek anélkül, hogy változást generálna. (Alapértelmezés szerint, sendall minden UTXO-t elkölt a pénztárcában.)

Ez a viselkedés néhány helyzetben kívánatos lehet. Először is, természetesen a felhasználónak ki kell ürítenie a pénztárcáját. Az új RPC alapértelmezett konfigurációkkal való meghívása egyszerűen ezt teszi. Másodszor, a felhasználó esetleg javítani szeretné magánéletén a változtatás lemondásával.

Címek módosítása trükkösek, mert a felhasználók gyakran elvesztik nyomon, hogy honnan származnak, és mint ilyenek, összekeverhetik őket más UTXO-kkal, mint bemenetet egy jövőbeli tranzakció során. Ez adatvédelmi aggályokat jelentene a közös bemeneti tulajdonjog heurisztika, a láncelemzés széles körben használt előfeltétele, amely feltételezi, hogy egy tranzakcióban minden bemenet ugyanahhoz a felhasználóhoz tartozik. A változáskimeneti példában a felhasználó létrehozza ezt a linket, ami gyakorlatilag azt kockáztatja, hogy több érmét deanonimizálják, mivel a láncelemző képes csoportosítani a felhasználó néhány címét pénztárcaként.

A változatlan fizetés úgy oldja meg ezt a problémát, hogy létrehoz egy tranzakciót, amely a kiválasztott UTXO-k teljes összegét elkölti. Mivel nincs változás, a felhasználó nem követheti el a fent említett hibát. Ezen túlmenően, a változatlan kifizetés ésszerű kétségeket ébreszt a láncelemzőben, aki arra kíváncsi, hogy az új kimenet ugyanazon entitás tulajdonában van-e, amely a kifizetést küldte (a pénzeszközök puszta áthelyezése egy új címre), vagy valójában egy másik felhasználó tulajdona.

Változtassa meg a kimenet véletlenszerű beállítását az ujjlenyomatok elkerülése érdekében

A fentiek szerint A kimenetek megváltoztatása adatvédelmi szivárgás lehet. Míg sendall teljes mértékben mérsékli a címváltoztatás használatát, a valóságban kevés alkalom lesz, amikor a felhasználónak pontosan akkora UTXO-ja lesz, mint amennyit teljesíteni kell. Annak biztosítása, hogy a megfigyelő ne tudja észrevenni, hogy a kimenetek közül melyik a címváltoztatási cím, segít a felhasználónak egy kis magánélet védelmében, mert nem lesz triviális egy újonnan létrehozott címet (kimenet módosítása) összekapcsolni a tranzakció most elköltött bemenetével. .

Általában, ha nincs UTXO a befizetés pontos összegével, a legtöbb pénztárca és felhasználó intuitív módon a számhoz legközelebb esőt választja. Ennek következtében a blokkláncot figyelő megfigyelő láthatja, hogy melyik kimenet a fizetés (nagyobb), és melyik a változás (kisebb). Ez számos fent említett kockázatot hordoz magában.

Annak érdekében, hogy csökkentse annak valószínűségét, hogy a megfigyelő ki tudja választani a változáskimenetet és a klaszter felhasználói címeit, a Bitcoin Core most véletlenszerűvé teszi a változás kimeneti értékeit.

A 24.0-s verziótól kezdve a Bitcoin Core pénztárca véletlenszerű számot választ a fizetési méret és a fizetési méret háromszorosa között. Ez a szám tájékoztatja az UTXO-választást a kiadásokról. Ez gyakorlatilag azt jelenti, hogy néha az algoritmus olyan UTXO-t választ, amelynek értéke közelebb van a fizetéshez, máskor pedig olyan UTXO-t választ, amelynek értéke közelebb van a fizetési összeg háromszorosának felső határához. Az előbbi forgatókönyv a tipikus változás-kibocsátás alacsonyabb, mint a fizetés forgatókönyvét fogja előidézni, míg az utóbbi az ellenkezőjét – a változás kimenetét, amely nagyobb, mint a fizetés. Tekintettel arra, hogy a blokklánc-megfigyelő nem tudja megmondani, hogy az egyes forgatókönyvek egy adott időpontban mikor történnek, a felhasználónak nagyobb adatvédelmi garanciákat kell élveznie.

Díj ellenében cserélendő frissítések

Az RBF opciót biztosít a Bitcoin-felhasználók számára, amikor tranzakciót küldenek a hálózatra. A felhasználó gyakran nem akar túlfizetni a bányászdíjat, és mint ilyen, választhat egy „középutat” a fizetett díj és a tranzakció blokkba kerülésének sebessége között. De ha a felhasználó által kiválasztott díj túl alacsony, vagy a mempool túlterhelt, akkor túl sok időbe telhet, amíg a tranzakció blokkba kerül (vagy teljesen beragad a mempoolba). Az RBF lehetővé teszi a felhasználó számára, hogy ilyen esetben „becsapja” tranzakciója díját, ami gyakran gyorsabb elszámolást tesz lehetővé.

A motorháztető alatt az RBF valójában nem emeli a díjat. A háttérben az történik, hogy a szoftverkliens a új tranzakció ugyanazokkal a bemenetekkel és a legtöbb azonos kimenettel. (Néhány kimeneti érték változik; a díj értéke természetesen változik az új számnak megfelelően, és általában ezt a különbséget levonják a változási címre küldött összegből.)

Korábban a csomópontok csak az általuk látott tranzakciók első verzióját közvetítették. Az RBF megjelenésével egy olyan mechanizmust vezettek be, amely lehetővé tette a felhasználók számára, hogy jelezzék, hogy olyan tranzakciót küldenek, amely végül díjköteles lehet, azaz lecserélhető egy magasabb díjas verzióra. Ez figyelmeztetésként szolgált a csomópontok felé, tudatva velük, hogy a tranzakció magasabb díjú verzióit később is elküldhetik, és azokat továbbítani is kell. Valószínűleg a tranzakció magasabb díjú változata vonzóbb lesz a bányászok számára, és mint ilyen, először kerül kiválasztásra. Ha ez megtörténik, és bekerül egy blokkba, az alacsonyabb díjas tranzakció kikerül a csomópontok mempooljaiból, mivel az kétszeres költést kísérelne meg.

A Bitcoin Core 24.0 két frissítést vezet be az RBF funkcióhoz.

Először is, most már lehetővé teszi a felhasználók számára, hogy konfigurálják csomópontjaikat, hogy cserélhető tranzakciókat közvetítsenek nélkül az RBF zászló érvényesítése. Ez megtehető az új mempoolfullrbf választási lehetőség. Be lesz állítva kedvezmény alapértelmezés szerint, de az engedélyezése iránt érdeklődők bekapcsolhatják.

Másodszor, az RBF ma már szabvány a Bitcoin Core pénztárcájában. A Tranzakciók mostantól alapértelmezés szerint feliratkoznak az RBF-re, és a -walletrbf az indítási beállítás alapértelmezés szerint igaz. A felhasználók leiratkozhatnak az RBF-ről, ha módosítanak egy adott tranzakciót az építési folyamat során, vagy beállítják a -walletrbf indítási lehetőség false értékre.

Leíró Wallet Migration

Bitcoin Core 23.0 szabványossá tette a leíró pénztárcákat. A leírók megkönnyítik a felhasználó életét a pénztárca biztonsági mentésében, majd a biztonsági másolat visszaállításában szabványos formátumban.

A leírók létezése előtt a felhasználóknak ismerniük kellett pénztárcájuk származtatási útvonalát, amely megszabja, hogy a pénztárca mesterkulcsa hogyan származtatja a bitcoin fogadásához és küldéséhez használandó címeket. Mivel a pénztárcáknak különböző származási útvonalaik lehetnek, nem volt elég, ha a biztonsági másolat csak a mag kifejezéseket tartalmazza. Néha a felhasználó szerencsés lehet, és megpróbálja visszaállítani a biztonsági másolatot egy olyan tárcával, amely ugyanazt a származási útvonalat használja, de mivel ennek alacsony a valószínűsége, egész webhelyek célja, hogy segítsenek a felhasználóknak kitalálni, milyen származási útvonalat használjanak a régi és az új pénztárcákhoz. alakult.

A leíró ezt a problémát azáltal oldja meg, hogy leíró arról, hogy a mentett tárca milyen származási útvonalat használ, ami jelentősen javítja a felhasználói élményt. Az ötlet az, hogy a leíró pénztárca biztonsági másolata magában foglalja az összes szükséges információt ahhoz, hogy bármely szoftverkliens megfelelően vissza tudja állítani (feltéve, hogy az ügyfél rendelkezik a leíró funkcióval).

A Bitcoin Core 24.0 most egy új eszközt mutat be a régi pénztárcák leíró pénztárca formátumba való áttelepítésére, lehetővé téve a felhasználók számára, hogy kihasználják ezt a kialakulóban lévő szabványt értékes bitcoinjuk jobb védelmére. Bár még kísérleti jellegű, egy új RPC (migratewallet) került bevezetésre. Ez a dokumentum részletesebben ismerteti a működését.

GUI változások

A Bitcoin Core GUI-ról ismert, hogy nem biztosítja ugyanazt a funkcionalitást, mint a távoli eljáráshívások (RPC) és a parancssori eszközök. A Bitcoin 24.0 tesz néhány lépést, hogy ezen változtasson.

A Bitcoin Core legújabb verziója egy új menüelemet tartalmaz a grafikus felületen, amely lehetővé teszi a felhasználók számára, hogy visszaállítsák a pénztárcát a biztonsági másolatból, megkönnyítve a nem műszaki szakemberek számára a biztonsági másolatok visszaállítását. Korábban ez a lehetőség csak a parancssorban létezett.

A grafikus felhasználói felület másik hiányossága az RPC felülethez képest a Bitcoin Core kliens beállításaihoz kapcsolódik. A híres bitcoin.conf fájl a Bitcoin Core konfiguráció szent grálja, de ismét főként a parancssoron keresztül volt módosítható. Létezett a grafikus felhasználói felület beállításainak módosítása, de egy figyelmeztetés világossá tette ezt bitcoin.conf elsőbbséget élvez a grafikus felhasználói felülettel szemben abban az esetben, ha a fájl és a grafikus felhasználói felület is megpróbált adatokat beállítani ugyanarra a konfigurációra. Ezért, bár a grafikus felhasználói felület egyszerű lehetőséget biztosított a beállítások módosítására, a konfigurációs fájl továbbra is a legmegbízhatóbb módja a Bitcoin Core kliens testreszabásának.

A Bitcoin Core 24.0 megváltoztatja ezt. Az új frissítés egyesíti a GUI beállítási oldalt a bitcoin.conf fájlt. Most, amikor a felhasználó megnyitja a kliens beállításait a grafikus felhasználói felületen, a megjelenített beállítások a konfigurációs fájlból származnak. Hasonlóképpen, a grafikus felhasználói felületen végrehajtott konfigurációs módosítások is megjelennek bitcoin.conf. (Érdemes kiemelni, hogy az ottani kapcsolat közvetett, mert a grafikus felhasználói felület változásai valójában be vannak állítva settings.json, egy fájl, amely elsőbbséget élvez bitcoin.conf.)

Változások a P2P kommunikációban

Új logika a fejlécek letöltéséhez

A Bitcoin Core 24.0 frissítést hoz a hálózaton belüli társak felzárkózásához a lánc csúcsáig, akár azért, mert először bootolnak, akár azért, mert hosszú ideig nem csatlakoztak a Bitcoin hálózathoz.

A kiadás előtt egy új, a Bitcoinhoz csatlakozó partner elkezdte keresni azokat a partnereket, ahonnan letöltheti a blokkfejléceket. A peer először nem tölt le teljes blokkokat, mert arra ösztönzik, hogy ellenőrizze, hogy a megfelelő láncot követi-e, mielőtt letölti az adott lánc blokkjait. Ellenkező esetben fennáll annak a veszélye, hogy a blokkokat nem a megfelelő lánchoz tölti le, ezáltal erőforrásokat pazarol.

Míg a fejlécek letöltése segít időt és erőforrásokat megtakarítani, akkor is előfordulhat erőforrás-kimerülési támadás, amikor egy rosszindulatú szereplő hamis blokkfejlécek millióival küldi el a partnert. Mivel az ügyfélnek le kell töltenie és lemezre kell mentenie a fejléceket, elég nagy mennyiségű adat megbéníthatja a társ hardverét.

E fenyegetés mérséklésére a Bitcoin Core bevezette a koncepciót ellenőrzőpontok évekkel ezelőtt. Az ellenőrző pontok határozzák meg, hogy mely blokkok kell jelen kell lenni egy láncban, hogy érvényes legyen. Ez a megoldás azonban problémát is jelent, mivel az ellenőrzőpontokkal vissza lehet húzni a leghosszabb láncot. Ez a lehetőség a Bitcoinban nem kívánatos, ezért más megoldást kellett kitalálni. Írja be ezt az új frissítést.

A Bitcoin Core 24.0-val a társaik kétszer töltik le a blokkfejléceket. Az első futtatásban a fejléceket letölti és eldobja (nem menti a lemezre), amíg elegendő mennyiségű munkát nem talál – ami arra utal, hogy a partner által követett lánc érvényes. Ebben az esetben a peer ezután újraindítja a folyamatot, de most már a letöltés mellett a blokkfejléceket is lemezre menti. Ha csak akkor menti el a fejléceket a lemezre, ha a partner megbizonyosodott arról, hogy egy lánc részét képezik, és jelentős bizonyítékot adnak a munkáról, így elkerülhető, hogy nagy mennyiségű tárhelyet használjon fel egy esetleges támadás, például erőforrás-kimerülés esetén. Ez egyben megszünteti az ellenőrzőpontok szükségességét, és vitathatatlanul elegánsabb megoldás, mivel nem függ az emberi beviteltől a lánc érvényességének meghatározása.

Köszönjük Aaron van Wirdumnak a visszajelzést.

További részletekért és egyéb változásokért lásd a Bitcoin Core 24.0-t Kiadási megjegyzések. A Bitcoin Core 24.0 letöltéséhez navigáljon itt. A Bitcoin Core 24.0-val kapcsolatos részletek a Bitcoin, Explained podcast hanganyagában is megtalálhatók epizód 65.

Időbélyeg:

Még több Bitcoin Magazine