BlockChain_Wallet

Wallet & Account

Wallet

  • Hot Wallet : 인터넷에 연결되어 있는 사용자 친화적인 지갑
  • Cold Wallet : 인터넷과 연결되어 있지 않으며 Cold Storage에 오프라인으로 저장
  • Multisig Wallet : 다중 서명 지갑이라고 하며 거래를 위해서는 여러명의 당사자가 서명을 해야하는 지갑
  • Multi-Currenct Wallet : 다양한 유형의 암호화폐를 저장할 수 잇는 지갑
  • 지갑유형
    • 웹 월렛 (Web wallet) : 일반적으로 웹 부라우저를 통해 엑세스하는 지갑
      장점단점
      - 트랜잭션을 완료하는 가장 빠른 방법(앱과 서버 위치 사이에 지연 없음)- 소량의 암호화폐 보유에 이상적- 일부는 여러 암호 화폐를 관리하거나 둘 사이에서 금액을 전송하거나 거래소에 직접 통합할 수 있습니다.사용자는 피싱 사기, 맬웨어, 내부자 해킹, DDOS 공격 및 구식 보안 조치에 취약합니다.- 웹 월렛의 암호화폐 정보는 제3자에 저장됩니다.
    • 모바일 월렛 (Mobile Wallet) : 모바일 장치에서 암호 화폐에 엑세스 할 수 있는 지갑
      장점단점
      - 다른 암호화폐 지갑 유형보다 더 실용적이고 사용하기 쉽고 즉시 지불을 수락하거나 보낼 수 있습니다.- QR 코드 스캔과 같은 온라인 및 하드웨어 지갑 이상의 추가 기능휴대전화는 매우 안전하지 않은 기기입니다. 휴대전화가 악의적으로 손상되거나 루팅된 경우 지갑 앱 암호화도 마찬가지입니다.- 휴대전화가 맬웨어, 키로거 및 바이러스에 노출되어 있습니다.
    • 데스크탑 월렛 (Desktop Wallet) : 온라인 보안을 잘 적용함에 따라 웹 월렛과 모바일 월렛보다 다소 안전할 수 있다.
      장점단점
      - 사용하기 쉬운 암호화 지갑 유형- 타사 서버에 저장되지 않은 개인 키인터넷에 연결된 경우 보안 및 개인 정보 보호 관련 주의 사항이 있습니다.- 컴퓨터 수리를 맡긴다면, 그들은 당신의 코인을 빼앗을 수 있습니다.- 컴퓨터가 물리적으로 고장난 경우라면, 복구할 방법이 없습니다.- 컴퓨터가 맬웨어, 키로거 및 바이러스에 노출되어 있습니다.
    • 하드웨어 월렛 (Hardware Wallet) : 웹 월렛보다 사용자 친화적이지는 않지만 안전하며 자주 이동할 필요가 없는 많은 양의 암호화폐를 저장하는데 적합
      장점단점
      - 암호화폐를 장기간 보관하는 가장 안전한 방법입니다.- 대부분의 경우 다른 모든 지갑보다 강력한 보안- 약간의 번거로움- 별도의 사용법을 익혀야 합니다.
    • 종이 월렛 (Paper Wallet) : 하드웨어 월렛 이전의 콜드월렛 표준
      장점단점
      - 해커로부터 가장 안전한 암호화 지갑 선택 중 하나- 대컴퓨터에 저장되지 않음- 타사 서버에 저장되지 않은 개인 키- 약간의 번거로움- 별도의 사용법을 익혀야 합니다.- 더 많은 기술적 이해 필요
        

HD Wallet (Hierarchical Deterministic Wallet)

계층적 결정 지갑이라고 하며 하나의 seed Key를 사용하여 여러 주소를 생성할 수 있는 암호화폐 지갑이다

  • BIP32에서 제안한 지갑구조
  • 하나의 부모 키가 여러개의 자식 키를 만들며 자식 키는 자손키를 만들어 내는 트리구조
  • DRGB (Deterministic Random Bits Generate)를 사용
  • HMAC-SHA512를 이용
  • Normal Child Key
    • 0~2^32-1번 인덱스 사용
    • 부모 키의 공개 키를 통해 자신의 공개 키를 구한다
  • Hardened Child Key
    • 2^31 ~ 2^32-1번 인덱스를 사용
  • 부모 키의 비밀 키를 이용해 자신의 공개 키를 구한다

비결정적 지갑 : 개인정보 보호를 위해 매번 비밀 키를 무작위로 생성하여 사용하는 방식의 지갑

  • 결정적 지갑 : 하나의 SeedKey를 이용해 비밀 키를 생성하며 SeedKey로 파생된 모든 비밀키를 알 수 있는 형태의 지갑
  • BIP 32 : 결정적 지갑을 이진 트리 형식으로 계층화하여 끝없이 비밀 키를 생성할 수 잇는 구조
  • Brain Wallet : 비밀 키를 랜덤으로 생성하지 ㅇ낳고 일련의 단어 목록이나 문장을 사용해 비밀 키를 만드는 지갑

Mnemonic

암호화폐 지갑에서 사용하는 비밀 키의 일종으로 결정적 지갑에서 난수를 12개의 영단어로 인코딩한 그룹이며 이를 통해 비밀키 관리를 조금 더 용이하게 할 수 있다

  • 생성 순서
    • 128Bit 또는 256Bit길이의 난수 생성
      • 난수를 SHA-256으로 해싱 후 (시드키의길이/32)만큼 때어낸다 (123Bit일 경우 123/32 인 경우 4Bit 를 떼어 체크섬으로 만든다
      • 체크섬을 난수 뒤에 붙인다
      • 11Bit의 단어를 사전에 정의된 단어로 치환
      • 니모닉 코드 생성

Account

이더리움의 Address와 Private Key의 조합

  • Adress : 이더리움에서 신분증 및 계좌번호의 역할을 갖고 있다

    • 이더리움의 주소 생성 과정

      ✍︎ 개인키 생성 후 공개키 생성 ⇒ 알고리즘을 이용해 공개 키의 해시값 계산 ⇒ 해시값의 뒤쪽 20byte만 사용해서 이더리움 주소 생성

      ✍︎ 20Byte만 사용하는 이유?
      ⇒ 암호화 알고리즘 이후 생성된 계정과 중복이 되지 않아 검증 불필요

  • Private Key : 계좌의 비밀번호를 생각하면 편리하다

  • Account 종류

    • EOA (외부 소유 계정) : 일반적인 계정을 의미하며, 이더를 송수신하고, 스마트 컨트랙트에 트랜잭션을 보낼 수 있다
    • CA (컨트렉트 계정) : 상응하는 개인키가 없으며, 스마트계약을 배포할때 생긴다. EOA와 마찬가지로 이더를 송수신 하지만 관련코드를 담고 다른 컨트랙트의 호출을 받아 트랜잭션을 발생시키는 차이점이 있다
  • Account 특징

    • 장점
      • 단순성 : UTXO의 상태 비저장 모델이 트랜잭션 상에 상태정보를 포함하도록 강제하는것과는 다르게 상태를 추적하여 상태를 기반으로 다른작업이 가능하다
      • 효율성 : 이더리움의 Account는 거래전 충분한 잔액을 가지고 있는지 확인만 하기 때문에 효율적이다
    • 단점
      • 아중지불 : 이중지불의 위험이 있으며, 그로인해 점증적인 nonce를 구현한다

Signature

  • 공개키 암호화 방식 (PKC, Public Key Cryptography) : 공개키와 비밀키로 구성된 키를 이용한 암호화 방식이며, ECDSA를 이용하여 생성된다
  • 동작 방식
    • 해싱 ⇒ 서명 ⇒ 검증
    • 해싱 : 원본 데이터 해싱
    • 서명 : 송신자의 개인 키로 원본 데이터의 해시된 값과 함께 암호화한다(디지털 서명)
    • 검증 : 다른 노드들은 송신자의 공개 키로 복호화하여 검증
  • 대칭 키 암호화 방식 : 하나의 키를 이용하여 원본 데이터를 암호화하고, 복호화 한다
  • 공개 키 암호와 대칭 키 암호의 비교
    • 키의 길이
      • 대칭 키 : 키의 길이는 임의로 지정된다
      • 공개 키 : 수학적 패턴을 갖고 있으며, 보안의 이유로 대칭 키보다 훨씬 길다 (대칭 키 128Bit와 공개 키 2,048Bit가 비슷한 수준)
    • 연산 속도
      • 대칭 키 : 연산 속도가 높으며 대용량 데이터를 전송해야 할 때 많이 사용
      • 공개 키 : 수학적 연산으로 인해 비교적 속도가 느리므로 데이터 전송 전 통신 채널 인믕 및 구축할 때 많이 이용
    • 보안
      • 대칭 키 : 보안 위협이 크다
      • 공개 키 : 보안 위협이 비교적 적다
    • 알고리즘
      • 대칭 키 : RC4, AES, DES, 3DES 등..
      • 공개 키 : RSA, ECC 등..

Word Explain
TX : Transaction의 줄임말

좋은 웹페이지 즐겨찾기