Kaj morate vedeti: |
– Začetna generacija Trust Wallet je bila napačna, skupna entropija je bila le 32 bitov. Ustvarili smo datoteko, ki vsebuje vsa možna semena.
– Na srečo je Ledger Donjon zelo hitro odkril ranljivost in se verjetno izognil enemu največjih vdorov v kripto ekosistemu. |
14. novembra 2022 je Trust Wallet, široko uporabljana programska denarnica, objavila izdajo svoje razširitve za brskalnik. Omogoča dostop do digitalnih sredstev v več verigah blokov neposredno iz brskalnika in je dolgo pričakovan dodatek k obstoječim aplikacijam za iOS in Android.
Ledger Donjon je nedavno odkril kritično ranljivost v tej razširitvi brskalnika, ki napadalcu omogoča krajo vseh sredstev katere koli denarnice, ustvarjene s to razširitvijo, brez kakršne koli interakcije uporabnika. Če poznate naslov računa, je mogoče takoj izračunati njegov zasebni ključ in nato dostopati do vseh njegovih sredstev. Spodaj so podrobnosti o ranljivosti, kako jo je Ledger Donjon odkril, njen vpliv skozi čas, ocena ranljivih sredstev in kako se je Trust Wallet odzval, da jo popravi. A začnimo s priklicem osnov.
Kako nastanejo denarnice
Generiranje entropije je težavno. Kot znanstveniki imamo radi ponovljivost in sposobnost pojasnjevanja pojavov z načeli vzroka in posledice. Torej, na splošno je težko ustvariti naključnost. Poleg tega je težko dokazati, da so naključna števila pravilna, in slab, vendar ne dokončno pomanjkljiv generator naključnih števil lahko zlahka preslepi opazovalca. Za dobro naključnost potrebujemo enotno porazdelitev bitov in bajtov (in celo velikost vseh kosov) in nepredvidljivost. Za opazovalca zaporedja mora biti nemogoče imeti kakršne koli informacije o naslednjem delu zaporedja, ki ga je treba ustvariti.
Ker je te lastnosti neverjetno težko doseči, se prostor kriptovalut poskuša čim bolj izogniti zanašanju na naključnost – vendar jo še vedno potrebujemo v eni fazi: ko ustvarjamo novo denarnico.
Verjetno že poznate svojo mnemoniko, 12 do 24 angleških besed, ki vam omogočajo varnostno kopiranje denarnice (če ne, lahko preverite Akademija Ledger članek na to temo).
Ta mnemonika kodira 16 do 32 bajtov entropije, glede na standard BIP 39 – kakovost te entropije je kritična, saj bo seme vseh ključev, ki jih uporablja vaša denarnica v vseh verigah, po determinističnem postopku izpeljave, ki ga definira BDP 32 in BDP 44 standardov.
Ta hierarhična deterministična shema je danes skoraj vseprisotna, glede na to, kako enostavno uporabnikom omogoča ustvarjanje varnostne kopije neskončnosti ključev in njeno prenosljivost (kljub temu, da je BIP 39 »soglasno odsvetovan za implementacijo«). Gostovanje podpisnikov je zmogljiva funkcija – ko vaša najljubša denarnica odpove ali vas razočara, lahko preprosto vzamete s seboj svojo mnemoniko (ali še bolje, svojo napravo Ledger), preklopite na drugo, ohranite svojo finančno svobodo in omejite kakršen koli vpliv njenega izpada.
Ampak spet, zahteva brezhiben vir entropije.
Pregled ranljivosti
Trust Wallet se zanaša na Trust Wallet Core, medplatformsko knjižnico, ki izvaja nizkonivojsko funkcionalnost kriptografske denarnice za številne verige blokov. Osredotočen je bil na mobilne naprave, vendar cilja tudi na Wasm od aprila 2022 (glejte #2132).
Medtem ko je večina jedra Trust Wallet Core prenosljiva, je nekaj modulov in funkcij zelo specifičnih za cilj. To zlasti velja za del varnega naključnega generiranja, ki se uporablja za ustvarjanje kriptografskega materiala, kot so zasebni ključi, in mnemonik za HD denarnice. Vsaka izvedba izkorišča generator psevdonaključnih števil (PRNG), ki ga ponuja operacijski sistem:
- Za iOS,
SecRandomCopyBytes
se uporablja. - Za Android entropijo zagotavlja primerek
java.security.SecureRandom
.
To je običajno dobra praksa, saj naj bi bili takšni primitivci varni.
Zaledje Wasm
Pri tarči Wasm je razlika. Ta modul lahko deluje v več okoljih, kot je kateri koli brskalnik, ki podpira Wasm ali Node.js. Te platforme ne zagotavljajo skupnega močnega PRNG in iz teh okolij ni mogoče dobiti dostopa do "klasičnih" sistemskih vmesnikov. Na primer, modul Wasm, ki se izvaja v Chromu za Linux, ni mogel neposredno brati /dev/urandom
.
Da bi se spopadli s tem, je bil implementiran namenski tako imenovani "varni naključni generator". #2240. Temelji na PR, izdelanem v emscripten (glejte PR #12240 in emscripten), napisano prav zato, da bi se izognili branju /dev/urandom
.
Po mnenju avtorja:
Kar počnemo tukaj, je preprosto, zavijemo std::random_device
z std::mt19937
in vrne naključno vrednost uint32 po zgledu emscripten-core/emscripten#12240.
Tu obstaja pomembna težava, ki vodi do kritične ranljivosti za jedro denarnice za Wasm in za kateri koli izdelek, ki temelji na njem: uporabljen PRNG je Mersennov Twister in se ne sme uporabljati za kriptografske namene. Poleg tega specializirana različica mt19937 sprejme eno samo 32-bitno vrednost kot vhodno seme.
Kakšne so posledice tukaj? Modul Random po meri za Wasm izvaja dve funkciji: random32
ki izpiše 32-bitno naključno vrednost in random_buffer
ki zapolni medpomnilnik poljubne velikosti z naključnimi podatki. V projektu Wallet Core te funkcije uporablja izključno trezor-crypto, kriptografska knjižnica, ki jo je razvil Trezor za zagotavljanje varne kriptografije v njihovih strojnih denarnicah.
Zdaj pa poglejmo, kako so ustvarjene HD denarnice:
- Vstopna točka je HDWallet. Za kasnejšo zaščito je potrebna moč in geslo:
https://github.com/trustwallet/wallet-core/blob/3.1.0/src/HDWallet.cpp#L45
Ta funkcija nato kliče mnemonic_generate
za ustvarjanje mnemonike BIP-39:
https://github.com/trustwallet/wallet-core/blob/3.1.0/trezor-crypto/crypto/bip39.c#L55
mnemonic_generate
klici random_buffer
, ki izpiše naključni vmesni pomnilnik, napolnjen z Mersennovim twister PRNG, katerega primerek je bil pravkar posejan:
https://github.com/trustwallet/wallet-core/blob/3.1.0/wasm/src/Random.cpp#L19
Ker je seme le 32 bitov, različica Wallet-core Wasm omogoča ustvarjanje le 2^32 (~4 milijarde) možnih mnemonik. Vse te mnemonike je mogoče generirati v nekaj urah v enem samem računalniku.
Od tam lahko napadalec:
- Izračunajte vsa semena, zasebne ključe in nato naslove vsake kriptovalute, s katero upravlja Trust Wallet.
- Preglejte povezane verige blokov, da izvlečete vse uporabljene naslove.
- Izračunajte presečišče, da dobite vse naslove denarnic, ki jih je ustvarila Trust Wallet za Wasm, in ukradite njihova sredstva.
Izvajanje takšnega napada traja veliko več kot nekaj ur, vendar je z nekaj grafičnimi procesorji izvedljivo v manj kot enem dnevu (glejte medium.com/@johncantrell97/how-i-checked-over-1-trillion-mnemonics-in-30-hours-to-win-a-bitcoin za oceno stroškov. Napad je tukaj 256-krat lažji).
Aplikacija za razširitev brskalnika Trust Wallet
O Razširitev brskalnika Trust Wallet je razširitev za brskalnike Chromium. Jasno je, da je konkurent MetaMask in je označen kot "varna večverižna kripto denarnica in prehod do tisočev Web3 decentraliziranih aplikacij (dApps)."
Razširitev je zaprtokodna, vendar je njeno kodo mogoče enostavno analizirati. Zanaša se na ranljivo implementacijo Wasm jedra Trust Wallet Core.
Ko je ustvarjena denarnica, razširitev ustvari 12-besedno mnemoniko iz naključnega 128-bitnega semena. Mnemonika se ustvari na ta način:
HDWallet.create
je samodejno ustvarjen ovoj Wasm za zgoraj opisani konstruktor HDWallet. To pomeni ranljive random_buffer
se uporablja funkcija, tako da je mogoče mnemonike pridobiti iz naslova uporabnika z napadom na surovo silo.
Ta razširitev obravnava naslednja sredstva: AVAX, BNB, ETH, MATIC, SOL in TWT.
- Naslovi so enaki za ETH, BNB, MATIC, AVAX in TWT. To so standardni naslovi Ethereum, ki si delijo isto izpeljano pot (m/44'/60'/0'/0/0).
- Solana uporablja drugačno pot izpeljave: m/44'/501'/0'/0'.
Za črpanje sredstev vseh uporabnikov razširitve Trust Wallet lahko napadalec:
- Izračunajte in shranite vse možne mnemonike, nato zasebni ključ Ethereum in naslov Ethereum, ki jih lahko ustvari ta razširitev.
- Zberite vse uporabljene naslove Ethereum, ustvarjene od prve izdaje razširitve brskalnika Trust Wallet, in jih shranite lokalno.
- Izvedite iskanje v bazi naslovov.
- Izpraznite denarnico z zasebnim ključem, če je bil naslov uporabljen.
Te korake je mogoče ponoviti za vsako verigo. Zdaj podrobno opisujemo, kako je Ledger Donjon izvedel ta napad na Ethereum in Binance Smart Chain, ne da bi seveda izpraznil denarnice.
Napad na Trust Wallet
Ranljivost omogoča napadalcu, da izračuna mnemoniko iz katerega koli naslova denarnice, ustvarjene z razširitvijo brskalnika. Za to je treba izračunati preslikavo med možno mnemoniko in nastalim naslovom.
Generiranje vseh naslovov, ki jih lahko ustvari razširitev Trust Wallet
Na podlagi prej pojasnjene ranljivosti v PRNG je mogoče našteti vse naslove (in povezane zasebne ključe), ki jih lahko ustvari razširitev Trust Wallet. Moja ideja je bila shraniti vse možne naslove v veliko tabelo. Nato lahko na seznamu naslovov, ekstrahiranih iz verige blokov Ethereum, preverite, ali so nekateri naslovi prisotni v tej tabeli. Če je tako, je mogoče izračunati njegov zasebni ključ.
Izpeljava iz entropije v mnemoniko in nato v naslov Ethereum uporablja standardni mehanizem izpeljave BIP-32, BIP-39In BIP-44 hierarhijo računa.
Prva težava je bila našteti vse te naslove. Pretvorba iz semena PRNG v naslov zahteva naslednje korake:
- Generiranje entropije: inicializirajte Mersennov Twister s semenom in ga pokličite 16-krat, da zberete začetno entropijo.
- Entropija do mnemotehnike: en SHA-256 za izračun končne kontrolne vsote, vdelane v zadnjo besedo.
- Mnemonika za seme: mnemonike se pretvorijo v 512-bitno seme z uporabo PKBDF2-HMAC-SHA512 z 2048 ponovitvami. Obstajata 2 izračuna SHA-512 na iteracijo, tako da je skupni strošek 4096 izračunov SHA-512.
- Sejanje na glavni ključ BIP-32: 1 HMAC SHA-512 stane 2 izračuna SHA-512.
- Glavni ključ zasebnega ključa Ethereum: glavni ključ je pridobljen na m/44'/60'/0'/0/0. To zahteva 3 utrjene izpeljave podrejenega zasebnega ključa in 2 izpeljavi običajnega podrejenega ključa.
- Vsaka utrjena izpeljava podrejenega zasebnega ključa zahteva en izračun HMAC SHA-512 (2 SHA-512) in en dodatek na secp256k1.
- Vsaka običajna izpeljava podrejenega zasebnega ključa zahteva izpeljavo podrejenega zasebnega ključa in skalarno množenje na secp256k1 za pretvorbo zasebnega ključa, podanega v vnosu, v javni ključ.
- Zasebni ključ Ethereuma za naslov: ta zadnji korak zahteva pretvorbo zasebnega v javni ključ, torej še eno skalarno množenje in eno zgoščevanje Keccak-256.
Skupni strošek za vse te korake je potem:
- Inicializacija in 16 klicev na Mersenne Twister
- 1 SHA-256
- 4108 SHA-512
- 5 dodatkov za točke
- 2 skalarna množenja na secp256k1
Najdražji koraki so izračuni SHA-512 in skalarna množenja. Na kratko, celoten postopek preoblikovanja semena PRNG v naslov Ethereum je počasen. Izvajanje takega računanja na enem CPE-ju bi trajalo mesece in verjetno več tednov na CPE-jih, ki so bili na voljo v Donjonu. Zato smo ga implementirali z uporabo OpenCL (na podlagi BIP39 Solver GPE) in ga izvajal na 2 grafičnih procesorjih NVIDIA GeForce GTX 1080 Ti.
Rezultat tega orodja je velika datoteka, ki vsebuje vse naslove Ethereum, ki jih lahko ustvari razširitev. Ker obstaja 2^32 možnih semen in je vsak naslov dolg 20 bajtov, ta tabela zavzame 80 Gb.
Od tam naprej so iskanja v tabelah počasna: za iskanje ujemanja z naslovom bi bilo treba iterirati skozi vso to veliko tabelo.
Da bi pospešili ta iskanja, smo tabelo razdelili na 256 manjših tabel glede na prvi bajt naslova Ethereum. Vsaka tabela vsebuje pare semen PRNG in njihov posledični naslov Ethereum.
Nazadnje, da bi lahko izvajali hitro iskanje v vsaki tabeli, smo jih razvrstili glede na naslov Ethereum. Zdaj je mogoče izvajati binarna iskanja v teh tabelah: iskanje v teh razvrščenih tabelah je zelo poceni.
Da bi prihranili nekaj prostora na disku, smo shranili seme PRNG in le prvih 8 bajtov vsakega naslova Ethereum. Zadnjih 12 bajtov ni potrebnih, saj so trki v mojem primeru uporabe zanemarljivi. Vsak vnos traja 12 bajtov. Cele mize potem zavzamejo 48 Gb.
Tu so časi za vsak korak:
Z uporabo teh tabel je mogoče takoj pridobiti mnemonike, uporabljene za ustvarjanje naslova. Za oceno vpliva ranljivosti me je Binance vprašal za mnemoniko treh testnih naslovov, ki so jih zagotovili. Tukaj je rezultat:
Pridobivanje 3 mnemonik in zasebnih ključev je trajalo nekaj sto milisekund. Glede na naše teste, postopek je dejansko dovolj hiter, da v realnem času obdela vse transakcije v verigi blokov Ethereum in zlomi vse ranljive naslove, takoj ko so uporabljeni. S predpomnjenjem že preizkušenih naslovov velja enako za druge verige blokov, kot je BSC. V tem scenariju napada bi lahko spremljali transakcije, ko dosežejo mempool, in v realnem času izračunali zasebne ključe pošiljatelja ali prejemnika.
Seznam vseh uporabljenih naslovov Ethereum
Želeli bi oceniti dejansko število ranljivih denarnic in njihovo stanje. To se sliši enostavno, saj so vse transakcije javne, zato so vsi naslovi na voljo v verigi blokov. Vendar pa seznama uporabljenih naslovov ni mogoče neposredno pridobiti.
Implementirali smo metodo, ki ponavlja skozi vsak blok verige blokov Ethereum. V pogodbe ERC-20 smo ekstrahirali naslove pošiljatelja in prejemnika vseh transakcij ter parametre naslova vsakega klica.
Upoštevajte, da je s to metodo mogoče zaznati samo uporabljene denarnice: nekatere ranljive denarnice, ki niso prejele sredstev, niso nikoli komunicirale z verigo blokov.
Pregledali smo verigo blokov Ethereum med blokoma 14820000 in 16096000. Blok 14820000 je bil ustvarjen 21. maja 2022, torej tik pred zahtevo za vleko, ki je dodala ranljivo kodo v Trust Wallet Core. 16096000 je bil zadnji blok, ko sem napisal to objavo.
Zdi se, da imajo javna vozlišča omejitev hitrosti, zato sem vzporedno poizvedoval več javnih vozlišč, da sem v nekaj desetih urah zbral skupno 147,910,120 naslovov. Po odstranitvi dvojnikov dobimo seznam 32,613,317 edinstvenih naslovov.
Ista metoda je bila uporabljena za Binance Smart Chain. Javna vozlišča BSC so bila skenirana.
Ocenjevanje števila ranljivih računov
Končno je bilo napisano orodje za testiranje, ali je razširitev Trust Wallet ustvarila naslov. Opravi iskanje v ustvarjenih tabelah, dobi seme PRNG in od tam izračuna mnemoniko, zasebni ključ Ethereum in povezan naslov.
Računanje je zelo hitro. Naslovi kandidatov so bili predhodno razvrščeni, da se minimizira V/I in izvede ugnezdeno binarno iskanje. Iskanje 32 milijonov naslovov traja nekaj minut z uporabo preprostega skripta Python.
Tukaj je primer z naslovom, vzetim iz a javni tweet odgovor na objavo razširitve Trust Wallet. To sem vzel za primer, kot je ta naslov nikoli ni bil uporabljen, zato sredstva uporabnikov niso ogrožena.
Orodje je bilo izvedeno na naboru podatkov 1,873,720, ki je podrobno opisan zgoraj. Testiranje vseh naslovov in računanje zasebnih ključev ranljivih računov je trajalo 4 min 22 s, zato je zelo poceni.
S tem seznamom ranljivih zasebnih ključev je mogoče navesti vse ustrezne naslove, njihova stanja in jih očitno izprazniti ... Med našimi preiskavami je bilo v nekem trenutku ogroženih okoli 30 milijonov dolarjev, vendar nismo nadzirali vseh verig in žetonov. .
Sanacija
2022, 17. november
Binance je bila sporočena ranljivost z uporabo njihovih program za obrezovanje napak 2022, 17. novembra.
Za potrditev ranljivosti nam je Binance poslal 3 naslove in jih prosil, naj zagotovijo mnemotehniko:
Ali lahko poskusite zagnati svoje orodje in zagotoviti mnemoniko za te 3 naslove?
Wallet 1 – 0xdf6D9547e163D5E7eafBe2FeB24Bfa12A4C913C0
Wallet 2 – 0xE1E0580cb5eA0c0FD034FF2cdfc872ce4493676C
Wallet 3 – 0x02b2Ae981b138F066344774A2AD75225A046c377
Hvala!
Lep pozdrav.
Ko so vsi možni naslovi predhodno izračunani, je pridobivanje mnemonike iz naslova tako preprosto kot iskanje v tabeli s 4 milijardami vnosov. Tri mnemonike so bile pridobljene v 0.2 s:
2022, 21. november
Nekaj dni zatem, 21. novembra, ekipa Trustwallet javno zavezana na Githubu popravek, ki preprečuje ustvarjanje novih pomanjkljivih semen. Zelo nas je skrbelo, da bi kdo to opazil in izkoristil ranljivost.
2022, november
Ekipa Trustwallet je posodobila aplikacijo, da bi opozorila svoje uporabnike, jim preprečila ustvarjanje novih pomanjkljivih semen in odstranila prejemne tokove.
Od tam smo spremljali stanje in ogrožena sredstva. Samo nekaj dni po izdaji te ranljive denarnice je bilo ogroženih približno 30 milijonov dolarjev.
2023, marec
Ekipa Trustwallet nam je dodelila najvišjo nagrado, ki jo ponuja: 100 $
2023, 22. april
Po mesecih čakanja, da uporabniki preselijo svoja sredstva, je ekipa Trustwallet razkrila ranljivost in napisala posmrtno. Trenutno še vedno obstajajo denarnice s preostalimi sredstvi, ki jih je mogoče ukrasti (~100 tisoč $). Trust Wallet je obljubil povračilo ukradenih sredstev.
zaključek
Ta ranljivost ponazarja najslabši možni scenarij kripto hrošča – za vedno ogroženi računi.
Ustvarjanje dobre naključnosti je zastrašujoča naloga – naprave Ledger se zanašajo na namensko silikonsko logiko v naših certificiranih čipih pametnih kartic, ki so bili zlati standard varnih industrij v zadnjih 40 letih za zagotavljanje visokokakovostne naključnosti in odpornosti proti posegom.
Glede na zapletenost stika z lastniki teh računov in možnost uporabe teh ogroženih računov na vseh vrstah različnih programskih in strojnih denarnic je TrustWallet opravil precej dobro delo in zmanjšal tveganje za svoje uporabnike.
V (zelo) (bližnji) prihodnosti je verjetno, da se bodo roboti borili, da bodo prvi ukradli sredstva, naložena na te naslove, podobno kot kaj se je zgodilo z možganskimi denarnicami v preteklosti.
Posebna zahvala Jean-Baptiste Bédrune za rešitev sveta. Samo nekaj dni po izdaji razširitve Trust Wallet je bilo ogroženih skoraj 30 milijonov dolarjev. Scenarij nočne more bi se lahko zgodil, če bi napadalec po nekaj mesecih našel ranljivost.
Med našimi preiskavami smo tudi opazili, da je bilo nekaj naslovov ranljivih, čeprav so bili ustvarjeni dolgo pred izdajo Trust Wallet. To verjetno pomeni, da ta ranljivost obstaja v nekaterih drugih izvedbah denarnice, kar je zaskrbljujoče ...
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoAiStream. Podatkovna inteligenca Web3. Razširjeno znanje. Dostopite tukaj.
- Kovanje prihodnosti z Adryenn Ashley. Dostopite tukaj.
- Kupujte in prodajajte delnice podjetij pred IPO s PREIPO®. Dostopite tukaj.
- vir: https://www.ledger.com/blog/funds-of-every-wallet-created-with-the-trust-wallet-browser-extension-could-have-been-stolen
- :ima
- : je
- :ne
- $GOR
- 1
- 12
- 13
- 14
- 15%
- 2022
- 23
- 24
- 30
- 39
- 40
- 49
- 8
- a
- Sposobna
- nad
- dostop
- Po
- Račun
- računi
- Doseči
- dejansko
- dodano
- Poleg tega
- Naslov
- naslovi
- po
- spet
- vsi
- omogočajo
- Dovoli
- omogoča
- že
- Prav tako
- an
- in
- Android
- razglasitve
- Objava
- Še ena
- kaj
- aplikacija
- aplikacije
- Aplikacije (DApps)
- aplikacije
- april
- SE
- okoli
- članek
- AS
- Sredstva
- povezan
- At
- napad
- Avtor
- Na voljo
- AVAX
- izogniti
- izognili
- izogibanje
- backup
- Slab
- Ravnovesje
- tehtnice
- temeljijo
- Osnove
- BE
- bilo
- pred
- počutje
- spodaj
- Boljše
- med
- Big
- največji
- Billion
- binance
- Pametna veriga Binance
- Pisk
- Block
- blockchain
- verige blokov
- Bloki
- bnb
- bote
- Bounty
- Brain
- blagovno znamko
- Break
- brskalnik
- brskalniki
- silo
- BSC
- varovalni
- Bug
- vendar
- by
- klic
- poziva
- CAN
- Kandidat
- ne more
- primeru
- Certified
- verige
- verige
- poceni
- preveriti
- otrok
- čipi
- Krom
- jasno
- Koda
- Skupno
- tekmovalec
- kompleksnost
- Ogroženo
- računanje
- izračuni
- Izračunajte
- računalnik
- računalništvo
- Potrdi
- Posledice
- upoštevamo
- Vsebuje
- pogodbe
- Pretvorba
- pretvorbo
- pretvori
- Core
- popravi
- Ustrezno
- strošek
- bi
- par
- Tečaj
- CPU
- ustvarjajo
- ustvaril
- ustvari
- kritično
- platformah
- kripto
- Kripto ekosistem
- Kripto denarnica
- cryptocurrency
- kriptografijo
- kriptografija
- po meri
- DApps
- datum
- Baze podatkov
- dan
- Dnevi
- Decentralizirano
- Decentralizirane aplikacije
- namenjen
- opredeljen
- izkazati
- deponiran
- Izpeljano
- opisano
- Kljub
- Podatki
- podrobno
- Podrobnosti
- Zaznali
- razvili
- naprava
- naprave
- DID
- Razlika
- drugačen
- težko
- Težavnost
- digitalni
- Digitalna sredstva
- neposredno
- poguma
- odkril
- distribucija
- do
- odmore
- ducata
- možganov
- dvojnikov
- med
- vsak
- lažje
- enostavno
- lahka
- ekosistem
- vgrajeni
- Angleščina
- dovolj
- zagotovitev
- Vpis
- okolja
- ERC-20
- oceniti
- ETH
- ethereum
- ethereum blockchain
- Tudi
- Tudi vsak
- Primer
- ekskluzivno
- obstoječih
- obstaja
- drago
- Pojasnite
- razložiti
- Izkoristite
- razširitev
- ekstrakt
- ne uspe
- seznanjeni
- FAST
- Priljubljeni
- Feature
- Nekaj
- boj
- file
- napolnjena
- končna
- finančna
- finančna svoboda
- konec
- prva
- fiksna
- pomanjkljiv
- Tokovi
- po
- za
- moč
- za vedno
- Na srečo
- je pokazala,
- Svoboda
- iz
- funkcija
- funkcionalnost
- funkcije
- Skladi
- Prihodnost
- Prehod
- zbiranje
- splošno
- ustvarjajo
- ustvarila
- ustvarjajo
- generacija
- generator
- dobili
- GitHub
- Gold
- Gold Standard
- dobro
- Grafične kartice
- odobreno
- Garancija
- kramp
- imel
- Ročaji
- se je zgodilo
- Trdi
- strojna oprema
- Strojna denarnica
- hash
- Imajo
- zato
- tukaj
- hierarhija
- visoka
- najvišja
- URE
- Kako
- Vendar
- HTTPS
- sto
- i
- Ideja
- enako
- if
- ponazarja
- takoj
- vpliv
- Izvajanje
- izvajali
- izvedbe
- Pomembno
- nemogoče
- in
- neverjetno
- industrij
- neskončnost
- Podatki
- začetna
- vhod
- navdih
- primer
- interakcije
- vmesniki
- križišče
- v
- preiskave
- iOS
- IT
- ponovitev
- ponovitve
- ITS
- Job
- samo
- Imejte
- Ključne
- tipke
- Vedite
- Vedeti
- Zadnja
- pozneje
- Zadnji
- Interesenti
- Ledger
- levo
- manj
- Leverages
- Knjižnica
- kot
- Verjeten
- LIMIT
- linux
- Seznam
- lokalno
- Logika
- Long
- dolgo časa
- dolgo pričakovano
- iskanje
- je
- Znamka
- IZDELA
- več
- kartiranje
- mojster
- Stave
- Material
- Matic
- max širine
- Maj ..
- pomeni
- Mempool
- MetaMask
- Metoda
- selitev
- milijonov
- milijoni
- minut
- min
- mnemotehnika
- modul
- Moduli
- monitor
- spremljati
- mesecev
- več
- Poleg tega
- Najbolj
- veliko
- več verige
- morajo
- my
- Blizu
- potrebno
- Nimate
- potrebe
- nikoli
- Novo
- Naslednja
- št
- Vozel
- Node.js
- vozlišča
- normalno
- predvsem
- Opaziti..
- november
- zdaj
- Številka
- številke
- Nvidia
- pridobi
- zgodilo
- of
- ponudba
- ponujen
- on
- ONE
- samo
- deluje
- operacijski sistem
- or
- Ostalo
- naši
- izhod
- več
- Splošni
- Lastniki
- parov
- vzporedno
- parametri
- del
- preteklosti
- pot
- opravlja
- Platforme
- platon
- Platonova podatkovna inteligenca
- PlatoData
- prosim
- Točka
- možnost
- mogoče
- Prispevek
- močan
- pr
- praksa
- Ravno
- predstaviti
- precej
- preprečiti
- prej
- Načela
- zasebna
- zasebni ključ
- Zasebni ključi
- verjetno
- problem
- Postopek
- Izdelek
- Projekt
- obljubil
- Lastnosti
- zaščito
- zagotavljajo
- če
- javnega
- javni ključ
- namene
- Python
- kakovost
- hitro
- naključno
- naključnost
- Oceniti
- dosežejo
- pravo
- v realnem času
- prejeti
- prejema
- Pred kratkim
- zmanjšanje
- pozdrav
- povezane
- sprostitev
- zanašajo
- Preostalih
- Odstranjeno
- Prijavljeno
- zahteva
- zahteva
- zahteva
- Odpornost
- povzroči
- rezultat
- vrnitev
- Tveganje
- Run
- tek
- varna
- Enako
- Shrani
- shranjevanje
- Scenarij
- shema
- Znanstveniki
- Iskalnik
- zavarovanje
- varnost
- glej
- seme
- Semena
- zdi se
- oddajnik
- poslan
- Zaporedje
- več
- delitev
- Kratke Hlače
- shouldnt
- Silicij
- Podoben
- Enostavno
- saj
- sam
- Razmere
- Velikosti
- počasi
- manj
- pametna
- Pametna veriga
- So
- Software
- SOL
- nekaj
- nekdo
- Kmalu
- vir
- Vesolje
- gledano
- specializirani
- specifična
- hitrost
- po delih
- Stage
- standardna
- standardi
- Začetek
- Korak
- Koraki
- Še vedno
- ukradeno
- ukradenih sredstev
- trgovina
- shranjeni
- moč
- močna
- taka
- Podpora
- naj
- Preklop
- sistem
- miza
- reševanje
- Bodite
- meni
- ciljna
- Cilji
- Naloga
- skupina
- Test
- Testiranje
- testi
- kot
- hvala
- da
- O
- Osnove
- svet
- njihove
- Njih
- POTEM
- Tukaj.
- te
- jih
- ta
- tisti,
- tisoče
- 3
- skozi
- čas
- krat
- do
- danes
- Boni
- vzel
- orodje
- temo
- Skupaj za plačilo
- Transakcije
- Transform
- Preoblikovanje
- Trezor
- Zaupajte
- Trust Denarnica
- poskusite
- dva
- TWT
- povsod
- edinstven
- edinstveni naslovi
- posodobljeno
- us
- uporaba
- Rabljeni
- uporabnik
- sredstev uporabnikov
- Uporabniki
- uporabo
- navadno
- vrednost
- različica
- zelo
- ranljivost
- Ranljivi
- Čakam
- denarnica
- Denarnice
- je
- način..
- we
- Web3
- Weeks
- so bili
- kdaj
- ki
- medtem
- celoti
- katerih
- pogosto
- bo
- z
- brez
- beseda
- besede
- svet
- Skrbi
- Klobase
- bi
- pisni
- let
- jo
- Vaša rutina za
- zefirnet