xpub คืออะไร: คีย์สาธารณะของวอลเล็ต Bitcoin ของคุณเปิดเผยอะไรบ้าง

xpub ทำให้ค้นหาที่อยู่ทั้งหมดของบัญชี Bitcoin ได้ จึงเห็นประวัติทั้งหมดของบัญชีนั้น โดยใช้จ่ายเงินไม่ได้ xpub เปิดเผยอะไร มีความเสี่ยงอย่างไร และควรให้ใคร

xpub (คีย์สาธารณะแบบขยาย) คือคีย์สาธารณะของบัญชีในวอลเล็ต Bitcoin ที่ใช้สร้างที่อยู่ทั้งหมดของบัญชีนั้น: ใครที่ถือ xpub จะเห็นทุกการชำระเงินที่บัญชีนี้ได้รับและส่งออกไป แต่ใช้จ่ายอะไรไม่ได้เลย

ใน xpub มีอะไร

มาตรฐาน BIP32 อธิบายวอลเล็ตแบบลำดับชั้นเชิงกำหนด: seed เดียวสร้างคีย์ได้ทั้งต้นไม้ คีย์แบบขยายเพิ่มรหัสเชน (chain code) เข้าไปในคีย์ ซึ่งใช้คำนวณคีย์ลูกของคีย์นั้น ตาม BIP32 การรู้คีย์สาธารณะแบบขยายทำให้สร้างคีย์สาธารณะลูกที่ไม่ได้เสริมความแข็งแรง (non-hardened) ทั้งหมดของคีย์นั้นขึ้นใหม่ได้

วอลเล็ตจัดเรียงคีย์เหล่านี้ตามเส้นทางของ BIP44: m / purpose' / coin_type' / account' / change / address_index โดย xpub ที่วอลเล็ตแสดงคือ xpub ของระดับ account' ซึ่งครอบคลุมที่อยู่สองสาย: 0 สำหรับที่อยู่รับเงิน และ 1 สำหรับที่อยู่สำหรับเงินทอน (change) ซึ่งรับเงินทอนจากการส่งเงินของคุณเอง

xpub, ypub หรือ zpub

คำนำหน้าบอกว่าบัญชีใช้ที่อยู่ประเภทใด:

คำนำหน้ามาตรฐานเส้นทางของบัญชีแรกที่อยู่
xpubBIP44m/44'/0'/0'ที่อยู่แบบเก่า ขึ้นต้นด้วย 1
ypubBIP49m/49'/0'/0'SegWit แบบซ้อน ขึ้นต้นด้วย 3
zpubBIP84m/84'/0'/0'SegWit แบบเนทีฟ ขึ้นต้นด้วย bc1q

ทั้งสามเป็นคีย์ชนิดเดียวกัน: มีเพียงไบต์เวอร์ชันที่ต่างกัน ตัวอักษรขึ้นต้นจึงต่างกันตามไปด้วย

สิ่งที่ xpub เปิดเผย

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

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

ความเสี่ยงที่ควรรู้

xpub อย่างเดียวใช้จ่ายเงินไม่ได้ แต่ BIP32 เตือนว่า: การรู้คีย์สาธารณะแบบขยาย บวกกับคีย์ส่วนตัวที่ไม่ได้เสริมความแข็งแรงตัวใดก็ได้ที่สืบมาจากคีย์นั้น เท่ากับการรู้คีย์ส่วนตัวแบบขยายของคีย์แม่ กล่าวอีกอย่างคือ xpub ของคุณกับคีย์ส่วนตัวของที่อยู่เพียงที่อยู่เดียวของคุณ ก็เพียงพอที่จะใช้จ่ายเงินทั้งบัญชี

ระดับ account' เป็นแบบเสริมความแข็งแรง: การรั่วไหลเช่นนี้จึงจำกัดอยู่ในบัญชีนั้น และไม่ลามไปถึงบัญชีอื่นของ seed เดียวกัน ดังนั้นให้ส่งออก xpub อย่าส่งออกคีย์ส่วนตัวของที่อยู่ใดเด็ดขาด และอย่าให้วลีกู้คืนแก่ใครเด็ดขาด

ซอฟต์แวร์หาที่อยู่อย่างไร

ซอฟต์แวร์ที่อ่าน xpub จะสร้างที่อยู่ตามลำดับ และหยุดหลังจากเจอที่อยู่ที่ไม่เคยใช้ต่อกันชุดหนึ่ง: BIP44 กำหนดขีดจำกัดนี้ (gap limit) ไว้ที่ 20 หากคุณสร้างที่อยู่เกิน 20 ที่อยู่ติดกันโดยไม่ได้ใช้ ซอฟต์แวร์ที่ทำตามกฎนี้จะไม่เห็นที่อยู่ถัดจากนั้น

เพื่ออ่านยอดคงเหลือ ซอฟต์แวร์จะสอบถามเซิร์ฟเวอร์หรือโหนดทีละที่อยู่ เซิร์ฟเวอร์นั้นจึงรู้ที่อยู่ทั้งหมดของคุณ และเชื่อมโยงที่อยู่เหล่านั้นเข้าด้วยกันได้: นี่คือการรั่วไหลอีกแบบ ซึ่งไม่ได้มาจาก xpub เอง แต่มาจากวิธีอ่าน xpub

ก่อนให้ xpub ของคุณ

  • ถามตัวเองว่าใครเก็บไว้: แอปที่เก็บ xpub ของคุณไว้บนเซิร์ฟเวอร์ของตน จะรู้จักบัญชีของคุณตราบที่ยังเก็บไว้ และหากข้อมูลของแอปรั่วไหล xpub ก็จะถูกเปิดเผย
  • เลือกการอ่านในเครื่อง: วอลเล็ตที่เชื่อมต่อกับโหนดของคุณเอง หรือเครื่องมือที่สร้างที่อยู่บนอุปกรณ์ของคุณ ไม่ต้องฝาก xpub ไว้กับใคร
  • หนึ่งบัญชีต่อหนึ่งการใช้งาน: บัญชีอื่น (account' ถัดไป) มี xpub อีกตัว ซึ่งไม่เปิดเผยอะไรเกี่ยวกับบัญชีอื่นเลย

CentraFIN อ่าน xpub ของคุณอย่างไร

CentraFIN อ่าน xpub ของคุณบนอุปกรณ์ของคุณ: เบราว์เซอร์ของคุณสร้างที่อยู่ อ่านยอดคงเหลือผ่านการเชื่อมต่อที่เข้ารหัสตั้งแต่ต้นทางถึงปลายทาง และเก็บทั้งหมดไว้ในตู้นิรภัยที่เบราว์เซอร์เข้ารหัสเอง เซิร์ฟเวอร์ของ CentraFIN ไม่เคยเห็น xpub ของคุณ ที่อยู่ หรือยอดคงเหลือใดๆ แต่ละที่อยู่จะถูกอ่านจากโหนดเดิมเสมอ ซึ่งสุ่มเลือกไว้ เพื่อไม่ให้โหนดใดเห็นบัญชีทั้งหมด ดูรายละเอียดได้ที่หน้า Bitcoin

แหล่งที่มา

คำถามที่พบบ่อย

ขโมย bitcoin ด้วย xpub ได้ไหม?

ใช้ xpub อย่างเดียวไม่ได้: xpub ใช้ลงนามไม่ได้ แต่ถ้ามีคีย์ส่วนตัวของที่อยู่หนึ่งในบัญชีด้วย ก็ได้: ทั้งบัญชี

xpub เพียงพอที่จะเห็นยอดคงเหลือของฉันไหม?

ใช่ xpub ให้ที่อยู่ทั้งหมดของบัญชี และบล็อกเชนให้ยอดคงเหลือและธุรกรรมของที่อยู่เหล่านั้น

ถ้า xpub ของฉันรั่วไหล ควรทำอย่างไร?

xpub เพิกถอนไม่ได้: ใครที่มีจะเห็นบัญชีนี้ตลอดไป จากนี้ไปให้ใช้บัญชีใหม่ที่ xpub ไม่เคยถูกแชร์ ส่วนการโอนจากบัญชีเก่าจะยังมองเห็นได้

xpub, ypub และ zpub ต่างกันอย่างไร?

ต่างกันที่ประเภทที่อยู่ของบัญชี: ที่อยู่ที่ขึ้นต้นด้วย 1 สำหรับ xpub ด้วย 3 สำหรับ ypub (SegWit แบบซ้อน) และด้วย bc1q สำหรับ zpub (SegWit แบบเนทีฟ)

ควบคุมความมั่งคั่งของคุณได้เต็มที่

บัญชีของคุณพร้อมใช้งานในหนึ่งนาที ไม่ต้องใช้รหัสผ่าน