Quelles sont les différences entre la clé, le key_hash, l'adresse, le contrat et la signature à Michelson?
2 réponses
- votes
-
- 2020-03-10
-
key_hash
est Blake2b hachage d'une clépublique,sous laforme codée debase58,ilne peut démarrer que avecTZ
,maisadresse
estplusgénéral,ilpeut également contenirkt
comptes; - Iln'y apas d'instructionspour cela,probablementparce que c'est un cas rareet argumentaire; Modifier: Commeindiquépar Raphaël,vouspouvez convertir
key_hash
verscontrat
,puis suradresse
à l'aide deimplicit_ccount; Adresse
- Commementionné,
key_hash
est Blake2b hachage declé
. Vous auriezbesoin d'unetouche pour vérifier une signatureparexemple; - Permettez-moi de lier Wikipedia https://ru.wikipedia.org/wiki/eddsa. Unexemplebrillantest un contratmultisig;
- Découvrez lanouvelle documentation Michelson https://michelson.nomadic-labs.com/
à résumer:
-
clé
représente une clépublique (unpoint sur la courbeelliptique) -
key_hash
estblake2b hachage declé
-
adresse
est une représentationgénérale des comptes Tezos,y compris les deux -TZ
etkt
adresses -
Signature
est le résultat de la signature d'unmessage avec une cléprivée à l'aide du schéma de signaturenumérique de la courbeelliptique.
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
Pourquoipuis-je convertirentre adresseet contrat?Maispasentre adresseet key_hash?
Il y a le (
IMPLICIT_ACCOUNT
)instruction àAllez dekey_hash
àaddress
.Pour l'autre direction,il y avait ( une demande defonctionnalité )mais c'étaitfermé car aucun cas d'utilisationn'a étéprésentépour lemotiver.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.
Il y a un question associée ,mais les différences sonttoujourspas claires . Ces cinqtypes sontmentionnés dans le Michelson Whitedoc avec les définitions suivantes:
adresse
: une adressenon collée (compteimplicite ou contratintelligent).contrat 'param
: contrat,avec letype de son code,unité de contratpour les comptesimplicites.clé
: une clé cryptographiquepublique.key_hash
: le hachage d'une clé cryptographiquepublique.Signature
: une signature cryptographique.Quelleest la différenceentre
key_hash
etadresse
? Il semble queje puissefaire les deuxadressepush "tz1 ..."
etpush key_hash "tz1 ..."
en utilisant lemême littéral à chaîne. Jeme souviens de voir quelque chose àpropos de révéler. Que signifie révéler?Pourquoipuis-je convertirentre
adresse
etcontrat
. Maispasentreadresse
etkey_hash
?Quelleest la différenceentre
clé
etkey_hash
? Quand aurais-je unetouche ,maispas unkey_hash
?Qu'est-ce qu'une signature cryptographiqueet quelles sont certaines des cas d'utilisation à Michelson?
Tous les autres détailsimportants sur cestypes de données.