Entri nel Drago I: Esaminando le caratteristiche nell'ultimo traguardo degli sviluppatori di Catapult

Entri nel Drago:

Esaminando le caratteristiche

nell’ultimo traguardo degli

sviluppatori di Catapult

Aggiornato: 04 Giugno 2019

 

Entri nel Drago: Esaminando le caratteristiche nell'ultimo traguardo degli sviluppatori di Catapult

 

Aggiornamento di Catapult: Caratteristiche del Dragon

Entri nel Drago: Esaminando le caratteristiche nell'ultimo traguardo degli sviluppatori di Catapult

 

Catapult è il prossimo motore NEM di base con tutte le funzionalità previste per il rilascio nel quarto trimestre del 2019. Dopo la versione di rete dell’aggiornamento di Cow, gli sviluppatori principali stanno rilasciando la quarta pietra miliare per il server Catapult, Dragon. L’aggiornamento di Dragon include diverse implementazioni e miglioramenti chiave per le funzionalità aziendali.

Beneficiario Harvesting

La raccolta è il processo attraverso il quale i nodi di NEM generano blocchi e guadagnano ricompense. Con Dragon, ciascun nodo avrà la possibilità di impostare una chiave pubblica beneficiaria per condividere una percentuale dei premi di raccolta. Il rapporto di condivisione verrà impostato dal proprietario del nodo e sarà configurabile per rete. Quando il nodo non definisce un beneficiario, tutti i premi andranno al firmatario del blocco.

Per esempio, immaginiamo che il proprietario di un nodo Amir abbia stabilito Jake come beneficiario della sua raccolta. La rete è configurata con una percentuale di beneficiari definita del 10%, stabilendo che Jake riceverà un decimo dei premi totali di raccolta. Quindi, se il nodo di Amir è stato scelto dal protocollo di consenso per creare un blocco, in cui le commissioni delle transazioni ammontano a 100 XEM, Amir riceverà 90 XEM e Jake riceverà 10 XEM, dato che il blocco è stato creato correttamente.

Entri nel Drago: Esaminando le caratteristiche nell'ultimo traguardo degli sviluppatori di Catapult

Configurazione del beneficiario del raccolto di Amir

Attraverso questa funzionalità, le reti implementate saranno in grado di creare una struttura di incentivi per i sostenitori della rete per eseguire i nodi completi. Il potenziale di compensazione creerà reti più grandi e più stabili.

Per saperne di più: Harvesting e nodi

Inflazione

In precedenza, il mosaico di valuta nativa (nella rete domestica) della rete poteva essere creato solo con una fornitura finale stabilita. Tuttavia, con l’introduzione dell’aggiornamento Dragon, il motore Catapult supporterà la possibilità di aumentare l’offerta di valuta nativa nel tempo.Tramite la configurazione dell’inflazione, l’offerta di mosaico di rete nativa può essere aumentata per blocco.  All’aumentare dell’offerta totale, il rapporto di incremento può variare in base all’altezza del blocco, come definito nella configurazione di rete.

Ad esempio, una rete privata potrebbe consentire l’inflazione, aumentando il loro mosaico monetario, nugget, in questo modo:

starting-at-height-1 = 500

starting-at-height-1000 = 250

starting-at-height-2000 = 0

Secondo la configurazione, ci saranno 500 pepite create per blocco dal blocco 1 a 999, quindi 250 pepite per blocco fino a quando l’altezza del blocco raggiunge il 1999. Al 2000 ° blocco, non verrà aggiunto altro alla fornitura, con conseguente fine dell’inflazione del mosaico. Se l’offerta iniziale nel suo blocco di genesi (altezza del blocco = 0) era 1.000.000, ciò significa che l’offerta finale di pepite sarà 1.750.000.

Entri nel Drago: Esaminando le caratteristiche nell'ultimo traguardo degli sviluppatori di Catapult

Con l’aggiunta dell’inflazione, i premi a blocchi per i raccoglitori includeranno i mosaici creati a causa dell’inflazione, analogamente alle miniere in altre criptovalute. Il raccoglitore raccoglierà i mosaici appena creati, condividendoli con i beneficiari, se la chiave del beneficiario è stata configurata.

L’introduzione dell’inflazione controllata offrirà a NEM la flessibilità necessaria per supportare nuovi modelli economici simbolici. Soprattutto in combinazione con le capacità di beneficiari del raccolto, la creazione di mosaici inflazionari consentirà a consorzi e reti private di applicare nuovi modelli economici simbolici adatti alle loro esigenze individuali.

Per saperne di più: Inflazione

Aggiornata la Modifica della transazione Multisig

La Modifica di Multisig Transaction (MMT) viene utilizzata per due motivi:

  1. Trasforma un account in un account multisig.
  2. Modificare le proprietà configurabili di un account multsig esistente.

Dopo l’upgrade di Dragon, MMT deve essere coinvolto in una transazione aggregata. Pertanto, i co-firmatari delle firme multiple proposte dovranno scegliere di firmare la Transazione Aggregata per il suo completamento. A meno che i partecipanti richiesti non abbiano firmato, la transazione aggregata non verrà inclusa in un blocco, pertanto l’account multifirmato in questione non sarà in grado di aggiungere nuovi co-firmatari.

Prima di questa modifica, c’erano un paio di fattori che hanno prodotto complicazioni cruciali con la MMT:

  1.  C’era un numero massimo di account per i quali un account potrebbe essere un cosignatory.
  2. Un account non poteva sbarazzarsi di un multisig cosignatory fino a quando non c’era   un quorum tra i multisig firmatari.

Pertanto, è stato possibile aggiungere account ignari a multisig fittizi, impedendo agli utenti di utilizzare la funzionalità multisig. Tuttavia, dando ai potenziali cofinanziatori l’opportunità di approvare o negare l’autorità del cosigner, la minaccia dello spaming cosignativo viene annullata.

Ad esempio, se Jim e Pam volevano impostare un account multisignature su Catapult per il fondo college della loro figlia, avrebbero dovuto avviare una transazione aggregata con i loro account personali come cofinanziatori. In questo caso, il conto del fondo scolastico della figlia verrà convertito in un account Multi-signature se, e solo se, Jim e Pam lo accetteranno entrambi fornendo le loro firme.

Entri nel Drago: Esaminando le caratteristiche nell'ultimo traguardo degli sviluppatori di Catapult

Fondo collegio trasformato in un account multisig tramite MMT

 

Cross-Network Replay Protection

Dragon ha inoltre rafforzato la sicurezza di Catapult aggiungendo la protezione di replay cross-network. L’identificatore di rete NEM è solo un byte (256 valori diversi), quindi ci sono sovrapposizioni quando ci sono più di 256 reti.  In precedenza, se due account facevano parte di due reti che condividono un identificatore di rete comune, una transazione tra gli account di una rete potrebbe essere “riprodotta” nell’altra rete.

Supponiamo che due account, Amy e Kevin (entrambi con 100 XEM), siano parte di due reti (NET1 e NET2) con un identificatore di rete.  Amy vuole inviare 50 XEM a Kevin, quindi crea una transazione e la invia alla rete NET1. Dopo la conferma, Amy ha un saldo di 50 XEM e Kevin ha un saldo di 150 XEM, come previsto.

Tuttavia, Kevin è avido e vuole prendere più fondi da Amy su NET2.  Quindi copia la transazione NET1 originale e la invia a NET2. La transazione è accettata perché è valida e firmata.  Di conseguenza, Amy viene erroneamente addebitato un ulteriore 50 XEM su NET2 e accreditato a Kevin. Amy è rimasta con 0 XEM, mentre Kevin ora ne detiene 200 XEM.

Per risolvere questo problema, le transazioni da reti con gli stessi identificatori devono essere distinguibili in modo che non possano essere applicate a entrambe.  Pertanto, Dragon ha aggiunto un livello di sicurezza anteponendo un hash di generazione di rete (unico per ogni rete) al carico utile dei dati della transazione prima della sua verifica.

Firma = account.sign (generationHash + SpecificTxPayload)

Se Kevin dovesse tentare di riprodurre la transazione in NET2 in Catapult dopo l’aggiornamento di Dragon, la transazione di replay sarebbe stata respinta dalla rete a causa dell’errato hash di generazione della rete e del successivo carico utile della transazione firmato.

Ulteriori informazioni: Transazione

 

Aggiornamenti  Notevoli Minori

Hash Lock Transaction – Hash Lock Transactions i mosaici con alias di bloccaggio. Quando si creano transazioni HashLock, sarà possibile specificare un alias (namespace Id) anziché Id mosaico dei fondi da bloccare, consentendo un’esperienza più comoda e user-friendly.

Secret Lock TransactionsConsentirà il riutilizzo di un blocco segreto fino a quando i destinatari stabiliti saranno diversi.

Processo di Catapult Broker: il nuovo processo di broker di catapulte sposterà automaticamente le modifiche in MongoDB e ZMQ.

Processo di recupero di Catapult: se il server Catapult termina a causa di errori incontrollati, questo processo ripristinerà lo stato locale.

 

References

https://nemtech.github.io/concepts/harvesting.html

https://nemtech.github.io/concepts/inflation.html

https://nemtech.github.io/concepts/multisig-account.html#multisig-account

https://nemtech.github.io/concepts/aggregate-transaction.html

https://nemtech.github.io/concepts/aggregate-transaction.html#hash-lock-transaction

https://nemtech.github.io/concepts/cross-chain-swaps.html#secret-lock-transaction