マイケルソンのkey、key_hash、address、contract、signatureの違いは何ですか?
2 回答
- 投票
-
- 2020-03-10
-
key_hash
は公開鍵のblake2bハッシュであり、base58でエンコードされた形式では、tz
でのみ開始できますが、address
の方が一般的です. 、KT
アカウントを保持することもできます; - そのための指示はありません.おそらく、それはまれで議論の余地のあるケースだからです.編集:Raphaëlが指摘しているように、
IMPLICIT_ACCOUNT;を使用して
key_hash
をcontract
に変換してから、address
に変換できます.住所 - 前述のように、
key_hash
はkey
のblake2bハッシュです.たとえば、署名を確認するにはkey
が必要です. - ウィキペディアのリンクを許可する
https://ru.wikipedia.org/wiki/EdDSA .明るい例はマルチシグ契約です. - 新しいMichelsonのドキュメントを確認してください
https://michelson.nomadic-labs.com/
要約すると:
-
key
は公開鍵(楕円曲線上の点)を表します -
key_hash
は、key
のblake2bハッシュです.
-
address
は、Tezosアカウントの一般的な表現であり、-tz
アドレスとKT
アドレス の両方が含まれます.
-
署名
は、楕円曲線デジタル署名スキームを使用して秘密鍵でメッセージに署名した結果です.
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
住所と契約を変換できるのはなぜですか.しかし、addressとkey_hashの間ではありませんか?
(
IMPLICIT_ACCOUNT
)命令がありますkey_hash
からaddress
に移動します.他の方向については、(機能リクエスト)がありましたが、動機付けとなるユースケースが提示されていないため、閉鎖されました.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.
関連する質問がありますが、違いはまだ明確ではありません.これらの5つのタイプは、 Michelson whitedoc で次の定義で言及されています.
address
:入力されていないアドレス(暗黙のアカウントまたはスマートコントラクト).contract 'param
:コードのタイプを含む契約、暗黙的なアカウントの契約単位.key
:公開暗号化キー.key_hash
:公開暗号化キーのハッシュ.signature
:暗号署名.key_hash
とaddress
の違いは何ですか?どちらの場合も、同じ文字列リテラルを使用してPUSH address "tz1..."
とPUSH key_hash "tz1..."
を実行できるようです.明らかにすることについて何かを見たのを覚えています.リビールとはどういう意味ですか?address
とcontract
の間で変換できるのはなぜですか.しかし、address
とkey_hash
の間ではありませんか?key
とkey_hash
の違いは何ですか?key
はあるが、key_hash
はないのはいつですか?暗号署名とは何ですか?また、Michelsonの使用例にはどのようなものがありますか?
これらのデータ型に関するその他の重要な詳細.