Michelson에서 key, key_hash, 주소, 계약 및 서명의 차이점은 무엇입니까?
2 대답
- 투표
-
- 2020-03-10
-
key_hash
는 공개 키의blake2b 해시이며base58로 인코딩 된 형식에서는tz
로만 시작할 수 있지만address
가 더 일반적입니다.,KT
계정도 보유 할 수 있습니다. - 아마도 드물고 논쟁의 여지가 있기 때문에 이에 대한 지침이 없습니다. 편집 : Raphaël이 지적한 바와 같이,
IMPLICIT_ACCOUNT를 사용하여
key_hash
를contract
로 변환 한 다음address
로 변환 할 수 있습니다. 주소 - 설명했듯이
key_hash
는key
의blake2b 해시입니다. 예를 들어 서명을 확인하려면키
가 필요합니다. - 위키 백과 연결 허용 https://ru.wikipedia.org/wiki/EdDSA. 좋은 예는 다중 서명 계약입니다.
- 새로운 Michelson 문서 https://michelson.nomadic-labs.com/을 확인하세요.
요약 :
-
key
는 공개 키 (타원 곡선의 한 점)를 나타냅니다. -
key_hash
는key
의blake2b 해시입니다. -
address
는-tz
및KT
주소 를 포함하여 Tezos 계정의 일반적인 표현입니다.
-
signature
는 타원 곡선 디지털 서명 체계를 사용하여 개인 키로 메시지에 서명 한 결과입니다.
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
<인용구>주소와 계약간에 변환 할 수있는 이유는 무엇입니까?하지만 주소와 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의 사용 사례는 무엇입니까?
이러한 데이터 유형에 대한 기타 중요한 세부 정보입니다.