멀티서명지갑을 실제 사용을 할때 권장되는 이용 환경과 그리고 EOS Public key 등록방법에 관한 내용 입니다.
EOS 토큰을 개인지갑에 보관중인 분들은 6월 전에 EOS Public key 를 지갑주소에 등록해야 합니다.
멀티서명지갑 설정
이전글에서 언급했듯이 웹(web) 지갑은 피싱의 주 타켓이 되므로, 일반 지갑을 포함하여 웹(web)에서 이용을 권장하지 않고, 데스크탑(PC)용 이용을 권장 합니다.
원도우 데스크탑용 ( https://github.com/gnosis/MultiSigWallet/releases) 다운
설치후 가장 먼저 [Settings] 메뉴를 통해 아래 그림처럼 실제 사용 환경으로 설정한 후 [Update Settings] 실행하여 설정한 환경을 저장 합니다.
- Ethereum node -> Remote Mainnet
- Web3 provider -> Light Wallet ( or 하드웨어 지갑 Ledger 이용자 )
먼저 지갑의 비밀번호로 알고있는 Ledger 24문자, 메타마스크 12 문자, 마이이더월렛(mew)의 PrivateKey , Keystroke 의 차이점은 아래와 같습니다.
24문자 -> 12문자 변환 불가능
12문자 -> 24문자 변환 불가능
24, 12 문자 -> PrivateKey (추출) 가능
PrivateKey -> Keystroke 화일 생성 가능
Keystroke -> PrivateKey 변환 가능
Ledger 하드웨어 사용자의 경우 따로 주소를 등록할 필요가 없으나, [Light Wallet]으로 설정한 경우는 KeyStroke +비밀번호 형태로만 개인주소를 등록할 수 있습니다.
[Accounts] 메뉴를 클릭하면 (Keystorke+비밀번호) 화일포맷으로 주소를 새로 생성 및 기존의 주소를 등록할 수 있습니다.
[Add] 메뉴는 새로 개인 주소를 생성 합니다.
[Import] 메뉴는 기존에 있던 주소를 등록 합니다.
[Import] 메뉴를 실행하여 기존의 Keystroke 화일을 선택하신후 비밀번호(Keystroke화일에 대한 비번)를 입력 하면 기존에 사용하던 주소를 등록 할 수 있습니다.
멀티서명지갑 EOS Public key 등록
멀티서명지갑을 생성한후 이 주소로 EOS Public key 를 등록을 하기 위해선 먼저 https://eos.io 사이트를 접속하신후 EOS Public key 를 생성 해야 합니다.
사이트 하단에 Register -> MyEtherWallet -> GENERATE EOS KEYS 순서대로 실행 하신후 발급 받은 EOS Public Key, Priate Key 별도의 USB에 잘 보관 하시기 바랍니다.
GENERATE EOS KEYS 와 같이 비밀번호 생성은 인터넷 Offline 에서만 작동되야 합니다. 만약 인터넷 Offline 모드에서 작동하지 않는다면 피싱 및 해킹입니다. (보안 팁)
즉 아래 정보는 eos.io 사이트에서도 알수 없어야 되며, 이를 확인 하는 방법은 인터넷 Offline 에서 작동 하는지를 검증하는 것입니다. 뮤를 포함해서 모든 지갑의 모든 비밀번호는 인터넷 Offline 에서 생성하는 것을 원칙을 해야 됩니다.
이제 멀티서명지갑을 선택후 [Add] 를 실행합니다.
EOSCrowdsale 주소를 입력 하면 하단의 다른 내용들은 자동으로 조회되며, register 를 선택하신후 EOS Public key 를 입력합니다.
EOSCrowdsale address : 0xd0a6E6C54DbC68Db5db3A091B171A77407Ff7ccf
[Send multisig transaction] 를 실행한후 멀티서명지갑의 +2 서명을 실행된 후, [Execute] 버튼이 생성되며 execute 를 실행하면 멀티서명지갑 -> EOSCrowdsale EOS Public key 등록이 실행되게 됩니다.
주의할 점은 Gas Limit 값입니다. +90000 으로 변경하거나 300,000 정도 값을 입력하신후 Execute 하시면 됩니다. 이유는 EOS Public key 등록때 필요한 가스값도 포함시켜 줘야 되기 때문 입니다.
멀티서명지갑에서 출금이 아닌 Contract 실행시 해당 Contract 가스값도 추가 포함
아래는 실제 노드에서 진행한 멀티서명지갑 Transaction 내역이며, 첫번째는 실수로 EOS Public key 값이 아닌 Private Key 값을 등록하여 [Confirm]을 하지 않는 것으로 더 이상 진행 하지 않았습니다.(저의 실수를 멀티서명지갑이 알려준 셈 입니다)
정리하면 멀티서명지갑은 기본 ETH, Token 출금은 사전에 정의한 승인 숫자만큼 승인을 한 이후에 실제 출금이 이루어 지며, EOS Public key 등록은 Contract 를 실행하는 것으로 요구 승인숫자 + [Execute] 를 실행해야 모든 처리가 완료 됩니다.
ETH, Token 출금 -> + 2 승인
Contract 실행 -> + 2 승인 -> Executue ( 해당 Contract GasLimit 추가 or 300000)
EOS Public key 등록확인
https://eoscountdown.com/ 을 이용하거나 , EOSCrowdsale 이더스캔 Read Contrac 8번 항목에 주소를 입력하면 간단하게 확인됩니다.
권장 사용 구성
본래 두 대의 PC 에서 각각 다른 개인 주소로 등록하고 사용해야 하지만, 개인 사용자의 경우 한 PC 에서 사용할 수 밖에 없습니다. PC 한대에서 이용하여 사용하는 구성으로 아래와 같이 구성한 후 원칙은 데스크탑용에서만 출금 기능을 실행 하시면 피싱 /해킹에 크게 염려하지 않으셔도 됩니다. 웹+메타마스크 쪽에서는 Confirm 및 확인하는 용도로만 사용하시면 됩니다.
데스크탑용설치 + (뮤 or Ledger) , 웹 + 메타마스크
글을 마치며
지갑의 보안 때문에 하드웨어 지갑을 사용하거나 항상 불안해 하는게 일반적 현실 입니다. 저 또한 예외는 아니며 하드웨어 지갑을 사용한다고 해서 피싱에 안전하지 못합니다. 또한 결정적 실수인 출금 주소를 잘못 기재하여 돌이킬 수 없는게 출금 사고 입니다.
실제로 작년에 저 또한 수백번 이상 출금을 하면서 꼼꼼히 확인하는 습관에도 불구하고, 단 한번의 출금 실수로 돌이킬수 없는 손실을 본 적이 있습니다.
적어도 멀티서명지갑을 이용하면 다시 Confirm(승인)과정에서 출금 주소를 확인하는 습관으로 이런 실수는 없을 것이며, 피싱 사이트에 접속하여 자동으로 출금되는 사고 또한 방지할 수 있는게 큰 장점으로 생각 합니다.
1) 멀티서명지갑(Multi-Signature Wallet) 개념
2) 멀티서명지갑(Multi-Signature Wallet) 생성-(메타마스크)
3) 멀티서명지갑(Multi-Signature Wallet) ETH 출금(메타마스크)
일교차가 큰 날씨에요 감기조심하세요^^
오늘은 비가 온다고 합니다 우산챙기세요
@virus707 님도 항상건강&행복하세요~... 비오는날~ Good day for 소주한잔 :)
정말 많은 분들이 꼭 보시고 조심하셨으면 하는 바램입니다.