Czas czytania: 4 minuty
Decentralizacja w każdej dziedzinie życia to nowy kod nadchodzącej ery. DApps jest tutaj, aby zrewolucjonizować sposób, w jaki obsługujemy aplikacje, łącząc prywatność danych i cechy własności.
Przejdźmy do głębi bloga.
Co to są aplikacje DApps?
DApps to zdecentralizowane aplikacje, które wykorzystują łańcuch bloków do przetwarzania danych za pośrednictwem sieci rozproszonej i wykonywania transakcji. W przeciwieństwie do scentralizowanych aplikacji, DApps są obsługiwane przez sieci peer-to-peer.
Gdy programista wyda bazę kodu dla DApp, można na niej zbudować kilka aplikacji. Nie ma jednego organu, a zatem nie ma jednego punktu awarii, ponieważ obsługuje je sieć P2P.
DApp pomaga tworzyć liczne aplikacje, takie jak aplikacje internetowe, gry i rozrywka, aplikacje społecznościowe itp.
Znaczące cechy DApp
Oto kilka wskazówek dotyczących kluczowych atrybutów DApp
- Są kodem typu open source i są kontrolowane przez użytkownika. Oznacza to, że wszelkie zmiany lub nowe dodatki są głosowane i wdrażane.
- Decentralizacja jest kluczowym aspektem, dzięki któremu wszystkie szczegóły są przechowywane w publicznie dystrybuowanej księdze.
- DApps wykorzystują tokeny natywne dla platformy, aby nagradzać użytkowników za uczestnictwo lub wydobycie.
Wiadomości na temat korzystania z DApps
Według raportów autorstwa DAppRadar, liczba użytkowników korzystających ze zdecentralizowanych aplikacji rośnie każdego roku o 396%, do 2.4 miliona.
Wśród których DApps do gier odpowiadał za ponad 50% aktywności użytkowników w I kwartale 1 r., a NFT pozyskały ogromną kolekcję około 2022 miliardów dolarów.
Problemy z bezpieczeństwem kodowania DApp
Znając ogólną ideę DApp, przyjrzyjmy się teraz niektórym typowym błędom technicznym z nimi związanym.
Sprawdzenie podpisu: Użycie formatu czeku „przypadek_=> prawda” w @weryfikator funkcja kodowania DApp uniemożliwia transakcję transferową, jednocześnie zezwalając na inne typy transakcji.
{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}
match (tx) {
case t:TransferTransaction => false
case _ => true # NEVER DO THIS!
}
Ale używając tego typu kodu, każdy użytkownik może wykonywać transakcje z wyjątkiem transakcji transferowych. Wpisując klucz publiczny w polu „senderPublicKey” bez dodawania podpisów, daje dostęp dowolnym użytkownikom do uruchomienia transakcji.
{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}
match (tx) {
case t:TransferTransaction => false
case _ => sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublikey)
}
Dlatego ważne jest, aby zapewnić obecność sprawdzania podpisu w kodowaniu DApp, aby być pozbawionym wspomnianej luki.
Wprowadzanie kluczy: Operacje w DApp obejmują magazyn klucz-wartość. Częstym błędem jest to, że programista pisałby do jednego klucza i czytał go z innego. Dlatego należy zachować ostrożność podczas pisania kluczy.
let NONE = "NONE"
func keyVoteByAddress(votingId: Int, address: String) = "voting_" + votingId + "_vote_" + address
@Callable(i)
func vote(id: Int) => {
let voteKey = keyVoteByAddress(id, i.caller.toBase58String())
let vote = getString(this, voteKey).valueOrElse(NONE)
# alternative option
let vote = match getString(this, voteKey){
case s: String => s
case _ => NONE
}
if (vote == NONE) then ...
else ...
}
Innym błędem jest to, że zamiast podawać wartości domyślne, próba odczytania wartości ze zmiennych takich jak value() lub extract() nie jest sugerowana.
Transakcje kontrolowane: Operacje DApp obejmują kilka współzależnych operacji, które są uruchamiane w sekwencji. W takich przypadkach bezpiecznie jest mieć funkcję „waitForTxWithNConfirmations”, aby otrzymywać potwierdzenia raz po dodaniu pierwszej transakcji do bloku.
Ogólne problemy związane z DApps
Niski poziom płynności DApps: Niski poziom płynności w zdecentralizowanych aplikacjach utrudnia kupowanie lub sprzedawanie tokenów po oczekiwanej cenie, powodując poślizg. Poślizg to różnica między oczekiwaną a realizowaną ceną, która może prowadzić do utraty środków.
Użytkownicy mogą śledzić płynność aktywów w oparciu o ich wolumeny handlowe i podejmować mądre decyzje przed zakupem lub sprzedażą tokena.
Naruszenie lub awaria bezpieczeństwa: DApps działają dzięki inteligentnym kontraktom, a te z błędami w kodowaniu są idealnymi celami dla hakerów. W ekstremalnych warunkach rynkowych lub z powodu wykorzystania kodu dewaluacja lub utrata środków w DApps stają się nieuniknione.
Audyt kodeksu przez firmy zewnętrzne przynosi większe korzyści w przezwyciężaniu tego problemu.
Aplikacja phishingowa: Jeśli dojdzie do kompromisu w kodowaniu DApp, linki phishingowe są rozpowszechniane na ich oficjalnych stronach. Klikając je nieświadomie, wysysają wszystkie środki z portfeli użytkowników.
Dlatego dokładnie sprawdź adresy URL przed dodaniem środków z portfela lub wprowadzeniem informacji o portfelu.
Status hacków i oszustw DApp w 2022 r.
Minusem DApps jest fakt, że są one podatne na włamania. Z danych opublikowanych przez DAppRadar wynika, że same oszustwa DApp spowodowały stratę w wysokości 1.2 miliarda dolarów.
Najważniejsze wydarzenia związane z hackowaniem obejmują:
Hack mostka Ronina: Uzyskując dostęp do węzłów walidatora, haker był w stanie sfałszować fałszywe transakcje w Axie Infinity Sieć mostów Ronin, która doprowadziła do strat w wysokości 600 milionów dolarów.
Protokół tunelu czasoprzestrzennego: Haker wykorzystał lukę w zabezpieczeniach kodu protokołu Wormhole, powodując stratę w wysokości 325 milionów dolarów.
Oto jak zachować bezpieczeństwo i metody zapobiegawcze, aby zastosować zabezpieczenia DApp
Pokonywanie luk w zabezpieczeniach rozwiązuje większą część problemu dla DApps. Jest kilka sposobów na rozwiązanie tego problemu.
- Podejmij usługi audytorskie: Dokładna analiza kodowania przez firmę audytorską, taką jak QuillAudyty eliminuje błędy z poziomu gruntu.
- Testy penetracyjne: Testy penetracyjne zyskują przewagę w wyszukiwaniu ukrytych/węzłowych luk w zabezpieczeniach, testowaniu interfejsów API i odkrywaniu nowych ścieżek ataków.
Ogólne środki zapobiegawcze dla bezpieczeństwa DApp
- Zachowaj tajemnicę prywatnej frazy seed, aby uzyskać dostęp do środków z portfela
- Weryfikacja autentyczności i legalności serwisu DApp
- Uważaj na linki lub teksty z błędami gramatycznymi.
114 odwiedzajacy
- Bitcoin
- blockchain
- zgodność z technologią blockchain
- konferencja blockchain
- coinbase
- pomysłowość
- Zgoda
- konferencja kryptograficzna
- wydobycie kryptograficzne
- kryptowaluta
- Zdecentralizowane
- DeFi
- Zasoby cyfrowe
- ethereum
- uczenie maszynowe
- niezamienny żeton
- plato
- Platon Ai
- Analiza danych Platona
- Platoblockchain
- PlatoDane
- platogaming
- Wielokąt
- dowód stawki
- Quillhash
- Inteligentny audyt kontraktu
- Bezpieczeństwo inteligentnych kontraktów
- trendy
- W3
- zefirnet