Test pubblico di una soluzione per la privacy e la scalabilità su Ethereum su piattaforme cloud

Il trend della blockchain continua a guadagnare slancio. Sempre più esperti prevedono un'adozione universale di questa tecnologia in un prossimo futuro. Attualmente, ci sono ancora diverse questioni irrisolte che ostacolano questo processo.

In primo luogo, i moderni sistemi blockchain non sono ben scalabili. Ad esempio, la capacità di Ethereum è di sole 20 transazioni al secondo e, nonostante i numerosi vantaggi, non è adatto per le grandi imprese.

Tuttavia, Ethereum è apprezzato per la sua potente protezione contro gli attacchi e le interruzioni di rete. Pertanto, non dovrebbe essere completamente scartato. È molto più sensato correggere le debolezze di Ethereum e trasformarle in vantaggi.

Test pubblico di una soluzione per la privacy e la scalabilità su Ethereum su piattaforme cloud

Plasma Cash come soluzione per la privacy e la scalabilità in Ethereum

Plasma è una tecnologia presentata da Vitalik Buterin, co-fondatore del progetto Ethereum, alla conferenza EthCC a Parigi nel 2018. È stata sviluppata insieme a Joseph Poon, co-fondatore della Lightning Network, ed è stata dichiarata una soluzione per aumentare la potenza di calcolo della blockchain di Ethereum. Le prime notizie su Plasma sono trapelate nei media nel 2017.

Questa piattaforma rappresenta un livello esterno di smart contract, capace di interagire con la blockchain principale, alleggerendo così la catena principale, riducendo le commissioni di transazione per smart contract e applicazioni decentralizzate (DApps).

Maggiore informazione sullo sviluppo è stata esposta nel documento «Plasma: Scalable Autonomous Smart Contracts», datato agosto 2017.

Buterin ha ammesso che Plasma presenta problemi di scalabilità: ogni utente deve caricare e verificare l'autenticità di ogni blocco Plasma, il che impedisce una scalabilità esponenziale.

Per risolvere questa mancanza, è stata sviluppata Plasma Cash: una sidechain composta da uno smart contract e una rete privata basata su Node.js, che trasferisce periodicamente il proprio stato alla catena principale (Ethereum). Essa assicura decentralizzazione, sicurezza e scalabilità nella blockchain, risolvendo così la Trilemma della Scalabilità.

Un importante vantaggio di Plasma Cash rispetto a Plasma è che essa attira l'attenzione degli utenti solo sui blocchi che contengono le monete di loro interesse:

«Ora gli utenti devono verificare la disponibilità e la correttezza della catena Plasma solo per un indice specifico correlato alle monete che vogliono spendere, possiedono e che li interessano», ha detto Buterin.

Secondo gli sviluppatori, Plasma Cash è un rimedio efficace contro gli attacchi su Ethereum. Ogni moneta Plasma ha un proprietario ed è unica. Nessuno può appropriarsi delle monete di un altro utente senza il suo consenso. Il detentore della moneta può prevenire un potenziale prelievo fraudolento attraverso un sistema di «denunce», presentando le proprie «prove di dati» nella cronologia della sua moneta.

Test di Plasma Cash in Mongo Atlas

A causa della sua novità, Plasma Cash rimane ancora poco esplorato. Gli esperti di blockchain stanno attivamente testando la sua interazione con vari servizi cloud e database, registrando difetti e trovando modi per risolverli. In particolare, i test in Mongo Atlas hanno rivelato i seguenti vantaggi nell'utilizzo di Plasma:

  1. Affidabile protezione contro la perdita di dati, grazie a più repliche che si sincronizzano tra loro nel cluster.
  2. Accesso rapido, in quanto il cluster può essere creato su tre delle piattaforme cloud più popolari: Amazon, Google, Azure. Di conseguenza, un nodo Plasma può essere distribuito in molti data center vicini a Mongo Atlas. È stato dimostrato che la velocità non diminuisce significativamente, anche se i nodi Plasma vengono distribuiti in data center più lontani.
  3. I nodi Plasma utilizzati solo in modalità lettura possono essere connessi a un unico cluster Mongo e situati in diverse parti del mondo, il che migliora la geo-scalabilità (i nodi si trovano più vicini agli utenti).
  4. Distribuire un nuovo nodo è facile, poiché non è necessario sincronizzare tutto da capo. Può semplicemente collegarsi a un cluster Mongo esistente o creare rapidamente una copia e configurare la connessione ad esso.
  5. Scalare il database è semplice. Col passare del tempo, i dati crescono e si può aumentare la dimensione dei nodi nel cluster secondo necessità.

Test pubblico di una soluzione per la privacy e la scalabilità su Ethereum su piattaforme cloud

Abbiamo utilizzato i seguenti server per i test:

  • 3 server virtuali Azure Standard E4s v3 (4 vcpus, 32 GiB di memoria). Su ciascun server sono stati attivati 3 nodi. Uno di essi può inviare blocchi alla catena principale.
  • Ogni nodo è connesso al proprio cluster Mongo Atlas M50, contenente 3 nodi in modalità replica.

Test 1

3 nodi ricevono 100k transazioni ciascuno. In totale, in tutti e 9 i nodi ci sono 300k transazioni e token.

Riproduci video

Stato iniziale: ultimo blocco #213; nel database sono salvate 0 transazioni e token.

00:00 — Sono stati avviati 3 script che generano e inviano 100k transazioni ciascuno
00:29 — Inviate 100k transazioni ai nodi #1 e #2
00:32 — Inviate 100k transazioni al nodo #3
00:32 — Il nodo #1 ha preso dal pool 11703 transazioni e sta formando il blocco #214 (9fb)
00:34 — Il nodo #2 ha preso dal pool 27088 transazioni e sta formando il blocco #214 (ef4)
00:34 — Il blocco #214 (9fb) è stato firmato e inviato ad altri nodi per la validazione
00:36 — Il nodo #3 ha preso dal pool 11900 transazioni e sta formando il blocco #214 (983)
00:37 — Il blocco #214 (9fb) è stato convalidato e inviato alla catena principale
00:38 — Il blocco #214 (983) è stato firmato e inviato ad altri nodi per la validazione
00:38 — Il blocco #214 (ef4) è stato firmato e inviato ad altri nodi per la validazione
00:40 — Il blocco #214 (983) è stato convalidato e inviato alla catena principale
00:41 — Tutti i nodi hanno ricevuto dalla catena principale informazioni che il blocco #214 (9fb) è stato aggiunto e iniziano ad applicare 11703 transazioni
00:45 — Tutti i nodi hanno ricevuto dalla catena principale informazioni che il blocco #215 (983) è stato aggiunto e iniziano ad applicare 11900 transazioni
00:51 — Il blocco #214 (ef4) è stato convalidato e inviato alla catena principale
00:52 — Il nodo #1 ha preso dal pool 51469 transazioni e sta formando il blocco #216 (ea0)
00:56 — Il nodo #3 ha preso dal pool 55102 transazioni e sta formando il blocco #216 (f75)
00:58 — Lo script demo ha terminato il suo lavoro per il nodo #2
00:58 — Il blocco #216 (ea0) è stato firmato e inviato ad altri nodi per la validazione
00:58 — Tutti i nodi hanno ricevuto dalla catena principale informazioni che il blocco #216 (ef4) è stato aggiunto e iniziano ad applicare 27088 transazioni
01:04 — Il blocco #216 (f75) è stato firmato e inviato ad altri nodi per la validazione
01:14 — Il nodo #2 ha preso dal pool 72912 transazioni e sta formando il blocco #217 (f85)
01:15 — Lo script demo ha terminato il suo lavoro per i nodi #1 e #2
01:17 — I blocchi #216 (f75) e #216 (ea0) sono stati convalidati e inviati alla catena principale
01:21 — Il blocco #217 (f85) è stato firmato e inviato ad altri nodi per la validazione
01:26 — I blocchi #217 (f75) e #218 (ea0) sono stati aggiunti alla catena principale e i nodi iniziano ad applicare 51469 e 55102 transazioni rispettivamente
01:27 — Il blocco #217 (a85) è stato convalidato e inviato alla catena principale
01:41 — Il nodo #1 ha preso dal pool 36828 transazioni e sta formando il blocco #219 (46f)
01:41 — Il nodo #3 ha preso dal pool 32998 transazioni e sta formando il blocco #219 (bb3)
01:43 — Tutti i nodi hanno ricevuto dalla catena principale informazioni che il blocco #219 (a85) è stato aggiunto e iniziano ad applicare 72912 transazioni
01:46 — Il blocco #219 (46f) è stato firmato e inviato ad altri nodi per la validazione
01:46 — Il blocco #219 (bb3) è stato firmato e inviato ad altri nodi per la validazione
01:53 — Il nodo #2 ha elaborato tutte le 100k transazioni che erano nel pool
02:37 — Il blocco #219 (bb3) è stato convalidato e inviato alla catena principale
02:41 — Il blocco #219 (46f) è stato convalidato e inviato alla catena principale
02:48 — I blocchi #220 (bb3) e #221 (46f) sono stati aggiunti alla catena principale e i nodi iniziano ad applicare 32998 e 36828 transazioni rispettivamente
02:54 — Il nodo #1 ha elaborato tutte le 100k transazioni che erano nel pool
02:55 — Il nodo #3 ha elaborato tutte le 100k transazioni che erano nel pool
04:12 — Tutti i nodi contengono 300k transazioni e token, ultimo blocco #221

Test 2

3 nodi ricevono 1kk transazioni ciascuno. In totale, ci sono 3kk transazioni e token in tutti e 9 i nodi.

Riproduci video

Stato iniziale: ultimo blocco #213; nel database sono salvate 0 transazioni e token.

00:00 — Sono stati avviati 3 script che generano e inviano 1kk transazioni ciascuno
02:29 — Inviate 1kk transazioni ai nodi #1 e #2
02:33 — Il nodo #1 ha preso dal pool 11668 transazioni e sta formando il blocco #222 (510)
02:35 — Il blocco #222 (510) è stato firmato e inviato ad altri nodi per la validazione
02:37 — Il blocco #222 (510) è stato convalidato e inviato alla catena principale
02:38 — Il nodo #2 ha preso dal pool 46378 transazioni e sta formando il blocco #222 (a9d)
02:38 — Inviata 1kk transazioni al nodo #3
02:41 — Il nodo #3 ha preso dal pool 5504 transazioni e sta formando il blocco #222 (387)
02:42 — Il blocco #222 (387) è stato firmato e inviato ad altri nodi per la validazione
02:44 — Il blocco #222 (a9d) è stato firmato e inviato ad altri nodi per la validazione
02:44 — Il blocco #222 (387) è stato convalidato e inviato alla catena principale
02:49 — Il blocco #222 (a9d) è stato convalidato e inviato alla catena principale
02:56 — I blocchi #222 (510), #223 (387) e #224 (a9d) sono stati aggiunti alla catena principale e i nodi iniziano ad applicare 11668, 5504 e 46378 transazioni rispettivamente
03:09 — Il nodo #1 ha preso dal pool 177170 transazioni e sta formando il blocco #225 (e50)
03:09 — Il nodo #3 ha preso dal pool 119327 transazioni e sta formando il blocco #225 (ccc)
03:10 — Il nodo #2 ha preso dal pool 149772 transazioni e sta formando il blocco #225 (404)
03:26 — Il blocco #225 (ccc) è stato firmato e inviato ad altri nodi per la validazione
03:32 — Il blocco #225 (404) è stato firmato e inviato ad altri nodi per la validazione
03:33 — Il blocco #225 (e50) è stato firmato e inviato ad altri nodi per la validazione
03:53 — Il blocco #225 (ccc) è stato convalidato e inviato alla catena principale
04:03 — Il blocco #225 (e50) è stato convalidato e inviato alla catena principale
04:04 — Blocco #225 (404) convalidato e inviato alla catena principale
04:06 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #225 (ccc) è stato aggiunto e iniziano ad applicare 119327 transazioni
04:14 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #226 (404) è stato aggiunto e iniziano ad applicare 149772 transazioni
04:16 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #227 (e50) è stato aggiunto e iniziano ad applicare 177170 transazioni
04:32 — Il nodo #3 ha prelevato dal pool 209436 transazioni e sta formando il blocco #228 (1e9)
04:40 — Il nodo #2 ha prelevato dal pool 212669 transazioni e sta formando il blocco #228 (e38)
04:40 — Il nodo #1 ha prelevato dal pool 190144 transazioni e sta formando il blocco #228 (861)
05:02 — Il blocco #228 (1e9) è stato firmato e inviato agli altri nodi per la convalida
05:08 — Il blocco #228 (861) è stato firmato e inviato agli altri nodi per la convalida
05:10 — Il blocco #228 (e38) è stato firmato e inviato agli altri nodi per la convalida
06:13 — Il blocco #228 (1e9) è stato convalidato e inviato alla catena principale
06:13 — Il blocco #228 (861) è stato convalidato e inviato alla catena principale
06:13 — Il blocco #228 (e38) è stato convalidato e inviato alla catena principale
06:39 — I blocchi #228 (861), #229 (1e9) e #230 (e38) sono stati aggiunti alla catena principale e i nodi iniziano ad applicare rispettivamente 190144, 209436 e 212669 transazioni
07:07 — Il nodo #1 ha prelevato dal pool 199770 transazioni e sta formando il blocco #231 (e04)
07:09 — Il nodo #2 ha prelevato dal pool 190473 transazioni e sta formando il blocco #231 (36e)
07:09 — Il nodo #3 ha prelevato dal pool 178807 transazioni e sta formando il blocco #231 (f43)
07:34 — Il blocco #231 (e04) è stato firmato e inviato agli altri nodi per la convalida
07:37 — Il blocco #231 (36e) è stato firmato e inviato agli altri nodi per la convalida
07:37 — Il blocco #231 (f43) è stato firmato e inviato agli altri nodi per la convalida
08:49 — Il blocco #231 (e04) è stato convalidato e inviato alla catena principale
08:51 — Il blocco #231 (f43) è stato convalidato e inviato alla catena principale
08:52 — Il blocco #231 (36e) è stato convalidato e inviato alla catena principale
09:47 — I blocchi #231 (e04), #232 (f43) e #233 (36e) sono stati aggiunti alla catena principale e i nodi iniziano ad applicare rispettivamente 199770, 178807 e 190473 transazioni
10:16 — Il nodo #1 ha prelevato dal pool 153075 transazioni e sta formando il blocco #234 (e04)
10:16 — Il nodo #2 ha prelevato dal pool 168035 transazioni e sta formando il blocco #234 (36e)
10:16 — Il nodo #3 ha prelevato dal pool 166685 transazioni e sta formando il blocco #234 (f43)
10:42 — Il blocco #234 (56d) è stato firmato e inviato agli altri nodi per la convalida
11:59 — Il blocco #234 (1bb) è stato convalidato e inviato alla catena principale
12:02 — Il blocco #234 (58a) è stato convalidato e inviato alla catena principale
12:02 — Il blocco #234 (56d) è stato convalidato e inviato alla catena principale
12:48 — I blocchi #234 (1bb), #235 (58a) e #236 (56d) sono stati aggiunti alla catena principale e i nodi iniziano ad applicare rispettivamente 153075, 168035 e 166685 transazioni
13:14 — Il nodo #1 ha prelevato dal pool 112226 transazioni e sta formando il blocco #237 (5c0)
13:16 — Il nodo #2 ha prelevato dal pool 87550 transazioni e sta formando il blocco #234 (58a)
13:16 — Il nodo #3 ha prelevato dal pool 99594 transazioni e sta formando il blocco #234 (56d)
13:30 — Il blocco #237 (5c0) è stato firmato e inviato agli altri nodi per la convalida
13:32 — Il blocco #237 (58a) è stato firmato e inviato agli altri nodi per la convalida
13:34 — Il blocco #237 (56d) è stato firmato e inviato agli altri nodi per la convalida
14:47 — Il blocco #237 (58a) è stato convalidato e inviato alla catena principale
14:53 — Il blocco #237 (5c0) non è stato convalidato nel tempo previsto
14:53 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #237 (58a) è stato aggiunto e iniziano ad applicare 87550 transazioni
14:54 — Il blocco #237 (56d) è stato convalidato e inviato alla catena principale
15:02 — Il nodo #1 ha prelevato dal pool 181206 transazioni e sta formando il blocco #238 (c5f)
15:06 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #238 (56d) è stato aggiunto e iniziano ad applicare 99594 transazioni
15:12 — Il nodo #2 ha prelevato dal pool 51990 transazioni e sta formando il blocco #239 (ad8)
15:20 — Il blocco #239 (ad8) è stato firmato e inviato agli altri nodi per la convalida
15:25 — Il nodo #3 ha prelevato dal pool 46685 transazioni e sta formando il blocco #239 (857)
15:30 — Il blocco #238 (c5f) è stato firmato e inviato agli altri nodi per la convalida
15:34 — Il blocco #239 (857) è stato firmato e inviato agli altri nodi per la convalida
16:32 — Il blocco #239 (857) è stato convalidato e inviato alla catena principale
16:42 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #239 (857) è stato aggiunto e iniziano ad applicare 46685 transazioni
16:42 — Il blocco #238 (c5f) è stato convalidato e inviato alla catena principale
16:42 — Il blocco #239 (ad8) non è stato convalidato nel tempo previsto
16:54 — Il nodo #2 ha prelevato dal pool 96882 transazioni e sta formando il blocco #240 (e6e)
16:56 — Il nodo #3 ha prelevato dal pool 39704 transazioni e sta formando il blocco #240 (a47)
17:02 — Il blocco #240 (a47) è stato firmato e inviato agli altri nodi per la convalida
17:02 — Il blocco #240 (e6e) è stato firmato e inviato agli altri nodi per la convalida
17:18 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #240 (c5f) è stato aggiunto e iniziano ad applicare 181206 transazioni
17:45 — Blocco #240 (a47) validato e inviato alla catena principale
17:47 — Nodo #1 ha prelevato 54956 transazioni dal pool e sta formando il blocco #241 (170)
17:59 — Blocco #241 (170) firmato e inviato agli altri nodi per validazione
18:09 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #241 (a47) è stato aggiunto e iniziano ad applicare 181206 transazioni
18:20 — Nodo #3 ha prelevato 39104 transazioni dal pool e sta formando il blocco #242 (955)
18:24 — Blocco #240 (e6e) validato e inviato alla catena principale
18:28 — Blocco #242 (955) firmato e inviato agli altri nodi per validazione
18:09 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #242 (e6e) è stato aggiunto e iniziano ad applicare 96882 transazioni
19:06 — Lo script demo ha terminato il suo lavoro per il nodo #1
19:08 — Lo script demo ha terminato il suo lavoro per il nodo #2
19:08 — Nodo #2 ha prelevato 48241 transazioni dal pool e sta formando il blocco #243 (fde)
19:14 — Blocco #243 (fde) firmato e inviato agli altri nodi per validazione
19:18 — Blocco #241 (170) non è stato validato entro il tempo specificato
19:28 — Nodo #1 ha prelevato 86967 transazioni dal pool e sta formando il blocco #243 (37c)
19:35 — Blocco #242 (955) validato e inviato alla catena principale
19:40 — Blocco #243 (37c) firmato e inviato agli altri nodi per validazione
20:05 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #243 (955) è stato aggiunto e iniziano ad applicare 39104 transazioni
20:15 — Blocco #243 (fde) validato e inviato alla catena principale
20:19 — Nodo #3 ha prelevato 42981 transazioni dal pool e sta formando il blocco #244 (9b5)
20:26 — Blocco #244 (9b5) firmato e inviato agli altri nodi per validazione
20:28 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #244 (fde) è stato aggiunto e iniziano ad applicare 48241 transazioni
20:32 — Nodo #2 ha elaborato tutte le 1k transazioni che erano nel pool
21:05 — Blocco #243 (37c) non è stato validato entro il tempo specificato
21:15 — Nodo #1 ha prelevato 86967 transazioni dal pool e sta formando il blocco #245 (37c)
21:32 — Blocco #245 (37c) firmato e inviato agli altri nodi per validazione
21:42 — Blocco #244 (9b5) validato e inviato alla catena principale
21:50 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #245 (9b5) è stato aggiunto e iniziano ad applicare 42981 transazioni
22:04 — Nodo #3 ha prelevato 45361 transazioni dal pool e sta formando il blocco #246 (3f9)
22:11 — Blocco #246 (3f9) firmato e inviato agli altri nodi per validazione
22:51 — Blocco #245 (37c) non è stato validato entro il tempo specificato
23:01 — Nodo #1 ha prelevato 86967 transazioni dal pool e sta formando il blocco #246 (37c)
23:08 — Lo script demo ha terminato il suo lavoro per il nodo #3
23:15 — Blocco #246 (37c) firmato e inviato agli altri nodi per validazione
23:32 — Blocco #246 (3f9) non è stato validato entro il tempo specificato
23:42 — Nodo #3 ha prelevato 52173 transazioni dal pool e sta formando il blocco #246 (71d)
23:51 — Blocco #246 (71d) firmato e inviato agli altri nodi per validazione
24:38 — Blocco #246 (37c) non è stato validato entro il tempo specificato
25:01 — Nodo #1 ha prelevato 86967 transazioni dal pool e sta formando il blocco #246 (37c)
25:06 — Blocco #246 (71d) validato e inviato alla catena principale
25:12 — Blocco #246 (37c) firmato e inviato agli altri nodi per validazione
25:14 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #246 (71d) è stato aggiunto e iniziano ad applicare 52173 transazioni
25:29 — Nodo #3 ha elaborato tutte le 1k transazioni che erano nel pool
26:40 — Blocco #247 (37c) non è stato validato entro il tempo specificato
26:47 — Nodo #1 ha prelevato 86967 transazioni dal pool e sta formando il blocco #247 (37c)
27:03 — Blocco #247 (37c) firmato e inviato agli altri nodi per validazione
28:29 — Blocco #247 (37c) non è stato validato entro il tempo specificato
28:35 — Nodo #1 ha prelevato 86967 transazioni dal pool e sta formando il blocco #247 (37c)
28:49 — Blocco #247 (37c) firmato e inviato agli altri nodi per validazione
30:13 — Blocco #247 (37c) non è stato validato entro il tempo specificato
30:23 — Nodo #1 ha prelevato 86967 transazioni dal pool e sta formando il blocco #247 (37c)
30:38 — Blocco #247 (37c) firmato e inviato agli altri nodi per validazione
32:00 — Blocco #247 (37c) non è stato validato entro il tempo specificato
32:11 — Nodo #1 ha prelevato 86967 transazioni dal pool e sta formando il blocco #247 (37c)
32:26 — Blocco #247 (37c) firmato e inviato agli altri nodi per validazione
33:49 — Blocco #247 (37c) non è stato validato entro il tempo specificato
33:59 — Nodo #1 ha prelevato 86967 transazioni dal pool e sta formando il blocco #247 (37c)
34:12 — Blocco #247 (37c) firmato e inviato agli altri nodi per validazione
35:34 — Blocco #247 (37c) validato e inviato alla catena principale
35:54 — Tutti i nodi hanno ricevuto dalla catena principale l'informazione che il blocco #247 (37c) è stato aggiunto e iniziano ad applicare 86967 transazioni
36:11 — Nodo #1 ha elaborato tutte le 1k transazioni che erano nel pool
55:12 — il primo nodo ha elaborato tutte le 3k transazioni

Test pubblico di una soluzione per la privacy e la scalabilità su Ethereum su piattaforme cloud

Risultati

È stato riscontrato che i server virtuali Azure hanno una potenza di elaborazione insufficiente per gestire un così alto numero di transazioni. Tuttavia, per quanto riguarda l'obiettivo principale dei test, ovvero dimostrare il funzionamento di Plasma Cash con MongoDB, il sistema ha performato bene.

Ti invitiamo a visitare GitHub del progetto: https://github.com/opporty-com/Plasma-Cash/tree/new-version

L'articolo è stato scritto in collaborazione con Alexander Nashivan, senior developer di Clever Solution Inc.

In precedenza, il team di sviluppatori Opporty aveva già testato la velocità di Plasma Cash. I risultati sono esposti in questo articolo.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster