Publiczne testowanie rozwiązania dla prywatności i skalowalności w Ethereum na platformach chmurowych

Trend blockchainowy nadal nabiera tempa. Coraz więcej ekspertów przewiduje powszechne wdrożenie tej technologii w niedalekiej przyszłości. Na ten moment pozostaje kilka nierozwiązanych problemów, które temu przeszkadzają.

Przede wszystkim nowoczesne systemy blockchain słabo skalują się. Na przykład przepustowość Ethereum wynosi zaledwie 20 transakcji na sekundę i mimo licznych zalet, nie nadaje się dla dużego biznesu.

Jednocześnie, Ethereum cenione jest za silną ochronę przed atakami i awariami sieci. Dlatego nie należy go skreślać. Warto raczej poprawić wady Ethereum i przekształcić je w zalety.

Publiczne testowanie rozwiązania dla prywatności i skalowalności w Ethereum na platformach chmurowych

Plasma Cash jako rozwiązanie dla prywatności i skalowalności w Ethereum

Plasma – technologia zaprezentowana przez Vitalika Buterina, współzałożyciela projektu Ethereum, na konferencji EthCC w Paryżu w 2018 roku. Została opracowana wspólnie z Joseph'em Poonem, współzałożycielem Lightning Network, i ogłoszona jako rozwiązanie zwiększające moc obliczeniową blockchaina Ethereum. Pierwsze wiadomości o Plazmie wyciekły do mediów w 2017 roku.

Platforma ta stanowi zewnętrzny poziom inteligentnych kontraktów, które mogą współdziałać z głównym blockchainem, odciążając tym samym główny łańcuch i zmniejszając opłaty transakcyjne za inteligentne kontrakty oraz zdecentralizowane aplikacje (DApps).

Szczegółowe informacje na temat rozwijania zostały przedstawione w dokumencie „Plasma: Skalable autonomiczne inteligentne kontrakty”, datowanym na sierpień 2017 roku.

Buterin przyznał, że Plasma ma własne problemy ze skalowalnością: każdy użytkownik musi ładować i weryfikować autentyczność każdego bloku Plasma, co uniemożliwia eksponencjalną skalowalność.

Aby rozwiązać ten problem, stworzono Plasma Cash — podłańcuch składający się z inteligentnego kontraktu i prywatnej sieci opartej na Node.js, która okresowo przesyła swoje stany do głównego łańcucha (Ethereum). Zapewnia ona decentralizację, bezpieczeństwo i skalowalność w blockchainie, rozwiązując w ten sposób Trójproblem Skalowalności.

Istotną zaletą Plasma Cash w porównaniu do Plazmy jest to, że przyciąga uwagę użytkowników tylko do tych bloków, które zawierają interesujące ich monety:

„Teraz użytkownicy muszą sprawdzać dostępność i poprawność łańcucha Plasma tylko dla specjalnego indeksu związane z monetami, które chcą wydać, którymi dysponują oraz które ich interesują” – powiedział Buterin.

Według deweloperów Plasma Cash jest skutecznym lekarstwem na włamania w Ethereum. Każda moneta Plasma ma swojego właściciela i jest unikalna. Nikt nie może przejąć monet innego użytkownika bez jego wiedzy. Posiadacz monety może zapobiec potencjalnemu oszustwu poprzez system „skarg”, przedstawiając swoje „dane dowodowe” w historii swojej monety.

Testowanie Plasma Cash w Mongo Atlas

Z powodu swojej nowości, Plasma Cash pozostaje do tej pory mało zbadana. Specjaliści od blockchaina aktywnie testują jej interakcje z różnymi usługami chmurowymi i bazami danych, rejestrują wady oraz znajdują metody ich naprawy. W szczególności testy w Mongo Atlas ujawniły następujące zalety w pracy z Plasma:

  1. Niezawodna ochrona przed utratą danych, ponieważ kilka replik synchronizujących się ze sobą w klastrze.
  2. Szybki dostęp, ponieważ klaster można zbudować na trzech najpopularniejszych platformach chmurowych: Amazon, Google, Azure. W rezultacie, węzeł Plasma Cash można wdrożyć w wielu centrach danych, które znajdują się blisko Mongo Atlas. Udało nam się udowodnić, że prędkość znacznie nie spada, nawet jeśli węzły Plasma wdrażane są w bardziej odległych centrach danych.
  3. Węzły Plasma, używane tylko w trybie odczytu, mogą być podłączone do jednego klastra Mongo i znajdować się w różnych częściach świata, co poprawia geo-skalowalność (węzły są bliżej użytkowników).
  4. Wdrożenie nowego węzła jest łatwe, ponieważ nie trzeba synchronizować wszystkiego od nowa. Można po prostu podłączyć się do istniejącego klastra Mongo lub szybko zrobić kopię i skonfigurować połączenie.
  5. Skalowanie bazy danych jest łatwe. Z biegiem czasu danych przybywa, a rozmiar węzłów w klastrze można zwiększać według potrzeb.

Publiczne testowanie rozwiązania dla prywatności i skalowalności w Ethereum na platformach chmurowych

Użyliśmy następujących serwerów do przeprowadzenia testów:

  • 3 wirtualne serwery Azure Standard E4s v3 (4 vcpus, 32 GiB pamięci). Na każdym serwerze uruchomiono 3 węzły. Jeden z nich może submitować bloki do głównego łańcucha.
  • Każdy węzeł jest podłączony do swojego klastra Mongo Atlas M50, który zawiera 3 węzły w trybie replikacji.

Test 1

3 węzły otrzymują po 100k transakcji. W sumie, we wszystkich 9 węzłach znajduje się 300k transakcji i tokenów.

Odtwarzaj wideo

Stan początkowy: ostatni blok #213; w bazie zapisano 0 transakcji i tokenów.

00:00 — Uruchomiono 3 skrypty, które generują i wysyłają po 100k transakcji
00:29 — Rozpoczęto wysyłanie po 100k transakcji do węzłów #1 i #2
00:32 — Rozpoczęto wysyłanie 100k transakcji do węzła #3
00:32 — Węzeł #1 pobrał z puli 11703 transakcji i formuje blok #214 (9fb)
00:34 — Węzeł #2 pobrał z puli 27088 transakcji i formuje blok #214 (ef4)
00:34 — Blok #214 (9fb) podpisany i wysyłany do innych węzłów w celu walidacji
00:36 — Węzeł #3 pobrał z puli 11900 transakcji i formuje blok #214 (983)
00:37 — Blok #214 (9fb) zwalidowany i wysłany do głównego łańcucha
00:38 — Blok #214 (983) podpisany i wysyłany do innych węzłów w celu walidacji
00:38 — Blok #214 (ef4) podpisany i wysyłany do innych węzłów w celu walidacji
00:40 — Blok #214 (983) zwalidowany i wysłany do głównego łańcucha
00:41 — Wszystkie węzły otrzymały z głównego łańcucha informację, że blok #214 (9fb) został dodany i zaczynają stosować 11703 transakcji
00:45 — Wszystkie węzły otrzymały z głównego łańcucha informację, że blok #215 (983) został dodany i zaczynają stosować 11900 transakcji
00:51 — Blok #214 (ef4) zwalidowany i wysłany do głównego łańcucha
00:52 — Węzeł #1 pobrał z puli 51469 transakcji i formuje blok #216 (ea0)
00:56 — Węzeł #3 pobrał z puli 55102 transakcji i formuje blok #216 (f75)
00:58 — Skrypt demo zakończył swoją pracę dla węzła #2
00:58 — Blok #216 (ea0) podpisany i wysyłany do innych węzłów w celu walidacji
00:58 — Wszystkie węzły otrzymały z głównego łańcucha informację, że blok #216 (ef4) został dodany i zaczynają stosować 27088 transakcji
01:04 — Blok #216 (f75) podpisany i wysyłany do innych węzłów w celu walidacji
01:14 — Węzeł #2 pobrał z puli 72912 transakcji i formuje blok #217 (f85)
01:15 — Skrypt demo zakończył swoją pracę dla węzła #1 i #2
01:17 — Bloki #216 (f75) i #216 (ea0) zwalidowane i wysłane do głównego łańcucha
01:21 — Blok #217 (f85) podpisany i wysyłany do innych węzłów w celu walidacji
01:26 — Bloki #217 (f75) i #218 (ea0) dodane do głównego łańcucha i węzły zaczynają stosować 51469 i 55102 transakcji odpowiednio
01:27 — Blok #217 (a85) zwalidowany i wysłany do głównego łańcucha
01:41 — Węzeł #1 pobrał z puli 36828 transakcji i formuje blok #219 (46f)
01:41 — Węzeł #3 pobrał z puli 32998 transakcji i formuje blok #219 (bb3)
01:43 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #219 (a85) został dodany i zaczynają przetwarzać 72912 transakcji
01:46 — Blok #219 (46f) został podpisany i wysyłany do innych węzłów do walidacji
01:46 — Blok #219 (bb3) został podpisany i wysyłany do innych węzłów do walidacji
01:53 — Węzeł #2 przetworzył wszystkie 100k transakcji, które były w puli
02:37 — Blok #219 (bb3) został zwalidowany i wysłany do łańcucha głównego
02:41 — Blok #219 (46f) został zwalidowany i wysłany do łańcucha głównego
02:48 — Bloki #220 (bb3) i #221 (46f) zostały dodane do łańcucha głównego, a węzły zaczynają przetwarzać odpowiednio 32998 i 36828 transakcji
02:54 — Węzeł #1 przetworzył wszystkie 100k transakcji, które były w puli
02:55 — Węzeł #3 przetworzył wszystkie 100k transakcji, które były w puli
04:12 — Wszystkie węzły zawierają po 300k transakcji i tokenów ostatni blok #221

Test 2

3 węzły otrzymują po 1kk transakcji. W sumie we wszystkich 9 węzłach znajduje się 3kk transakcji i tokenów.

Odtwarzaj wideo

Stan początkowy: ostatni blok #213; w bazie zapisano 0 transakcji i tokenów.

00:00 — Uruchomiono 3 skrypty, które generują i wysyłają po 1kk transakcji
02:29 — Rozpoczęto wysyłanie po 1kk transakcji do węzłów #1 i #2
02:33 — Węzeł #1 wziął z puli 11668 transakcji i formuje blok #222 (510)
02:35 — Blok #222 (510) został podpisany i wysyłany do innych węzłów do walidacji
02:37 — Blok #222 (510) został zwalidowany i wysłany do łańcucha głównego
02:38 — Węzeł #2 wziął z puli 46378 transakcji i formuje blok #222 (a9d)
02:38 — Rozpoczęto wysyłanie 1kk transakcji do węzła #3
02:41 — Węzeł #3 wziął z puli 5504 transakcji i formuje blok #222 (387)
02:42 — Blok #222 (387) został podpisany i wysyłany do innych węzłów do walidacji
02:44 — Blok #222 (a9d) został podpisany i wysyłany do innych węzłów do walidacji
02:44 — Blok #222 (387) został zwalidowany i wysłany do łańcucha głównego
02:49 — Blok #222 (a9d) został zwalidowany i wysłany do łańcucha głównego
02:56 — Bloki #222 (510) #223 (387) i #224 (a9d) zostały dodane do łańcucha głównego, a węzły zaczynają przetwarzać odpowiednio 11668, 5504 i 46378 transakcji
03:09 — Węzeł #1 wziął z puli 177170 transakcji i formuje blok #225 (e50)
03:09 — Węzeł #3 wziął z puli 119327 transakcji i formuje blok #225 (ccc)
03:10 — Węzeł #2 wziął z puli 149772 transakcji i formuje blok #225 (404)
03:26 — Blok #225 (ccc) został podpisany i wysyłany do innych węzłów do walidacji
03:32 — Blok #225 (404) został podpisany i wysyłany do innych węzłów do walidacji
03:33 — Blok #225 (e50) został podpisany i wysyłany do innych węzłów do walidacji
03:53 — Blok #225 (ccc) został zwalidowany i wysłany do łańcucha głównego
04:03 — Blok #225 (e50) został zweryfikowany i wysłany do łańcucha głównego
04:04 — Blok #225 (404) został zweryfikowany i wysłany do łańcucha głównego
04:06 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #225 (ccc) został dodany i zaczynają stosować 119327 transakcji
04:14 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #226 (404) został dodany i zaczynają stosować 149772 transakcji
04:16 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #227 (e50) został dodany i zaczynają stosować 177170 transakcji
04:32 — Węzeł #3 pobrał z puli 209436 transakcji i formuje blok #228 (1e9)
04:40 — Węzeł #2 pobrał z puli 212669 transakcji i formuje blok #228 (e38)
04:40 — Węzeł #1 pobrał z puli 190144 transakcji i formuje blok #228 (861)
05:02 — Blok #228 (1e9) został podpisany i wysyłany do innych węzłów na weryfikację
05:08 — Blok #228 (861) został podpisany i wysyłany do innych węzłów na weryfikację
05:10 — Blok #228 (e38) został podpisany i wysyłany do innych węzłów na weryfikację
06:13 — Blok #228 (1e9) został zweryfikowany i wysłany do łańcucha głównego
06:13 — Blok #228 (861) został zweryfikowany i wysłany do łańcucha głównego
06:13 — Blok #228 (e38) został zweryfikowany i wysłany do łańcucha głównego
06:39 — Bloki #228 (861) #229 (1e9) i #230 (e38) zostały dodane do łańcucha głównego, a węzły zaczynają stosować odpowiednio 190144, 209436 i 212669 transakcji
07:07 — Węzeł #1 pobrał z puli 199770 transakcji i formuje blok #231 (e04)
07:09 — Węzeł #2 pobrał z puli 190473 transakcji i formuje blok #231 (36e)
07:09 — Węzeł #3 pobrał z puli 178807 transakcji i formuje blok #231 (f43)
07:34 — Blok #231 (e04) został podpisany i wysyłany do innych węzłów na weryfikację
07:37 — Blok #231 (36e) został podpisany i wysyłany do innych węzłów na weryfikację
07:37 — Blok #231 (f43) został podpisany i wysyłany do innych węzłów na weryfikację
08:49 — Blok #231 (e04) został zweryfikowany i wysłany do łańcucha głównego
08:51 — Blok #231 (f43) został zweryfikowany i wysłany do łańcucha głównego
08:52 — Blok #231 (36e) został zweryfikowany i wysłany do łańcucha głównego
09:47 — Bloki #231 (e04) #232 (f43) i #233 (36e) zostały dodane do łańcucha głównego, a węzły zaczynają stosować odpowiednio 199770, 178807 i 190473 transakcji
10:16 — Węzeł #1 pobrał z puli 153075 transakcji i formuje blok #234 (e04)
10:16 — Węzeł #2 pobrał z puli 168035 transakcji i formuje blok #234 (36e)
10:16 — Węzeł #3 pobrał z puli 166685 transakcji i formuje blok #234 (f43)
10:42 — Blok #234 (56d) został podpisany i wysyłany do innych węzłów na weryfikację
11:59 — Blok #234 (1bb) został zwalidowany i wysłany do głównego łańcucha
12:02 — Blok #234 (58a) został zwalidowany i wysłany do głównego łańcucha
12:02 — Blok #234 (56d) został zwalidowany i wysłany do głównego łańcucha
12:48 — Bloki #234 (1bb), #235 (58a) i #236 (56d) zostały dodane do głównego łańcucha, a węzły zaczynają przetwarzać odpowiednio 153075, 168035 i 166685 transakcji
13:14 — Węzeł #1 pobrał z puli 112226 transakcji i formuje blok #237 (5c0)
13:16 — Węzeł #2 pobrał z puli 87550 transakcji i formuje blok #234 (58a)
13:16 — Węzeł #3 pobrał z puli 99594 transakcji i formuje blok #234 (56d)
13:30 — Blok #237 (5c0) został podpisany i wysyłany do innych węzłów do walidacji
13:32 — Blok #237 (58a) został podpisany i wysyłany do innych węzłów do walidacji
13:34 — Blok #237 (56d) został podpisany i wysyłany do innych węzłów do walidacji
14:47 — Blok #237 (58a) został zwalidowany i wysłany do głównego łańcucha
14:53 — Blok #237 (5c0) nie został zwalidowany w wyznaczonym czasie
14:53 — Wszystkie węzły otrzymały z głównego łańcucha informacje, że blok #237 (58a) został dodany i zaczynają przetwarzać 87550 transakcji
14:54 — Blok #237 (56d) został zwalidowany i wysłany do głównego łańcucha
15:02 — Węzeł #1 pobrał z puli 181206 transakcji i formuje blok #238 (c5f)
15:06 — Wszystkie węzły otrzymały z głównego łańcucha informacje, że blok #238 (56d) został dodany i zaczynają przetwarzać 99594 transakcji
15:12 — Węzeł #2 pobrał z puli 51990 transakcji i formuje blok #239 (ad8)
15:20 — Blok #239 (ad8) został podpisany i wysyłany do innych węzłów do walidacji
15:25 — Węzeł #3 pobrał z puli 46685 transakcji i formuje blok #239 (857)
15:30 — Blok #238 (c5f) został podpisany i wysyłany do innych węzłów do walidacji
15:34 — Blok #239 (857) został podpisany i wysyłany do innych węzłów do walidacji
16:32 — Blok #239 (857) został zwalidowany i wysłany do głównego łańcucha
16:42 — Wszystkie węzły otrzymały z głównego łańcucha informacje, że blok #239 (857) został dodany i zaczynają przetwarzać 46685 transakcji
16:42 — Blok #238 (c5f) został zwalidowany i wysłany do głównego łańcucha
16:42 — Blok #239 (ad8) nie został zwalidowany w wyznaczonym czasie
16:54 — Węzeł #2 pobrał z puli 96882 transakcji i formuje blok #240 (e6e)
16:56 — Węzeł #3 pobrał z puli 39704 transakcji i formuje blok #240 (a47)
17:02 — Blok #240 (a47) został podpisany i wysyłany do innych węzłów do walidacji
17:02 — Blok #240 (e6e) został podpisany i wysyłany do innych węzłów do walidacji
17:18 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #240 (c5f) został dodany i zaczynają przetwarzać 181206 transakcji
17:45 — Blok #240 (a47) został zweryfikowany i wysłany do łańcucha głównego
17:47 — Węzeł #1 pobrał z puli 54956 transakcji i formuje blok #241 (170)
17:59 — Blok #241 (170) został podpisany i wysyłany do innych węzłów do weryfikacji
18:09 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #241 (a47) został dodany i zaczynają przetwarzać 181206 transakcji
18:20 — Węzeł #3 pobrał z puli 39104 transakcji i formuje blok #242 (955)
18:24 — Blok #240 (e6e) został zweryfikowany i wysłany do łańcucha głównego
18:28 — Blok #242 (955) został podpisany i wysyłany do innych węzłów do weryfikacji
18:09 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #242 (e6e) został dodany i zaczynają przetwarzać 96882 transakcji
19:06 — Skrypt demo zakończył swoją pracę dla węzła #1
19:08 — Skrypt demo zakończył swoją pracę dla węzła #2
19:08 — Węzeł #2 pobrał z puli 48241 transakcji i formuje blok #243 (fde)
19:14 — Blok #243 (fde) został podpisany i wysyłany do innych węzłów do weryfikacji
19:18 — Blok #241 (170) nie został zweryfikowany w wyznaczonym czasie
19:28 — Węzeł #1 pobrał z puli 86967 transakcji i formuje blok #243 (37c)
19:35 — Blok #242 (955) został zweryfikowany i wysłany do łańcucha głównego
19:40 — Blok #243 (37c) został podpisany i wysyłany do innych węzłów do weryfikacji
20:05 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #243 (955) został dodany i zaczynają przetwarzać 39104 transakcji
20:15 — Blok #243 (fde) został zweryfikowany i wysłany do łańcucha głównego
20:19 — Węzeł #3 pobrał z puli 42981 transakcji i formuje blok #244 (9b5)
20:26 — Blok #244 (9b5) został podpisany i wysyłany do innych węzłów do weryfikacji
20:28 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #244 (fde) został dodany i zaczynają przetwarzać 48241 transakcji
20:32 — Węzeł #2 przetworzył wszystkie 1k transakcji, które były w puli
21:05 — Blok #243 (37c) nie został zweryfikowany w wyznaczonym czasie
21:15 — Węzeł #1 pobrał z puli 86967 transakcji i formuje blok #245 (37c)
21:32 — Blok #245 (37c) został podpisany i wysyłany do innych węzłów do weryfikacji
21:42 — Blok #244 (9b5) został zweryfikowany i wysłany do łańcucha głównego
21:50 — Wszystkie węzły otrzymały z łańcucha głównego informację, że blok #245 (9b5) został dodany i zaczynają przetwarzać 42981 transakcji
22:04 — Węzeł #3 pobrał z puli 45361 transakcji i formuje blok #246 (3f9)
22:11 — Blok #246 (3f9) został podpisany i wysyłany do innych węzłów do walidacji
22:51 — Blok #245 (37c) nie został zwalidowany w wyznaczonym czasie
23:01 — Węzeł #1 pobrał z puli 86967 transakcji i formuje blok #246 (37c)
23:08 — Skrypt demo zakończył swoją pracę dla węzła #3
23:15 — Blok #246 (37c) został podpisany i wysyłany do innych węzłów do walidacji
23:32 — Blok #246 (3f9) nie został zwalidowany w wyznaczonym czasie
23:42 — Węzeł #3 pobrał z puli 52173 transakcji i formuje blok #246 (71d)
23:51 — Blok #246 (71d) został podpisany i wysyłany do innych węzłów do walidacji
24:38 — Blok #246 (37c) nie został zwalidowany w wyznaczonym czasie
25:01 — Węzeł #1 pobrał z puli 86967 transakcji i formuje blok #246 (37c)
25:06 — Blok #246 (71d) został zwalidowany i wysłany do głównego łańcucha
25:12 — Blok #246 (37c) został podpisany i wysyłany do innych węzłów do walidacji
25:14 — Wszystkie węzły otrzymały z głównego łańcucha informację, że blok #246 (71d) został dodany i zaczynają stosować 52173 transakcji
25:29 — Węzeł #3 przetworzył wszystkie 1kk transakcji, które były w puli
26:40 — Blok #247 (37c) nie został zwalidowany w wyznaczonym czasie
26:47 — Węzeł #1 pobrał z puli 86967 transakcji i formuje blok #247 (37c)
27:03 — Blok #247 (37c) został podpisany i wysyłany do innych węzłów do walidacji
28:29 — Blok #247 (37c) nie został zwalidowany w wyznaczonym czasie
28:35 — Węzeł #1 pobrał z puli 86967 transakcji i formuje blok #247 (37c)
28:49 — Blok #247 (37c) został podpisany i wysyłany do innych węzłów do walidacji
30:13 — Blok #247 (37c) nie został zwalidowany w wyznaczonym czasie
30:23 — Węzeł #1 pobrał z puli 86967 transakcji i formuje blok #247 (37c)
30:38 — Blok #247 (37c) został podpisany i wysyłany do innych węzłów do walidacji
32:00 — Blok #247 (37c) nie został zwalidowany w wyznaczonym czasie
32:11 — Węzeł #1 pobrał z puli 86967 transakcji i formuje blok #247 (37c)
32:26 — Blok #247 (37c) został podpisany i wysyłany do innych węzłów do walidacji
33:49 — Blok #247 (37c) nie został zwalidowany w wyznaczonym czasie
33:59 — Węzeł #1 pobrał z puli 86967 transakcji i formuje blok #247 (37c)
34:12 — Blok #247 (37c) został podpisany i wysyłany do innych węzłów do walidacji
35:34 — Blok #247 (37c) został zwalidowany i wysłany do głównego łańcucha
35:54 — Wszystkie węzły otrzymały z głównego łańcucha informację, że blok #247 (37c) został dodany i zaczynają stosować 86967 transakcji
36:11 — Węzeł #1 przetworzył wszystkie 1kk transakcji, które były w puli
55:12 — pierwszy węzeł przetworzył wszystkie 3kk transakcji

Publiczne testowanie rozwiązania dla prywatności i skalowalności w Ethereum na platformach chmurowych

Podsumowanie

Stwierdzono, że wirtualne serwery Azure mają niewystarczającą moc procesora do przetwarzania tak dużej liczby transakcji. Jednak z głównym celem testów, jakim było zaprezentowanie działania Plasma Cash z MongoDB, system poradził sobie dobrze.

Zapraszamy do odwiedzenia GitHub projekcie: https://github.com/opporty-com/Plasma-Cash/tree/new-version

Artykuł został napisany we współpracy z Aleksandrem Naszivanem, starszym programistą Clever Solution Inc.

Wcześniej zespół deweloperów Opporty już testował prędkość Plasma Cash. Wyniki zostały przedstawione w tym artykule.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster