❗️สารถึงผู้ที่รันโหนดบิตคอยน์หรือผู้ที่กำลังอยากรันโหนดครับ 😇
‼️ระบบไฟฟ้า "โคตรสำคัญ" ✅
.
🧡 ตั้งแต่เริ่มต้นรันโหนดด้วย Raspberry Pi5 ,, ผมได้รับประสบการณ์ไฟฟ้าดับประมาณ 5-10 รอบได้ แต่ทุกครั้งเจ้า Pi5 ก็กลับมาออนไลน์ได้เอง (พอไฟฟ้ากลับมาปกติ.. ตัว Pi5 มันก็ทำงานต่ออัตโนมัติ โดยที่เราไม่ต้องไปกดปุ่มเปิดเครื่อง) แต่ครั้งนี้ไม่เหมือนเดิม 5555 😰
.
❗️ประมาณ 3 วันก่อน.. ผมก็เข้า Lightning Wallet ของตัวเองไม่ได้ จึงเข้าไปเช็คที่ Umbrel OS แล้วพบว่า..
..Bitcoin Node มันค้างที่ "Starting" ก็คือมันมีปัญหาบางอย่างที่ทำให้ระบบทำงานต่อไม่ได้ ❌ จึงเช็คจาก Trobleshoot ของ Umbrel เลยรู้ว่า "ไฟล์ Database ของ Bitcoin node มันเสียหาย" แน่นอนว่ามันเกิดจากการที่ "ไฟดับ" เนี่ยแหละ (คือถ้าไฟฟ้าดับตอนที่ Pi5 มันกำลังเขียนไฟล์ลงบน Harddisk อยู่ .. มันก็ทำให้ไฟล์นั้นพังได้ และนำไปสู่ระบบมันทำงานต่อไม่ได้เป็นโดมิโน่) 🫠
.
โดยข้อความ Error แบบเป๊ะ ๆ ก็คือ
➡️ bitcoin_bitcoind_1 | EXCEPTION: 15dbwrapper_error
➡️ bitcoin_bitcoind_1 | Fatal LevelDB error: Corruption: checksum mismatch: /data/.bitcoin/indexes/txindex/890080.log
➡️ bitcoin_bitcoind_1 | bitcoin in AppInit()
❗️ผมก็ได้หาวิธีแก้ไขปัญหาจาก Community Umbrel ซึ่งมีคนแนะนำให้ทำการ Re-index blockchain ใหม่ !!!
✅ ก็เลยเริ่มต้น reindex bitcoin blockchain ใหม่ทั้งหมด ,, โดยเจ้า Pi5 ใช้เวลาไปทั้งสิ้น 2 วันเต็ม ๆ
‼️ปัญหาต่อมาก็คือ... Lightning Channel ที่เราเปิดค้างไว้ ,, มันจะยังอยู่เหมือนเดิมมั้ย ?
แน่นอนว่าพอระบบปกติ ผมก็ไล่เช็คที่ละ App ที่เกี่ยวกับ Bitcoin
➡️ Bitcoin Core ปกติ ✅
➡️ Electrum Rust Serve ปกติ ✅
➡️ Lightning Node (LND) เปิดได้ปกติ.. แต่ Channel Offline ❌
➡️ Alby Hub เปิดได้ปกติ.. แต่ให้เราเริ่มต้น Open Channel ใหม่ !!❌
‼️งานเข้าละ .. ต้องเสีย sat ในการปิด-เปิด Channel อีกแล้วหรอ.. ไม่นะ 🥹
.
…แต่เหมือนสวรรค์มาโปรด .. ระหว่างที่กำลังจะปิด Channel นั้น.. เจ้า Alby Hub ก็ขึ้นว่า "Channel Online" ✅
🎉 เย้ .. จบการรีวิว 🙏🧡
.
ป.ล.1 โหนดผมพังหลังจากที่ทำคลิปสอนการติดตั้งและใช้งาน Umbrel OS (อ้าวว.. อุตส่าห์โฆษณาไว้ชะเยอะ 55555) 🫠
ป.ล.2 เพราะฉะนั้นใครที่อยากจะรัน Lightning Node เพื่อทำเป็น Non-Custodial Lightning Wallet ด้วยเจ้า Umbrel OS ละก็... ไม่ต้องกังวลเรื่องโหนดพังแล้วจะมีปัญหาเรื่องการ Recovery Wallet นะครับ ผมพิสูจน์ให้แล้ว 😆 ,, ตราบใดที่ยังเปิด Umbrel OS ขึ้นมาได้ .. เราก็จะค่อย ๆ แก้ไขปัญหาทีละ step ไปด้วยกัน 😘🙏
ป.ล.3 หวังว่าโพสต์นี้เป็น Lessons Learned ให้กับเพื่อน ๆ ได้.. โดยที่ไม่ต้องรอเจอปัญหากับตัวเองนะครับ 😇
ป.ล.4 ผมไม่ได้ Capture ภาพตอนที่ Bitcoin Node มัน Error ไว้ .. ตอนนั้นไม่แน่ใจว่าจะ Recovery กลับมาได้มั้ย (แอบใจเสียอยู่เหมือนกัน) 5555 😆
#เวลามีค่าศึกษาบิตคอยน์
#bitcoinselfcustody
#Siamstr
‼️งานเข้าละ .. ต้องเสีย sat ในการปิด-เปิด Channel อีกแล้วหรอ.. ไม่นะ 🥹
.
…แต่เหมือนสวรรค์มาโปรด .. ระหว่างที่กำลังจะปิด Channel นั้น.. เจ้า Alby Hub ก็ขึ้นว่า "Channel Online" ✅
🎉 เย้ .. จบการรีวิว 🙏🧡
.
ป.ล.1 โหนดผมพังหลังจากที่ทำคลิปสอนการติดตั้งและใช้งาน Umbrel OS (อ้าวว.. อุตส่าห์โฆษณาไว้ชะเยอะ 55555) 🫠
ป.ล.2 เพราะฉะนั้นใครที่อยากจะรัน Lightning Node เพื่อทำเป็น Non-Custodial Lightning Wallet ด้วยเจ้า Umbrel OS ละก็... ไม่ต้องกังวลเรื่องโหนดพังแล้วจะมีปัญหาเรื่องการ Recovery Wallet นะครับ ผมพิสูจน์ให้แล้ว 😆 ,, ตราบใดที่ยังเปิด Umbrel OS ขึ้นมาได้ .. เราก็จะค่อย ๆ แก้ไขปัญหาทีละ step ไปด้วยกัน 😘🙏
ป.ล.3 หวังว่าโพสต์นี้เป็น Lessons Learned ให้กับเพื่อน ๆ ได้.. โดยที่ไม่ต้องรอเจอปัญหากับตัวเองนะครับ 😇
ป.ล.4 ผมไม่ได้ Capture ภาพตอนที่ Bitcoin Node มัน Error ไว้ .. ตอนนั้นไม่แน่ใจว่าจะ Recovery กลับมาได้มั้ย (แอบใจเสียอยู่เหมือนกัน) 5555 😆
#เวลามีค่าศึกษาบิตคอยน์
#bitcoinselfcustody
#Siamstr
➡️ จุดเริ่มต้น : ตำแหน่งบนสุด “ต้องการเก็บ ‘บิตคอยน์’ ด้วยตัวเองใช่มั้ย ?” 🤔
➡️ ผลลัพธ์สุดท้าย : ช่องสีส้มที่มีเครื่องหมายขีดถูก ✅ ,, และจำนวนเครื่องหมาย ✅ จะแสดงถึงระดับของความปลอดภัย (คร่าว ๆ) 😎
.
ก็หวังว่า…เพื่อน ๆ เหล่า Bitcoiner มือใหม่ทั้งหลายคงได้ใช้ประโยชน์จาก Bitcoin Self-Custody Decision Tree Diagram นี้.. ไม่มากก็น้อยครับ 🧡😇
#เวลามีค่าศึกษาบิตคอยน์
#bitcoinselfcustody
#Siamstr
➡️ เริ่มต้นจากจุด G หรือเป็นค่าคงที่ที่กำหนดไว้แล้ว เรียกว่า Generator Point (หมายเลข 1 ในภาพประกอบ)
1️⃣ จากนั้นคำนวนหา 2G (2G = G+G) ซึ่ง..มันมีสมการคำนวนแหละ แต่ยังไม่ต้องรู้หรอก ,, เอาเป็นว่า เราจะได้จุด 2G ตามหมายเลข 2 ในภาพประกอบ
2️⃣ จากนั้นคำนวนหาจุด 4G ซึ่งเราจะใช้ข้อมูลจากจุด 2G มาคำนวน (4G = 2G + 2G) ทำให้การคำนวนรวดเร็วมากขึ้น (เร็วกว่า 4G = G+G+G+G)
3️⃣ สุดท้ายก็จะนำค่าพิกัด x,y ที่จุด 4G มาบวกกับค่า G ก็จะได้พิกัดของจุด 5G ตามต้องการ เย้ 🎉
✅ แต่ถ้าเราต้องการ 10G ล่ะ ? ใช่แล้วแหละ เราก็จะคำนวนจาก 10G = 5G+5G ก็จะได้ตำแหน่งของ 10G ทันที ,, และเช่นเดียวกัน ถ้าเราต้องการตำแหน่ง 100G เราก็จะใช้วิธีการบวกทบ ๆ กันไปเรื่อย ๆ ตามตัวอย่างแบบที่อธิบายแหละ 👍
.
🙋♂️ ดูแล้วก็ไม่น่ายากนี่น่า.. งั้นลองคิดกลับกัน
‼️ถ้าเรารู้พิกัด x = 7.33209 x 10^76 และ y = 7.40137 x 10^76 ,, เราจะสามารถหา 'จำนวนตัวเลข' ที่มาคูนกับ G แล้วผลลัพธ์เป็นพิกัดดังกล่าวได้มั้ยนะ ? 🤔
✅ ใช่แล้ว.... มันไม่มีสมการคำนวนย้อนกลับ ,, เพราะฉะนั้น เราไม่มีทางรู้ว่า 'ตัวเลข' ไหนที่นำมาคำนวนกับค่า G แล้วจะได้ผลลัพธ์นั้นแบบ 'พอดีเป๊ะ ๆ' นอกจากว่าจะลองคำนวนจาก G+G+G+G..... ไปเรื่อย ๆ จนกว่าจะเจอตัวเลขที่ต้องการ 👍
.
❗แต่ Bitcoin Address มันไม่ได้คำนวนจากตัวเลขน้อย ๆ แค่ 5G เหมือนที่ผมสาธิตหน่ะสิ
‼️ตัวเลขจำนวนเต็มที่ใช้คูนกับค่า G มันก็คือ 'Private Key' นั่นเอง
➡️ สมมุติว่า Private Key = 0000000000000000000000000000000000000000000000000DE0B6B3A7640000
➡️ เมื่อแปลงเป็นเลขฐาน 10 คือ 1,000,000,000,000,000,000 (1 ล้าน ล้าน ล้าน)
นั่นหมายความว่า ...
✅ กระบวนการ kG ก็คือ การบวกค่า G เรื่อย ๆ ทั้งหมด '1 ล้าน ล้าน ล้าน' ครั้ง ,, แล้วผลลัพธ์ที่ได้จะถูกนำไปใช้คำนวนหา Public Key ต่อไป (ผลลัพธ์ยังไม่ใช่ Bitcoin Address นะฮะ ,, การได้ Bitcoin Address ที่เราใช้งานกันยังต้องผ่านกระบวนการเพิ่มเติมอีกเล็กน้อย)
🙋♂️ รู้แบบนี้แล้ว… ยังจะมีใครลองพยายามคำนวน Public Key กลับไปเป็น Private Key อยู่อีกมั้ยนะ ? 😘
.
❗ทิ้งท้ายไว้อีกนิด เผื่อมีคนสงสัยว่า…ถ้าเราใช้วิธีการ 'สุ่ม' ไปเรื่อย ๆ หรือ Brute Force ทำได้มั้ย ? 🤔
✅ ขอตอบว่า ‘ทำได้แน่นอน’ แต่...ชาตินี้คุณมีเวลาชีวิตพอหรือป่าวล่ะ ?
➡️ ยกตัวอย่าง Private Key ด้านบน ,, คุณใช้คอมพิวเตอร์ที่สามารถสุ่มได้ 1 ล้านรหัสต่อวินาที (โคตรเร็ว) 😱
➡️ คุณต้องใช้เวลาอีก 1 ล้าน ล้าน วินาที ในการสุ่มจนกว่าจะเจอ Private Key (ประมาณ 11,574,074 วัน หรือ 31,709 ปี) 🥶
.
🙋♂️ พอเห็นภาพกันมั้ยครับ ? ว่า..
🧡 'บิตคอยน์' เป็นระบบการเงินที่โคตรของโคตรปลอดภัยในปัจจุบันนี้เลย
ป.ล.ภาพประกอบผมใช้ Matlab สร้างกราฟให้ครับ ,, ส่วนผลลัพธ์การคำนวนแต่ละจุดให้ ChatGPT ช่วย ,, ตัวเลขอาจจะตรงบ้างไม่ตรงบ้าง แต่โดยหลักการแล้วถูกต้องตามนี้ 😇🙏
#เวลามีค่าศึกษาบิตคอยน์
#Siamstr
จากภาพประกอบจะเห็นได้ว่า
➡️ Block Height : 277,316 จะมีส่วนข้อมูล "ลายนิ้วมือ" จากบล็อก 277,315
➡️ Block Height : 277,315 ก็จะมีส่วนข้อมูล "ลายนิ้วมือ" จากบล็อก 277,314
➡️ Block Height : 277,314 ก็จะมีส่วนข้อมูล "ลายนิ้วมือ" จากบล็อก 277,313
✅ และแน่นอนว่า Block Height : 277,317 ก็จะต้องนำ "ลายนิ้วมือ" จากบล็อก 277,316 ไปประกอบเป็นส่วนหนึ่งในข้อมูลของบล็อก
‼️ซึ่งข้อมูลต่าง ๆ ที่อยู่ใน Block Header นั้น ถูกคิดมาเป็นอย่างดีแล้วว่า "สำคัญ", "ประหยัดพื้นที่" และ "มีความรวดเร็วในการยืนยัน" ,, โดยเฉพาะส่วนของ Merkle Trees ซึ่งเป็นข้อมูล Hashing ของ Transaction ทั้งหมดในบล็อกนั้น (การใช้โครงสร้าง Merkle Trees นั้นจะช่วยให้การยืนยันข้อมูลธุรกรรมของ "Node" เป็นไปด้วยความรวดเร็ว และมีประสิทธิภาพมากที่สุด)
.
ดังนั้นจึงสรุปได้ว่า…
❗️ข้อมูลใน Block Chain มันสามารถ “เปลี่ยนแปลง” ได้ ✅
‼️แต่ Block Chain ของระบบบิตคอยน์จะมีส่วนที่เรียกว่า Block Header Hash ซึ่งเปรียบเสมือน "ลายนิ้วมือ" ของข้อมูลในบล็อกก่อนหน้า
✅ เจ้าส่วนนี้แหละที่เป็นตัวทำให้การแก้ไขข้อมูลในบล็อกเป็นเรื่องที่ "เป็นไปไม่ได้" เพราะทันทีที่มีการแก้ไข.. ข้อมูลในบล็อกถัดมาก็จะ Invalid ทันที
🥷และหากใครที่อยากจะเปลี่ยนแปลงข้อมูลใด ๆ ในบล็อก.. ก็จำเป็นที่จะต้องสร้างบล็อกลำดับถัดไปด้วย "ตนเอง" และต้องทำด้วยอัตราเร่งที่เร็วกว่า 10 นาทีต่อบล็อก เพื่อให้ Block Chain ของคุณนั้น Valid และกลับมาอยู่ใน Bitcoin Network 🎉
.
อ้อ.. ข้อมูลที่สามารถแก้ไขได้จะมีแค่ "ข้อมูลธุรกรรมของตัวคุณเอง" เท่านั้นนะ ,, คุณจะไปแก้ไขข้อมูลว่าเรามี 10,000 บิตคอยน์ “ไม่ได้”‼️ไม่ว่าจะโดยวิธีการใด ๆ ก็ตาม 😇
ป.ล.สินทรัพย์อื่น ๆ ทำได้มั้ยน๊าาาา 😎😘
#เวลามีค่าศึกษาบิตคอยน์
#Siamstr
❗️ยกตัวอย่างกราฟนี้ ,, ผมลองเปรียบเทียบง่าย ๆ ว่า…
‼️ถ้าเราต้องการ “ปริมาณเงินบาท” เพิ่มขึ้น โดยการลงทุนในสินทรัพย์ที่มีอัตราเติบโตทบต้นเฉลี่ย 30% (i.e. บิตคอยน์) ,, แต่ไม่ได้มีความเข้าใจมากพอที่จะเก็บรักษาบิตคอยน์ทั้งหมดเอาไว้ ,, จึงอยากขายบางส่วนเพื่อดึงต้นทุนออกก่อน และปล่อยให้กำไรมันเติบโตต่อไป…
.
ผลมันเป็นยังไงนะ ? 🤔
.
1️⃣ กำหนดเงินต้นจำนวน 100,000 บาท ซื้อบิตคอยน์ ณ วันนี้ที่ราคาประมาณ 3,300,000 บาท ,, เราจะได้บิตคอยน์จำนวน 0.03030303 BTC (3,030,303 satoshi) ✅
2️⃣ ระหว่างที่เราได้กำไรจากมูลค่าบิตคอยน์ที่เพิ่มขึ้น.. เราก็จะขายส่วนต่างกำไรออกมา เช่น ผ่านไป 1 ปี เรามีกำไร 30,000 บาท ,, เราก็จะขายบิตคอยน์มูลค่า 30,000 บาทเป็นเงินสด และปล่อยให้ส่วนที่เหลือเติบโตต่อไป (กราฟเส้นสีแดง) 😇
3️⃣ เราจะทำการขายประมาณ 4 ครั้ง (ปีละ 1 ครั้ง) เพื่อได้เงินต้นที่มีมูลค่า 100,000 บาท คืนกลับมา 🎉
4️⃣ เมื่อถึงตอนนี้ เราจะมีบิตคอยน์เหลืออยู่เพียงแค่ 0.01273192 BTC และปล่อยให้เกิด Capital Gain ต่อไป (กราฟเส้นสีส้ม) ✅
.
‼️เมื่อระยะเวลาผ่านไป 10 ปี
➡️ กรณีขายเอาทุนออก เราจะเหลือ 0.01273192 BTC ซึ่งมีมูลค่าในหน่วย ”บาท“ ประมาณ 6 แสนบาท 😎
➡️ กรณีไม่ขายเอาทุนออก เราจะยังคงมีบิตคอยน์ 0.03030303 BTC ซึ่งคิดเป็นมูลค่าประมาณ 1.3 ล้านบาท 🧡
..นับว่ามีความแตกต่างกันอย่างมีนัยสำคัญ😊
.
❗️ฝากไว้ให้คิด : คุณซื้อบิตคอยน์เพื่อต้องการจำนวน “เงินบาท“ เพิ่มขึ้น หรือคุณซื้อบิตคอยน์เพื่อต้องการเป็นเจ้าของทรัพย์สินที่มีจำนวนจำกัด
‼️เงินของคุณ ชีวิตของคุณ .. คุณเลือกได้เอง 🧡😇
ถ้าท่านใดยังสงสัยหรือไม่เคลียร์ตรงไหน… #เวลามีค่าศึกษาบิตคอยน์ ครับ
#ความจริงมันช้า
#Siamstr

➡️ ระหว่างนี้จนกว่าจะถึงเดือน ธ.ค. ปี 2037 นั้น ใครๆ ก็จะไม่สามารถ Broadcast Transaction ได้ (เพราะยังไม่เป็นไปตาม Locktime ที่กำหนดไว้) ,, แต่ทันทีที่ถึงวันปีใหม่ ของปี 2038 ,, ลูกสาวนำไฟล์ Bitcoin Transaction ที่บันทึกไว้ มาประกาศธุรกรรมผ่าน Software อะไรก็ได้ (ที่มีใช้งานในตอนนั้น) ก็จะสามารถประกาศได้โดยทันที และรอ Confirmation ตามปกติ
➡️ เมื่อได้ Confirmation เรียบร้อย ,, บิตคอยน์ก้อนนั้นก็เป็นของลูกสาวผมโดยสมบูรณ์ ✅👍
❗️อ้อ.. หากระหว่างเวลานั้นผมไม่อยู่แล้ว แต่ Tx ก็ยังสามารถ Broadcast ได้ตามปกติ เพราะว่าถูก Sign เรียบร้อยแล้ว
พอเข้าใจกันมั้ยหว่า...😅
.
‼️ข้อควรระวัง‼️
➡️ ค่าฟีต้องกำหนดไว้เผื่ออนาคตนะ ,, ถ้าเกิดว่าเรากำหนดค่าฟีไว้แค่ 7.13 sats/vByte ตามตัวอย่างในขั้นตอนที่ 1 ,, แล้วบังเอิญว่าเมื่อถึงปี 2038 หรือช่วงเวลาที่ประกาศธุรกรรมได้นั้น ค่าฟีของตลาดพุ่งไปที่ 20 sats/vByte ,, เราจะไม่ได้รับ Confirmation เลยนะ และไม่สามารถทำ RBF ได้ด้วย (ถ้าเราตุยก่อน) 🫠 แต่ถ้าเรายังอยู่เราก็ทำ Transactions โอนใหม่ได้ ไม่มีปัญหา ✅🎉
.
Sensitive Information? 🤔
🧡 ข้อมูลในไฟล์ Bitcoin Transaction นั้น (ตามภาพขั้นตอนที่ 4) ไม่มีอะไรที่ต้องเป็นความลับ!! สามารถนำมาโพสต์แปะไว้หน้าเฟสบุ๊กเลยยังได้ เพราะว่ามันเป็นข้อมูลที่ถูกกำหนด 'ต้นทาง' และ 'ปลายทาง' ไว้อยู่แล้ว ,, ไม่สามารถแก้ไขใด ๆ ได้อีก 😊
หรือกล่าวอีกนัยหนึ่งก็คือ.. คนที่ขโมยไฟล์ Tx เราไป ,, เค้าสามารถทำได้อย่างเดียว คือ ประกาศธุรกรรมให้เรา 😂
.
❗️‘ซาโตซิ’ สุดยอดมั้ยล่ะ ? คิดแนวทางไว้ครบหมดแล้ว 🙏👍
#เวลามีค่าศึกษาบิตคอยน์
#bitcoinselfcustody
#Siamstr
