Projekty kryptowalutowe stale wdrażają nowe technologie i funkcje. Aby te nowe wdrożenia odniosły sukces, muszą najpierw upewnić się, że nie zaszkodzą funkcjonowaniu blockchainu. Aby to zrobić, potrzebują wersji testnetowej, zanim nowe funkcje zostaną udostępnione.

W dzisiejszym artykule dowiesz się wszystkiego, co musisz wiedzieć o sieci testowej:

  • Co to jest sieć testowa?

  • Jak działa sieć testowa.

  • Rola i znaczenie sieci testowej.

  • Jaka jest różnica między siecią testową a siecią główną? Analiza przykładu może zapewnić jasne zrozumienie sposobu działania i różnic między tymi dwiema sieciami.

Przekonajmy się razem!

Co to jest sieć testowa?

W kryptowalutach sieć testową można rozumieć jako alternatywny blockchain, dokładną kopię oryginalnego blockchainu (mainnetu). Sieć testowa służy głównie do testowania nowych funkcji bez obawy o możliwe uszkodzenie sieci głównej.

Zmiany wprowadzone w sieci głównej nie będą już odwracalne. Właśnie dlatego programiści aktywnie wykorzystują sieci testowe do wprowadzania nowych funkcji, testowania różnych protokołów i wszelkich większych zmian w funkcjonalności, zanim ostatecznie przeniosą je do sieci głównej.

Zazwyczaj w przypadku projektów startowych sieć testowa jest zwykle ukończona przed uruchomieniem sieci głównej. Ten etap testowania jest bardzo ważny, aby upewnić się, że wszystko działa idealnie. Ponieważ jeśli sieć testowa ulegnie awarii, projekt nie będzie mógł zwolnić sieci głównej.

Koncepcja sieci testowej została po raz pierwszy wprowadzona w październiku 2010 r. Gavin Adresen, jeden z twórców Bitcoina, przesłał łatkę implementującą nową funkcję zaakceptowaną przez Satoshiego Nakamoto. Ta poprawka jest uważana za pierwszą sieć testową.

Bitcoin nie jest jedyną kryptowalutą, w której zastosowano sieć testową. Ta sieć testowa umożliwia każdemu programiście wprowadzanie zmian w protokole i testowanie go bez wpływu na sieć główną. To przełom dla branży kryptowalut.

Chociaż pierwsza sieć testowa zakończyła się sukcesem, 3 lutego 2011 r. sieć została ponownie uruchomiona na prośbę Davida Francoise, który dodał łatkę do kodu Bitcoin Core. Ta nowa łatka nazywa się Testnet2.

Chociaż oczekiwano, że ta wersja będzie ulepszona w stosunku do pierwszej wersji, okazało się, że ma duży problem: sieć zwiększyła trudność wydobycia, co skutkowało wysokimi kosztami wydobycia, a ze względu na dużą trudność wielu użytkowników zaczęło konwertować tokeny Testnet Sprzedawane jako prawdziwe BTC.

Rozwiązanie tego problemu zostało podane po ponownym uruchomieniu sieci przez Andresena w dniu 12.04.2012. Ustąpiło to miejsca najnowszej sieci testowej Bitcoin, obecnie Testnet3. Naprawia wszystkie błędy z pierwszych dwóch sieci testowych. Trzecia sieć testowa nadal działa.

Jak działa Testnet?

Dodawanie nowych produktów lub narzędzi do aktywnego blockchainu może być bardzo ryzykowne i mieć niezamierzone konsekwencje. Wyobraź sobie, że jeśli podczas aktualizacji łańcucha bloków wystąpi błąd, w ciągu kilku sekund może to mieć wpływ na miliony użytkowników.

Co więcej, użytkownicy mogą stracić zaufanie do zespołu technologiczno-programistycznego, a nawet do przyszłego potencjału projektu. W najgorszym przypadku mogą pojawić się luki, które umożliwią hakerom atak i spowodują utratę zasobów przez użytkowników.

Dlatego celem programistów tworzących sieci testowe jest przeprowadzanie testów bez wpływu na normalne działanie i wydajność sieci głównej.

Aby sprawdzić, czy aktualizacje/testy działają poprawnie w sieci głównej, zostaną one najpierw umieszczone w sieci testowej w celu przetestowania. Zespół programistów przeprowadzi następnie analizę i monitorowanie w celu wykrycia błędów oprogramowania lub sprawdzenia, jak nowe aktualizacje wpływają na sieć testową. Mogą także zachęcać użytkowników do wypróbowania sieci testowej i znajdowania błędów w zamian za nagrody.

Po znalezieniu i naprawieniu możliwych błędów, aktualizacje te można wdrożyć w sieci głównej, gdy programiści upewnią się, że aktualizacje/testy są bezpieczne i nie mają negatywnego wpływu na sieć testową.

Znaczenie sieci testowej

Dla programistów

Sieci testowe są ważne, aby zapewnić programistom poczucie bezpieczeństwa podczas wdrażania zmian lub uruchamiania funkcji w sieci głównej. W ten sposób sieć testowa służy jako publiczna wersja beta i zapewnia programistom środowisko testowe. Sieci testowe zazwyczaj mają własny system portfeli do sprawdzania transakcji i krany do dystrybucji tokenów sieci testowej nowym użytkownikom, umożliwiając im korzystanie z narzędzi sieci testowej tak samo jak prawdziwych monet w sieci głównej.

Deweloperzy zainteresowani konkretnym blockchainem często korzystają z dostępności sieci testowych, aby wypróbować swoje pomysły.​

Na przykład w sieci testowej Ethereum programiści mogą chcieć przetestować swoje inteligentne kontrakty i implementacje dApp przed uruchomieniem ich w sieci głównej. W ten sposób programiści mogą zrozumieć protokoły blockchain i czerpać z nich korzyści, zanim zdecydują się na stworzenie dla niego aplikacji.

dla górników

Górnicy również czerpią korzyści z korzystania z sieci testowej, ponieważ pozwala im ona testować różne metody i konfiguracje wydobywania na blockchainie przed wdrożeniem potencjalnie kosztownych strategii wydobywania w sieci głównej. Węzły w sieci testowej mogą również otrzymywać nagrody za testowanie nowych funkcji sieci. Sieci testowe są szczególnie ważne dla górników korzystających z nowych łańcuchów bloków, które nie uruchomiły jeszcze sieci głównej, ponieważ sieci testowe pozwalają górnikom z wyprzedzeniem przygotować się do uruchomienia.

Dla użytkowników

Testnet to nie tylko środowisko testowe dla inżynierów i programistów, ale także przeznaczone dla użytkowników, którzy chcą testować. Mówiąc dokładniej, zapewnia cenne narzędzie symulacyjne, które pozwala użytkownikom szczegółowo dowiedzieć się, jak działają produkty i usługi protokołu oraz jak są wykorzystywane przed oficjalnym uruchomieniem sieci. Dodatkowo niektóre sieci testowe posiadają mechanizmy nagradzające użytkowników, którzy przyczyniają się do rozwoju protokołu poprzez testowanie sieci testowej i wykrywanie jej błędów/problemów.

Różnica między siecią testową a siecią główną

  • Testnet jest wersją testową, natomiast mainnet jest głównym funkcjonalnym blockchainem projektu.

  • Testnet i mainnet to dwa całkowicie niezależne łańcuchy bloków korzystające z własnych tokenów.

  • W niektórych sieciach testowych tokeny nie mają wartości komercyjnej i nie funkcjonują jako jednostki pieniężne. Natomiast w sieci mainnet każda czynność wykonywana na blockchainie wymaga opłaty w postaci tokenów o określonej wartości.

  • Sieć główna i sieć testowa mają różne identyfikatory sieci. Na przykład identyfikator sieci głównej Ethereum to 1, podczas gdy inne najczęściej używane sieci testowe mają identyfikatory sieci 3, 4 i 42.

  • W sieci testowej programiści wygenerowali blok genesis nieco inaczej niż zwykle. W szczególności tagi są tworzone w blokach i tokenach. Zapobiega to dodaniu ich do sieci głównej i pomaga oddzielić dwa łańcuchy bloków. Dlatego użytkownicy nie mogą przenosić tokenów z sieci głównej do sieci testowej i odwrotnie.

  • Testnet pozwala użytkownikom uruchamiać swoje węzły na testowym łańcuchu bloków. Ułatwia to proces wydobywania kryptowalut. Jednocześnie na sieci głównej, ze względu na dużą liczbę górników, wydobycie jest trudniejsze, a konkurencja bardzo zacięta.

  • Częstotliwość transakcji w sieci testowej jest niższa niż w sieci głównej.

Przykład sieci testowej

Ethereum to zdecentralizowana platforma typu open source, która wykorzystuje inteligentne kontrakty, aby umożliwić programistom bezpieczne tworzenie zdecentralizowanych aplikacji (dApps), które na niej działają, bez jakiejkolwiek kontroli ze strony pośredników lub stron trzecich.

Ropsten to najpopularniejsza sieć testowa Ethereum i często jest używana jako sieć testowa dla programistów tworzących własne dApps na blockchainie Ethereum. Korzystając z Ropsten, programiści mogą testować funkcjonalność dApps, unikając opłat transakcyjnych i ETH wymaganych do wdrożenia inteligentnych kontraktów. Gdy będą mieli pewność, że ich aplikacja dApp działa i że testy zostały zakończone, mogą wdrożyć ją w głównej sieci Ethereum.

Różnica między siecią główną Ethereum a siecią testową polega na dwóch następujących czynnikach:

  • Identyfikator sieci: Identyfikator sieci to identyfikator sieci, podobny do dowodu osobistego reprezentującego Twoją tożsamość. Jeśli nowy węzeł chce dołączyć do łańcucha bloków Ethereum, będzie musiał dołączyć do sieci głównej z identyfikatorem sieci 1. Jeśli chcą dołączyć do sieci testowej, mogą dołączyć do Ropsten przy użyciu identyfikatora sieci 3.

  • Blok Genesis: Ponieważ sieć główna i sieć testowa są od siebie niezależne, mają również różne bloki Genesis. Jednakże zawartość bloku genezy może być podobna.

podsumowując

Zdecentralizowany charakter blockchainu sprawia, że ​​trudno jest go zmienić i naprawić, jeśli coś pójdzie nie tak z działającym na nim protokołem. Właśnie dlatego sieci testowe są tak ważne dla sukcesu w szczególności blockchainu i całej branży kryptograficznej.

Bez środowiska testowego programiści musieliby podejmować kosztowne ryzyko, próbując wprowadzać zmiany lub pisać nowe funkcje. Wiele bieżących projektów poprzedzających uruchomienie miało na celu uruchomienie sieci testowych w najbliższej przyszłości.