Liczba dostępnych blockchainów, na których można opierać zdecentralizowane rozwiązania, stale rośnie. Niektóre z nich cechują się większą szybkością, inne niższymi kosztami, a jeszcze inne gwarantują wyższy poziom bezpieczeństwa. W zależności od naszych priorytetów, powinniśmy obrać odpowiednią ścieżkę. Niestety, po związywaniu się z konkretnym blockchainem, rezygnacja z niego może okazać się trudnym zadaniem. Co by się jednak stało, gdyby początkowy wybór nie miał tak dużego znaczenia, a przeniesienie danych z jednego…
Dowiedz się więcej...Dzisiaj powracamy do rozwiązywania wyzwań z platformy Ethernaut. Jeśli spotykasz tę serię po raz pierwszy, zachęcam Cię do zapoznania się z poprzednimi wpisami, które przedstawiają interesujące aspekty związane z bezpieczeństwem. Teraz, bez dłuższego wstępu, przejdźmy do dwóch kolejnych zadań. Zadanie #8 – vault Celem pierwszego wyzwanie będzie odblokowanie skarbca. Jak zwykle rozpocznijmy od analizy otrzymanego kodu. Smart kontrakt zawiera dwa pola. Pierwsze przechowuje wartość odpowiedzialną za blokadę skarbca, a drugie…
Dowiedz się więcej...Kilka tygodni temu z protokołu o nazwie Tornado Cash zostały wyciągnięte aktywa o wartości 1 mln $. W świecie zdecentralizowanych rozwiązań różnego rodzaju kradzieże są dosyć częste. Jeśli zajrzysz na tę stronę, od razu zobaczysz dane, które pokazują, jak bardzo dotkliwy jest ten proceder. Jednak w przypadku Tornado Cash nie doszło do kompromitacji poprzez błąd w kodzie, co zazwyczaj się zdarza, lecz wykorzystano pewien mechanizm oraz nieuwagę ludzi. Dlatego dzisiaj…
Dowiedz się więcej...Po krótkiej przerwie w rozwiązywaniu wyzwań Ethernaut, nadszedł czas, aby do nich powrócić. Dzisiaj skupimy się na dwóch kolejnych zadaniach. W rozwiązaniu pierwszego z nich przyda się wiedza zawarta w artykułach o tytule “Ponieważ kontekst ma znaczenie – call vs delegatecall“ oraz “Kiedy nieistniejące istnieje – funkcja fallback“, dlatego polecam zapoznać się z nimi przed rozpoczęciem. Jeśli już masz to za sobą, nie traćmy czasu i przejdźmy do wyzwań :).…
Dowiedz się więcej...Dla osób, które miały kiedykolwiek styczność z programowaniem, a w szczególności z językami takimi jak Java, JavaScript, C# itp., język Solidity może wydawać się bardzo podobny do tego, co już znają. Nic w tym dziwnego, ponieważ sama składnia w dużej mierze opiera się właśnie na wspomnianych technologiach. Niestety, to, co na pozór wygląda znajomo, może powodować wiele nieporozumień ze względu na różnice w zachowaniu, które nie zawsze są oczywiste na…
Dowiedz się więcej...Kiedy osoba nieznająca Solidity przegląda różnego rodzaju smart kontrakty, może źle zinterpretować ich działanie. Często dzieje się tak z powodu “smaczków”, które powodują, że kod napisany w tym języku zachowuje się inaczej niż można by się spodziewać. Szczególnie, jeśli osoba ta ma doświadczenie w innych technologiach, może doznać nieprzyjemnego zaskoczenia. Jednym z takich “smaczków” jest tzw. funkcja fallback, a zrozumienie jej działania pozwoli na uniknięcie błędów, które mogą prowadzić do…
Dowiedz się więcej...Ostatnie miesiące to istny boom na technologie związane z AI, a wszystko to dzięki narzędziu zwanemu ChatGPT. Dzisiaj trudno znaleźć osobę, której choć raz nie obiła się ta nazwa o uszy, i nic w tym dziwnego. Chociaż niektórzy zbyt przesadnie oceniają obecne możliwości tego rozwiązania, trzeba przyznać, że ma ono, a będzie miało jeszcze większy, wpływ na ogromną ilość branży, w tym IT. Nie inaczej jest w przypadku tworzenia rozwiązań…
Dowiedz się więcej...“Nic nie trwa wiecznie. Niebezpiecznie jest wierzyć w to, że coś trwa wiecznie.” Te słowa zaczerpnięte z dawnej piosenki Sidneya Polaka są bardzo trafne w kontekście świata, w którym żyjemy. Ale również w odniesieniu do blockchaina są bardzo prawdziwe. Dlatego dzisiaj wracamy do tematu aktualizowania smart kontraktów i przeanalizujemy rozwiązanie zwane Eternal Storage. Nowe szaty króla W poprzedniej części został omówiony ogólny problem związany z potrzebą aktualizowania smart kontraktów, jak…
Dowiedz się więcej...W dzisiejszym wpisie wracamy na platformę Ethernaut(https://ethernaut.openzeppelin.com/). Skupimy się na dwóch kolejnych wyzwaniach, które pomogą poznać kolejne “smaczki” języka Solidity. Dlatego bez zbędnego gadania bierzemy się do roboty! Zadanie #4 – telephone Pierwszym wyzwaniem, za które się dzisiaj zabieramy jest to o nazwie Telephone. Jego celem ponownie będzie przejęcie kontroli nad kontraktem. Spójrzmy, jak wygląda kod. Kontrakt jest bardzo krótki i nie zawiera skomplikowanej logiki. Przechowuje jedną wartość, mówiącą, kto obecnie…
Dowiedz się więcej...Blockchain jest niezmienny. Blockchain jest przejrzysty. Wszystko, co dzieje się na blockchainie można w łatwy sposób sprawdzić i zweryfikować. Raz wgrany kod na blockchain pozostanie tam na zawsze i to w niezmienionej formie. To tylko kilka z określeń, które powtarzane są jak mantra w stosunku do zdecentralizowanych technologii. Czy są one w stu procentach prawdziwe? Co w przypadku, gdy smart kontrakt wymaga usprawnień lub naprawy błędów? Na te i inne pytania…
Dowiedz się więcej...