Authored by Piriya Sambandaraksa via Medium / Oct 19, 2021
Understanding a Bitcoin wallet
ก่อนที่เราจะไปเรียนรู้วิธีการใช้ง่านวอลเล็ต ผมคิดว่าสิ่งสำคัญที่ทุกคนควรจะมีความเข้าใจบ้างไม่มากก็น้อย คือวิธีการทำงานของวอลเล็ต เพื่อที่จะสามารถเข้าใจได้ว่าขั้นตอนใดมีความสำคัญมากน้อยเพียงใด และที่สำคัญกว่าน้้น เพื่อที่จะลดโอกาสการเกิดความผิดพลาดที่จะนำมาซึ่งความเสียหายได้ในอนาคต
วอลเล็ตคืออะไร?
การรับหรือส่งบิตคอยน์ให้กันและกัน หรือแม้แต่การส่งให้กับตัวเอง แท้จริงแล้วเป็นเพียงการบันทึกบัญชีลงในสมุดบัญชีกลางที่ผู้ใช้งานที่ทำหน้าที่เป็นโหนดทุกคนมีสำเนาเก็บไว้เพียงเท่านั้น “บัญชี” บิตคอยน์ไม่มีการเชื่อมโยงหรือการระบุตัวตนของผู้ใช้งานแต่อย่างใด
เมื่อเราทำการส่งบิตคอยน์ บิตคอยน์จะถูกปลดล็อคออกจาก “บัญชี” หรือที่เรียกว่า แอดเดรส หนึ่ง เพื่อนำไปล็อคไว้ในอีกแอดเดรสหนึ่งเท่านั้น
“บิตคอยน์แอดเดรส” เปรียบเสมือนตู้เซฟ ที่มีเพียงผู้ที่เป็นเจ้าของมันเท่านั้นที่จะมีกุญแจที่สามารถไขเปิดล็อคเพื่อเอาเงินที่อยู่ในนั้นออกมาใช้ได้ มันเป็นเหมือนตู้เซฟที่มีรูให้ใครก็สามารถใส่เงินเข้าไปได้ แต่มีเพียงเจ้าของเพียงคนเดียวที่จะสามารถนำเงินในนั้นออกมาใช้ได้
โดย “วอลเล็ต” คืออุปกรณ์ หรือ แอปพลิเคชัน ที่ทำหน้าที่เก็บรักษา บริหารจัดการ และใช้งานกุญแจของคุณนั่นเอง
การสร้าง และเก็บรักษากุญแจ
การรับส่งเงินในระบบบิตคอยน์ อาศัยการทำงานของ “ระบบกุญแจคู่” ซึ่งประกอบไปด้วย “กุญแจสาธารณะ” หรือ “พับลิคคีย์” และ “กุญแจส่วนตัว” หรือ “ไพรเวทคีย์”
โดย “พับลิคคีย์” และ “ไพรเวทคีย์” แต่ละคู่จะมีที่มาในการสร้างขึ้นเป็นตัวเลขต้นกำเนิดเดียวกัน ทำให้เราสามารถใช้กุญแจดอกหนึ่ง สามารถใช้พิสูจน์ว่ากุญแจอีกดอกหนึ่งเป็นคู่กันได้เสมอ
ลองจินตนาการว่ากุญแจทั้งสองดอกเป็นชิ้นส่วนตัวต่อที่เมื่อนำมาประกอบกันจะได้ภาพที่สมบูรณ์ เมื่อเราแสดงกุญแจที่ถูกต้อง ทุกคนจะสามารถพิสูจน์ความถูกต้องของมันได้ด้วยตนเอง
แน่นอนว่าการทำงานของคู่กุญแจพับลิคคีย์ ไพรเวทคีย์ มีการทำงานที่ซับซ้อนกว่านั้น และนอกจากนั้น ยังเป็นหลักการที่ถูกใช้อย่างแพร่หลายในชีวิตประจำวันอีกด้วย
โดยเราสามารถใช้ระบบกุญแจคู่ในการส่งข้อมูลถึงกันได้อย่างเป็นส่วนตัว ด้วยการประกาศพับลิคคีย์ของเราเอาไว้ให้คนอื่นสามารถเห็นได้ และเมื่อมีใครต้องการส่งข้อมูลถึงเรา เขาก็จะสามารถหยิบเอาพับลิคคีย์ของเรามาเข้ารหัสข้อมูล ซึ่งข้อมูลดังกล่าวจะถูกถอดรหัสได้โดยไพรเวทคีย์ที่เป็นคู่กันเท่านั้น
“บิตคอยน์แอดเดรส” สร้างมาจากพับลิคคีย์ของเราอีกทีหนึ่ง โดยการปลดล็อคบิตคอยน์ที่ถูกล็อคเอาไว้ในแอดเดรสของเรานั้น จะทำได้โดยการสร้างลายเซ็นต์ดิจิทัล ซึ่งเป็นข้อมูลที่สร้างขึ้นด้วยการนำเอาข้อมูลธุรกรรมของเรามาเข้ารหัสด้วยไพรเวทคีย์ที่เรามีอยู่ และประกาศข้อมูลดังกล่าวไปพร้อมกับธุรกรรมของเรา หรือ ที่เรียกว่า “การเซ็นต์อนุมัติธุรกรรม”
ผู้ใดก็ตามจะสามารถตรวจสอบได้ว่าเรามีไพรเวทคีย์ที่เป็นคู่กับพับลิคคีย์ที่ใช้ในการสร้างแอดเดรสของเราได้ด้วยการตรวจสอบ “ลายเซ็นต์ดิจิทัล” ด้วยกระบวนการทางคณิตศาสตร์ที่ไม่ซับซ้อนนัก แต่ลายเซ็นต์ดังกล่าวไม่สามารถปลอมแปลงได้หากไม่มีไพรเวทคีย์
ดังที่กล่าวว่า “วอลเล็ต” เป็นอุปกรณ์หรือแอปพลิเคชันสำหรับการเก็บรักษาและบริหารจัดการกุญแจ นั่นหมายความว่า อันที่จริงแล้ว วอลเล็ตไม่ได้ทำหน้าที่เก็บบิตคอยน์ของเรา สิ่งเดียวที่วอลเล็ตเก็บให้เรา คือคู่กุญแจ ไพรเวท และ พับลิคคีย์ของเรานั่นเอง
HD Wallet
ในสมัยแรกๆ แอปพลิเคชันวอลเลต ยกตัวอย่างเช่น Bitcoin Core Wallet จะสร้างกุญแจให้เราด้วยการทำการสุ่มไพรเวทคีย์ แล้วคำนวณหาพับลิคคีย์ และแอดเดรสของแต่ละพับลิคคีย์เป็นจำนวนประมาณ 100 ดอกด้วยกัน โดยไพรเวทคีย์ทั้งหมดจะถูกบันทึกเอาไว้ในไฟล์ wallet.dat ซึ่งเข้ารหัสเอาไว้ด้วย password ของเราอีกที
ปัญหาในการสร้างและเก็บกุญแจในลักษณะดังกล่าว เกิดขึ้นเมื่อไฟล์ wallet.dat ชำรุดหรือสูญหาย หรือที่สร้างความน่ารำคาญมากกว่านั้น คือเมื่อผู้ใช้งานสร้างแอดเดรสเกิน 100 แอดเดรส ซึ่งเมื่อถึงจุดนั้น วอลเล็ตจะทำการสุ่มชุดไพรเวทคีย์ขึ้นมาใหม่อีก 100 คู่กุญแจ
แต่หากผู้ใช้งานลืมบันทึกกุญแจที่สร้างขึ้นใหม่เหล่านั้นด้วยการกด Backup Database กุญแจชุดใหม่เหล่านั้นก็จะหายไป และด้วยจำนวนกุญแจที่มีมากมายเท่ากับจำนวนอะตอมในเอกภพที่มองเห็นได้ทั้งหมด ทำให้เราไม่มีทางที่จะสามารถสุ่มได้กุญแจดอกเดิมได้เป็นครั้งที่สอง
นั่นหมายความว่าหากผู้ใช้งานมีเงินที่ถูกล็อคอยู่ในแอดเดรสที่สร้างขึ้นใหม่ แล้วไม่ได้ทำการบันทึกฐานข้อมูลกุญแจ เงินเหล่านั้นก็จะสูญหายไปตลอดกาลโดยไม่มีใครเข้าถึงมันได้อีกเลย
เพื่อแก้ปัญหาดังกล่าวจึงมีการคิดค้นวิธีการสร้างกุญแจที่เป็นมิตรต่อผู้ใช้งานมากขึ้น หลังจากการทดลองโดยวอลเล็ตต่างๆ อย่าง Armoury หรือ Electrum ในการสร้างกุญแจที่มีจุดกำเนิดมาจากกุญแจหลักเพียงดอกเดียว จึงได้มีการกำหนดมาตรฐานระบบการสร้างกุญแจแบบใหม่ขึ้น หรือที่เรียกกันว่า HD Wallet (Hierarchical Deterministic Wallet)
ในระบบ HD Wallet ผู้ใช้งานจำเป็นต้องเก็บรักษากุญแจเพียงดอกเดียว โดยกุญแจดอกดังกล่าวจะทำหน้าที่เป็นเหมือนเมล็ดพันธุ์ ที่เมื่อนำไปปลูกลงดิน จะได้แตกกิ่งก้านสาขาออกมาตามพันธุกรรมของมันเหมือนเดิมเสมอ
ในลักษณะเดียวกัน Wallet ในรูปแบบใหม่นี้ก็จะไม่มีการบันทึก private key จำนวนมากให้ต้องปวดหัวอีกต่อไป แต่จะจดจำเพียงกุญแจหลักหรือเมล็ดพันธุ์เพียงดอกเดียวเท่านั้น และจะทำการคำนวณหาไพรเวทคีย์ และ พับลิคคีย์ทั้งหมดของเราทุกครั้งที่เปิดใช้งาน
นอกเหนือจากความสามารถในการคำนวณหาไพรเวทคีย์ และพับลิคคีย์คู่เดิมทุกคู่ได้ทุกครั้งที่เปิดใช้งาน ซึ่งเป็นคุณสมบัติของส่วนที่มีชื่อว่า deterministic หรือ เส้นทางการคำนวณแบบเฉพาะเจาะจง แล้ว มาตรฐานการคำนวณหากุญแจที่ถูกกำหนดขึ้น ยังมีการแบ่งลำดับชั้นของกุญแจ (Hierarchical) ซึ่งทำให้กุญแจหลักเพียงดอกเดียว สามารถคำนวณหาไพรเวท และพับลิคคีย์ ของเหรียญดิจิทัลอื่นๆ นอกเหนือจากบิตคอยน์ได้ทั้งหมดอีกด้วย
กุญแจหลักดอกนี้ มีชื่อเรียกว่า “ซีด” (seed) ที่แปลว่าเมล็ดพันธุ์ ตามความหมายที่ได้กล่าวไปแล้วนั่นเอง
โดยซีดจะเป็นตัวเลขขนาดใหญ่มหึมา ที่เกิดจากการสุ่มเมื่อทำการสร้างวอลเล็ตขึ้นมา เพื่อให้สะดวกต่อการจดจำ จึงได้มีการกำหนดมาตรฐานในการจดจำซีดให้ง่ายขึ้นใน BIP 39 หรือข้อเสนอพัฒนาปรับปรุงบิตคอยน์ฉบับที่ 39
โดยกำหนดให้วอลเล็ต นำเอาตัวเลขซีดที่มีขนาดใหญ่ มาหั่นเป็นท่อนเล็กๆ แล้วนำไปเทียบค่าในตารางคำศัพท์ 2048 คำ เกิดเป็นคำช่วยจำซีด 12 หรือ 24 คำที่หลายๆ คนอาจคุ้นเคยกันเป็นอย่างดี
การเก็บรักษากุญแจให้ปลอดภัย
เมื่อเราเข้าใจแล้วว่า สิ่งที่ป้องกันไม่ให้ใครสามารถนำเอาบิตคอยน์ของเราไปใช้งานได้คือไพรเวทคีย์ที่เรามี ซึ่งเกิดมาจากซีด ที่ถูกสร้างขึ้นโดยวอลเล็ตแล้ว เราก็จะเห็นได้ชัดว่า สิ่งที่สำคัญที่สุดในการใช้งานวอลเล็ตอย่างปลอดภัย คือการเก็บรักษาซีดของเราให้ปลอดภัยนั่นเอง
แต่ปลอดภัยจากอะไรล่ะ?
ก่อนที่เราจะสามารถพูดถึงการรักษาความปลอดภัยของซีด หรือไพรเวทคีย์ได้นั้น เราต้องเข้าใจก่อนว่าอะไรเป็นปัจจัยที่ส่งผลอันตรายต่อความมั่นคงปลอดภัยของซีดของเราบ้าง
อันตรายจากการจารกรรมทางดิจิทัล
หนึ่งในอันตรายที่ผู้คนเป็นห่วงกันมากที่สุดคืออันตรายที่เกิดจาก การโจมตีทางระบบคอมพิวเตอร์ หรือ การโดนแฮก ที่ผู้โจมตี สามารถเจาะเข้าระบบคอมพิวเตอร์ของเรา โขมยไพรเวทคีย์ หรือ ซีด แล้วทำการโอนเงินของเราออกไปทั้งหมด
อันตรายในลักษณะนี้สามารถแก้ได้ง่ายๆ ด้วยการทำให้ซีดไม่สามารถถูกโขมยไปได้ แอปพลิเคชันวอลเล็ตที่ดีโดยทั่วไป จะทำการบันทึกซีดของเราเอาไว้ในไฟล์เข้ารหัส ทำให้แม้จะถูกโขมยไป ก็ไม่สามารถเข้าถึงได้ แต่สิ่งที่แฮกเกอร์สามารถโขมยไปได้อย่างง่ายได้ คือชุดคำช่วยจำซีดของเราที่เราจดเอาไว้ต่างหาก
เมื่อเราทำการสร้างวอลเล็ต ไม่ว่าจะเป็นในโทรศัพท์มือถือ หรือคอมพิวเตอร์ของเรา เราจะสามารถเลือกที่จะทำการ back up seed ของเราได้ (หลายวอลเล็ตจะบังคับให้เราทำการ back up ให้เรียบร้อยก่อนเริ่มใช้งาน หรือก่อนที่จะรับเงินเข้าเป็นครั้งแรก) โดยวอลเล็ตจะแสดงคำ ที่มีความยาวประมาณ 12–24 คำขึ้นมา สิ่งที่เราต้องทำคือจดคำเหล่านั้น ลงในสมุด หรือกระดาษ แล้วเก็บเอาไว้เป็นอย่างดี
เนื่องจากข้อความที่เขียนลงบนกระดาษ ไม่สามารถถูกแฮก หรือโขมยไปได้ด้วยการโจมตีทางระบบคอมพิวเตอร์ ในขั้นตอนนี้ หากเราทำการถ่ายรูป หรือบันทึกหน้าจอเก็บเอาไว้ รูปดังกล่าวจะถูกโขมยไปได้อย่างง่ายดาย
หากการเก็บทรัพย์สินเอาไว้ในกระดาษ ทำให้คุณรู้สึกไม่สบายใจ นั่นอาจเป็นเพราะคุณอาจกังวลกับความเสี่ยง และ อันตรายในรูปแบบอื่นๆ อย่างเช่นความเสี่ยงในรูปแบบต่อไปนี้
อันตรายจากการสูญหาย และการสูญสลาย
หากเราเก็บคำช่วยจำซีด 12 หรือ 24 คำของเราด้วยการจดมันลงไปในกระดาษแล้ว เราจะมั่นใจได้ว่ากระดาษแผ่นนั้นจะไม่มีวันโดนแฮกได้เป็นอันขาด เนื่องจากมันไม่มีแม้แต่กระแสไฟฟ้าวิ่งผ่านมันเสียด้วยซ้ำ
แต่ถ้าเราทำกระดาษหายล่ะ?
หรือถ้าเราไม่ได้ทำกระดาษหายไป แต่กระดาษแผ่นนั้นกลับประสบอุบัติเหตุหรือวิกฤติที่ไม่คาดคิด ทำให้ต้องสูญสลายไป ไม่ว่าจะด้วยเหตุการณ์ไฟไหม้ น้ำท่วม แผ่นดินไหว ตึกถล่ม ภูเขาไฟระเบิด ก็อดซิลล่าบุกเมือง ฯลฯ เราจะมั่นใจได้อย่างไร ว่ากระดาษ ที่จดรหัสเพื่อเข้าถึงกุญแจดอกหลัก กุญแจสำคัญที่ปกป้องเงินทั้งหมดของเราเอาไว้ จะยังคงอยู่ผ่านวิกฤตการณ์ต่างๆเหล่านี้ไปได้อย่างปลอดภัย?
ปัญหาดังกล่าว ไม่ได้ต่างอะไรกับปัญหาที่มนุษยชาติประสบพบเจอมาเป็นเวลานาน นั่นคือปัญหาการเก็บรักษาสมบัติที่เป็นแหล่งเก็บรักษามูลค่า ไม่ว่าจะเป็นหอย แร่เงิน ทองคำ หรือเครื่องเพชรต่างๆ
มนุษย์แก้ปัญหานี้ได้ชั่วขณะด้วยการฝากสินทรัพย์ต่างๆให้ธนาคารและรัฐบาลดูแล แต่เมื่อเวลาผ่านไป ประวัติศาสตร์ได้พิสูจน์ให้เห็นว่านั่นไม่ใช่การตัดสินใจที่ฉลาดนัก เพราะมันเปิดโอกาสให้เกิดความสูญเสียจากความเชื่อใจในบุคคลที่สาม และความสูญเสียจากการโจมตีในลักษณะการสวมรอย
สิ่งที่ทำให้มนุษย์เลือกทองคำเป็นหน่วยเก็บรักษามูลค่ามาเป็นเวลาช้านานนั้นมาจากความยากและต้นทุนที่สูงในการผลิตของมัน และที่สำคัญคือลักษณะทางเคมีของมันที่ทำให้ทองคำเป็นโลหะที่ไม่เสื่อมสลายเมื่อเวลาผ่านไป มันสามารถทนการกัดกร่อนของสารเคมีต่างๆ ทนแรงกระแทก ทนน้ำ ทนไฟ ได้ในระดับหนึ่ง ทำให้ทองคำ นอกจากจะรักษามูลค่าข้ามผ่านกาลเวลาได้เป็นอย่างดีแล้วยังสะดวกต่อการเก็บรักษาอีกด้วย
ตรงกันข้าม บิตคอยน์ไม่มีตัวตนอยู่ในโลกแห่งกายภาพ แต่มันกลับมีตัวตนอยู่ทุกหนทุกแห่งพร้อมๆ กัน สิ่งเดียวที่ป้องกันไม่ให้ใครสามารถเข้าถึงบิตคอยน์ของเราได้คือไพรเวทคีย์ หรือซีดของเรา
ดังนั้น หากจะเปรียบกระดาษที่เก็บซีดเป็นเสมือนกับทองคำแท่ง ก็คงไม่ใช่สิ่งที่ห่างไกลจากความเป็นจริงนัก
แต่กระดาษนั้นต่างจากทองคำ กระดาษสามารถติดไฟ ลุกไหม้กลายเป็นเถ้าถ่าน กระดาษสามารถเปียกน้ำ เปื่อยยุ่น ฉีกขาดจนไม่สามารถอ่านได้ หมึกที่เขียนบนกระดาษสามารถเลือนหายไปได้เมื่อเวลาผ่านไป เราจึงต้องมีวิธีการเก็บกุญแจของเราให้ดีกว่านี้ เมื่อกุญแจดอกนั้นเป็นกุญแจที่นำไปสู่มูลค่าที่มากมายมหาศาล
มีผลิตภัณฑ์ช่วยเก็บรักษาซีดถูกผลิตขึ้นมาขายมากมายหลากหลาย อุปกรณ์เหล่านี้ทำให้เราสามารถบันทึกคำศัพท์ที่เป็นซีดของเราเอาไว้ในลักษณะที่ทนน้ำทนไฟได้เป็นอย่างดี มีรูปแบบที่หลากหลาย และมีความคงทนที่แตกต่างกัน
รูปแบบที่ได้รับความนิยมมากที่สุด คือ อุปกรณ์เก็บซีดที่ทำมาจากเสตนเลส 304 หรือ โลหะที่มีคุณภาพสูงกว่านั้น คล้ายคลึงกับทองคำ เสตนเลสเป็นเหล็กที่ผ่านกรรมวิธีทำให้ทนต่อการกัดกร่อนโดยสารเคมีต่างๆ ต้านทานการออกซิไดส์ได้เป็นอย่างดี และเหนือกว่าทองคำตรงที่สามารถทนอุณหภูมิได้สูงถึงกว่า 1600 องศาเซลเซียส อีกด้วย
แน่นอนว่า เหล็กเสตนเลสนั้น สามารถผลิตได้ง่าย และมีต้นทุนการผลิตต่ำกว่าทองคำเป็นอย่างมาก แต่นั่นกลับไม่ใช่ปัญหาเนื่องจากเราไม่ได้ใช้เหล็กเสตนเลสเป็นแหล่งเก็บรักษามูลค่า แต่เราใช้มันเป็นเครื่องมือในการรักษากุญแจของเราให้ปลอดภัยนั่นเอง
นักพัฒนา และผู้สนับสนุนบิตคอยน์รุ่นบุกเบิกอย่าง Jameson Lopp ได้ทำการทดสอบความแข็งแกร่งของอุปกรณ์จัดเก็บซีดเหล่านี้เอาไว้เป็นจำนวนมาก โดยสามารถเข้าไปศึกษาเพิ่มเติมได้ที่ https://blog.lopp.net/tag/cold-storage/
แต่ทั้งหมดนี้ ก็ยังไม่สามารถป้องกันความเสี่ยงจากการสูญหาย และ การจารกรรมได้อยู่ดี
แม้เราจะปิดกันช่องทางในการสูญสลายของกระดาษที่จดซีดได้แล้ว แต่ความเสี่ยงจากการเก็บรักษา โจรขึ้นบ้าน คนใกล้ชิดหักหลัง หรือความเลินเล่อ ยังคงเป็นปัญหาอยู่เหมือนเดิม
การแก้ปัญหาในประเด็นดังกล่าว เลี่ยงไม่ได้ที่ผู้ใช้งานบิตคอยน์จำเป็นต้องพัฒนาลักษณะนิสัย และ ความรับผิดชอบในการเก็บรักษาทรัพย์สมบัติให้เหมาะสม เราคงไม่สามารถโทษใครได้เลย หากเราวางเงินสดไว้กลางถนน แล้วพบว่ามันหายไปในเช้าวันรุ่งขึ้น
แต่บิตคอยน์เองก็มีเครื่องมือที่สามารถช่วยลดความเสี่ยงเหล่านี้ได้เช่นกัน ยกตัวอย่างเช่นการใช้ Passphrase และ การทำ Multisig wallet ที่จะทำให้เราสามารถมั่นใจได้ว่า แม้ซีดของเราจะถูกโขมย แต่หากโจรไม่รู้ passphrase ของเราก็จะไม่สามารถเข้าถึงเงินของเราได้อยู่ดี
หรือหากใช้ Multisig เราสามารถกำหนดให้วอลเล็ตของเรา จำเป็นต้องใช้ซีด สอง จาก สาม ชุด ในการอนุมัติการโอนเงินได้ ซึ่งจะทำให้เราสามารถทำหายได้หนึ่งชุดโดยยังสามารถเข้าถึงเงินของเราได้
ในกรณีนี้เราสามารถนำซีดชุดที่สาม ไปเก็บไว้ในตู้เซฟธนาคาร หรือสถานที่ปลอดภัยอื่้นๆ ได้เพื่อเป็นเครื่องมือในการเข้าถึงเงินของเราในกรณีที่เราทำซีดหายไปหนึ่งชุดได้นั่นเอง
รายละเอียดการใช้งาน Passphrase และ Multisig wallet เป็นเรื่องที่เราจะคุยกันในภายหลัง แต่เป็นเรื่องที่สำคัญไม่น้อย และจะทำให้เราสามารถออกแบบการเก็บทรัพย์สิน หรือแม้แต่การจัดการมรดกได้อย่างปลอดภัยได้หลากหลาย
Hot vs Cold
จากที่กล่าวมาข้างต้น เราพูดถึงวอลเล็ตในฐานะเครื่องมือเก็บกุญแจสำคัญให้กับเรา แต่เรายังไม่ได้พูดถึงประเด็นว่า วอลเล็ตที่แตกต่างกัน เก็บกุญแจของเราอย่างไร
นอกเหนือจากวอลเล็ตประเภทที่เราฝากเงินให้บุคคลที่สามเป็นผู้ดูแล เช่นการฝากเงินไว้บนกระดานซื้อขาย หรือในบริการแลกเปลี่ยนเงินต่างๆ ซึ่งไม่ได้ต่างกับการฝากธนาคาร เพียงแต่มีความน่าเชื่อถือน้อยยิ่งกว่าการฝากธนาคารแล้ว
โดยทั่วไป เราจะจำแนกวอลเล็ตที่เราเป็นผู้เก็บรักษา และบริหารจัดการกุญแจของเราเองออกเป็นสองประเภทหลักๆ ด้วยกัน ได้แก่ ฮอตวอลเล็ต และโคลด์วอลเล็ต หรือ กระเป๋าร้อน และกระเป๋าเย็น
อันที่จริงแล้ว การแบ่งแยกดังกล่าวอาจไม่ได้เป็นการแบ่งแยกแบบขาวกับดำ วอลเล็ตต่างๆ อาจมีระดับความร้อน/เย็น (hot / cold) ที่แตกต่างกันได้
คำว่า “ฮอดวอลเล็ต” หมายถึง วอลเล็ตที่เก็บกุญแจของเราเอาไว้ในสภาพแวดล้อมที่สามารถเข้าถึงผ่านอินเทอร์เน็ตได้ง่าย เช่นการเก็บกุญแจเอาไว้ในคอมพิวเตอร์ที่เชื่อมต่ออินเทอร์เน็ต หรือเก็บเอาไว้ในหน่วยความจำของอินเทอร์เน็ตบราวเซอร์ รวมไปถึงวอลเล็ตในโทรศัพท์มือถือที่เชื่อมต่ออินเทอร์เน็ตตลอดเวลาอีกด้วย
ข้อดีของฮอตวอลเล็ต คือ ความสะดวกสบายในการใช้งาน การอนุมัติธุรกรรมสามารถทำได้ผ่านการคลิกเพียงไม่กี่คลิก เนื่องจากไพรเวทคีย์ของเราอยู่ในสถาณะพร้อมใช้ตลอดเวลา ทำให้เราไม่จำเป็นต้องมีขั้นตอนมากมายในการอนุมัติธุรกรรม วอลเล็ตอย่างเช่น Metamask แสดงให้เห็นถึงประโยชน์ของฮอตวอลเล็ตอย่างชัดเจน เมื่อคุณต้องการอนุญาตให้ smart contract สามารถทำงานได้อย่างอัตโนมัติในการบริหารจัดการเงินของคุณ
แน่นอนว่าการใช้งานฮอตวอลเล็ตนั้นต้องแลกมาด้วยความปลอดภัย การที่ไพรเวทคีย์ของเราอยู่ในสถาณะออนไลน์ตลอดเวลา ทำให้มันสามารถเข้าถึงได้ง่าย เสียงต่อการแฮก การโขมย การดักข้อมูล หรือแม้แต่การโจมตีผ่านการสวมรอยทางอินเทอร์เน็ตเพื่ออนุมัติการโอนเงินออกจากกระเป๋าของเราไปสู่กระเป๋าของผู้โจมตีได้โดยที่เราไม่มีทางป้องกัน
สำหรับการเก็บรักษาเงินระยะยาว ฮอตวอลเล็ตจึงไม่ใช่ตัวเลือกที่เหมาะสมนัก หน้าที่ดังกล่าวเหมาะที่จะเป็นหน้าที่ของโคลด์วอลเล็ตเสียมากกว่า
“โคลด์วอลเล็ต” หมายถึง วอลเล็ตที่เก็บไพรเวทคีย์ของเราเอาไว้ในสภาพแวดล้อมที่ไม่เชื่อมต่อกับอินเทอร์เน็ต เช่นการเก็บไพรเวทคีย์ไว้บนกระดาษในยุคสมัยแรกที่มีการใช้งาน paper wallet หรือ การเก็บซีดไว้บนกระดาษ และลบซีดนั้นออกจากวอลเล็ตในคอมพิวเตอร์ ก็จะถึอว่าวอลเล็ตดังกล่าวเป็นโคลด์วอลเล็ต
โคลด์วอลเล็ตมีพัฒนาการที่ทำให้สะดวกต่อการใช้งานมากมาย หนึ่งในนั้นคือการพัฒนาของ ฮาร์ดแวร์วอลเล็ต หรืออุปกรณ์เก็บไพรเวทคีย์ที่ทำงานแยกกันกับคอมพิวเตอร์ของเรา
อุปกรณ์ฮาร์ดแวร์วอลเล็ต จะทำหน้าที่เก็บรักษากุญแจหลักของเราเอาไว้ในเครื่อง และคำทำการอนุมัติธุรกรรมที่เราส่งเข้าไปผ่านการเชื่อมต่อกับคอมพิวเตอร์เมื่อต้องการทำธุรกรรม โดยเมื่อไม่มีความต้องการทำธุรกรรม เราสามารถถอดอุปกรณ์เหล่านี้ออกได้เพื่อปิดช่องทางในการโจมตีของแฮกเกอร์ได้อย่างสมบูรณ์
ฮาร์ดแวร์วอลเล็ต จำเป็นต้องทำการติดต่อสื่อสารกับวอลเล็ตแอปพลิเคชันบนคอมพิวเตอร์ หรือสมาร์ทโฟนของเรา โดยฮาร์ดแวร์วอลเล็ตในปัจจุบันมีวิธีการเชื่อมต่ออยู่สองวิธีหลักๆ ได้แก่:
การเชื่อมต่อผ่านสาย USB หรือ Bluetooth เช่น Trezor, Ledger เป็นต้น โดยอุปกรณ์เหล่านี้ จะรับข้อมูลธุรกรรมที่ยังไม่มีการเซ็นต์อนุมัติจากคอมพิวเตอร์ ผ่านสาย USB จากนั้นทำการสร้างลายเซ็นดิจิทัลสำหรับธุรกรรมดังกล่าว และแนบลายเซ็นต์กลับมายังคอมพิวเตอร์เพื่อทำการประกาศธุรกรรมเข้าสู่ระบบเครือข่ายบิตคอยน์ โดยไม่มีการเปิดเผยไพรเวทคีย์ให้คอมพิวเตอร์ที่เชื่อมต่ออยู่ได้รับรู้เลยแม้แต่น้อย
การเชื่อมต่อแบบ air-gapped คือการเชื่อมต่อแบบไร้สายโดยไม่มีการส่งข้อมูลระหว่างอุปกรณ์ผ่านช่องทางที่อาจเสี่ยงต่อการดักฟังได้ โดยใช้ช่องทางการส่งข้อมูลอื่นๆ ที่ยากต่อการดักข้อมูล เช่นการใช้ microSD card เพื่อนำข้อมูลธุรกรรมที่ยังไม่มีลายเซ็นต์จากคอมพิวเตอร์ มาเซ็นต์อนุมัติบนอุปกรณ์ก่อนส่งกลับไป หรือการใช้กล้องสแกน QR code กันไปมา ยกตัวอย่างเช่น Coldcard mkIII, elipal titan, Keystone wallet เป็นต้น
นอกจากนั้น เรายังสามารถสร้างวอลเล็ตแบบ air-gapped ขึ้นมาเองได้ด้วยการนำมือถือเครื่องเก่า มาตัดการเชื่อมต่ออินเทอร์เน็ตทั้งหมด แล้วเปิดใช้งานวอลเล็ตที่ออกแบบสำหรับการทำงานแบบ air-gapped ได้อีกด้วย
Hardware wallet
จากการศึกษาเครื่องมือในการเก็บรักษาบิตคอยน์ให้ปลอดภัยที่หลากหลาย ดูเหมือนว่าฮาร์ดแวร์วอลเล็ต จะเป็นคำตอบที่เหมาะสมสำหรับผู้ใช้งานบิตคอยน์มือใหม่ส่วนใหญ่ ด้วยราคาของอุปกรณ์ที่ถูกลงและเข้าถึงได้ง่าย ประสบการณ์การใช้งานที่สะดวกสบาย ทำให้การเก็บบิตคอยน์เอาไว้ในฮาร์ดแวร์วอลเล็ต เป็นวิธีการเก็บบิตคอยน์ที่ทำให้อุ่นใจ ใช้งานง่าย และสามารถเข้าถึงได้ง่ายที่สุดนั่นเอง
แต่ถึงกระนั้น การเลือกใช้ฮาร์ดแวร์วอลเล็ตเองก็มีข้อควรพิจารณาอยู่ไม่น้อยเช่นกัน เนื่องจากฮาร์ดแวร์วอลเล็ตมีอยู่มากมายให้เลือกใช้ได้ตามความชื่นชอบ โดยทุกวอลเล็ตต่างโฆษณาว่าผลิตภัณฑ์ของเขาเหนือกว่าผลิตภัณฑ์ของผู้ผลิตเจ้าอื่นๆ ประเด็นสำคัญที่ควรพิจารณาในการเลือกใช้งานฮาร์ดแวร์วอลเล็ตที่ดีจึงมีดังนี้
- อายุ และ ประวัติการใช้งานของฮาร์ดแวร์วอลเล็ต หลายครั้งที่ผมได้รับโฆษณา เกี่ยวกับฮาร์ดแวร์วอลเล็ตใหม่ๆ ที่น่าใช้ และดูเหมือนจะให้ระดับความปลอดภัยที่สูงขึ้น สิ่งที่เราต้องเข้าใจคือเรื่องของความปลอดภัย เป็นเรื่องที่จะพูดอย่างไรก็ได้ ตราบใดที่ยังไม่มีการพิสูจน์ หมายความว่า เราไม่มีทางรู้ว่าฮาร์ดแวร์วอลเล็ตตัวไหน ปลอดภัยขนาดไหน จนกว่าจะถึงวันที่มันโดนแฮกได้สำเร็จ และถึงวันนั้น เราก็จะรู้ได้ว่ามันยังปลอดภัยไม่เพียงพอ ทางเดียวที่เราพอจะวัดระดับความปลอดภัยของฮาร์ดแวร์วอลเล็ตได้ คือระยะเวลาที่มันถูกวางจำหน่าย มีการใช้งาน และตกเป็นเป้าของการโจมตี ยิ่งโดนโจมตีและสามารถป้องกันการโจมตีมาได้เป็นเวลานานเท่าไหร่ ยิ่งแสดงให้เห็นถึงความสามารถในการรักษาความปลอดภัยมากเท่านั้น ทำให้เราควรยับยั้งชั่งใจ ก่อนที่จะเลือกใช้ฮาร์ดแวร์วอลเล็ตรุ่นใหม่ล่าสุด ที่ยังไม่ได้รับการทดสอบโดยแฮกเกอร์ทั่วโลกนั่นเอง
- การเปิดเผยซอร์สโค้ด หนึ่งในมารยาททางสังคมในสังคมไร้สูญกลางคือความโปร่งใส วอลเล็ตที่ดีควรมีการเปิดเผยซอร์สโค้ดทั้งหมดแก่สาธารณะ การเปิดเผยซอร์สโค้ดไม่ได้แปลว่าจะทำให้ซอฟต์แวร์ง่ายต่อการลอกเลียนแบบเท่านั้น แต่มันยังทำให้ทุกคนสามารถตรวจสอบการทำงานของซอฟต์แวร์ได้ทุกขั้นตอน และที่สำคัญกว่านั้น แฮกเกอร์หรือผู้ไม่ประสงค์ดีสามารถพยายามโจมตีซอฟต์แวร์ดังกล่าวด้วยการหาช่องโหว่จากซอร์สโค้ดได้โดยตรง ทำให้ซอฟต์แวร์จำเป็นต้องอุดช่องโหว่ทั้งหมดอย่างรวดเร็วถ้ายังอยากจะมีชีวิตรอดอยู่ได้
- การเปิดเผยผังวงจร เช่นเดียวกับการเปิดเผยซอร์สโค้ด การเปิดเผยผังวงจรก็เป็นสิ่งสำคัญที่จะทำให้ทุกคนสามารถตรวจสอบความปลอดภัยของอุปกรณ์ และร่วมมือกันพยายามหาช่องโหว่ เพื่อให้มั่นใจได้ว่าอุปกรณ์มีความปลอดภัยในการใช้งานได้โดยไม่ต้องอาศัยความเชื่อใจผู้ผลิตและผู้ออกแบบ
- รูปแบบการเชื่อมต่อ ฮาร์ดแวร์วอลเล็ตที่ดี ไม่ควรมีของเล่นเยอะมากนัก โดยเฉพาะช่องทางในการเชื่อมต่อ เพราะทุกช่องทางสามารถเป็นช่องทางในการโจมตีได้ด้วยนั่นเอง
- การออกแบบและการใช้งาน ฮาร์ดแวร์วอลเล็ต ควรใช้งานได้ง่าย เข้าใจง่าย เก็บรักษาได้สะดวก
ฮาร์ดแวร์วอลเล็ตที่ผมแนะนำมาเสมอ จะมีอย่างเช่น Trezor (one), Ledger (Nano S) หรือ Coldcard MkIII อุปกรณ์ทั้งสามผ่านการทดสอบของกาลเวลามาเป็นเวลานานหลายปี ใช้งานง่าย มีการสนับสนุนที่ดี มีซอร์สโค้ดที่เปิดเผย แม้จะมีข้อดีข้อเสียในรายละเอียดที่ต่างกันบ้างก็ตาม สำหรับวิธีการใช้งานวอลเล็ตที่กล่าวมาข้างต้น สามารถติดตามศึกษาได้ในคลิปวิดิโอสอนการใช้งานวอลเล็ตแต่ละตัวได้ในภายหลัง
ทั้งหมดนี้ เราพูดถึงการเลือกใช้ และการทำความเข้าใจวอลเล็ตเก็บรักษาบิตคอยน์อย่างคร่าวๆ แต่ในการใช้งานบิตคอยน์ในชีวิตประจำวัน เราอาจต้องการอะไรที่สะดวกกว่านั้น ที่ไม่ต้องระมัดระวังขนาดนั้น ที่รวดเร็วกว่านั้น ในตอนต่อไปเราจะมาพูดถึง Bitcoin Lighting wallet ความเหมือน ความแตกต่าง แง่คิด และข้อควรระวังกันครับ