chontit on Nostr: ‼️ข้างใน Bitcoin Wallet ของเรา… ...
‼️ข้างใน Bitcoin Wallet ของเรา… มันมีอะไรบ้างนะ ? 🤔
.
🙋♂️สำหรับใครที่เก็บบิตคอยน์ใน Hardware Wallet แล้วมีคำถามหรือมีข้อสงสัยว่า..
➡️ ทำไม Address ที่ใช้รับบิตคอยน์มันเปลี่ยนใหม่ไปเรื่อย ๆ เลย ?
➡️ ใช้ Address เดิมรับบิตคอยน์ซ้ำได้มั้ย ?
➡️ เวลาโอนออกทำไมค่าฟีไม่เท่ากัน ทั้ง ๆ ที่ใส่เลขเดียวกัน เช่น กำหนดไว้ที่ 5 sats/vB แต่บางครั้งก็จ่ายเยอะ บางครั้งก็จ่ายน้อย ?
✅ งั้นเราลองมาดูโครงสร้างกระเป๋าแบบง่าย ๆ กันดีกว่าเนาะ 😊
.
❗️ในระบบกระเป๋าบิตคอยน์แบบ HD Wallet.. หรือกระเป๋าบิตคอยน์แบบที่เราต้องจดบันทึก ‘Seedphrase' ไว้เป็น Backup นั่นแหละ ,, เค้ามีโครงสร้างแตกย่อยไปอีกเยอะแยะมากมาย 👍 (มองให้เป็นต้นไม้ ,, ที่แตกแยกย่อยเป็นกิ่งใหญ่, กิ่งเล็ก และแต่ละกิ่งก็แยกเป็นใบหรือเป็นดอกเป็นผล.. จะทำให้เข้าใจง่ายขึ้น😊)
➡️ ยกตัวอย่าง 'Seedphrase 1 ชุด' ไม่ว่าจะเป็นแบบ 12 คำหรือ 24 คำก็ตาม ,, มันจะสร้างกระเป๋าได้หลายแบบ เช่น Legacy, Segwit, Native Segwit หรือ Taproot (แต่ยังไม่ต้องไปสนใจมันหรอกนะ..) เอาเป็นว่า…
‼️ โดยทั่วไปเราจะได้ใช้กระเป๋าแบบ Native Segwit (BIP-84) หรือเวลาที่เราสร้าง Address เพื่อรับบิตคอยน์ ,, เราจะได้ Address ที่มีชื่อขึ้นต้นด้วย bc1q.... นั่นแหละฮะ
➡️ ในกระเป๋าแต่ละแบบนั้น.. เราก็ยังแยกย่อยได้อีกเป็นหลาย ๆ Account (เหมือนบัญชีธนาคารแหละ .. ถ้าเราอยากมีบัญชีธนาคารหลาย ๆ เล่ม เราก็ทำได้ไม่มีใครห้าม ,, แต่เวลาจะโอนหรือถอนเงินก็ต้องนำสมุดบัญชีเล่มนั้น ๆ ไป) 👍
➡️ จากนั้นในแต่ละ Account ก็จะแบ่งเป็นกลุ่มของ Address สำหรับใช้เพื่อ 'รับบิตคอยน์' และ Address สำหรับใช้เพื่อรับ 'เงินทอน' ,, ซึ่งสามารถสร้าง Address ได้อีก 'จำนวนมากมายมหาศาล' ชนิดที่เรียกได้ว่าใช้ยังไงก็ไม่มีวันหมด 🧐
✅ โดยเมื่อนำมาเขียนเรียงกันจะได้ประมาณนี้ [m/84'/0'/0'/0/0] ,, ซึ่งสิ่งนี้เองที่เราเรียกว่า 'Derivation Path' 🧡👍
งงป่ะ ? งั้นดูตามภาพประกอบเลยแล้วกัน 😅
.
1️⃣ Receive Addresses หรือรายการ Address สำหรับ 'รับโอน' บิตคอยน์ ,, ซึ่งหากเราใช้ Address ใดในการโอนเข้าเรียบร้อยแล้ว เจ้าตัว Software wallet จะเลือก Address 'ลำดับถัดไป' ให้เราโดยอัตโนมัติ เช่น … ครั้งแรกเราโอนไปยัง Address ลำดับ 0 [m/84'/0'/0'/0/0] ,, จากนั้นการโอนครั้งถัดไปมันจะเลือก Address ลำดับ 1 [m/84'/0'/0'/0/1] และลำดับ 2 [m/84'/0'/0'/0/2] … ต่อไปเรื่อย ๆ
✅ สำหรับการโอนบิตคอยน์ไปยัง ’Address เดิม‘ ที่ถูกใช้งานแล้ว.. สามารถโอนไปได้ปกตินะครับ ไม่ได้มีผลต่อการใช้งานใด ๆ เลย 👍 ,, เพียงแต่ว่ามันจะ 'ลดความเป็นส่วนตัวลง' ,, เพราะจะทำให้คนอื่น ๆ สามารถรู้ได้ว่าเรามีบิตคอยน์เยอะหรือน้อยแค่ไหน ,, โดยเฉพาะคนที่ไม่เคยโอนไปยัง Address ใหม่ ๆ เลยยิ่งมีความเสี่ยงครับ
❗️กลุ่มคนส่วนใหญ่ที่ใช้ Address เดิมซ้ำ ๆ ก็จะเป็น Exchange หรือกระเป๋ากองทุน เพื่อให้ง่ายในการบริหารจัดการหรือตรวจสอบ ✅
2️⃣ Change Addresses หรือรายการ Address สำหรับรับ 'เงินทอน' ,,❗️เวลาเราโอนบิตคอยน์ออกจากกระเป๋า.. เช่น เรามี UTXO ขนาด 1,000,000 sats และต้องการโอนไป Address ปลายทางเพียงแค่ 300,000 sats ,, ส่วนที่เหลืออีก 700,000 sats นั่นแหละจะถูกโอนกลับมายัง Address เหล่านี้ ,, ซึ่งการใช้ Change Addresses ก็จะไล่ลำดับไปเรื่อย ๆ เช่นกัน โดยเริ่มจาก Change Address ลำดับ 0 [m/84'/0'/0'/1/0] ... และต่อไปเรื่อย ๆ ตามจำนวนครั้งที่เราโอนบิตคอยน์ออกจากกระเป๋า 😘
3️⃣ ส่วนนี้เรียกว่า UTXO หรือชื่อเต็ม ๆ คือ Unspent Transaction Outputs หรือแปลเป็นไทยก็คือ 'บิตคอยน์ที่ยังไม่ถูกใช้' 🧡 ,, ซึ่งจำนวน UTXO จะขึ้นอยู่กับ ’จำนวนครั้ง‘ ที่เรารับโอนบิตคอยน์มาเก็บ เช่น เราโอนบิตคอยน์ออกจาก Exchange มายัง Address ลำดับ 0 ก็จะมี UTXO จำนวน 1 อัน ,, และวันต่อมาเรารับโอนบิตคอยน์จากเพื่อนเข้าที่ Address ลำดับ 0 (Address เหมือนเดิม) ก็จะมี UTXO เพิ่มมาอีก 1 อัน ,, สรุปตอนนี้กระเป๋าของเราจะมี UTXO จำนวน 2 อัน แต่อยู่บน Address เดียวกันทั้ง 2 อัน
‼️งงมั้ยนะ 🥺 ,, ลองคิดภาพง่าย ๆ ก็คือ ทุกครั้งที่เรารับบิตคอยน์เข้ากระเป๋า เราจะได้แบงค์ที่มีจำนวน Satoshi เท่ากับจำนวนที่เราโอนเข้ามา ,, ถ้าโอน 2 ครั้งก็จะมีแบงค์ 2 ใบ ,, ถ้าโอน 10 ครั้งก็จะมีแบงค์ 10 ใบ โดยที่ไม่สนใจว่าจะโอนไป Address เดียวกันหรือคนละ Address กันก็ตาม ✅
อ้ออ.. แต่หลังจากเรามีการโอนบิตคอยน์ออกจาก UTXO แล้ว.. มันจะถูกทำลายและสร้างเป็น UTXO ใหม่ก็คือ ’เงินทอน‘ (ถ้ามี) ✅
4️⃣ ในกรณีใช้ซอฟต์แวร์ Sparrow Wallet จะสามารถ ‘เลือก’ UTXO ที่ต้องการโอนออกได้เลย (ถ้าเราไม่เลือก.. โปรแกรมก็จะเลือกให้เองแหละ แต่บางครั้งมันก็อาจจะไม่ถูกใจเราไง)
‼️สมมุติเราจะโอน UTXO สีเขียว ,, เราก็สามารถที่จะเลือก UTXO นั้น และคลิกที่ Send Selected ได้เลย ,,
โดยที่เราจะส่งบิตคอยน์ได้ ‘ไม่เกิน’ จำนวน satoshi ที่มีใน UTXO นั้นนะ ❌😅
✅ ในกรณีเราต้องการโอนบิตคอยน์เกินขนาด UTXO เช่น ต้องการโอนจำนวน 4,000,000 satoshi ,, เราจำเป็นต้องโอนออกจาก UTXO สีเขียว และ UTXO สีม่วง ’รวมกัน‘ (เพื่อให้มีจำนวนมากกว่า Output ที่ต้องการ) 👍
➡️ ซึ่งกรณีที่มี Input มากกว่า 1 UTXO เนี่ยแหละ.. มันทำให้ Transaction ของเรามีข้อมูล ’เพิ่มขึ้น‘ และทำให้ ‘ค่าธรรมเนียม’ ที่ต้องจ่าย ’มากขึ้น’ ตามลำดับ❗️(ยิ่งมีหลาย UTXO ก็ยิ่งต้องจ่ายค่าฟีแพงขึ้น) ,, อาจารย์จึงแนะนำว่า 1 UTXO ไม่ควรมีขนาดเล็กเกินไป ,, ถ้าจะให้ดีควรมีมากกว่า 1,000,000 sats (โหดอยู่) 😂🙏
.
‼️สำหรับท่านที่ใช้งานเฉพาะ Application ที่มากับเจ้าตัว HW เช่น Trezor Suite ก็อาจจะไม่เคยเห็นโครงสร้างละเอียดแบบนี้ ,, แต่โดยหลักการแล้วทำงานเหมือนกัน 🧡
และเพื่อให้ใช้บิตคอยน์ได้สนุกขึ้นจึงอยากให้ลองศึกษาการใช้งาน HW ร่วมกับซอฟต์แวร์ Sparrow Wallet ดูครับ 👍✅
.
ป.ล. ผมกำลังเขียนบทความสอนใช้งาน Sparrow Bitcoin Wallet อยู่นะฮะ.. แต่น่าจะอีกสักพักใหญ่ ๆ 😅
#เวลามีค่าศึกษาบิตคอยน์
#bitcoinselfcustody
#Siamstr
.
🙋♂️สำหรับใครที่เก็บบิตคอยน์ใน Hardware Wallet แล้วมีคำถามหรือมีข้อสงสัยว่า..
➡️ ทำไม Address ที่ใช้รับบิตคอยน์มันเปลี่ยนใหม่ไปเรื่อย ๆ เลย ?
➡️ ใช้ Address เดิมรับบิตคอยน์ซ้ำได้มั้ย ?
➡️ เวลาโอนออกทำไมค่าฟีไม่เท่ากัน ทั้ง ๆ ที่ใส่เลขเดียวกัน เช่น กำหนดไว้ที่ 5 sats/vB แต่บางครั้งก็จ่ายเยอะ บางครั้งก็จ่ายน้อย ?
✅ งั้นเราลองมาดูโครงสร้างกระเป๋าแบบง่าย ๆ กันดีกว่าเนาะ 😊
.
❗️ในระบบกระเป๋าบิตคอยน์แบบ HD Wallet.. หรือกระเป๋าบิตคอยน์แบบที่เราต้องจดบันทึก ‘Seedphrase' ไว้เป็น Backup นั่นแหละ ,, เค้ามีโครงสร้างแตกย่อยไปอีกเยอะแยะมากมาย 👍 (มองให้เป็นต้นไม้ ,, ที่แตกแยกย่อยเป็นกิ่งใหญ่, กิ่งเล็ก และแต่ละกิ่งก็แยกเป็นใบหรือเป็นดอกเป็นผล.. จะทำให้เข้าใจง่ายขึ้น😊)
➡️ ยกตัวอย่าง 'Seedphrase 1 ชุด' ไม่ว่าจะเป็นแบบ 12 คำหรือ 24 คำก็ตาม ,, มันจะสร้างกระเป๋าได้หลายแบบ เช่น Legacy, Segwit, Native Segwit หรือ Taproot (แต่ยังไม่ต้องไปสนใจมันหรอกนะ..) เอาเป็นว่า…
‼️ โดยทั่วไปเราจะได้ใช้กระเป๋าแบบ Native Segwit (BIP-84) หรือเวลาที่เราสร้าง Address เพื่อรับบิตคอยน์ ,, เราจะได้ Address ที่มีชื่อขึ้นต้นด้วย bc1q.... นั่นแหละฮะ
➡️ ในกระเป๋าแต่ละแบบนั้น.. เราก็ยังแยกย่อยได้อีกเป็นหลาย ๆ Account (เหมือนบัญชีธนาคารแหละ .. ถ้าเราอยากมีบัญชีธนาคารหลาย ๆ เล่ม เราก็ทำได้ไม่มีใครห้าม ,, แต่เวลาจะโอนหรือถอนเงินก็ต้องนำสมุดบัญชีเล่มนั้น ๆ ไป) 👍
➡️ จากนั้นในแต่ละ Account ก็จะแบ่งเป็นกลุ่มของ Address สำหรับใช้เพื่อ 'รับบิตคอยน์' และ Address สำหรับใช้เพื่อรับ 'เงินทอน' ,, ซึ่งสามารถสร้าง Address ได้อีก 'จำนวนมากมายมหาศาล' ชนิดที่เรียกได้ว่าใช้ยังไงก็ไม่มีวันหมด 🧐
✅ โดยเมื่อนำมาเขียนเรียงกันจะได้ประมาณนี้ [m/84'/0'/0'/0/0] ,, ซึ่งสิ่งนี้เองที่เราเรียกว่า 'Derivation Path' 🧡👍
งงป่ะ ? งั้นดูตามภาพประกอบเลยแล้วกัน 😅
.
1️⃣ Receive Addresses หรือรายการ Address สำหรับ 'รับโอน' บิตคอยน์ ,, ซึ่งหากเราใช้ Address ใดในการโอนเข้าเรียบร้อยแล้ว เจ้าตัว Software wallet จะเลือก Address 'ลำดับถัดไป' ให้เราโดยอัตโนมัติ เช่น … ครั้งแรกเราโอนไปยัง Address ลำดับ 0 [m/84'/0'/0'/0/0] ,, จากนั้นการโอนครั้งถัดไปมันจะเลือก Address ลำดับ 1 [m/84'/0'/0'/0/1] และลำดับ 2 [m/84'/0'/0'/0/2] … ต่อไปเรื่อย ๆ
✅ สำหรับการโอนบิตคอยน์ไปยัง ’Address เดิม‘ ที่ถูกใช้งานแล้ว.. สามารถโอนไปได้ปกตินะครับ ไม่ได้มีผลต่อการใช้งานใด ๆ เลย 👍 ,, เพียงแต่ว่ามันจะ 'ลดความเป็นส่วนตัวลง' ,, เพราะจะทำให้คนอื่น ๆ สามารถรู้ได้ว่าเรามีบิตคอยน์เยอะหรือน้อยแค่ไหน ,, โดยเฉพาะคนที่ไม่เคยโอนไปยัง Address ใหม่ ๆ เลยยิ่งมีความเสี่ยงครับ
❗️กลุ่มคนส่วนใหญ่ที่ใช้ Address เดิมซ้ำ ๆ ก็จะเป็น Exchange หรือกระเป๋ากองทุน เพื่อให้ง่ายในการบริหารจัดการหรือตรวจสอบ ✅
2️⃣ Change Addresses หรือรายการ Address สำหรับรับ 'เงินทอน' ,,❗️เวลาเราโอนบิตคอยน์ออกจากกระเป๋า.. เช่น เรามี UTXO ขนาด 1,000,000 sats และต้องการโอนไป Address ปลายทางเพียงแค่ 300,000 sats ,, ส่วนที่เหลืออีก 700,000 sats นั่นแหละจะถูกโอนกลับมายัง Address เหล่านี้ ,, ซึ่งการใช้ Change Addresses ก็จะไล่ลำดับไปเรื่อย ๆ เช่นกัน โดยเริ่มจาก Change Address ลำดับ 0 [m/84'/0'/0'/1/0] ... และต่อไปเรื่อย ๆ ตามจำนวนครั้งที่เราโอนบิตคอยน์ออกจากกระเป๋า 😘
3️⃣ ส่วนนี้เรียกว่า UTXO หรือชื่อเต็ม ๆ คือ Unspent Transaction Outputs หรือแปลเป็นไทยก็คือ 'บิตคอยน์ที่ยังไม่ถูกใช้' 🧡 ,, ซึ่งจำนวน UTXO จะขึ้นอยู่กับ ’จำนวนครั้ง‘ ที่เรารับโอนบิตคอยน์มาเก็บ เช่น เราโอนบิตคอยน์ออกจาก Exchange มายัง Address ลำดับ 0 ก็จะมี UTXO จำนวน 1 อัน ,, และวันต่อมาเรารับโอนบิตคอยน์จากเพื่อนเข้าที่ Address ลำดับ 0 (Address เหมือนเดิม) ก็จะมี UTXO เพิ่มมาอีก 1 อัน ,, สรุปตอนนี้กระเป๋าของเราจะมี UTXO จำนวน 2 อัน แต่อยู่บน Address เดียวกันทั้ง 2 อัน
‼️งงมั้ยนะ 🥺 ,, ลองคิดภาพง่าย ๆ ก็คือ ทุกครั้งที่เรารับบิตคอยน์เข้ากระเป๋า เราจะได้แบงค์ที่มีจำนวน Satoshi เท่ากับจำนวนที่เราโอนเข้ามา ,, ถ้าโอน 2 ครั้งก็จะมีแบงค์ 2 ใบ ,, ถ้าโอน 10 ครั้งก็จะมีแบงค์ 10 ใบ โดยที่ไม่สนใจว่าจะโอนไป Address เดียวกันหรือคนละ Address กันก็ตาม ✅
อ้ออ.. แต่หลังจากเรามีการโอนบิตคอยน์ออกจาก UTXO แล้ว.. มันจะถูกทำลายและสร้างเป็น UTXO ใหม่ก็คือ ’เงินทอน‘ (ถ้ามี) ✅
4️⃣ ในกรณีใช้ซอฟต์แวร์ Sparrow Wallet จะสามารถ ‘เลือก’ UTXO ที่ต้องการโอนออกได้เลย (ถ้าเราไม่เลือก.. โปรแกรมก็จะเลือกให้เองแหละ แต่บางครั้งมันก็อาจจะไม่ถูกใจเราไง)
‼️สมมุติเราจะโอน UTXO สีเขียว ,, เราก็สามารถที่จะเลือก UTXO นั้น และคลิกที่ Send Selected ได้เลย ,,
โดยที่เราจะส่งบิตคอยน์ได้ ‘ไม่เกิน’ จำนวน satoshi ที่มีใน UTXO นั้นนะ ❌😅
✅ ในกรณีเราต้องการโอนบิตคอยน์เกินขนาด UTXO เช่น ต้องการโอนจำนวน 4,000,000 satoshi ,, เราจำเป็นต้องโอนออกจาก UTXO สีเขียว และ UTXO สีม่วง ’รวมกัน‘ (เพื่อให้มีจำนวนมากกว่า Output ที่ต้องการ) 👍
➡️ ซึ่งกรณีที่มี Input มากกว่า 1 UTXO เนี่ยแหละ.. มันทำให้ Transaction ของเรามีข้อมูล ’เพิ่มขึ้น‘ และทำให้ ‘ค่าธรรมเนียม’ ที่ต้องจ่าย ’มากขึ้น’ ตามลำดับ❗️(ยิ่งมีหลาย UTXO ก็ยิ่งต้องจ่ายค่าฟีแพงขึ้น) ,, อาจารย์จึงแนะนำว่า 1 UTXO ไม่ควรมีขนาดเล็กเกินไป ,, ถ้าจะให้ดีควรมีมากกว่า 1,000,000 sats (โหดอยู่) 😂🙏
.
‼️สำหรับท่านที่ใช้งานเฉพาะ Application ที่มากับเจ้าตัว HW เช่น Trezor Suite ก็อาจจะไม่เคยเห็นโครงสร้างละเอียดแบบนี้ ,, แต่โดยหลักการแล้วทำงานเหมือนกัน 🧡
และเพื่อให้ใช้บิตคอยน์ได้สนุกขึ้นจึงอยากให้ลองศึกษาการใช้งาน HW ร่วมกับซอฟต์แวร์ Sparrow Wallet ดูครับ 👍✅
.
ป.ล. ผมกำลังเขียนบทความสอนใช้งาน Sparrow Bitcoin Wallet อยู่นะฮะ.. แต่น่าจะอีกสักพักใหญ่ ๆ 😅
#เวลามีค่าศึกษาบิตคอยน์
#bitcoinselfcustody
#Siamstr