devops

Cardano Address 주소의 구성 본문

Cardano

Cardano Address 주소의 구성

vataops 2024. 3. 1. 22:00
반응형

Cardano는 고유한 address 구조를 가지고 있고, 이는 Payment address와 Stake address로 구분된다. 이 Stake address는 Rewards address라고도 한다.

  • Payment address: 사용가능한 자산을 보관하는 주소
  • Stake address: Payment address의 자금이 스테이킹에 사용되지는 지 여부와 방법을 정의

ADA는 항상 Payment address에 속한다. 각 Payment address는 선택적으로 Stake address를 참조할 수 있다. Payment address에 있는 모든 ADA의 스테이킹 권한은 이 Stake address와 연관되어있다.

ADA를 스테이킹 풀에 위임되는 것은 두단계로 이뤄진다.

  1. wallet의 사용자는 위임할 스테이킹 풀을 선택하여 transaction을 통해 블록체인에 전송한다.
  2. Stake address를 통해서 선택한 스테이킹 풀에 ADA를 위임하는 스테이킹 인증서가 백그라운드에 생성된다.
  3. 위임 과정에서 시스템이 스테이킹 보상을 축적하는 reward account가 생성된다.

여기서 Payment address가 아닌 Stake address가 등록된다. 지금부터 생성되는 모든 Payment address도 이 한번의 등록으로 모두 스테이킹되며 자금 활용이 가능하다.

카르다노에는 3가지 address가 있다.

  • Byron address: Byron 주소로 접두사가 없고 Base58로 인코딩되어있다.
  • Payment address: Shelly 주소로 addr이라는 접두사로 시작하며, bech32로 인코딩된다.
  • Stake address: stake라는 접두사로 시작하며 bech32로 인코딩된다.

Stake Address Reference

Shelly payment 주소의 Stake address reference에는 value와, 검증키의 hash(staking key) 또는 validator script가 포함될 수 있다. 

value

Staking key는 모든 Payment address에 대한 스테이킹 권한을 제어하는데 사용하며, 일반적으로 Payment address를 소유한 주체가 가지고 있지만, 항상 그렇진않다.

pointer

Payment address의 소유자가 아닌 다른 사람이 스테이킹 권한을 제어할 수 있다. 이 주소를 Hybrid address라고 한다.여기서 reference에 포인터가 포함되어 포인터 주소가 될 수 있는데, 이 경우에는 스테이킹 키는 포인터를 통해서 간접적으로 참조된다.

reference는 Staking Certificate가 저장되는 위치를 가리키며, 스테이킹 키는 Staking Certificate에 저장된다. 여기서 포인터는 스테이킹 키보다 작은 크기를 차지한다. 

reference에는 null 값이 포함될 수 있는데, 이는 'enterprise address'라고 한다. 이렇게 되면 Payment의 자금은 스테이킹 권한과 연결될 수 없어 ADA 스테이킹될 수 없다. 이는 ADA를 스테이킹 하지 않을 것을 분명히 해야하는 거래소같은 조직이 사용한다.

간단히 요약하면, 

  • value: payment address 소유자만 자신의 ADA 스테이킹 권한을 컨트롤하는 staking key
  • pointer: payment address 소유자 외에 다른 이가 스테이킹 권한을 컨트롤할 수 있도록 Staking Certificate의 위치를 가리키게 해주는 staking key
  • null: 스테이킹 권한이 없어 ADA 스테이킹이 불가

여기서 추가적으로, reward address라는 개념도 있다.

Reward address(Stake address)

보상 주소는 주소의 퍼블릭 스테이킹 키의 해시값이며, 스테이킹 보상을 분배하는데 사용된다. Payment address는 UTxO 모델이지만, Reward address는 Account 모델을 사용하며, 보상이 지급되면 Account Balance가 늘어난다.

만약 사용자가 트랜잭션을 통해서 reward를 인출하면 balance에서 새 UTxO가 생성된다.


참고 :

https://cexplorer.io/article/understanding-cardano-addresses

 

반응형
Comments