วิธีทำงาน
หน่วยที่เล็กที่สุดของ Bitcoin ที่แบ่งต่อไม่ได้แล้วเรียกว่า “ซาโตชิ” (sat) — 1 BTC = 100,000,000 sats. เครื่องมือนี้ใช้ราคา BTC สดจาก CoinGecko (cache 5 นาทีในเบราว์เซอร์) และคำนวณทั้งหมดในเบราว์เซอร์ของคุณ ไม่มีอะไรส่งไปที่เซิร์ฟเวอร์
หน่วยต่างๆ
- Satoshi (sat): หน่วยพื้นฐานที่สุด ตั้งชื่อตาม Satoshi Nakamoto ผู้สร้าง Bitcoin ที่ใช้นามแฝง ทุก tx บน on-chain และทุกการจ่ายเงินบน Lightning Network สุดท้ายก็ตกลงเป็นหน่วย satoshi
- BTC: หน่วยบนสุดที่คุ้นตาตาม exchange ทั่วไป 1 BTC เท่ากับ 100,000,000 satoshi พอดี — เป็นค่าคงที่ที่กำหนดโดยโปรโตคอล Bitcoin และถูกบังคับใช้โดยทุกโหนดบนเครือข่าย
- สกุลเงิน (USD, EUR, GBP…): ค่าของเงินในประเทศคุณที่ราคา spot ปัจจุบัน ราคา refresh จาก CoinGecko ทุก 5 นาที cache ไว้ในเครื่องเพื่อให้เข้าซ้ำได้ไว
สูตรคำนวณ
การแปลงหน่วยเป็นคณิตศาสตร์ integer ตรงๆ:
- Sats → BTC: หาร 100,000,000
- BTC → Sats: คูณ 100,000,000
- Sats → สกุลเงิน:
(sats / 100_000_000) × ราคา_BTC_ในสกุลเงินนั้น - สกุลเงิน → Sats:
(จำนวนเงิน / ราคา_BTC) × 100_000_000
ทุกการคำนวณทำในเบราว์เซอร์ด้วย floating point 64-bit ของ JavaScript ซึ่งแม่นยำพอสำหรับจำนวนที่เจอในชีวิตจริง สำหรับค่า sats ที่ใหญ่มาก (เกิน ~9 quadrillion) ควรใช้ library ที่รองรับ arbitrary precision integer
ลิงก์ถาวรและแชร์
ทุกครั้งที่พิมพ์ค่า URL จะอัปเดตอัตโนมัติพร้อม query parameter ?sats= หรือ ?btc= คุณคัดลอก URL ไปแชร์ได้ — ผู้รับจะเห็นการคำนวณเดียวกัน เหมาะสำหรับการสื่อสารราคาหรือยอดจ่ายในบริบท เช่น ในแชทกลุ่มหรือคุยเรื่อง invoice
ทำไม sats ถึงสำคัญ
เมื่อราคา Bitcoin สูงขึ้น การพูดทุกอย่างเป็น BTC เริ่มลำบาก การพูดว่า “ราคา 0.00042 BTC” อ่านยากกว่า “42,000 sats” เยอะ ชุมชน Bitcoin เริ่มใช้ sats เป็นหน่วยสำหรับการจ่ายเงินประจำวันมากขึ้น กระเป๋า Lightning ตั้งค่าเริ่มต้นเป็น sats และเทรนด์นี้เร่งขึ้นพร้อมการ adopt Lightning Network มากขึ้นเรื่อยๆ การคิดเป็น sats เป็นก้าวแรกสู่การใช้ Bitcoin แบบธรรมชาติ แทนที่จะต้องแปลงกลับเป็นสกุลเงินในหัวตลอด
Lightning Network — โปรโตคอลจ่ายเงินชั้นที่สองของ Bitcoin — เดินเงินเป็นหน่วย millisatoshi (1/1000 ของ sat) แม้โหนดและกระเป๋าส่วนใหญ่จะแสดงเป็น sat แบบปัดเต็ม ความละเอียดระดับนี้ทำให้ Lightning ส่งเงินน้อยกว่าเศษเซ็นต์ได้ แม้ในช่วงที่ $1 ซื้อ sats ได้แค่ไม่กี่พัน
sats ของคุณเป็นส่วนหนึ่งของ 21,000,000 — supply คงที่ที่ทุกโหนด Bitcoin บนเครือข่ายบังคับใช้
ความเป็นส่วนตัว
เครื่องมือนี้ไม่มี back-end ค่าที่คุณใส่ไม่ออกไปจากเครื่องของคุณ request เดียวที่ออกไปคือการอ่านราคาจาก CoinGecko public price endpoint (ซึ่งไม่มีข้อมูลที่ระบุตัวผู้ใช้เกินกว่า HTTP request ทั่วไป) สกุลเงินที่เลือกถูกเก็บใน localStorage ของเบราว์เซอร์เอง — จำได้ข้ามการเข้าชมโดยไม่ต้องพึ่งเซิร์ฟเวอร์
FAQ
1 Bitcoin มีกี่ sats?
100,000,000 พอดี (หนึ่งร้อยล้าน) ค่านี้ฝังในกฎ consensus ของ Bitcoin และจะไม่เปลี่ยน
ราคามาจากไหน?
CoinGecko public price API ฟรี cache 5 นาทีใน localStorage ของเบราว์เซอร์ ทำให้เข้าซ้ำได้ไวและไม่รบกวนเซิร์ฟเวอร์เขา
เครื่องมือนี้เก็บค่าที่ผมใส่ไหม?
ไม่ สกุลเงินที่เลือกจำไว้ใน localStorage (ในเบราว์เซอร์เท่านั้น) ไม่มีจำนวนหรือค่าคำนวณถูกส่งไปเซิร์ฟเวอร์ไหนเลย
ใช้แบบ offline ได้ไหม?
เมื่อดึงราคามาแล้วและ cache ไว้ การแปลง BTC กับ sats ทำงานได้แม้ไม่มีเน็ต ส่วนการแปลงสกุลเงินจะใช้ราคาสุดท้ายที่ cache ไว้จนกว่าจะต่อเน็ตอีกครั้ง
ทำไมค่าสกุลเงินเปลี่ยนเองแม้ไม่ได้แตะอะไร?
ราคา Bitcoin เคลื่อนไหวตลอด ถ้าเปิดหน้าทิ้งไว้เกิน 5 นาที ครั้งถัดไปที่คำนวณจะดึงราคาใหม่จาก CoinGecko ซึ่งอาจต่างจากครั้งก่อน