รายการคำ BIP39: อธิบายทั้ง 10 ภาษา (2026)
สารบัญ
เมื่อคุณสร้างกระเป๋าคริปโตเคอร์เรนซี คำ 12 หรือ 24 คำที่คุณจดนั้นไม่ได้ถูกดึงมาจากพจนานุกรมสุ่ม แต่มาจากรายการคำที่คัดสรรอย่างระมัดระวังตามมาตรฐาน BIP39 คนส่วนใหญ่พบรายการภาษาอังกฤษ --- 2,048 คำจาก "abandon" ถึง "zoo" --- แต่ข้อกำหนดนั้นกำหนดรายการคำใน 10 ภาษาจริงๆ แต่ละรายการถูกออกแบบด้วยข้อจำกัดเดียวกัน: คำ 2,048 คำพอดี ไม่มีความกำกวม และโครงสร้างที่ลดข้อผิดพลาดในการคัดลอก
คู่มือนี้ครอบคลุมทุกรายการคำ BIP39 อย่างเป็นทางการ อธิบายหลักการออกแบบเบื้องหลังแต่ละรายการ และกล่าวถึงผลกระทบด้านความเข้ากันได้ที่สำคัญของการเลือกรายการที่ไม่ใช่ภาษาอังกฤษ
ทำไมต้อง 10 ภาษา?¶
BIP39 ถูกออกแบบมาเพื่อให้การสำรองข้อมูลคริปโตเคอร์เรนซีเข้าถึงได้ทั่วโลก ข้อกำหนดดั้งเดิม (เผยแพร่ในปี 2013) มีเฉพาะภาษาอังกฤษ แต่ผู้ร่วมพัฒนาจากทั่วโลกเสนอรายการคำเพิ่มเติมในปีต่อๆ มา เป้าหมายคือให้เจ้าของภาษาหลักๆ สามารถจด seed phrase ด้วยคำที่พวกเขาจดจำ สะกด และตรวจสอบได้ง่าย
แต่ละรายการคำต้องตอบสนองข้อจำกัดหลักเดียวกัน:
- คำ 2,048 คำพอดี นี่ไม่สามารถต่อรองได้ แต่ละคำแทนข้อมูล 11 bits (2^11 = 2,048) และคณิตศาสตร์ของการแปลง entropy เป็น mnemonic ขึ้นอยู่กับจำนวนนี้พอดี
- 4 ตัวอักษรแรกของแต่ละคำต้องไม่ซ้ำกัน ช่วยให้ผู้ใช้ (และ hardware wallet ที่มีหน้าจอเล็ก) ระบุคำได้จากสี่ตัวอักษรแรก
- คำควรเป็นคำทั่วไปและจดจำได้ง่าย คำศัพท์ที่คลุมเครือเพิ่มโอกาสผิดพลาดในการคัดลอก
- คำที่ดูคล้ายหรือออกเสียงคล้ายกันควรถูกหลีกเลี่ยง "Woman" และ "women" จะเป็นคู่ที่ไม่ดี เช่นเดียวกับ "accept" และ "except"
ข้อจำกัดเหล่านี้ยากกว่าที่จะตอบสนองในบางภาษา นั่นเป็นเหตุผลที่รายการคำบางรายการใช้เวลาหลายปีกว่าจะสรุป
รายการคำ BIP39 อย่างเป็นทางการ 10 รายการคือ: อังกฤษ, ญี่ปุ่น, เกาหลี, จีนตัวย่อ, จีนตัวเต็ม, สเปน, ฝรั่งเศส, อิตาลี, เช็ก และ โปรตุเกส
อังกฤษ: ค่าเริ่มต้นสากล¶
รายการคำภาษาอังกฤษเป็นมาตรฐานโดยพฤตินัย กระเป๋าแทบทุกตัว --- hardware, software และเว็บ --- รองรับ หากคุณใช้ Bitcoin, Ethereum, Solana หรือ chain ที่เข้ากันได้กับ BIP39 อื่นๆ รายการภาษาอังกฤษคือสิ่งที่กระเป๋าของคุณจะใช้ เว้นแต่คุณจะเลือกอย่างอื่นอย่างชัดเจน
คุณสมบัติการออกแบบ¶
- 2,048 คำ จาก "abandon" ถึง "zoo"
- ไม่มีคำที่สั้นกว่า 3 ตัวอักษร คำสั้นที่สุดคือ "add," "age," "ago," "aim," "air" และคำทั่วไปที่คล้ายกัน
- 4 ตัวอักษรแรกไม่ซ้ำกัน "Abou" ระบุ "about" ได้เฉพาะเจาะจง "Abso" ระบุ "absorb" ได้เฉพาะเจาะจง นี่คือเหตุผลที่ hardware wallet บางตัวต้องการเพียงพิมพ์สี่ตัวอักษรแรก
- ไม่มีคำพ้องเสียง คำเช่น "know" กับ "no" หรือ "their" กับ "there" ถูกตัดออก
- เรียงตามตัวอักษร การค้นหาแบบ binary search ทำได้ง่าย
การรองรับอย่างกว้างขวางของรายการภาษาอังกฤษทำให้เป็นตัวเลือกที่ปลอดภัยที่สุดสำหรับการจัดเก็บระยะยาว สำหรับคำอธิบายทางเทคนิคว่าคำเหล่านี้เข้ารหัส entropy ของคุณอย่างไร ดู BIP39 Explained
รายการคำ CJK: ญี่ปุ่น, เกาหลี, จีน¶
รายการคำ CJK (จีน, ญี่ปุ่น, เกาหลี) นำเสนอความท้าทายและโอกาสเฉพาะตัว ภาษาเหล่านี้ใช้อักษรภาพหรืออักษรพยางค์แทนอักษรละติน ซึ่งเปลี่ยนข้อจำกัดการออกแบบโดยพื้นฐาน
ญี่ปุ่น¶
รายการคำภาษาญี่ปุ่นใช้ตัวอักษร hiragana โดยเฉพาะ แต่ละคำเป็นคำญี่ปุ่นทั่วไปที่เขียนใน hiragana ทำให้อ่านได้โดยไม่ต้องรู้ kanji
- อักษร: Hiragana เท่านั้น (ไม่มี katakana, ไม่มี kanji)
- ตัวคั่น: ข้อกำหนดแนะนำ ideographic space (U+3000) แทน ASCII space มาตรฐานระหว่างคำ นี่เป็นแหล่งที่มาทั่วไปของบั๊กในการใช้งาน
- ความเป็นเอกลักษณ์: แต่ละคำไม่ซ้ำกันใน 4 ตัวอักษร hiragana แรก
เกาหลี¶
รายการคำภาษาเกาหลีใช้ hangul --- ระบบการเขียนเสียงของเกาหลี แต่ละคำเป็นคำเกาหลีทั่วไปที่เขียนด้วย hangul ทั้งหมด
- อักษร: Hangul เท่านั้น
- คุณสมบัติตัวอักษร: ตัวอักษร hangul ของเกาหลีประกอบด้วย jamo (พยัญชนะและสระ) จัดเรียงในบล็อกพยางค์ ความโดดเด่นทางสายตาของบล็อกเหล่านี้ช่วยลดข้อผิดพลาดในการคัดลอก
การรองรับกระเป๋าภาษาเกาหลีมีจำกัดกว่าอังกฤษหรือญี่ปุ่น หากคุณเลือกใช้รายการคำภาษาเกาหลี ตรวจสอบว่าซอฟต์แวร์กระเป๋าที่คุณต้องการรองรับอย่างชัดเจนก่อนสร้าง seed phrase
จีนตัวย่อและจีนตัวเต็ม¶
BIP39 กำหนดรายการคำจีนสองรายการแยกกัน: หนึ่งสำหรับจีนตัวย่อ (ใช้ในจีนแผ่นดินใหญ่, สิงคโปร์ และมาเลเซีย) และหนึ่งสำหรับจีนตัวเต็ม (ใช้ในไต้หวัน, ฮ่องกง และมาเก๊า)
- อักษร: แต่ละรายการใช้ชุดตัวอักษรของตนโดยเฉพาะ
- จำนวนตัวอักษร: ตัวอักษรจีนเข้ารหัสข้อมูลต่อตัวมากกว่าอักษรละติน คำในรายการจีนมักมี 1-2 ตัวอักษร ทำให้ seed phrase กระชับขึ้นทางสายตา
รายการจีนได้รับการรองรับดีในกระเป๋าที่นิยมในภูมิภาคที่พูดภาษาจีน แต่อาจไม่มีในซอฟต์แวร์กระเป๋าตะวันตก
ภาษายุโรป: สเปน, ฝรั่งเศส, อิตาลี, เช็ก, โปรตุเกส¶
ห้าภาษายุโรปเติมเต็มรายการคำ BIP39 อย่างเป็นทางการ แต่ละภาษาใช้อักษรละตินพร้อมเครื่องหมายกำกับเสียงเฉพาะภาษา (accents, tildes, cedillas)
สเปน¶
รายการคำภาษาสเปนรวมคำศัพท์สเปนทั่วไป โดยมีเครื่องหมายกำกับเสียงเป็นส่วนหนึ่งของคำ การใช้งานกระเป๋าต้องจัดการ Unicode อย่างถูกต้อง
- เครื่องหมายกำกับเสียง: ตัวอักษรที่มี accent รวมอยู่และมีความสำคัญ
- ความเป็นกลางระดับภูมิภาค: รายการหลีกเลี่ยงคำที่เฉพาะเจาะจงกับประเทศที่พูดภาษาสเปนประเทศเดียว
ฝรั่งเศส¶
รายการคำภาษาฝรั่งเศสใช้หลักการคล้ายกับรายการสเปน โดยให้ความสำคัญกับตัวอักษรที่มี accent
- เครื่องหมายกำกับเสียง: มีความสำคัญอย่างเต็มที่
- Ligatures: รายการหลีกเลี่ยงตัวอักษรเช่น ae และ oe ที่อาจแสดงผลไม่สม่ำเสมอข้ามระบบ
อิตาลี¶
รายการอิตาลีค่อนข้างตรงไปตรงมาในบรรดารายการยุโรป อิตาลีใช้เครื่องหมายกำกับเสียงน้อยกว่าฝรั่งเศสหรือสเปน
เช็ก¶
รายการคำภาษาเช็กโดดเด่นเพราะเช็กใช้ชุดเครื่องหมายกำกับเสียงอย่างกว้างขวาง: haceks, carons และ acute accents
- เครื่องหมายกำกับเสียง: จำเป็นและรับน้ำหนัก การตัดเครื่องหมายกำกับเสียงออกจะสร้างความกำกวม
- ความเสี่ยงในการใช้งาน: ซอฟต์แวร์ที่ normalize Unicode อย่างรุนแรง (ตัดเครื่องหมายกำกับเสียง, แปลงเป็น ASCII) จะทำลาย seed phrase ภาษาเช็ก นี่เป็นความเสี่ยงที่ใหญ่ที่สุดกับรายการคำที่ไม่ใช่ภาษาอังกฤษ
โปรตุเกส¶
รายการโปรตุเกสเป็นส่วนเพิ่มเติมล่าสุดของข้อกำหนด BIP39 อย่างเป็นทางการ ใช้เครื่องหมายกำกับเสียงทั่วไปในภาษาโปรตุเกสและพยายามเป็นกลางระหว่างโปรตุเกสบราซิลและยุโรป
ผลกระทบด้านความเข้ากันได้: ยึดมั่นในภาษาเดียว¶
นี่คือข้อสรุปเชิงปฏิบัติที่สำคัญที่สุดของคู่มือทั้งหมดนี้: การเลือกรายการคำของคุณคือพันธสัญญาถาวร seed phrase ที่สร้างด้วยรายการคำภาษาญี่ปุ่นไม่สามารถกู้คืนโดยใช้รายการคำภาษาอังกฤษ คำเหล่านี้ไม่ใช่การแปลของกันและกัน --- เป็นการจับคู่ที่ต่างกันโดยสิ้นเชิงจาก binary entropy เดียวกันไปสู่ลำดับคำที่ต่างกัน
การจับคู่เฉพาะภาษา¶
เมื่อกระเป๋าของคุณสร้าง seed phrase จะนำ entropy 128 หรือ 256 bits คำนวณ checksum แบ่งผลลัพธ์เป็นส่วน 11 bits และค้นหาแต่ละส่วนในรายการคำ คำดัชนี 0 ในรายการอังกฤษคือ "abandon" คำดัชนี 0 ในรายการญี่ปุ่นเป็นคำที่ต่างกันโดยสิ้นเชิง ข้อมูลไบนารีเหมือนกัน การแสดงที่มนุษย์อ่านได้ต่างกัน
ซึ่งหมายความว่า:
- คุณไม่สามารถผสมคำจากรายการต่างๆ ได้
- คุณไม่สามารถ "แปล" seed phrase โดยค้นหาดัชนีของแต่ละคำแล้วหาคำที่ตรงกันในภาษาอื่น
- จริงๆ แล้วคุณสามารถทำการแปลนั้นแบบกลไกได้ (ค้นหาดัชนีของคำอังกฤษแต่ละคำ แล้วหาคำที่ดัชนีเดียวกันในรายการญี่ปุ่น) และผลลัพธ์จะเป็น seed phrase ภาษาญี่ปุ่นที่ถูกต้องที่ derive กระเป๋าเดียวกัน แต่ไม่มีซอฟต์แวร์กระเป๋ามาตรฐานที่ให้ฟีเจอร์นี้ และการทำด้วยมือเสี่ยงต่อข้อผิดพลาด
การรองรับกระเป๋าไม่ใช่สากล¶
ในขณะที่ภาษาอังกฤษได้รับการรองรับโดยกระเป๋า BIP39 ทุกตัว รายการที่ไม่ใช่ภาษาอังกฤษมีระดับการรองรับที่แตกต่างกัน:
| ภาษา | ระดับการรองรับกระเป๋า |
|---|---|
| อังกฤษ | สากล |
| ญี่ปุ่น | กว้างขวาง (กระเป๋าหลักๆ) |
| จีนตัวย่อ | ปานกลาง (กระเป๋าภูมิภาค CJK) |
| จีนตัวเต็ม | ปานกลาง (กระเป๋าภูมิภาค CJK) |
| เกาหลี | จำกัด |
| สเปน | ปานกลาง |
| ฝรั่งเศส | ปานกลาง |
| อิตาลี | จำกัดถึงปานกลาง |
| เช็ก | จำกัด |
| โปรตุเกส | จำกัด |
หากคุณสร้าง seed phrase ด้วยรายการคำภาษาเช็กแล้วต้องกู้คืน 5 ปีต่อมาบน hardware wallet ที่รองรับเฉพาะอังกฤษ คุณจะติดปัญหา วิธีแก้ไขเดียวคือหาซอฟต์แวร์ที่รองรับ BIP39 ภาษาเช็ก กู้คืนกระเป๋า แล้วโอนเงินไปยังกระเป๋าใหม่ที่สร้างด้วยรายการอังกฤษ
Unicode Normalization¶
รายการคำที่ไม่ใช่ภาษาอังกฤษนำ Unicode normalization มาเป็นจุดที่อาจล้มเหลว ข้อกำหนด BIP39 กำหนดให้ใช้ NFKD (Normalization Form Compatibility Decomposition) normalization ก่อนป้อน mnemonic เข้า PBKDF2 สิ่งนี้เกี่ยวข้องเป็นพิเศษกับ:
- Ideographic space (ญี่ปุ่น): ตัวอักษรช่องว่างระหว่างคำญี่ปุ่นควรเป็น U+3000 ไม่ใช่ ASCII space (U+0020) กระเป๋าบางตัวใช้อันหนึ่ง บางตัวใช้อีกอัน
- ตัวอักษรที่มี accent (ฝรั่งเศส, สเปน, เช็ก, โปรตุเกส): ตัวอักษรที่มี accent สามารถแสดงเป็น Unicode codepoint เดียวหรือ ตัวอักษรพื้นฐาน + combining accent
- Chinese character variants: ตัวอักษรจีนบางตัวมีการแสดง Unicode หลายแบบ
ปัญหาเหล่านี้พบได้ยาก แต่เมื่อเกิดขึ้นจะร้ายแรง Seed phrase ของคุณดูถูกต้อง แต่ derive กระเป๋าต่างกันเพราะความแตกต่างของ Unicode ที่มองไม่เห็น
คำแนะนำ¶
เว้นแต่คุณจะมีเหตุผลจำเป็นในการใช้รายการคำที่ไม่ใช่ภาษาอังกฤษ ใช้ภาษาอังกฤษ มีการรองรับกระเป๋าสากล ไม่มีความซับซ้อนของเครื่องหมายกำกับเสียง และไม่มีปัญหา Unicode normalization รายการคำภาษาอังกฤษถูกทดสอบในกระเป๋าหลายล้านตัวมากว่าทศวรรษ
หากคุณเลือกรายการที่ไม่ใช่ภาษาอังกฤษ ให้บันทึกว่าคุณใช้รายการใดพร้อมกับ seed phrase สำรอง เก็บสำเนาของรายการคำ (ทั้ง 2,048 คำ) ไว้กับข้อมูลสำรอง และทดสอบการกู้คืนบนกระเป๋าอย่างน้อยสองตัวก่อนไว้วางใจการตั้งค่ากับเงินจำนวนมาก
การค้นหาคำ BIP39 ของ SafeSeed¶
Seed phrase generator ของ SafeSeed --- สำหรับ Bitcoin, Ethereum และ Solana --- ใช้รายการคำ BIP39 ภาษาอังกฤษเป็นค่าเริ่มต้น เพื่อความเข้ากันได้สูงสุดข้ามกระเป๋าและอุปกรณ์ hardware
เครื่องมือแสดงคำที่สร้างแต่ละคำพร้อมดัชนีในรายการคำ BIP39 (0--2,047) ความโปร่งใสนี้ให้คุณตรวจสอบว่าการจับคู่คำ-ดัชนีถูกต้องและอ้างอิงกับรายการคำ BIP39 ภาษาอังกฤษอย่างเป็นทางการ
การสร้างทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณโดยใช้ Web Crypto API สำหรับการจัดหา entropy ไม่มีการค้นหารายการคำ ไม่มีข้อมูล seed และไม่มี private keys ที่ออกจากอุปกรณ์ของคุณ คุณสามารถตัดการเชื่อมต่ออินเทอร์เน็ตก่อนสร้างและทำงานแบบแยกตัวโดยสมบูรณ์ สำหรับความเข้าใจลึกขึ้นว่าทำไมสิ่งนี้จึงสำคัญ ดู Online Seed Generator Safety
ระบบรายการคำ BIP39 เป็นหนึ่งในส่วนประกอบที่ออกแบบอย่างรอบคอบที่สุดของ cryptocurrency stack มันแปลง binary entropy ดิบเป็นสิ่งที่มนุษย์สามารถจดบนกระดาษ อ่านกลับโดยไม่ผิดพลาด และใช้กู้คืนกระเป๋าในอีกหลายปีบนฮาร์ดแวร์ที่ยังไม่ได้ถูกประดิษฐ์ ความพร้อมใช้งานของ 10 ตัวเลือกภาษาทำให้ระบบนี้เข้าถึงได้ทั่วโลก แต่การเข้าถึงนั้นมาพร้อมความรับผิดชอบ: เลือกภาษาอย่างจงใจ เข้าใจผลกระทบด้านความเข้ากันได้ และรักษากลยุทธ์สำรองข้อมูลให้สอดคล้องกับระบบนิเวศกระเป๋าที่คุณพึ่งพา