Alt consum d'energia, baixa velocitat de transacció, escalabilitat, seguretat o interoperabilitat són alguns dels reptes de les tecnologies blockchain actuals que resol Elrond. Aquest document proporciona un exemple de la implementació d'intercanvis entre fitxes per verificar que la proposta de blockchain pública d'Elrond ha superat les limitacions actuals de Bitcoin i Ethereum.
Context i justificaci´ o del treball
Malgrat la data de publicació del document blanc, l'equip d'Elrond assegura que la seva xarxa principal està activa des del 2018. Sí, sembla que l'acord de col·laboració utilitza les eines de "Verificació del temps d'execució9" de l'empresa, i s'han ofert recompenses als pirates informàtics de barret blanc [ 15][] 16].
Objetius del treball
Pel que fa a l'últim punt, he buscat informació sobre quines auditories s'han realitzat i la informació que he trobat és escassa (sembla que es tractava majoritàriament d'auditories internes per motius de seguretat [14]). Encara que hi ha altres projectes prometedors com Solana, Avalanche, Tron o Tezos [17], l'evolució d'Elrond des de l'aparició del seu llibre blanc frena el nostre interès acadèmic en aquest projecte i no en els altres.
Enfocament i m` etode seguit
Revisió de la tecnologia d'Elrond: es descriurà breument la tecnologia i es enumeraran els recursos disponibles per desenvolupar-se en aquesta xarxa. Elaboració de l'informe: Es farà paral·lelament mentre es realitzen les fases anteriors.
Planificaci´ o del treball
Enfocament del problema: Es va realitzar una entrevista amb Josep Llu´ıs de la Rosa Esteva i es va acordar desenvolupar un DEX mitjançant el protocol AMM per tal de provar i verificar algunes característiques de la tecnologia 'Elrond. Proves: La fase de proves es desenvoluparà paral·lelament a la fase d'implementació i producció.
Breu sumari de productes obtinguts
Breu descripci´ o dels altres cap´ıtols de la mem` oria
Els nodes, en canvi, són dispositius de la xarxa que executen el programari d'Elrond i processen transaccions. Elrond Gold (EGLD): La criptomoneda nativa (token) de la xarxa Elrond que serveix com a mitjà de pagament per a les transaccions.
Entitats
Poden ser plens (complets), mantenint la història sencera de la cadena de blocs, o lleugers (lleugers), conservant només 2 períodes de la història de la cadena de blocs. També rebran una recompensa i aquesta funció la poden exercir observadors o validadors que no formen part de la ronda de consens en curs.
Cronologia
Secure Proof of Stake
Per exemple, la teva puntuació es reduirà si no suggereixes el bloc perquè està fora de línia, es detecta activitat maliciosa, etc. Aquests últims components del clúster també validen i signen el bloc rebut, basant-se en una modificació de Practical Byzantine Fault Translation (pBFT).
Adaptive State Sharding
Si, per qualsevol motiu, no es crea un bloc en una finestra de temps, la font d'aleatorietat de l'últim bloc s'utilitzarà per seleccionar un nou grup de consens. Finalment, cal tenir en compte que els nodes es barregen entre fragments al final de cada època per evitar la connivència entre nodes maliciosos.
Transaccions entre shards
Cal tenir en compte que un minibloc és una unitat atòmica de processament, el que significa que es processen totes les transaccions del minibloc o cap (en aquest últim cas, l'execució es retardarà o en la següent ronda). Quan una transacció arriba al fragment 0 (pas 1), la capçalera del bloc i els miniblocs s'envien a la metacadena.
La m` aquina virtual d’Elrond
En el cas general, es compilaran contractes intel·ligents que generen un fitxer WASM que es desplegarà en una de les xarxes d'Elrond.
Execuci´ o de contractes intel · ligents en l’arquitectura amb shards 21
Devnet: és una xarxa de proves pública mantinguda per la comunitat Elrond on qualsevol desenvolupador pot provar els seus contractes intel·ligents i DApps en un entorn real. En el present treball faré servir aquesta xarxa, en detriment de la xarxa de prova, per tenir més estabilitat. Testnet: també públic i mantingut per la comunitat Elrond, però utilitzat per provar millores i rendiment futurs [25] (això significa que la cadena de blocs es pot reiniciar28).
Muntar un node validador
Els blocs contenen operacions que es realitzaran a petició dels usuaris de la xarxa que paguen quotes (comissions) per la seva execució. Com que són ells els que realment produeixen i validen els blocs, són els únics nodes recompensats amb EGLD per la seva contribució. Si el validador no funciona correctament (interrupcions de la xarxa enmig del procés de consens, accions malicioses, etc.) serà "penalitzat" amb la pèrdua de l'EGLD (talla d'aposta) o fins i tot, en casos greus, s'emportarà. l'estat de validació (el node passarà a l'estat "empresonat" i no serà elegit per consens si no paga una penalització de 2,5 EGLD).
Com que aquesta puntuació defineix la fiabilitat del validador, serà considerat per l'algorisme de selecció de nodes per seleccionar el grup de consens. No és l'objectiu del present treball, però les instruccions31 per instal·lar el programari per configurar un node de validació a la xarxa Elrond es poden trobar a [1] o [26].32.
Carteres
L'objectiu d'aquest treball tampoc és explicar com crear una cartera, sinó que es pot trobar una guia de com fer-ho a [1]. Finalment, podeu iniciar una sessió amb una cartera de maquinari (per exemple, amb un Ledger Nano S) o llegint un codi QR amb l'aplicació mòbil Maiar (números 2 i 4 respectivament a la figura 9). 10b podeu veure que també podeu canviar entre les tres xarxes disponibles (llista desplegable a la part superior dreta amb "Principal").
Et permet enviar o rebre diners utilitzant el teu número de telèfon mòbil o un herotag (un tipus de nom d'usuari que es pot utilitzar en lloc de la teva adreça). Podeu treballar amb actius criptogràfics, com ara Elrond Gold (EGLD), Binance (BNB), Ethereum (ETH) o Bitcoin (BTC).
Maiar Exchange
A poc a poc, els usuaris poden convertir-se en proveïdors de liquiditat aportant els seus actius (guanyant fitxes MEX per cada intercanvi realitzat segons les poques fitxes aportades com a reserva). A més de tenir la funció d'animar els usuaris a aportar liquiditat, també s'utilitzarà en els processos de gestió. Conjunts de liquiditat: on es troben les reserves de tokens als contractes intel·ligents DEX i estan disponibles perquè els usuaris facin intercanvis.
Aquests tokens els proporcionen proveïdors de fons de liquiditat amb els quals els usuaris de la plataforma poden negociar. Farming40: consisteix en que els usuaris arriben la seva liquiditat per rebre recompenses.
Altres punts destacables
- DEX i AMM
- Les variants de DEX i AMM a testDEX
- Requisits funcionals
- Requisits no funcionals
El consum real de gas (consum real de gas o també gas usat) és la quantitat real de gas consumit GasLimit necessària perquè la xarxa processi la transacció. ESDT (Elrond Standard Digital Token): la xarxa Elrond admet de forma nativa l'emissió de fitxes generades per l'usuari (a partir del codi, d'un contracte intel·ligent o d'una cartera en línia). Això vol dir que no cal utilitzar contractes com el tipus ERC20 de la xarxa Ethereum.
Quan vulgueu fer un intercanvi entre actius criptogràfics, interactuareu directament amb un contracte intel·ligent que determina el preu de compra de l'actiu segons l'estat del fons de liquiditat. A l'apartat 2.13, s'ha vist que l'ús de la xarxa Elrond té associats costos per al moviment de valors i processament de dades (transferim una sèrie de fitxes al contracte intel·ligent) i per a l'execució del contracte intel·ligent (el contracte intel·ligent que implementa l'AMM ) ).
Disseny
- Casos d’´ us
- Smart contract
- Arquitectura
- Pantalles
S'ha de passar com a paràmetre l'identificador del token del qual volem reclamar la liquiditat. S'ha de passar com a paràmetre l'identificador del token en el qual volem emmagatzemar la informació. S'ha de passar com a paràmetre l'identificador del testimoni des del qual volem retornar aquesta informació.
S'ha de passar com a paràmetre l'ID deltoken del qual volem transferir els beneficis. Com a arguments s'ha de passar l'identificador del token pel qual es vol calcular el preu i l'import indicat.
Implementaci´ o
Repositoris disponibles
Aspectes a destacar de la implementaci´ o
A sota, a la dreta, podeu veure que l'estat de la constant ken serà visible en el moment actual (“k actual”) i quan s'ha inicialitzat la pila (“k inicial”). Es requereix una implementació d'un mètode de contracte intel·ligent que no tingui associada transferència de fons, simplement comprovant el seu estat. Consulteu l'API REST devnet d'Elrond55: la seva existència es va esmentar de passada a la secció 2.13.
Permet consultar dades sobre l'estat de diversos elements del devnet d'Elrond (per descomptat, hi ha versions corresponents per a altres xarxes). Per exemple, l'utilitzo per buscar els actius de la cartera d'un client o els actius disponibles al contracte intel·ligent.
Correcci´ o de la constant k per l’error introdu¨ıt per
Al camp "dades", introduïu el mètode que ha de cridar el contracte intel·ligent i els paràmetres corresponents. Vaig passar una estona intentant solucionar el problema i vaig trobar algunes solucions on k s'ajusta quan baixa o per sobre del valor original. El problema d'aquestes solucions és que no les he pogut demostrar matemàticament (cosa que no és adequada per a un treball acadèmic).
27 es pot veure un exemple d'aquestes proves comentat (n'hi ha més al repositori Github corresponent).
Posada en producci´ o
Desplegament del contracte intel · ligent
Aquesta ordre mostrarà a la consola, entre altres coses, l'adreça del contracte intel·ligent dins del devnet d'Elrond.
Desplegament de la DApp
Proves
- Sobre el contracte intel·ligent
- Sobre la DApp
- Sobre el rendiment de la devnet d’Elrond
- Introducci´ o
- Opci´ o “Fund”
- Opci´ o “Claim”
- Opci´ o “Trade”
Finalment, s'intenta crear un fons a partir d'una cartera que no és el propietari del contracte intel·ligent per comprovar que dóna un error (al fitxer devenet.snippets.sh s'ha de canviar constantOWNER PEM=). /wallet/ wallet1.pem” de OWNER PEM = “./wallet/wallet2.pem”). Com s'ha vist, si la cartera que envia la transacció es troba al mateix fragment que el contracte intel·ligent, la transacció serà més ràpida que si es troba en un fragment diferent. Això s'ha de tenir en compte perquè els resultats mostrats tenen un retard addicional per aquest motiu.
Crec que el treball actual repassa la tecnologia d'Elrond amb un mínim de rigor acadèmic, que s'ha fet un exemple pràctic (molt millorable per la meva inexperiència com a programador) i que el funcionament de la xarxa Elrond d'una manera molt bàsica verificada. Tampoc s'ha fet cap estudi de les despeses associades a les transaccions (un punt en què Elrond també és millor que Ethereum [35] [34]). 68 Aquest punt pot ser controvertit per la quantitat d'EGLD que cal mantenir en joc (en l'escenari hipotètic que el preu pugi molt).
Una nota final és que l'entrada de números que l'usuari pot introduir al quadre de text de quantitat no està limitada.