อธิบาย View Key กับ Spend Key ของ Monero
อธิบาย View Key กับ Spend Key ของ Monero ฉบับเข้าใจง่าย
หากคุณเคยพยายามส่งหลักฐานการรับเงิน Monero ให้ผู้สอบบัญชีหรือฝ่ายปฏิบัติการของบริษัท โดยไม่อยากมอบสิทธิ์เข้าถึงเงินทั้งหมดในกระเป๋าให้ คุณก็ได้พบปัญหาที่กุญแจสองดอกนี้ออกแบบมาเพื่อแก้ไขแล้ว ต่างจาก Bitcoin ที่ใช้ private key เพียงดอกเดียวควบคุมทุกอย่าง ทั้งการเห็นยอดและการใช้จ่าย Monero จงใจแยกอำนาจออกเป็นสองส่วน คือ view key สำหรับ "การเห็น" และ spend key สำหรับ "การใช้จ่าย" การแยกนี้เองคือเหตุผลที่เหรียญความเป็นส่วนตัวยังสามารถตรวจสอบได้เมื่อต้องการ รองรับหน้าระดมทุนที่เปิดยอดสาธารณะ และทำให้กระเป๋าบนมือถือซึ่งไม่ได้เก็บเงินจริงทำงานได้อย่างปลอดภัย ทว่าผู้ใช้มือใหม่ในประเทศไทยจำนวนมากยังสับสน วางคีย์ผิดช่อง หรือเข้าใจไปว่าการแชร์ดอกหนึ่งจะรั่วไหลทั้งสองดอก ในปี 2026 ที่อัปเกรด FCMP++ กำลังอยู่บนแผนทดสอบ และบริการสว็อปแบบไม่ต้อง KYC อย่าง MoneroSwapper จัดการคำสั่งหลายพันรายการต่อวัน การเข้าใจการแยกกุญแจไม่ใช่เรื่องวิชาการอีกต่อไป มันคือเส้นแบ่งระหว่างเอกสารตรวจสอบที่สะอาดกับกระเป๋าที่ถูกถ่ายเททั้งใบ บทความนี้จะอธิบายอย่างละเอียดว่ากุญแจแต่ละดอกทำอะไรได้ ทำอะไรไม่ได้ และเหตุใดการออกแบบของ Monero จึงให้ผลที่ระบบกุญแจดอกเดียวของ Bitcoin ทำตามไม่ได้
ทำไม Monero จึงใช้ Private Key สองดอกแทนที่จะเป็นดอกเดียว
โครงสร้างบัญชีของ Monero สืบทอดมาจากโปรโตคอล CryptoNote ที่เผยแพร่ในปี 2013 ซึ่งเป็นโปรโตคอลแรกที่นำ ring signatures และ stealth address แบบใช้ครั้งเดียวเข้าสู่โลกคริปโต เพื่อให้ระบบเหล่านี้ทำงานได้ กระเป๋าต้องทำหน้าที่สองอย่างที่แตกต่างกันโดยสิ้นเชิง คือ สแกนทั้งบล็อกเชนเพื่อตรวจหา output ที่ส่งถึงตน และอนุมัติการใช้จ่าย output เหล่านั้น ผู้ออกแบบ CryptoNote สังเกตว่าหน้าที่ทั้งสองสามารถแยกออกเป็นค่า scalar สองตัวที่อิสระต่อกัน โดยแต่ละตัวสกัดจาก seed ขนาด 32 ไบต์ แต่ผลทางสาธารณะของแต่ละค่าไม่เชื่อมโยงกันในเชิงรหัสวิทยา
ผลลัพธ์คือกระเป๋า Monero ประกอบด้วยตัวเลขสี่ค่า ได้แก่ private spend key, private view key และ public counterpart ของแต่ละดอก เมื่อต่อกันและเข้ารหัสด้วย base58 จะกลายเป็นที่อยู่ Monero ยาว 95 ตัวอักษรที่เราคุ้นเคย การแยกอำนาจเช่นนี้ให้ประโยชน์ที่ชัดเจนสามประการ ได้แก่
- ความโปร่งใสแบบเลือกได้: คุณสามารถมอบ view key ให้กรมสรรพากร ฝ่ายกำกับของ exchange หรือผู้สอบบัญชีของมูลนิธิ เพื่อให้พวกเขาตรวจยอดที่รับเข้ามาได้ โดยไม่มีสิทธิ์ใช้จ่ายเหรียญแม้แต่ piconero เดียว
- ไคลเอนต์น้ำหนักเบา: กระเป๋าบนสมาร์ทโฟนและโหนดเดสก์ท็อปแบบ watch-only ต้องการเพียง view key เพื่อแสดงยอด ทำให้เก็บ spend key ในเครื่อง air-gap ใช้จ่ายในชีวิตประจำวันได้จริง
- การป้องกันแบบหลายชั้น: หาก view key รั่ว ประวัติธุรกรรมจะถูกเปิดเผยแต่เงินยังปลอดภัย การถูกขโมยอุปกรณ์จึงกลายเป็นเหตุการณ์ด้านความเป็นส่วนตัว มิใช่ความเสียหายทางการเงิน
ในโมเดล UTXO ของ Bitcoin คุณสมบัติเหล่านี้เกิดขึ้นไม่ได้หากไม่อาศัยตัวกลางที่ต้องไว้ใจหรือใส่ส่วนเสริม zero-knowledge เพิ่มเข้ามา Monero ใส่ความสามารถนี้ลงในโปรโตคอลตั้งแต่ระดับฐาน นี่คือเหตุผลที่กระเป๋า Monero ทุกตัว ตั้งแต่ CLI ทางการของโครงการ ไปจนถึง swap engine ของ MoneroSwapper ปฏิบัติต่อกุญแจทั้งสองดอกเป็นวัตถุระดับแรกที่คุณส่งออก นำเข้า และตรวจสอบแยกกันได้
เจาะลึก Private View Key
Private view key เป็นค่า scalar ขนาด 32 ไบต์ แสดงเป็นเลขฐานสิบหก 64 ตัวอักษรในเครื่องมือต่าง ๆ เช่น monero-wallet-cli หรือ Feather Wallet หน้าที่หลักทางคริปโตของมันมีเพียงอย่างเดียว คือคำนวณ shared secret ระหว่างผู้ส่งกับผู้รับของทุกธุรกรรมที่กระเป๋าอาจเป็นเจ้าของ เมื่อมีคนส่ง XMR ให้คุณ ผู้ส่งจะสร้าง stealth address แบบใช้ครั้งเดียวโดยใช้ public spend key ของคุณ, public view key ของคุณ และเลขสุ่มสำหรับธุรกรรมนั้น ผลลัพธ์ที่ออกมาดูเหมือนข้อมูลสุ่มสำหรับผู้สังเกตการณ์ภายนอกทุกคน ยกเว้นคุณ เพราะ private view key ของคุณสามารถสร้าง shared secret เดียวกันขึ้นมาใหม่และระบุได้ว่า output นี้เป็นของคุณ
สิ่งที่ View Key ทำได้
ด้วย public address ของคุณและ private view key เพียงสองค่านี้ ซอฟต์แวร์สามารถสแกนบล็อกเชนและถอดรหัสข้อมูลออกมาได้สามอย่างต่อหนึ่ง output ได้แก่ stealth address ที่ผู้รับใช้ (ยืนยันว่า output เป็นของคุณ), จำนวนเงิน (ถอดจาก RingCT commitment) และ payment ID หากมีแนบมา ข้อมูลเท่านี้เพียงพอจะสร้างประวัติธุรกรรมขาเข้าได้ครบถ้วน ร้านค้าจำนวนหนึ่งในเอเชียตะวันออกเฉียงใต้ใช้ฟีเจอร์นี้ติดตามยอดขายโดยไม่ต้องเชื่อมต่อกับ exchange หน้าระดมทุนเผยแพร่ view key ของตนเพื่อให้ผู้สนับสนุนตรวจสอบยอดเรียลไทม์ และโปรแกรมคำนวณภาษีคริปโตยังใช้ view key เพื่อสร้างรายงานต้นทุนได้โดยไม่ต้องขอสิทธิ์ใช้จ่ายเลย
สิ่งที่ View Key ทำไม่ได้
View key เซ็นธุรกรรมไม่ได้ มันไม่สามารถสร้าง key image ซึ่งหมายความว่าไม่สามารถพิสูจน์ได้ว่า output ใดถูกใช้ไปแล้ว ในกระเป๋าแบบ view-only ธุรกรรมขาออกจะมองไม่เห็นจนกว่าผู้ใช้จะนำเข้าไฟล์ key-image ที่เซ็นจากกระเป๋า offline ฝั่งจ่ายเข้ามา ยอดเงินจึงจะตรงกับความเป็นจริง นี่คือภาพสะท้อนการแยกกุญแจที่ชัดเจนที่สุด view key เห็นเงินเข้า แต่จะมองไม่เห็นเงินที่ไหลออก เว้นแต่ฝั่ง spend จะร่วมมือโดยส่ง key image มาให้
ข้อผิดพลาดเกี่ยวกับ View Key ที่พบบ่อย
ข้อผิดพลาดที่พบบ่อยที่สุดคือการวาง view key ลงในช่อง "restore wallet" ที่จริง ๆ แล้วต้องการ mnemonic seed ตัวกระเป๋าจะรับค่าเข้าไป สร้าง spend key ใหม่จาก entropy ที่ผิดทั้งหมด และแสดงกระเป๋าเปล่าที่ดูสะอาดตาแต่ใช้งานไม่ได้ ทำให้ผู้ใช้ไม่เห็นเงินของตนตลอดไป ข้อผิดพลาดที่สองคือการนำ view key ไปประกาศบนหน้าสาธารณะโดยไม่ตระหนักว่ามันผูกธุรกรรมขาเข้าทุกครั้ง ทั้งในอดีตและในอนาคต เข้ากับตัวตนในชีวิตจริงไปตลอดกาล view key ไม่สามารถ rotate ได้ เมื่อรั่วแล้ว มันจะรั่วถาวร จงปฏิบัติกับ view key ราวกับโทเค็น API แบบอ่านอย่างเดียวที่เข้าถึงรายการเดินบัญชีธนาคารของคุณ มีประโยชน์ต่อผู้สอบบัญชี แต่หายนะหากตกอยู่ในมือผู้ไม่หวังดี
เจาะลึก Private Spend Key
Private spend key คือค่า scalar ขนาด 32 ไบต์อีกตัวหนึ่ง และเป็นดอกที่ควบคุมเหรียญจริง ๆ จากเลขเพียงตัวเดียวนี้ กระเป๋าสามารถสร้าง key image สำหรับทุก output ที่ตนเป็นเจ้าของ เซ็น ring signature แบบ CLSAG ทุกครั้ง และสร้าง Bulletproofs+ range proof ที่แสดงว่าจำนวนเงินไม่ติดลบโดยไม่ต้องเปิดเผยตัวเลขจริง เสีย spend key ก็เท่ากับเสียเงิน ไม่มีการกู้คืน ไม่มีศูนย์บริการ ไม่มีการย้อน chain
Spend Key สร้าง Key Image อย่างไร
สำหรับทุก output ที่กระเป๋ารับเข้ามา Monero จะคำนวณ key image ซึ่งเป็น hash แบบ deterministic ที่ขึ้นกับทั้ง public key แบบใช้ครั้งเดียวของ output และ private spend key ของกระเป๋า เนื่องจาก key image มีค่าไม่ซ้ำต่อ output แต่ละตัว และปลอมไม่ได้หากไม่มี spend key มันจึงทำหน้าที่เป็นกลไกป้องกัน double-spend ของ Monero เมื่อมีการแพร่ธุรกรรมใหม่ validator จะตรวจว่าไม่มี key image ใดในธุรกรรมนั้นเคยปรากฏบน chain มาก่อน ส่วนที่ชาญฉลาดคือ key image เดียวกันไม่สามารถสาวกลับไปหากระเป๋าที่ผลิตมันได้ เพราะ ring signature ซ่อนผู้เซ็นจริงไว้ในกลุ่มผู้สมรู้ร่วมหลอก
Spend Key กับ Mnemonic Seed
ผู้ใช้ส่วนใหญ่ไม่เคยเห็น spend key ในรูป 64-hex ดิบ ๆ พวกเขาจะเห็นเป็น mnemonic seed 25 คำ หรือ Polyseed 16 คำในกระเป๋ารุ่นใหม่ ซึ่งเข้ารหัส spend key พร้อม checksum และข้อมูลวันเกิดของกระเป๋า view key จะถูกอนุพันธ์ออกจาก spend key โดยอัตโนมัติ ด้วยการ hash ผ่าน Keccak-256 แล้วนำมา reduce modulo order ของกลุ่ม Ed25519 การอนุพันธ์นี้เองคือสาเหตุที่การสำรอง spend key หรือ seed เพียงอย่างเดียวก็เพียงพอจะกู้กระเป๋าทั้งใบ view key หล่นออกมาให้ฟรี ๆ
เหตุใดจึงไม่ควรแชร์ Spend Key
การแชร์ spend key มีผลทางการใช้งานเหมือนกับการส่งทั้งยอดเงินและประวัติธุรกรรมทั้งหมดให้ผู้รับในคราวเดียว เว็บฟิชชิงที่ขอ "wallet verification key" หรือ "full restore key" เกือบทั้งหมดต้องการ spend key หรือ seed ไม่มี exchange แท้จริง บริการสว็อปที่น่าเชื่อถือ หรือบริษัทตรวจสอบใดในโลกที่ต้องใช้ค่านี้ MoneroSwapper เป็นตัวอย่างที่ดี โดยสร้าง integrated address ใหม่สำหรับการสว็อปแต่ละครั้งและไม่เคยแตะ spend key ของลูกค้า ลูกค้าเป็นผู้เซ็นและแพร่ธุรกรรมเงินฝากด้วยตนเองจากกระเป๋าของตน
เปรียบเทียบ View Key กับ Spend Key แบบเคียงข้าง
ตารางด้านล่างสรุปความแตกต่างเชิงปฏิบัติ ใช้เป็นรายการตรวจก่อนวางค่าใด ๆ ลงในช่องบนหน้าจอ หรือก่อนสแกน QR ของกระเป๋าใหม่
| ความสามารถ | Private View Key | Private Spend Key |
|---|---|---|
| เห็นธุรกรรมขาเข้า | ได้ | ได้ (ผ่าน view key ที่อนุพันธ์มา) |
| เห็นธุรกรรมขาออก | เฉพาะเมื่อนำเข้า key image | ได้ |
| ถอดรหัสจำนวนเงิน | ได้ | ได้ |
| เซ็นและแพร่ธุรกรรม | ไม่ได้ | ได้ |
| สร้าง key image | ไม่ได้ | ได้ |
| อนุพันธ์กุญแจอีกดอก | ไม่ได้ | ได้ (view key อนุพันธ์จาก spend) |
| แชร์ให้ผู้สอบบัญชีได้ | ได้ | ห้ามเด็ดขาด |
| ความเสี่ยงเมื่อรั่ว | เสียความเป็นส่วนตัว ไม่เสียเงิน | เสียเงินทั้งหมด |
| เก็บใน mnemonic seed | อนุพันธ์ไม่ได้เก็บ | ใช่ |
| หมุนเปลี่ยนได้ | ไม่ได้ | ไม่ได้ (ต้องย้ายเงินไปกระเป๋าใหม่) |
สังเกตความไม่สมมาตรในแถว "อนุพันธ์กุญแจอีกดอก" spend key สร้าง view key ได้ แต่กลับกันทำไม่ได้ ความสัมพันธ์ทางเดียวนี้คือสิ่งที่ทำให้การประกาศ view key ในที่สาธารณะปลอดภัย ในขณะที่การประกาศ spend key จะเป็นหายนะ
วิธีสร้าง View-Only Wallet ทีละขั้นตอน
เหตุผลที่พบบ่อยที่สุดในการพิจารณากุญแจสองดอกนี้คือการสร้างกระเป๋าแบบ watch-only เช่น บนสมาร์ทโฟนที่คอยติดตามยอดที่เก็บใน cold storage บนแล็ปท็อปแบบ air-gap ขั้นตอนต่อไปนี้ใช้ monero-wallet-cli อย่างเป็นทางการ ทั้งนี้ Feather Wallet, Cake Wallet และ MyMonero ก็มีเมนู GUI ที่เทียบเคียงกันได้
- บนเครื่องออฟไลน์ ให้เปิดกระเป๋าหลักและพิมพ์คำสั่ง
viewkeyที่ prompt คัดลอกสตริง 64-hex ที่ได้ จากนั้นพิมพ์addressและคัดลอกที่อยู่ 95 อักขระ ห้ามส่งออก spend key, seed หรือสิ่งอื่นใดเด็ดขาด - โอนสตริงทั้งสองไปยังอุปกรณ์ออนไลน์ผ่าน QR code หรือ USB แบบ air-gap ห้ามพิมพ์ spend key หรือ seed บนเครื่องออนไลน์ไม่ว่ากรณีใด
- บนเครื่องออนไลน์ ให้รันคำสั่ง
monero-wallet-cli --generate-from-view-key <name>เมื่อมีพรอมต์ ให้วางที่อยู่และ private view key ตั้งรหัสผ่านกระเป๋าที่ยาวและสุ่ม - ปล่อยให้กระเป๋า sync จากความสูงบล็อกที่เงินก้อนแรกเข้ามา คุณจะเห็นธุรกรรมขาเข้าพร้อมจำนวนที่ถูกต้อง ส่วนธุรกรรมขาออกจะแสดงเป็น "(unknown sent)" จนกว่าจะนำเข้า key image
- เพื่อให้ยอดเงินตรงกับความเป็นจริง ให้รัน
export_key_imagesบนกระเป๋าออฟไลน์เป็นระยะ แล้วimport_key_imagesบนเครื่องออนไลน์ การกระทำนี้ไม่ส่งอำนาจการใช้จ่ายใด ๆ มันเพียงแจ้งว่า output บางตัวถูกใช้ไปแล้วเท่านั้น
View key ตอบคำถามว่า "อะไรเข้ามาบ้าง" ส่วน spend key ตอบคำถามว่า "อะไรไหลออกได้บ้าง" หากบริการใดเคยขอให้คุณตอบคำถามที่สอง ให้เดินจากไปทันที ไม่มีกระบวนการทำงานสุจริตใดที่ต้องการคำตอบนั้น
สถานการณ์จริงสำหรับกุญแจแต่ละดอก
ตัวอย่างเป็นรูปธรรมจะทำให้ความแตกต่างฝังลึก ลองนึกถึงโครงการโอเพนซอร์สเล็ก ๆ ที่รับบริจาคเป็น XMR ผู้ดูแลโครงการเผยแพร่ที่อยู่หลักและ private view key ของตนไว้บนหน้าความโปร่งใส ใครก็ตามสามารถรันกระเป๋า view-only ในเครื่องตัวเอง sync chain และตรวจสอบได้อย่างอิสระว่าโครงการได้รับเงินเท่าใดในไตรมาสนี้ ขณะเดียวกัน ผู้ดูแลยังคงเก็บ spend key ไว้บนอุปกรณ์ฮาร์ดแวร์อย่างเฉพาะตน ดังนั้นจึงไม่มีผู้บริจาคคนใด หรือผู้ดูแลคนใดที่ลาออกในอนาคต สามารถถ่ายเทเงินกองทุนได้ นี่คือลวดลายมาตรฐานของความโปร่งใสในการระดมทุน และเป็นรูปแบบเดียวกับที่ Monero Community Crowdfunding System ใช้มาหลายปี
สถานการณ์อีกแบบหนึ่ง ลองนึกถึงนักข่าวอิสระชาวไทยที่ต้องแสดงต่อที่ปรึกษาภาษีว่ารายได้รายปีในรูป XMR ของตนต่ำกว่าเกณฑ์ที่กรมสรรพากรกำหนดให้รายงานในแบบ ภ.ง.ด.90 เธอสร้างกระเป๋า view-only บนแล็ปท็อปของที่ปรึกษาโดยใช้ที่อยู่และ view key ของเธอ ปล่อยให้ sync ถึงบล็อกล่าสุด และส่งออก CSV ของจำนวนเงินขาเข้าที่ถอดรหัสแล้ว ที่ปรึกษาเห็นเฉพาะยอดรวม ส่วนเธอยังคงสิทธิ์ใช้จ่ายอย่างสมบูรณ์ หากความสัมพันธ์ทางวิชาชีพสิ้นสุด เธอสามารถย้ายเงินไปยังกระเป๋าใหม่ได้ ไม่ใช่เพราะที่ปรึกษามีสิทธิ์ใด ๆ ในการเคลื่อนเหรียญ แต่เพราะเธอต้องการเส้นแบ่งที่สะอาด
ตัวอย่างที่สามเกี่ยวข้องกับการกู้คืน สมมติว่าโทรศัพท์ประจำวันของผู้ใช้คนหนึ่งถูกขโมย และโทรศัพท์เครื่องนั้นมีกระเป๋า view-only ที่อนุพันธ์มาจาก spend key ซึ่งถูกเก็บไว้ในฮาร์ดแวร์ที่ปลอดภัย โจรได้ประวัติธุรกรรมขาเข้าทั้งหมดของเหยื่อ ซึ่งเป็นความเสียหายด้านความเป็นส่วนตัวจริง โดยเฉพาะหากเหยื่อรับเงินประจำจากคู่ค้าที่ระบุตัวตนได้ แต่โจรไม่สามารถแตะ piconero แม้แต่หน่วยเดียว เจ้าของไม่ต้องเพิกถอนสิ่งใดบน chain (Monero ไม่มีกลไกเพิกถอน) เพียงแต่ย้ายเงินไปยังที่อยู่ใหม่ที่อนุพันธ์จาก seed ใหม่ view key เก่ายังคงใช้งานได้ตลอดไปกับธุรกรรมที่มันเคยเห็น แต่กระเป๋าใหม่กลับเป็นสิ่งที่มันมองไม่เห็น
ทั้งสามสถานการณ์สะท้อนคุณสมบัติเดียวกัน คือ view key ตอบคำถามเชิงประวัติศาสตร์และปัจจุบันเกี่ยวกับเงินที่ "เข้ามา" ส่วน spend key เท่านั้นที่ตอบคำถามว่าเงินจะ "ออกไปไหนต่อ" ขั้นตอนการสว็อปของ MoneroSwapper พึ่งพาคุณสมบัติเดียวกันนี้ ลูกค้ารับ XMR ไปยังที่อยู่ที่ตนเองควบคุมจากต้นจนจบ และไม่มีจุดใดในกระบวนการที่แพลตฟอร์มร้องขอกุญแจที่จะมอบสิทธิ์ใช้จ่ายในนามลูกค้าได้
คำถามที่พบบ่อย
หากมีคนได้ view key ของฉันไป จะถูกขโมย Monero ได้หรือไม่
ไม่ได้ View key ให้สิทธิ์ในการมองเห็นธุรกรรมขาเข้าและจำนวนเงิน แต่ไม่อนุญาตให้เซ็นธุรกรรม ไม่อนุญาตให้สร้าง key image และไม่อนุญาตให้กระทำการใด ๆ ที่เคลื่อนเงินได้ View key ที่รั่วเป็นปัญหาด้านความเป็นส่วนตัว ทุกการฝากในอดีตและอนาคตจะมองเห็นได้โดยผู้ที่ครอบครองมัน แต่ตัวเงินเองยังคงถูกควบคุมโดย spend key เพียงผู้เดียว
ทำไมกระเป๋า view-only จึงมองไม่เห็นธุรกรรมขาออก
เพราะธุรกรรมขาออกถูกตรวจพบโดยการจับคู่ key image และ key image สร้างได้จาก private spend key เท่านั้น กระเป๋า view-only เห็นว่ามี output อยู่ แต่ไม่สามารถบอกได้ว่า output นั้นถูกใช้ไปแล้วหรือไม่ การนำเข้าไฟล์ key-image ที่เซ็นจากกระเป๋าฝั่งใช้จ่ายจะเชื่อมช่องว่างนี้และทำให้ยอดตรงกับความเป็นจริง
View key ได้มาจาก spend key หรือเป็นอิสระจากกัน
ในกระเป๋า Monero มาตรฐาน view key ถูกอนุพันธ์จาก spend key แบบ deterministic โดยการ hash ผ่าน Keccak-256 แล้ว reduce modulo order ของกลุ่ม Ed25519 นี่คือเหตุที่ mnemonic seed 25 คำเข้ารหัสเฉพาะ spend key ส่วน view key หล่นออกมาให้โดยอัตโนมัติ การตั้งค่าแบบขั้นสูงบางอย่างใช้ view key ที่เป็นอิสระต่อกัน แต่กระเป๋าสำหรับผู้ใช้ทั่วไปทุกตัวใช้รูปแบบที่อนุพันธ์
ฉันควรสำรองกุญแจทั้งสองแยกกันหรือไม่
การสำรอง seed หรือ spend key ดิบเพียงอย่างเดียวก็เพียงพอ เพราะ view key สามารถสร้างขึ้นใหม่ได้เสมอ อย่างไรก็ตาม ผู้ใช้จำนวนมากเก็บสำเนา view key แยกไว้ในที่ที่ผู้สอบบัญชีเข้าถึงได้ เพราะการทำเช่นนั้นไม่ลดทอนความปลอดภัยใด ๆ ปฏิบัติกับ seed ราวกับเงินสด และกับ view key ราวกับใบเดินบัญชีธนาคารที่อ่านได้อย่างเดียว
หาก view key รั่ว ฉันหมุน rotate ได้หรือไม่
ไม่ได้ ในตัวมันเอง view key ผูกอยู่กับที่อยู่ในทางคณิตศาสตร์ ดังนั้นการหมุนต้องสร้างกระเป๋าใหม่ทั้งใบ (seed ใหม่, spend key ใหม่, ที่อยู่ใหม่) และย้ายเงินข้ามไป จงวางแผนล่วงหน้าว่า view key ที่รั่วถือเป็นเหตุการณ์ด้านความเป็นส่วนตัวถาวรของกระเป๋าใบนั้น และเตรียมงบประมาณสำหรับการย้ายกระเป๋าหากระดับการเปิดเผยข้อมูลถึงจุดที่ยอมรับไม่ได้
ฮาร์ดแวร์วอลเล็ตอย่าง Ledger หรือ Trezor จัดการ spend key ต่างกันอย่างไร
ใช่ บนแอป Monero ของ Ledger หรือ Trezor ตัว spend key จะไม่เคยออกจาก secure element เลย คอมพิวเตอร์โฮสต์เก็บเพียง view key (เพื่อให้สแกน chain ได้) และส่งธุรกรรมที่ยังไม่เซ็นไปยังอุปกรณ์เพื่อเซ็นภายใน นี่คือร่างทางกายภาพที่บริสุทธิ์ที่สุดของการแยกกุญแจ view key อยู่ที่ที่สะดวกใช้งาน ส่วน spend key อยู่ที่ที่ปลอดภัยที่สุด
บทสรุป
View key กับ spend key ไม่ใช่สองครึ่งของความลับเดียวกัน หากแต่เป็นสองความลับที่มีหน้าที่ต่างกันโดยสิ้นเชิง และโปรโตคอลได้คุณสมบัติที่มีประโยชน์ที่สุดมาจากการปฏิเสธที่จะรวมทั้งสองเป็นหนึ่ง เมื่อเข้าใจการแยกอำนาจนี้แล้ว กระเป๋า view-only, กระบวนการตรวจสอบ, ความโปร่งใสในการรับบริจาค และสถาปัตยกรรมของฮาร์ดแวร์วอลเล็ตจะไม่รู้สึกเหมือนกลเม็ดอันชาญฉลาดอีกต่อไป แต่จะกลายเป็นผลลัพธ์ที่หลีกเลี่ยงไม่ได้ของการออกแบบที่รอบคอบ หากคุณกำลังตั้งกระเป๋าใหม่วันนี้ จงจดบันทึก seed ลงกระดาษแบบออฟไลน์ อนุพันธ์ view key สำหรับอุปกรณ์ใดก็ตามที่ไม่จำเป็นต้องใช้จ่าย และห้ามวางค่าใดค่าหนึ่งลงในช่องที่คุณยืนยันที่มาไม่ได้อย่างแน่นอน เมื่อพร้อมหาเหรียญ XMR สำหรับกระเป๋านั้น MoneroSwapper เสนอบริการสว็อปแบบไม่ต้อง KYC จากสินทรัพย์หลักเข้าสู่ที่อยู่ที่คุณควบคุมเอง โดยไม่ขอกุญแจใด ๆ ไม่ว่าจะที่จุดใดของกระบวนการ ซึ่งหลังอ่านบทความนี้แล้ว ก็คือพฤติกรรมที่คุณควรคาดหวังจากบริการที่น่าใช้งานทุกแห่ง
🌍 อ่านในภาษา