Quali sono le differenze tra chiave, key_hash, indirizzo, contratto e firma in Michelson?
2 risposta
- voti
-
- 2020-03-10
-
key_hash
è l'hashblake2b di una chiavepubblica,nellaforma codificatain base58puòiniziare solo contz
,maaddress
èpiùgenerale,può anche contenere accountKT
; - Non ci sonoistruzioniper questo,probabilmenteperché è un caso raroe discutibile; EDIT: come sottolineato da Raphaël,puoi convertire
key_hash
incontract
e poiinaddress
usandoIMPLICIT_ACCOUNT ; ADDRESS
- Come accennato,
key_hash
è l'hashblake2b dikey
. Avrestibisogno di unakey
per controllare unafirma,adesempio; - Consentitemi di collegare wikipedia https://ru.wikipedia.org/wiki/EdDSA. Unbrillanteesempio è un contrattomultisig;
- Consulta lanuova documentazione di Michelson https://michelson.nomadic-labs.com/
Per riassumere:
-
key
rappresenta una chiavepubblica (unpunto sulla curvaellittica) -
key_hash
è l'hashblake2b dikey
-
address
è una rappresentazionegenerale degli account Tezos,inclusientrambigliindirizzitz
eKT
-
signature
èil risultato dellafirma di unmessaggio con una chiaveprivata utilizzando lo schema difirma digitale a curvaellittica.
key_hash
is blake2b hash of a public key, in the base58 encoded form it can start only withtz
, butaddress
is more general, it can also holdKT
accounts;- There are no instructions for that, probably because it's a rare and arguable case; EDIT: as pointed out by Raphaël, you can convert
key_hash
tocontract
and then toaddress
usingIMPLICIT_ACCOUNT ; ADDRESS
- As was mentioned,
key_hash
is blake2b hash ofkey
. You would need akey
for checking a signature for instance; - Allow me to link wikipedia https://ru.wikipedia.org/wiki/EdDSA. A bright example is a multisig contract;
- Check out the new Michelson documentation https://michelson.nomadic-labs.com/
To sum up:
key
represents a public key (a point on the elliptic curve)key_hash
is blake2b hash ofkey
address
is a general representation of Tezos accounts, including both -tz
andKT
addressessignature
is a result of signing a message with a private key using the elliptic curve digital signature scheme.
-
- 2020-03-10
Perchéposso convertiretraindirizzoe contratto.Manontra addresse key_hash?
C'è l'istruzione (
IMPLICIT_ACCOUNT
)pervai dakey_hash
aaddress
.Per l'altra direzione,c'era ( una richiesta difunzionalità )maerachiusoperchénon è statopresentato alcun caso d'usopermotivarlo.Why can I convert between address and contract. But not between address and key_hash?
There is the (
IMPLICIT_ACCOUNT
) instruction to go fromkey_hash
toaddress
. For the other direction, there was (a feature request) but it was closed because no use case has been presented to motivate it.
Esiste una domanda correlata ,ma le differenzenon sono ancora chiare . Questi cinquetipi sonomenzionatinel Michelson whitedoc con le seguenti definizioni:
address
: unindirizzonontipizzato (accountimplicito o smart contract).contract 'param
: un contratto,coniltipo del suo codice,unità di contrattoper accountimpliciti.key
: una chiave crittograficapubblica.key_hash
: l'hash di una chiave crittograficapubblica.signature
: unafirma crittografica.Qual è la differenzatra
key_hash
eaddress
? Sembra cheperentrambipossofarePUSH address "tz1..."
ePUSH key_hash "tz1..."
usando la stessa stringa letterale. Ricordo di aver visto qualcosa sulla rivelazione. Cosa significa rivelare?Perchéposso convertiretra
address
econtract
. Manontraaddress
ekey_hash
?Qual è la differenzatra
key
ekey_hash
? Quando dovrei avere unakey
,manon unakey_hash
?Che cos'è unafirma crittograficae quali sono alcuni casi d'usoin Michelson?
Altri dettagliimportanti su questitipi di dati.