오리지널

기본 지식: 암호화된 지갑이 해킹될 수 있나요?

이 기사는 기계로 번역되었습니다
원문 표시

암호화된 지갑을 사용해 본 적이 있다면 니모닉 단어 에 대해 확실히 알고 계실 것입니다. 니모닉 단어 일반 텍스트 개인 키를 표현하는 또 다른 형태입니다. 이는 BIP39(Bitcoin Improvement Proposal No. 39, 2013년 탄생)에서 처음 제안되었습니다. BIP-39 표준에서 각 키 쌍은 사용자가 복잡한 개인 키를 기억하고 기록하도록 돕는 고유한 니모닉 단어 세트에 해당합니다.

BIP39(니모닉 단어 정의하여 시드 백업을 보다 친숙하게 만들기)의 개념 외에도 실제로 BIP32(여러 개인 키를 관리하는 문제를 피하기 위해 제안된 계층화된 파생 방식), BIP44(BIP32 표준에 대한 계층화된 경로 정의)가 있습니다. 그리고 다른 개념. 예를 들어 친숙한 MetaMask(메타마스크 Wallet)는 키 파생을 위해 BIP44 표준을 사용하여 사용자가 다중 계정 지갑을 사용할 수 있도록 하며 각 계정에는 고유한 독립 공개 키 쌍이 있습니다(즉, 수신/수신에 사용하는 키). 송금), 공개 지갑 주소) 및 개인 키를 포함하지만 이러한 계정(서브 계정)은 모두 동일한 니모닉 단어 세트에서 파생됩니다. MetaMask의 다중 주소에는 나중에 소개할 HD(계층적 결정론적) 기능이 포함됩니다. BIP의 개념에 관해서는 여기에서 너무 많이 소개하지는 않겠습니다. 관심 있는 친구들은 구글에서 관련 정보를 검색할 수 있습니다.

다음으로는 BIP39를 기반으로 간략하게 소개하겠습니다. 지갑을 생성할 때 생성하는 12개의 니모닉 단어(또는 24개)는 해당 지갑에 있는 모든 자산과 동일합니다. 12개의 니모닉 단어 손실되면 암호화된 지갑에 있는 모든 자산이 더 이상 귀하의 것이 아니라는 의미입니다. 내 자신의. 즉, 니모닉 단어 소유한 사람은 암호화된 지갑의 모든 자산을 소유하게 됩니다.

또한 현재 주류 지갑의 대부분은 BIP 표준과 호환되므로 니모닉 단어 세트를 거의 모든 암호화 지갑으로 가져와 사용할 수 있습니다. 예를 들어 동일한 니모닉 단어 세트를 MetaMask 또는 Rabby Wallet으로 가져올 수 있습니다. 또는 OKX Web3 지갑을 가져와서 사용할 수 있습니다. 즉, 지갑은 단지 도구 니모닉 단어 뿐이며 암호화폐 자산을 지갑에 저장하지는 않습니다. 그것은 온체인 에 저장됩니다.

하지만 여기서 한 가지 기억해야 할 점은 인터넷에 가짜 지갑이 많다는 사실입니다. 동시에 지갑을 방지하기 위해 알 수 없거나 평판이 좋지 않은 암호화 지갑을 사용해서는 안 됩니다. 도둑질로부터 개발자.

니모닉 단어 대해 계속해서 이야기해 봅시다. 암호화폐 지갑의 니모닉 단어 특정 영어 단어 2048개 목록(BIP39 단어 목록)에서 클레임 됩니다. 즉, 모든 도구나 지갑 DApp에서 생성된 니모닉 단어 이 2048 단어에 포함됩니다. 아래 그림과 같이.

또한, 니모닉 단어 의 고유성을 보장하기 위해 BIP39 단어 목록에서는 처음 네 글자가 동일한 경우가 없습니다. 예를 들어 apple과 appl의 처음 4자리 숫자가 동일하므로 이 두 단어는 2048 단어 목록에 포함되지 않습니다. 즉, 단어의 처음 4글자를 알면 BIP39 단어 목록을 통해 해당 단어의 나머지 부분을 찾아 알 수 있기 때문에 일부 지갑 애플리케이션을 통해 니모닉 단어 가져올 때 가끔 After를 입력합니다. 처음 4글자를 입력하면 소프트웨어가 자동 입력을 완료합니다. 아래 그림과 같이.

이때 니모닉 단어 고정된 2048개의 단어 중 무작위로 선택된 12개의 단어로 구성되어 있기 때문에 암호화된 지갑은 쉽게 깨지지 않는 걸까요? 아니면 그냥 12개의 단어를 골라서 가져오도록 해보세요. 암호화폐 자산을 보관하는 지갑에 들어갈 수 있나요?

1. 12단어만 입력해서 지갑에 들어가는 문제에 대해서.

니모닉 단어 생성되는 순서는 특정 알고리즘을 기반으로 하기 때문에 무작위로 12개의 단어만 입력하면 다른 사람이 내 지갑에 들어올까 걱정할 필요가 없습니다. 니모닉 단어 생성하는 알고리즘의 일반적인 과정은 다음과 같습니다.

2. 암호화된 지갑이 크랙되는지에 대한 질문

이 문제를 확률적 관점에서 생각해보면 실제로 가능한 일이다.

하지만 현실적으로 보면 이런 일이 일어날 가능성은 극히 낮다. 여기에서 먼저 살펴볼 계산 목록을 만들 수 있습니다(아래 그림 참조).

한 단어가 빠졌고 크랙하면 2048가지 가능성이 있습니다(20481)

누락된 단어 2개, 가능성 4,194,304개(2048²)

누락된 단어 3개, 가능성 8,589,934,592개(2048³)

누락된 단어 4개, 가능성 17,592,186,044,416개(2048⁴)

암호화폐 지갑을 해킹하고 싶고 초당 최대 5,760억 개의 계산을 처리할 수 있는 현재 사용 가능한 가장 강력한 CPU인 Intel Core i9–14900K를 구입했다고 가정해 보겠습니다. 아래 사진처럼(ChatGPT에 직접 문의했습니다)

따라서 이론적으로 이 CPU를 사용하여 12개의 니모닉 단어 조합을 모두 해독하려면 9.45 x 10²² 계산이 필요합니다. 아래 그림과 같이.

그럼 몇 년을 계산해야 할까요? 계속해서 ChatGPT를 사용하여 계산할 수 있습니다. 아래 그림과 같이.

위의 계산 결과로 볼 때, 위의 CPU 해시레이트 이용해 2048개의 니모닉 단어 완전히 해독하려면 299,700,000,000,000,000,000년이 걸릴 것으로 보입니다. 이는 거의 불가능해 보입니다.

그러나 12개의 니모닉 단어 중 일부만 누락된 경우 크래킹에 필요한 구체적인 시간과 비용을 계산하려면 관심 있는 친구가 위에서 설명한 대로 ChatGPT에 문의할 수 있습니다. 또한 Hua Li Huawai가 이전 기사에서 소개한 Seed Saviour(잃어버린 단어를 복구/크래킹하는 데 적합)와 같은 니모닉 단어 크래킹하거나 복구하는 데 사용할 수 있는 몇 가지 도구가 실제로 있습니다. 2개 이상의 손실된 단어를 복구/크래킹합니다. 아래 그림과 같이.

종합해 보면, 현재 암호화폐 지갑 자산이 손실되는 주요 원인은 크랙 문제가 아니라 주로 네트워크로 연결된 휴대폰/컴퓨터에 니모닉 단어 무작위로 저장하는 등 지갑 소유자의 부적절한 사용이나 백업 때문일 수 있습니다. 또는 온라인 클라우드 디스크, 다른 사람에게 무작위로 니모닉 단어 전송, 가짜 지갑 소프트웨어 다운로드, 문제가 있는 피싱 웹사이트 승인 등

3. 12개의 니모닉 단어 또는 24개의 니모닉 단어 선택하세요.

12개의 니모닉 단어 가장 일반적이지만 실제로는 24개의 니모닉 단어 있습니다. 기술적으로 말하면 12워드는 128비트에 해당하고, 24워드는 256비트에 해당합니다. 현재 MetaMask(소프트웨어 지갑), OneKey(하드웨어 지갑) 등의 일반 지갑은 기본적으로 12개의 니모닉 단어 생성하는 반면, Ledger(하드웨어 지갑), Trezor(하드웨어 지갑) 등의 지갑은 니모닉 단어. 24.

12개의 니모닉 단어 로 생성된 지갑과 24개의 니모닉 단어 로 생성된 지갑 사이에는 큰 차이가 없습니다. 즉, 12개의 니모닉 단어 128비트 보안 수준을 제공할 수 있지만, 24개의 니모닉 단어는 보안을 제공할 수 있습니다. 니모닉 단어 256비트 보안 수준을 제공할 수 있습니다.

하지만 사실 128비트의 보안 수준은 충분히 높으며, 우리는 이미 위의 계산을 통해 이해했습니다. 따라서 12개의 니모닉 단어 선택할지, 24개의 니모닉 단어 선택할지는 개인의 고려 사항과 선호도에 달려 있습니다. 너무 많은 단어를 기억하고 관리하는 것이 더 어렵고 번거롭기 때문에 24비트 니모닉 단어 생성할 필요가 없습니다.

4. 지갑의 주요 카테고리는 무엇입니까?

우리는 흔히 소위 각종 핫 지갑, 콜드 지갑, 하드웨어 지갑, 종이 지갑 등을 많이 듣습니다. 그러나 지갑 자체의 특성에 따라 나누어 보면 현재 일반적인 지갑 유형에는 EOA 지갑과 MPC 지갑이 주로 포함됩니다. 그리고 AA 지갑. 실제로 Li Huawai의 이전 기사에서도 이 주제를 검토했습니다. 여기서 간단히 검토할 수 있습니다.

1) EOA 지갑

EOA 지갑은 니모닉 단어 지갑을 의미합니다. 니모닉 단어 에 관해서 어떤 사람들은 개인 키 문제를 언급할 수도 있습니다. 간단히 말하면 개인 키 = 니모닉 단어 입니다. 개인 키는 일반적으로 긴 숫자와 문자로 구성됩니다. 이는 우리(인간)가 기억하기에는 편리하지 않습니다. , 그래서 우리는 나중에 개인 키를 "대체"하기 위해 니모닉 단어 사용했습니다. 우리는 단지 12/24개의 영어 단어(니모닉 단어)만 기억하거나 백업하면 됩니다.

또한 아래 그림과 같이 일부 온라인 변환 도구를 사용하여 니모닉 단어 와 개인 키를 서로 변환할 수도 있습니다. 그러나 여기서 주의할 점은 안전을 위해 니모닉 단어 유출 문제를 피하기 위해 알 수 없는 도구나 웹사이트를 쉽게 사용하여 니모닉 단어 생성하거나 변환 작업을 수행하지 않는다는 것입니다.

2) MPC 지갑

MPC 지갑은 개인키가 없는 지갑을 말합니다. 즉, 개인 키는 샤딩되어 플랫폼은 하나의 복사본을 저장하고, 사용자의 장치는 하나의 복사본을 저장하며, 사용자의 클라우드 디스크(예: iCloud)는 하나의 복사본을 백업합니다.

현재 많은 분들이 사용하고 있는 바이낸스 Web3 지갑과 OKX Web3 지갑이 바로 이렇습니다. 물론 기존 니모닉 단어 가져와 EOA 지갑을 만들 수도 있습니다.

3) AA 지갑

AA 지갑은 Account Abstract 지갑이라고도 불리는 스마트 계약 지갑을 의미합니다. 이런 종류의 지갑은 개인키가 없어 독립적으로 생성할 수 없으며, 코드 로직으로 제어되며 기존 지갑을 기반으로 생성(생성)해야 합니다. 즉, 각 개인 키리스 지갑 또는 개인 키 지갑은 하나의 AA 스마트 계약 계정만 생성할 수 있는 반면, 니모닉 단어 지갑 아래의 각 계정(예: 동일한 니모닉 단어) 은 N개의 다른 지갑 계정을 생성할 수 있습니다. 지갑 A - 지갑 A - 스마트 01에 해당하는 계정 01과 같은 해당 AA 스마트 계약 계정을 생성할 수 있습니다.

스마트 계약 지갑에는 일반적으로 일괄 거래, 가스 지불, 키 복구 및 기타 사용자 정의 및 확장 기능과 같은 몇 가지 특수 기능이 있습니다. 위에서 언급한 Binance Web3 지갑과 OKX Web3 지갑도 AA 지갑 생성을 지원합니다.

그러나 현재 이 지갑 모델의 시장 채택률은 상대적으로 낮으며, 많은 체인(해당 DApp 포함)에서는 아직 이를 지원하지 않습니다. 따라서 AA 지갑을 사용하여 스왑 작업을 수행할 때 "현재 연결되어 있는 개인 키가 없는 지갑은 현재 XXX 체인을 지원하지 않습니다."와 같은 메시지가 표시되는 경우가 있습니다.

5. 다중 서명 지갑의 문제점

위 내용 외에도 암호화폐 지갑에 관해서는 다중 서명(Multi-Signature)이라는 개념을 자주 듣게 될 것입니다. 다중 서명은 주로 단일 개인 키 대신 여러 개의 서로 다른 개인 키를 통해 거래를 승인하는 것을 의미합니다. 이는 주로 거래의 보안을 강화하기 위한 것입니다.

일반적으로 다중 서명에는 주로 다음과 같은 몇 가지 문제가 관련됩니다.

1) 개인키가 여러 개인 문제

즉, 다중 서명 지갑에는 일반적으로 각각 특정 승인자와 연결된 여러 개인 키가 포함되어 있습니다.

2) 서명 임계값의 문제

즉, 다중 서명 지갑에서는 트랜잭션을 실행하기 위해 얼마나 많은 권한 부여자의 서명이 있어야 하는지 나타내는 서명 임계값을 정의할 수 있습니다. 작동 메커니즘에는 다중 키와 M-of-N 서명 개념이 포함됩니다. M-of-N 설정에서는 N개 중 M개의 키가 서명된 경우에만 트랜잭션이 승인될 수 있습니다. 예를 들어, 2/3 다중 서명 지갑에는 3개의 개인 키가 있으며 거래를 실행하려면 최소 2개의 개인 키(승인자)가 필요합니다.

3) 다중서명 거래의 문제점

즉, 트랜잭션을 실행하려면 서명 임계값을 충족해야 합니다. 즉, 트랜잭션이 브로드캐스트되고 확인될 수 있도록 충분한 수의 승인자 서명을 얻어야 합니다.

하지만 특정 용도에서는 다중 서명을 주로 기업/기관에서 사용합니다. 물론 개인도 사용할 수 있습니다. 예를 들어 하나의 개인 키를 휴대폰에 저장하고 다른 하나는 개인 키에 저장할 수 있습니다. 컴퓨터에서는 거래 중에 자금을 이체하려면 두 개의 개인 키를 함께 사용해야 합니다.

다중 서명 지갑의 생성 및 사용 사례와 관련하여 Hua Li Huawai는 이미 이전 기사에서 이를 소개했기 때문에 여기서는 자세히 설명하지 않겠습니다. 관심 있는 친구들은 역사적인 기사를 검토할 수 있습니다. 아래 그림과 같이.

6. 비트코인 ​​지갑 문제

나는 이전에 이 문제를 그룹에서 공유한 적이 있습니다. 여기서는 이에 대해 간단히 검토하겠습니다.

1) 코딩 관점에서

비트코인 지갑 주소의 개인 키(개인 키 참고)는 WIF, WIFC, HEX, B64, MINI, BIP38 등과 같은 여러 형식으로 나눌 수 있습니다. 즉, 개인 키 세트를 기반으로 생성할 수 있습니다. (다른 형식의 개인 키도 인코딩되어 서로 변환될 수 있습니다.) 여기서는 WIF와 WIFC를 예로 들어 보겠습니다.

WIF는 Wallet Import Format의 약자로 개인키의 인코딩 방식입니다. 이 방법은 압축과 비압축의 두 가지 형태로 나눌 수 있습니다. 압축은 WIF 압축(WIFC로 약칭)과 비압축 WIF 비압축(WIF로 약칭)입니다.

이들 사이의 차이점은 다음과 같은 기술적 관점에서만 나타납니다.

WIF 인코딩은 개인 키에 접두사 0x80을 추가한 다음 새로 생성된 값에 대해 두 번의 sha256 작업을 수행한 다음 계산 결과의 처음 4개의 4 섹션을 검증 비트로 사용한 다음 base58을 수행하는 것을 말합니다. 인코딩 결과는 다음과 같습니다. 5로 시작하는 개인 키 주소입니다.

WIFC의 계산은 WIF와 유사하지만, 0x80이라는 접두사를 추가해야 할 뿐만 아니라 끝에 압축 플래그 접미사, 즉 0x01을 추가해야 한다는 점에서 몇 가지 차이점이 있습니다. 그런 다음 sha256을 두 번 수행하고 처음 4바이트를 확인 비트로 사용하고 최종 생성된 것은 K 또는 L로 시작하는 개인 키 주소입니다.

그러면 위의 압축 및 비압축 개인 키에 따라 비트코인 ​​주소는 비압축 비트코인 ​​주소(비트코인 비압축 주소)와 압축 비트코인 ​​주소(비트코인 압축 주소)로 구분됩니다.

즉, 하나의 비트코인은 두 개의 주소(즉, 압축/비압축 주소)에 해당하지만 두 주소 모두 "합법적"이므로 사용상의 차이는 없습니다. 압축된 주소는 실제로 가장 일반적이고 사용되는 주소입니다(1로 시작하는 비트코인 ​​지갑 주소). 현재 대부분의 지갑 도구는 기본적으로 이 주소를 생성해야 합니다.

간단히 말해서, 지갑 주소를 생성하는 데 어떤 도구를 사용하든 생성된 지갑 주소와 개인 키는 일대일 대응이 있어야 합니다. 이 두 가지를 일상적인 사용에서는 걱정할 필요가 없습니다. 압축 여부는 기술적인 문제에 대해 걱정하지 마세요. 이것만 기억하세요. 개인 키가 유출되면 모든 자산이 손실될 수 있습니다.

2) 주소 형식 측면에서

일반적으로 비트코인 ​​지갑 주소는 주로 다음과 같은 네 가지 형식으로 나뉩니다.

일반 주소 (예: P2PKH 주소, Pay-to-Public-Key-Hash): 최초의 비트코인 ​​주소 형식입니다. 이 주소는 "1"로 시작하며 숫자와 대문자를 포함하여 26~35자로 구성됩니다.

기본 Segwit 주소 (P2WPKH 주소라고도 함): "bc1q" 또는 "tb1"로 시작하고 숫자와 소문자를 포함하여 41~62자로 구성되는 새로운 주소 형식입니다.

호환 가능한 Segwit 주소 (예: 중첩된 Segwit 주소, P2SH-P2WPKH 주소라고도 함): 이는 기존 일반 주소와 기본 Segwit 주소를 혼합한 새로운 주소 형식입니다. "3"으로 시작하며 숫자, 대문자, 소문자를 포함하여 26~35자로 구성됩니다.

Taproot 주소 : Taproot는 비트코인의 개인 정보 보호, 보안 및 확장성을 개선하도록 설계된 비트코인 ​​프로토콜(2021년 11월 활성화)에 대한 중요한 업그레이드입니다. 탭루트 주소는 일반적으로 "bc1p"로 시작합니다.

간단히 말해서 위의 네 가지 유형의 주소는 동일한 니모닉 단어 세트에서 파생될 수 있습니다. 현재 SegWit/Taproot 주소는 상대적으로 일반적으로 사용되며 bc1 주소에는 더 높은 용량과 같은 더 많은 이점이 있기 때문에 많은 주류 지갑의 기본 주소 형식이기도 합니다(일부 지갑은 4가지 유형의 주소 중 1~2개만 지원할 수 있음). 그리고 낮은 거래 수수료. 비트코인의 주소는 서로 다르지만, 각 주소는 모두 동일한 기본 암호화 기술과 기본 프로토콜을 사용하여 거래를 수행하므로 서로 자금을 이체할 수 있습니다. 다른 주소 간의 유일한 차이점은 가스 요금이 다르며 SegWit 주소를 사용하는 것이 상대적으로 저렴하다는 것입니다. SegWit과 Taproot의 차이점은 전자는 주로 거래 데이터를 단순화하는 반면 후자는 주로 개인 정보 보호와 효율성을 향상시킵니다.

8.HD 지갑 문제

HD 지갑은 계층적 결정적 지갑입니다. 간단히 말해서 HD는 키 쌍을 관리하고 생성하기 위해 계층적 구조를 사용하는 지갑 구조로 생각할 수 있습니다. 이 프레임 기반으로 사용자는 각 주소의 개인 키를 백업할 필요 없이 동일한 니모닉 단어 세트를 통해 거의 무제한에 가까운 주소(하위 주소)를 쉽게 생성할 수 있습니다.

이 지갑 모델의 장점은 여러 개의 새로운 지갑 주소를 생성하기 위해 일련의 니모닉 단어 만 필요하다는 것입니다. 예를 들어 일부 주소는 에어드랍 에 사용되고 일부는 전송에 사용됩니다. 일부는 테스트 등에 사용되므로 익명성과 개인 정보 보호가 향상됩니다. 그러나 단점도 분명합니다. 니모닉 단어 분실되거나 유출되면 해당 주소의 모든 자산도 손실됩니다.

따라서 편리함을 원하든 안전을 원하든 결정하는 것은 귀하에게 달려 있습니다.

이번 호의 내용을 이곳에서 공유하겠습니다. 이 글은 Hua Li Hua Wai가 업데이트한 490번째 기사이기도 합니다. 본문에 관련된 데이터 인용, 이미지 출처 등 추가 정보는 Hua Li Hua Wai 노션 버전 내 해당 날짜의 기사 백업을 참고하시기 바랍니다.

면책조항: 위 내용은 개인적인 관점 과 분석일 뿐이며, 학습 기록 및 의사소통용으로만 사용되며, 투자 조언을 구성하지 않습니다. 암호화 분야는 다양한 형태의 해커 공격, 사기, 돼지 살상 시도 외에도 많은 프로젝트가 언제든지 원점으로 돌아갈 리스크 있는 리스크 시장입니다. 리스크 예방 인식을 향상시키고 자신이 하고 있는 일을 이해하지 못합니다.

면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
6
즐겨찾기에 추가
1
코멘트