암호학

22.03.07 [지갑] 멀티시그 월렛

슈팅스타제제 2022. 3. 7. 23:17

흐름

1. submit Tx: submitTransaction을 실행하기 위한 message trasaction의 parameter를 이용하여 실제 토큰(Ether)을 받을 주소를 넣어준다. 이때, 토큰을 받을 대상이 다른 스마트 컨트랙트이고 트랜잭션 종류가 message transaction인 경우, 

실행할 method와 parameter를 포함하는 data payload를 넣어준다. 

2. confirm Tx: 위 메소드로 제출된 트랜잭션을 승인하는 단계이다. 컨트랙트에 등록된 승인 권한이 있는 EOA가 confirmTx을 통해 confirm하고 각 confirm 마다 등록된 조건(n 개의 confirm 필요)을 만족하는 confirm을 받았는지 체크한다.

3. execute Tx: confirmTx() 실행 시 만족하는 confirm 수가 채워졌으면 submitTx() 시에 제출된 토큰의 양만큼을 원래 보내고자 했던 주소로 보내주도록 트랜잭션의 value 값을 채우며, submitTx() 단계에서 제출된 message Tx가 있었다면 wallet Contract가 ( msg.sender == wallet Contract => 컨트랙트 호출자가 walletContract ) 해당하는 message Transaction을 실행한다. 

 

다른 EOA에 서명을 받는 개념보다는 submitTx(), confirmTx(), executeTx()을 실행할 때마다 ECDSA 전자서명값 v, r, s 을 넣어준다.

 

참고문서링크: 

https://goodjoon.tistory.com/268

 

Multisig Wallet #1

Edit Multisig Wallet #1 Ethereum multisigwallet ethereum Multisig Wallet 을 구현해보자. 블록체인의 응용을 이야기 하거나 할 때 빠지지 않는 단골 메뉴이기도 한 Multi Signature 를 활용하는 Wallet 을 만..

goodjoon.tistory.com

 

'암호학' 카테고리의 다른 글

22.07.18 배타적 논리합과 합동식  (0) 2022.07.18
22.07.16 암호화와 인코딩  (0) 2022.07.16
22.02.02 개인식별번호 CI, DI  (0) 2022.02.23
22.02.15 [지갑] HD wallet  (0) 2022.02.15
21.12.17 카이사르 암호와 빈도 분석  (0) 2021.12.17