Come gestire un account MSIG con un ritardo temporale
Il sistema di gestione delle autorizzazioni di EOS consente agli utenti di impostare una struttura di gestione delle autorizzazioni per un account EOS con ritardi nelle transazioni, che coinvolge il ruolo di autorizzazione waits nelle autorizzazioni. Il concetto di waits, noto anche come ritardo nelle transazioni, opera sul principio che se una proposta è stata approvata da tutti gli altri ruoli di autorizzazione ma il loro peso combinato non è ancora sufficiente per raggiungere la soglia, waits aggiungerà automaticamente il proprio peso alla proposta dopo un tempo di ritardo impostato. Se il peso della proposta raggiunge la soglia, sarà approvata con successo.
Quali sono i benefici di questo ritardo nelle transazioni? Ad esempio, supponiamo che l'account EOS di un'organizzazione debba essere gestito congiuntamente da cinque membri del consiglio dell'organizzazione e che almeno due membri debbano approvare tutte le transazioni dell'account. In tal caso, l'account può impostare un'autorizzazione con ritardo nelle transazioni (waits) per assicurare che se alcuni membri agiscono in modo dannoso, altri membri abbiano abbastanza tempo per impedire che transazioni impreviste vengano eseguite.
L'impostazione di ritardi nelle transazioni può migliorare significativamente la sicurezza dell'account.
Successivamente, parliamo di come impostare una struttura di autorizzazioni con un ruolo di autorizzazione waits, l'autorizzazione con ritardo nelle transazioni, e come avviare una proposta di transazione che richiede un ritardo.
I. Progettare la struttura delle autorizzazioni
Prima di impostare l'autorizzazione, dobbiamo progettare la struttura delle autorizzazioni in base alle aspettative. In questo tutorial, impostiamo l'autorizzazione attiva dell'account su una struttura di gestione multi-firma. Nell'ambito di questa struttura di autorizzazioni, se due account appena aggiunti vogliono eseguire transazioni, entrambi devono approvare la proposta e la proposta può essere eseguita solo 24 ore (86400 secondi) dopo che è stata approvata da entrambi.
L'autorizzazione attiva (soglia: 3):
Chiave originale (peso: 3)
Account A @active (peso: 1)
Account B @active (peso: 1)
Waits: 86400 (peso: 1)
II. Impostare l'autorizzazione multi-firma
Qui, utilizziamo la funzione avanzata di gestione delle autorizzazioni dell'esploratore blockchain bloks.io per impostare l'autorizzazione multi-firma dell'account.
Se visiti bloks.io su desktop, clicca su accesso in alto a destra della pagina per accedere con Anchor wallet o un altro wallet per desktop.

Quindi, come mostrato sopra, clicca su Wallet --> Chiavi e autorizzazioni --> Avanzate --> Autorizzazione #2: attiva (se vuoi modificare l'autorizzazione owner, clicca su Autorizzazione #1: owner al posizione 4).
Se visiti bloks.io sul tuo telefono, clicca su accesso in alto a destra della pagina per accedere con Anchor wallet o un altro wallet sul tuo telefono.

Quindi, come mostrato sopra, clicca su Wallet --> Chiavi e autorizzazioni --> Avanzate --> Autorizzazione #2: attiva (se vuoi modificare l'autorizzazione owner, clicca su Autorizzazione #1: owner al posizione 4).
Seguendo questi passaggi, entrerai nell'interfaccia di impostazione della struttura delle autorizzazioni. Clicca su Aggiungi account al posizione 5 per aggiungere i campi di input per l'account di gestione multi-firma.
In questo tutorial, impostiamo due account di gestione multi-firma, quindi clicchiamo su posizione 5 due volte. E nei campi di input che appaiono alle posizioni 7, 8, 9 e 10, rispettivamente, inserisci la soglia, il peso (cioè il peso che abbiamo progettato nella struttura delle autorizzazioni), il nome dell'account e l'autorizzazione dell'account utilizzata.
Nella struttura delle autorizzazioni che abbiamo progettato, la soglia è 3, il peso è 1 per ogni account e l'autorizzazione dell'account utilizzata dall'account è attiva.
Clicca su Aggiungi wait al posizione 6 per aggiungere il campo di input dell'autorizzazione waits. Quindi, inserisci il peso e il valore del tempo di ritardo (in secondi) dell'autorizzazione wait nei campi di input alle posizioni 11 e 12. Nella struttura delle autorizzazioni che abbiamo progettato, il peso di wait è 1, e il valore del tempo di ritardo è 86400.
Dopo averli compilati correttamente, clicca su salva al posizione 13 per salvare e aggiornare le impostazioni delle autorizzazioni. Dopo aver cliccato su 13, apparirà una finestra di dialogo per verificare il wallet di gestione dell'account. Una volta verificato, la struttura di gestione delle autorizzazioni verrà aggiornata.

Come mostrato sopra, dopo aver inviato la verifica, aggiorna l'interfaccia di gestione delle autorizzazioni di bloks.io e verrà visualizzata la struttura di gestione delle autorizzazioni più recente.
III. Avviare una proposta di trasferimento multi-firma
Per avviare una proposta di trasferimento multi-firma, utilizziamo ancora bloks.io. Qualsiasi account EOS può avviare una proposta di multi-firma per qualsiasi account EOS. Tuttavia, poiché la chiave di gestione dell'account multi-firma con peso sufficiente può completare autonomamente l'operazione di autorizzazione della transazione senza passare attraverso la multi-firma, la proposta di solito viene avviata da altri account, non dall'account multi-firma stesso. Di solito, è uno degli account di gestione che partecipano alla multi-firma. Nell'esempio seguente, utilizziamo uno degli account di gestione che partecipano alla multi-firma.

Per avviare una proposta di multi-firma, dobbiamo prima passare a bloks.io in modalità multi-firma. Come mostrato sopra, nella finestra che appare dopo aver cliccato sull'account in alto a destra, impostare l'interruttore a destra di MODALITÀ MULTI-FIRMA su blu e accenderlo.
Nota:
Quando la MODALITÀ MULTI-FIRMA è attivata, qualsiasi azione avvia una proposta di multi-firma. Questo tutorial ti mostrerà come avviare una proposta di trasferimento multi-firma. È simile ad altri tipi di transazioni. Basta attivare la MODALITÀ MULTI-FIRMA e poi procedere.

Quindi, come mostrato sopra, clicca su 1 Wallet --> 2 Trasferisci token --> 3 Trasferisci token.
Quindi, inserisci l'account EOS ricevente e l'importo nei campi di input che appaiono alle posizioni 4 e 5. Puoi anche scegliere il tipo di token dietro l'importo del trasferimento, che di default è il token EOS.
Dopo averlo compilato, clicca sul pulsante al posizione 6 e l'interfaccia passerà all'interfaccia di avvio della proposta di trasferimento mostrata di seguito.

In base al token di trasferimento selezionato, l'indirizzo del contratto verrà compilato con l'account del contratto corrispondente. L'account ricevente e l'importo del trasferimento alle posizioni 4 e 5 verranno anch'essi compilati automaticamente con l'account e l'importo inseriti in precedenza.
Nei campi di input alle posizioni 1 e 3 di questa interfaccia, inserisci l'account che eseguirà l'azione in questa proposta, cioè l'account che abbiamo appena impostato con gestione multi-firma. Al posizione 2, inserisci l'autorizzazione dell'account che esegue l'azione della proposta. Se viene utilizzata l'autorizzazione owner, inserisci owner; se viene utilizzata l'autorizzazione manager, inserisci active. Abbiamo appena impostato l'autorizzazione attiva, quindi dovremmo inserire active. (Di solito utilizziamo l'autorizzazione attiva.)

Scorrendo la pagina, come mostrato sopra, visualizza il nome della proposta al posizione 6. Il sistema compilerà un nome predefinito ma può anche essere modificato. Le posizioni 7 e 8 sono per gli account di gestione dell'account multi-firma che partecipano all'autorizzazione della proposta. Tutti gli account che partecipano alla gestione multi-firma e le loro autorizzazioni corrispondenti (Active o Owner) verranno compilati in base alle impostazioni delle autorizzazioni dell'account multi-firma.
Dopo aver compilato le informazioni sopra, clicca su Mostra al posizione 9 per visualizzare ulteriori impostazioni di trasferimento.

Come mostrato sopra, inserisci il valore del tempo di ritardo impostato in waits nelle autorizzazioni dell'account al posizione 10. Nel nostro esempio, è impostato su 86400, 24 ore. Dopo averlo compilato, clicca su Proposta al posizione 11 per avviare la proposta. Dopo aver firmato la transazione, la proposta di trasferimento verrà avviata con successo.
IV. Approvare ed eseguire la proposta
Per approvare una proposta, dobbiamo prima trovarla. Possiamo cercare la proposta sulla seguente pagina dei link di bloks.io:
Puoi cercare l'account che ha avviato la proposta o il nome della proposta per trovare la proposta. Puoi anche trovare la proposta direttamente nei registri delle transazioni dell'account che ha avviato la proposta. Dopo aver trovato la proposta, clicca sul nome della proposta per accedere alla pagina dei dettagli della proposta come mostrato di seguito.

Come mostrato sopra, dopo aver effettuato l'accesso con l'account che partecipa all'autorizzazione multi-firma, puoi cliccare su Approva alla posizione indicata dalla freccia rossa sopra per approvare la proposta. Dopo aver verificato con il wallet di gestione dell'account, l'approvazione sarà efficace.
Nota che la proposta di autorizzazione deve chiudere la modalità multi-firma.
La somma dei pesi di tutti gli account di autorizzazione nella nostra proposta (1+1=2) è inferiore alla soglia impostata di 3, quindi waits deve partecipare alla proposta per essere approvata ed eseguita. Questo è anche il motivo per cui dobbiamo impostare un ritardo nelle transazioni quando avviamo una proposta. Dopo questo ritardo, il peso di autorizzazione corrispondente a waits verrà automaticamente aggiunto al peso di autorizzazione. Pertanto, la nostra proposta inizierà a contare dopo che entrambi gli account di multi-firma partecipanti sono stati autorizzati con successo. Dopo 86400 secondi (24 ore), il peso di autorizzazione di questa proposta sarà 1+1+1=3, che è uguale alla soglia impostata, e la proposta sarà approvata con successo.
Dopo che l'ultimo account di autorizzazione approva e un ritardo di 86400 secondi (24 ore), qualsiasi account può cliccare su Esegui nell'interfaccia della proposta di multi-firma per eseguire la proposta. Dopo che l'esecuzione è stata completata, il trasferimento è completato.
In conclusione, l'impostazione dell'account multi-firma con ritardo nelle transazioni è stata completata e una proposta di trasferimento multi-firma per l'account è stata avviata.
Autore: Josh Chung
Editor: Markus Hinrichs, Randall Roland
Fonti e riferimenti:
Last updated:
Was this article helpful?
Have a specific question about this article?