Mainnet i testnet to popularne techniczne terminy używane w świecie kryptowalut do określania sieci blockchain. W dzisiejszym artykule wyjaśnimy Ci co to jest mainnet, co to jest testnet oraz jakie są między nimi różnice. Tak więc, zaczynamy!
Co to jest mainnet?
Mainnet (sieć główna) to skrót od main network. Mainnetem nazywamy oryginalny i funkcjonalny blockchain, w którym mają miejsce faktyczne transakcje, a natywne kryptowaluty posiadają realną wartość ekonomiczną. Innymi słowy, mainnet odnosi się do w pełni działającego, otwarto źródłowego blockchaina, który jest publicznie weryfikowalny. Mainnet realizuje funkcjonalność przeprowadzania rzeczywistych transakcji w sieci, które są przechowywane w blockchainie i jest określany jako „produkt końcowy”.
W mainnecie każda przeprowadzona transakcja wymaga od uczestników uiszczenia opłaty transakcyjnej (płatnej w natywnej monecie). W ten sposób górnicy oraz stakerzy są zachęcani do walidacji transakcji, zapobiegając jednocześnie spamowaniu sieci i zapewniając jej bezpieczeństwo. Za swoją ciężką pracę otrzymują oni nagrody w postaci natywnych monet protokołu oraz opłat transakcyjnych uiszczanych przez użytkowników.
Od czasu do czasu, projekty są aktualizowane, dzięki czemu zwiększają się możliwości blockchaina. Można to porównać do aktualizacji oprogramowania w smartfonach, które rozwiązują wcześniejsze problemy lub błędy. Chociaż wcześniej wspomnieliśmy, że mainnet jest „produktem końcowym”, wcale nie do końca musi tak być. Blockchain może bowiem przejść aktualizacje konkretnej funkcjonalności, w zależności od zapotrzebowania ze strony deweloperów i społeczności. Aby zaktualizować blockchain, wymagane jest przeprowadzenie forka.
Co to jest testnet?
Testnet (sieć testowa) to skrót od test network. Testnet jest dokładną repliką oryginalnego blockchaina, z tą samą technologią, oprogramowaniem i funkcjami. Jedyna różnica polega na tym, że transakcje w testnecie są symulowane, a monety nie posiadają żadnej realnej wartości poza jego środowiskiem.
Testnet jest w pełni symulowanym środowiskiem, w którym funkcjonalności i możliwości oryginalnego blockchaina są stale testowane, weryfikowane i poprawiane przez twórców aplikacji i testerów. Najpierw deweloperzy muszą przetestować funkcjonalności blockchaina w środowisku tzw. „piaskownicy”. Transakcje na testnecie są „symulowane”, ponieważ są to transakcje testowe. Oznacza to, że nie są obarczone opłatami transakcyjnymi oraz kosztami wdrożenia ponoszonymi przez deweloperów. Ponieważ monety w sieci testowej są bezwartościowe, nie istnieje żadna ekonomiczna zachęta dla górników/stakerów. Ich jedynym celem jest przetestowanie działania transakcji.
Podsumowując, działania wdrożone w testnecie służą jako symulacja tego, jak protokół funkcjonowałby w samym mainnecie.
Dobrym odniesieniem do realnego świata może być praca pilota samolotu. Piloci zanim polecą prawdziwym samolotem, muszą najpierw spędzić sporo czasu na symulatorze 3D. Testnet jest poligonem doświadczalnym dla twórców, na którym testuje się funkcjonalność protokołu.
Mainnet vs testnet – czym się różnią?
Aby lepiej zrozumieć różnice między mainnetem a testnetem, przyjrzyjmy się blockchainowi Ethereum. Ethereum jest zdecentralizowaną platformą umożliwiającą tworzenie smart kontraktów i zdecentralizowanych aplikacji (dApps), które działają bezpiecznie bez żadnej kontroli ze strony pośredników lub osób trzecich.
Bitcoina można traktować jako pojedynczą aplikację w Twoim smartfonie, która pozwala efektywnie przekazywać wartość (cyfrową gotówkę). Z drugiej strony Ethereum jest jak sklep z aplikacjami. Blockchain Ethereum pozwala każdemu na tworzenie dowolnych aplikacji mobilnych, które mogą następnie być pobierane i używane przez każdego. Platformy blockchain, takie jak Ethereum są zwane blockchainami drugiej generacji. Rozszerzają bowiem funkcjonalność technologii blockchain o wiele nowych przypadków użycia.
Mainnet i testnet to dwie oddzielne sieci, które działają niezależnie od siebie. Oto przykład w kontekście Ethereum:
Ropsten jest najpopularniejszym publicznym testnetem Ethereum i jest często wykorzystywany jako sieć testowa dla deweloperów tworzących własne dAppy na blockchainie. Korzystając z sieci Ropsten, deweloperzy dAppów mogą eksperymentować nad ich funkcjonalnościami, a także uniknąć utraty cennego ETH, które jest potrzebne do uiszczania opłat transakcyjnych i wdrażania smart kontraktów. Kiedy są już pewni, że w ich aplikacja działa tak jak powinna, mogą śmiało wdrożyć ją do mainnetu.
To, co odróżnia mainnet od testnetu, to następujące czynniki:
- Network ID: ID sieci to po prostu identyfikator. Jeśli nowy węzeł chce dołączyć do faktycznego blockchaina Ethereum, będzie musiał dołączyć do mainnetu, którego ID to 1. Jeśli zamiast tego chce dołączyć do testnetu Ropsten, jego identyfikator sieciowy to 3.
- Blok genezy: Blok genezy to pierwszy blok w danej sieci blockchain. Ponieważ zarówno mainnet i testnet są różnymi sieciami, mają one inny blok genezy. Jego zawartość może być jednak podobna.
Podsumowanie
Mainnet i testnet to zupełnie dwie różne sieci, z których każda pełni istotną rolę w każdym projekcie. Sieć testowa jest często wykorzystywana jako miejsce testowe dla rozwoju i ciągłego ulepszania sieci głównej, podczas gdy sam mainnet jest rzeczywistym, funkcjonującym protokołem, który zasila sieć blockchain. Dla inwestorów ważne jest, aby ocenić projekt w oparciu o sukces zarówno sieci testowych, jak i sieci głównych. Są one bowiem dobrym wskaźnikiem technicznego rozwoju wizji projektu.