BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

从《捕风追影》说起:决定上万亿加密资产的2048个单词

Tyler Web3
特邀专栏作者
2025-09-04 10:31
บทความนี้มีประมาณ 0 คำ การอ่านทั้งหมดใช้เวลาประมาณ 0 นาที
想告诉「此沙」:你离拥有上百亿港币,顶多也就2048次尝试。
สรุปโดย AI
ขยาย
想告诉「此沙」:你离拥有上百亿港币,顶多也就2048次尝试。

เมื่อไม่นานมานี้ ผมได้ดูหนังเรื่องใหม่ "Chasing Shadows" ของเฉินหลงที่ได้รับการยกย่องอย่างมาก มีฉากที่น่าสนใจฉากหนึ่ง ทรัพย์สินมูลค่าหลายหมื่นล้านดอลลาร์ฮ่องกงถูกเข้ารหัสไว้ในกระเป๋าเงิน 12 คำ และตอนจบก็เป็นเพียงคำสุดท้ายที่ไม่มีใครรู้

หลังจากอ่านแล้ว ผมลองอ่านดูและพบว่าเลขหลักที่ 10 และ 12 ไม่ได้อยู่ในพจนานุกรมช่วยจำมาตรฐาน เห็นได้ชัดว่าผู้เขียนบทตั้งใจเขียนแบบนี้เพื่อป้องกันไม่ให้คนเอากระเป๋าสตางค์คืนตามเนื้อเรื่องและฉ้อโกง เพราะการหลอกลวงแบบเดียวกันนี้เกิดขึ้นบ่อยครั้งบนเครือข่าย:

มิจฉาชีพ จะจงใจเปิดเผยที่อยู่กระเป๋าเงินพร้อมยอดคงเหลือ (โดยทั่วไปจะอยู่ในเครือข่าย Tron โดยใช้กลไกของเจ้าของ) เพื่อหลอกให้ผู้คนโอนเงิน Gas และรอรับเงิน เมื่อโอนเงินแล้วจะไม่สามารถเรียกคืนได้

แต่สิ่งที่น่าสนใจคือหนังอ้างว่าขาดแค่คำสุดท้ายเท่านั้น ในความเป็นจริงแล้ว เทคนิคการจำเป็นไปตาม มาตรฐาน BIP 39 ซึ่งมีเพียง 2,048 คำ ซึ่งหมายความว่าการบังคับคำสุดท้ายให้ถูกต้อง (brute-forcing) มีเพียง 2,048 คำตอบที่เป็นไปได้ หากเราจำกัดขอบเขตให้แคบลง เช่น หากตัวอักษรตัวแรกเป็น "es" เหมือนในภาพยนตร์ ความเป็นไปได้ก็จะยิ่งน้อยลงไปอีก และเราสามารถเขียนคำตอบให้เสร็จได้ภายในเวลาไม่ถึงหนึ่งนาที

อย่างไรก็ตาม คำถามสำคัญกว่าที่ควรทบทวนหลังจากชมภาพยนตร์คือ ความสัมพันธ์ระหว่างตัวช่วยจำ คีย์ส่วนตัว และคีย์สาธารณะคืออะไร? ทำไมการสูญเสียตัวช่วยจำจึงหมายถึงการสูญเสียทรัพย์สินทั้งหมด?

1. Mnemonic: Private key: Public key/address = "Keychain": "Key": "House number"

Mnemonics เป็นวิธีการสำรองข้อมูลที่ปฏิบัติตามมาตรฐาน BIP 39 ประกอบด้วยคำศัพท์ 12, 18 หรือ 24 คำ ที่เลือกแบบสุ่มและนำมารวมกันจากคำศัพท์ภาษาอังกฤษ 2,048 คำ ผ่านอัลกอริทึม

หลังจากที่อัลกอริทึม PBKDF 2 ประมวลผลชุดตัวช่วยจำนี้แล้ว จะมีการสร้างค่า Seed ขึ้นมา ซึ่งค่า Seed นี้จะได้รับคีย์ส่วนตัวตามมาตรฐานเส้นทาง เช่น BIP 32/BIP 44 ซึ่งจะสอดคล้องกับคีย์/แอดเดรสสาธารณะชุดหนึ่ง

ชุดตัวช่วยจำ → สร้างชุดคีย์ส่วนตัว → สร้างชุดคีย์สาธารณะ → สอดคล้องกับชุดที่อยู่

กล่าวอีกนัยหนึ่ง:

  • ตัวช่วยจำ = พวงกุญแจ และคีย์ส่วนตัวมักจะมีความสัมพันธ์แบบหนึ่งต่อหลาย ในทางทฤษฎี ชุดตัวช่วยจำสามารถดึงคีย์ส่วนตัวออกมาได้หลายพันคีย์
  • Private key = คีย์ โดยคีย์ ส่วนตัวแต่ละคีย์จะสอดคล้องกับสิทธิ์ในการใช้ที่อยู่
  • คีย์สาธารณะ/ที่อยู่ = หมายเลขบ้าน ซึ่งสามารถเปิดเผยต่อสาธารณะและผู้อื่นสามารถใช้เพื่อโอนเงินให้คุณได้

ดังนั้นคุณสามารถคิดถึงตัวช่วยจำนี้ว่าเป็น "พวงกุญแจ" ของคุณ และแต่ละคีย์ส่วนตัวก็เหมือนกับหนึ่งในคีย์ที่สามารถเปิดประตู ใช้ในการลงนามและพิสูจน์การควบคุมของคุณที่มีต่อที่อยู่กระเป๋าเงิน เมื่อคุณเริ่มธุรกรรม คุณจะใช้คีย์ส่วนตัวเพื่อลงนามและแจ้งกับเครือข่ายทั้งหมดว่า "การโอนนี้ได้รับอนุญาตจากฉัน"

2. ฉันสามารถเลือกวลีช่วยจำของตัวเองได้ไหม

บางคนอาจคิดว่า "ฉันนึกคำได้ 12 คำเองเหรอ" เช่น วันเกิด คำภาษาอังกฤษที่ชอบ ชื่อของไอดอล ฯลฯ ซึ่งจะทำให้ดูเป็นส่วนตัวมากขึ้น

คำตอบคือ ใช่ แต่ก็อันตรายมาก

เนื่องจากตัวเลขสุ่มที่สร้างโดยคอมพิวเตอร์นั้นเป็นแบบสุ่มอย่างแท้จริง และ มนุษย์มักจะมีรูปแบบอยู่เสมอเมื่อเลือกคำศัพท์ (คำทั่วไป คำสำนวน ลำดับที่ต้องการ) สิ่งนี้จะจำกัดพื้นที่การค้นหาลงอย่างมากและทำให้การช่วยจำของคุณเดาง่ายขึ้น

ก่อนหน้านี้เคยมีเหตุการณ์ด้านความปลอดภัยที่เกี่ยวข้องกับ "กระเป๋าสตางค์แบบสุ่มเทียม" กระเป๋าสตางค์บางใบใช้อัลกอริทึมแบบสุ่มเทียมในการสร้างหน่วยความจำ (mnemonics) ส่งผลให้ค่าเอนโทรปี (entropy) ต่ำมาก ซึ่งทำให้แฮกเกอร์สามารถโจมตีแบบ Brute-Force และถอดรหัสได้ ในปี 2015 กลุ่มแฮกเกอร์ Blockchain Bandit ได้ใช้ประโยชน์จากตัวสร้างตัวเลขสุ่มที่ผิดพลาดและช่องโหว่ของโค้ดโปรแกรม เพื่อค้นหาคีย์ส่วนตัวที่อ่อนแออย่างเป็นระบบ และสามารถสแกนที่อยู่กระเป๋าสตางค์ที่มีช่องโหว่ได้มากกว่า 700,000 แห่ง และขโมย ETH ได้มากกว่า 50,000 ETH จากที่อยู่เหล่านั้น

แน่นอนว่าพวกเนิร์ดบางคนจะใช้ลูกเต๋า (ตรวจสอบให้แน่ใจว่าลูกเต๋ามีรูปร่างสม่ำเสมอเพียงพอ) เพื่อทอยตัวเลขสุ่ม แล้วนำไปแมปกับคลังคำศัพท์ BIP 39 วิธีนี้ถือเป็นการรักษาความปลอดภัยแบบแมนนวล แต่สำหรับคนส่วนใหญ่แล้ว ไม่จำเป็นต้องทำให้มันซับซ้อนขนาดนั้น และก็เกิดข้อผิดพลาดได้ง่ายเช่นกัน

3. เราสามารถเปิดเผยกระเป๋าสตางค์ของ Vitalik Buterin หรือวาฬตัวอื่นๆ อย่างรุนแรงได้หรือไม่?

ผมเคยมีคำถามนี้อยู่ในใจมาก่อน จินตนาการว่าวันหนึ่งผมจะสร้างที่อยู่กระเป๋าเงินขึ้นมา แล้วผมก็จะเห็นว่ามี ETH หลายล้านอยู่ในนั้น ผมจะมีอิสรภาพทางการเงินทันทีและขโมยเงินจากวาฬตัวใหญ่

ฉันต้องบอกว่ามันน่าดึงดูดใจแค่ที่จะคิดถึงมัน แต่ความจริงก็คือ ความน่าจะเป็นแทบจะเป็นศูนย์

เพราะอะไร? เพราะจำนวนรูปแบบการรวมกันที่เป็นไปได้ของคำช่วยจำนั้นเกินจริงจนเกินจินตนาการของมนุษย์:

  • 12 คำ: จำนวนชุดค่าผสมที่ถูกต้องคือประมาณ 2¹²⁸ ≈ 3.4 × 10³⁸
  • 24 คำ: จำนวนชุดค่าผสมที่ถูกต้องคือประมาณ 2²⁵⁶ ≈ 1.16 × 10⁷⁷

ลำดับขนาดนี้หมายถึงอะไร?

เราทุกคนรู้ว่ามีเม็ดทรายมากมายนับไม่ถ้วนบนโลก แต่นักวิทยาศาสตร์ได้ประมาณค่าไว้โดยประมาณ หากรวมชายหาดและทะเลทรายทั้งหมดบนโลกเข้าด้วยกัน จำนวนทรายทั้งหมดจะอยู่ที่ประมาณ 7.5×10¹⁸ เม็ด ซึ่งหมายความว่า:

  • จำนวนชุดคำที่ถูกต้อง 12 คำมีค่าเท่ากับ 4.5 × 10¹⁹ เท่าของจำนวนเม็ดทรายทั้งหมดบนโลก
  • จำนวนชุดคำที่ถูกต้อง 24 คำคือ 1.5 × 10⁵⁸ เท่าของจำนวนเม็ดทรายทั้งหมดบนโลก

พูดอีกอย่างก็คือ ราวกับว่า เม็ดทรายทุกเม็ดบนโลกกลายเป็น "โลกใหม่" และโลกใหม่แต่ละใบก็มีชายหาดและทราย จากนั้นคุณจะต้องสุ่มหาเม็ดทรายที่คุณทำเครื่องหมายไว้ล่วงหน้าท่ามกลางเม็ดทรายทั้งหมดเหล่านี้ในคราวเดียว

เรื่องนี้เกินกว่าที่มนุษย์จะจินตนาการได้

ดังนั้น ความน่าจะเป็นของการ brute-forcing กระเป๋าสตางค์จึงไม่ได้ "ต่ำมาก" แต่เทียบเท่ากับศูนย์ภายใต้หลักฟิสิกส์และพลังการประมวลผลที่ทราบ กันดี หากคุณต้องการรวยจากการ "เจาะฐานข้อมูล" คุณอาจซื้อลอตเตอรี่ ซึ่งมีโอกาสถูกรางวัลสูงกว่ามาก

กลับมาที่ฉากของภาพยนตร์กันต่อดีกว่า: หากใครต้องการคำช่วยจำเพียงคำเดียวจริงๆ ก็สามารถลองใช้วิธี Brute Force ได้เช่นกัน

สุดท้ายนี้ เคล็ดลับด้านความปลอดภัยบางประการเกี่ยวกับกระเป๋าสตางค์/ตัวช่วยจำ/คีย์ส่วนตัว:

  1. ให้ความสำคัญกับการใช้กระเป๋าเงินที่ไม่ต้องดูแลซึ่งได้รับการทดสอบตามเวลาและตลาด และมีการตรวจสอบโค้ดโอเพนซอร์ส เช่น MetaMask, Trust Wallet, SafePal เป็นต้น หากเป็นไปได้ ให้ใช้กระเป๋าเงินฮาร์ดแวร์โดยตรง
  2. อย่าจับภาพหน้าจอตัวช่วยจำและคีย์ส่วนตัวของคุณ บันทึกลงในไดรฟ์เครือข่าย คัดลอกและวาง หรือส่งให้ผู้อื่น
  3. วิธีที่ดีที่สุดคือการคัดลอกด้วยปากกาและกระดาษ (คุณอาจพิจารณาใช้กระดานช่วยจำสแตนเลสที่ทนความชื้น ทนไฟ และทนต่อการกัดกร่อน) เก็บไว้ในที่ปลอดภัย และทำสำเนาสำรองข้อมูลไว้ใน 2-3 แห่ง
  4. คุณสามารถเปิดเผยคีย์/ที่อยู่สาธารณะได้โดยไม่ต้องกังวลใดๆ นั่นก็คือหมายเลขบ้านของคุณ แต่ต้องระวังในการระบุลิงก์ฟิชชิ่ง
  5. ขอแนะนำให้ใช้อุปกรณ์ที่สะอาดเพื่อจัดการกระเป๋าเงินของคุณและหลีกเลี่ยงการติดตั้งปลั๊กอินหรือแอปจากแหล่งที่มาที่ไม่รู้จัก
  6. จำไว้ว่า: ใครก็ตามที่ขอให้คุณช่วยจำวลีนั้น เป็นคนหลอกลวง 100%
กระเป๋าสตางค์
ความปลอดภัย
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
ค้นหา
สารบัญบทความ
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android