Avatar
BossMan
d0864ad0528ff7e0becdd502d19e9ddc18ccadc790318fd60f9988e3ca373f75
BossMan (เจ้ามนุษย์!)
Replying to Avatar Khing_T21

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

TL;DR

ถ้าต้องการทำ watch-only wallet สำหรับ native segwit ต้องดูให้แน่ใจว่า Xpub ที่เอามาขึ้นต้นด้วย “zpub…” หรือถ้าต้องการใช้ nested segwit ต้องใช้ “ypub…” ไม่อย่างนั้นถ้าเอา “xpub…” มามันจะแผลงร่างไปเป็น legacy

หลังจาก import Xpub เข้า software wallet เพื่อทำ watch-only wallet แล้ว ก่อนจะโอนเงินเข้าโดยใช้ address จาก watch-only wallet นั้นให้เช็คก่อนว่าชุด address ที่ได้จาก watch-only wallet มันตรงกับ wallet ตัวต้นทางไหม

[[[ เริ่มเรื่อง ]]]

เรื่องเริ่มต้นจากเจ้าของเคส (จขค.) generate seed สร้าง wallet ใน sparrow desktop จากนั้นก็สแกน QR code ของ Xpub ด้วยแอป Trezor suit lite เพื่อสร้างเป็น watch-only wallet บนมือถือ

ปัญหาที่เกิดขึ้นก็คือ หากเช็คดู ณ จุดนี้ จะพบว่าชุดของ address ใน sparrow และ Trezor ไม่ตรงกัน!

และความเสียหายจะไม่เกิดขึ้นเลยถ้าเราเช็คเสียก่อนว่าชุดของ address ตรงกันไหมก่อนที่จะโอนเงินเข้าไป (ดังนั้นเพื่อหลีกเลี่ยงปัญหาแต่แรก กรุณาทำตามข้อแนะนำในส่วน TL;DR)

ส่วนสิ่งที่เกิดขึ้นในเคสนี้คือ จขค. โอน BTC เข้าไปใน address ที่ได้จาก trezor และไม่สามารถเอาออกมาได้ เพราะ

trezor เป็น watch-only ไม่มี private key ไม่สามารถ sign ธุรกรรมได้

sparrow ไม่สามารถ sign ธุรกรรมได้ เพราะ address เป็นคนละชุดกัน มองไม่เห็นยอดเงินนั้น

[[[ สาเหตุ ]]]

อันที่จริงแล้วที่เราพูดกันว่า Xpub ซึ่งย่อมาจาก extended public key เนี่ย มันไม่ได้มีแค่ที่ขึ้นต้นด้วยอักษร “xpub…” เท่านั้น แต่ยังมี “ypub…” และ “zpub…” อีกด้วย

“xpub…” ไว้ใช้สำหรับ address ประเภท legacy (bip44 ขึ้นต้นด้วย 1…)

“ypub…” ไว้ใช้สำหรับ address ประเภท nested segwit (bip49 ขึ้นต้นด้วย 3…)

“zpub…” ไว้ใช้สำหรับ address ประเภท native segwit (bip84 ขึ้นต้นด้วย bc1q…)

ซึ่งด้วยเหตุผลใดในด้านการออกแบบที่ไม่ทราบได้ เมื่อ จขค. สร้างกระเป๋าแบบ native segwit ใน sparrow มันกลับแสดง Xpub ในรูปแบบ “xpub…” มาเป็นอันดับแรกแทนที่จะเป็น “zpub…” (คือ zpub… ก็สามารถเรียกให้แสดงขึ้นมาได้ แต่ต้องกดปุ่มลูกศรด้านขวาของช่องที่แสดง Xpub ก่อน)

ทีนี้ ในเมื่อสากลโลกเค้าเข้าใจตรงกันว่า “xpub…” ไว้ใช้สำหรับ legacy พอ จขค. ใช้ trezor สแกน “xpub…” แอป trezor ก็เข้าใจว่าต้องการใช้ address แบบ legacy จึงจัดแจงเอา “xpub…” นั้นไป derive ด้วยมาตรฐาน bip44 ได้ผลลัพธ์ออกมาเป็น address ประเภท legacy ทั้งเซ็ท

(ลองกับ Blue Wallet แล้วก็เป็นลักษณะเดียวกัน)

สรุปรวบรัดคือ ตอนนี้ trezor suit lite มันเอา Xpub ที่ได้จาก derivation path m/84’ ไปสร้าง address ด้วยมาตรฐาน bip44

และวิธีแก้คือ เราก็จะต้องบังคับให้ sparrow (ซึ่งเป็นที่ที่มี private key ของเราอยู่) ทำท่าพิสดารท่าเดียวกันนี้ เพื่อให้สามารถเซ็นธุรกรรมโอนเงินออกได้

[[[ ปัญหา ]]]

โดยปกติสำหรับ sparrow คุณจะต้องเลือกประเภท address ที่ต้องการจะใช้ (legacy / nested segwit / native segwit / taproot) ก่อนที่จะสร้าง seed, กรอก seed หรือ connect hardware wallet เพราะว่ามันจะไปดึงเอา Xpub ที่สอดคล้องกันมาทำกระเป๋าให้เรา

ถ้าเราบอกมันว่าอยากสร้างแบบ legacy มันจะไปดึง Xpub จาก derivation path m/44’ มา

ถ้าเราบอกมันว่าอยากสร้างแบบ nested segwit มันจะไปดึง Xpub จาก derivation path m/49’ มา

ถ้าเราบอกมันว่าอยากสร้างแบบ native segwit มันจะไปดึง Xpub จาก derivation path m/84’ มา

ถ้าเราบอกมันว่าอยากสร้างแบบ taproot มันจะไปดึง Xpub จาก derivation path m/86’ มา

ในกรณีของ จขค. sparrow ดึง Xpub จาก path m/84’ มาเพื่อเตรียมสร้างกระเป๋า native segwit ตามมาตรฐาน bip84

ถ้าเราพยายามจะเปลี่ยนไปใช้มาตรฐาน bip44 มันจะไล่เราให้ไป import keystore ใหม่ เพราะเอา Xpub อันที่ควรเป็นจาก path m/44’ มาใช้

การเอา Xpub จาก path หนึ่งไปสร้าง address ด้วยอีกมาตรฐานหนึ่งเป็นเรื่องผิดผี ไม่งาม ระบบตรวจสอบใน sparrow ไม่ยอมให้เราทำแบบนั้น (เราจะไม่สามารถกดปุ่ม apply ได้)

แต่เราดันทำแบบนั้นใน trezor ไปแล้วไง!!! เพราะฉะนั้นแกก็ต้องทำด้วย!!! ชั้นจะบีบคอให้แกทำ!!!

[[[ วิธีแก้ ]]]

ในการทำแบบนั้น เราจะต้องปิดระบบป้องกันการทำผิดผี (validate derivation) ของ sparrow โดยการเข้าไปที่เมนู file > preference > general แล้วติ๊กปิด toggle หลังคำว่า validate derivation (หลังจากนั้นเราอาจจะต้องปิดโปรแกรม sparrow และเปิดขึ้นมาให้เพื่อให้ setting ใหม่นี้มีผล)

ในตอนนี้เราสามารถแก้ประเภทกระเป๋าจาก native segwit (bip84) เป็น legacy (bip44) ทั้งที่ยังใช้ Xpub เดิมจาก m/84’ ได้แล้ว สามารถกดปุ่ม apply ได้ เราควรจะพบชุด address เดียวกันกับใน trezor suit lite เห็นยอดเงิน และโอนออกได้ตามปกติ (และควรกลับไปเปิด validate derivation กลับมาด้วย เดี๋ยวจะทำพลาดแบบแปลกๆ อีก)

เอวังด้วยประการฉะนี้ สวัสดีครับ

#Siamstr

#SparrowWallet

#TrezorSuitLite

#WatchOnlyWallet

ถ้ามีปัญหาจะทักไปถาม อ. ขิงคนแรกเลย 55

Bitcoin เป็นเงินที่ไม่มีความยืดยุ่น ความยืดยุ่นในที่นี้ต้องมานิยามต่อว่าหมายถึงอะไร ถ้าหมายถึงการเสกเงินได้ในยามจำเป็น=ความยืดหยุ่น สำหรับผมสิ่งนี้ไม่ใช่ความยืดยุ่นแต่เป็นจุดเริ่มต้นของสันดานพิมพ์เงิน เหมือนแนวคิดเงินเฟ้ออ่อนๆเป็นเรื่องที่ดี ละก็สอนต่อกันมา 10ปี 20ปี

จนปัจจุบันมันไม่ใช่เงินเฟ้ออ่อนๆแล้วครับ

แต่มันก็ยังสอนกันว่าเงินเฟ้ออ่อนๆดี แบบนี้อยู่ในปัจจุบัน

เงินเฟ้อไม่มีคำว่าอ่อนมันมีแต่เฟ้อมากขึ้นเรื่อยๆมันจึงถูกนิยามว่าเงินเฟ้อ

สิ่งที่มนุษย์ต้องการไม่ใช่เงินเฟ้ออ่อนๆ หรือ เงินเฟ้อมากๆแต่เราต้องการเงินที่มันรักษามูลค่าผ่านเวลาได้ซึ่งความยืดยุ่นที่มนุษย์ต้องการคือเก็บได้เมื่อเราอยากเก็บ ขายได้เมื่อเราอยากขาย < อันนี้แหละเขาเรียกว่าความยืดยุ่น ไม่ใช่พิมพ์เงินเท่าไหร่ก็ได้ตามใจฉัน = เงินมีความยืดยุ่น เป็นลูฟี่กินผลยางยืดหรอครับ จะยืดอะไรนักหนา

แถมให้อีกหน่อยนะครับว่ามนุษย์เราพัฒนาอารยะธรรมไปข้างหน้าได้มาจากการขยัน อดออม สะสมความรู้สืบต่อกันมาครับ มนุษย์เราไม่สามารถพัฒนาอารยะธรรมได้จากการงอมืองอเท้า แล้วรอรัฐสวัสดิการจากภาษีประชาชนครับ

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

ซึ่งในอนาคตถ้ามีเงินที่ดีกว่า Bitcoin และทุกคนยอมรับ

Bitcoin ก็ไม่ได้บังคับ ไม่ให้คุณเปลี่ยนหรือไม่ให้ทิ้งมันไปเป็น(ถือ)อย่างอื่นอยู่ดี ของพวกนี้มันอยู่ที่คุณครับ

ซึ่ง Bitcoin มันไม่ได้แย้งอะไรกับธรรมชาติเลยครับ มันเป็นแค่เงินทางเลือกทางๆหนึ่งที่สร้างมาแก้ปัญหาบางอย่างเฉพาะเจาะจง

อุปมาอุปไมยเหมือนอากาศถูกสร้างขึ้นมาเพื่อให้มนุษย์ใช้หายใจ ซึ่งต่อมาคุณอาจจะค้นพบวิธีใช้งานมันได้มากกว่าหนึ่งมากกว่าแค่ใช้หายใจซึ่งนั่นมันเรื่องของคุณครับ

แต่ความเป็นสาระของมันไม่ได้เปลี่ยนครับ

เงินก็เช่นกันเเรกเริ่มเดิมทีผมไม่เชื่อว่ามนุษย์เราเปลี่ยนเงินจากเปลือกหอยเป็นแร่โลหะเพียงเพราะมันมีความยืดยุ่นหรือพิมพ์เพิ่มได้ครับ(งั้นมนุษย์จะเลิกใช้เปลือกหอยทำไม(เพราะมันเฟ้อและผลิตง่ายไง ง่าวต๊าย)

แต่เป็นเพราะสันดารพิมพ์เงินเสกเงินและเอาเปรียบกันและกันของมนุษย์ต่างหากครับที่ไปค้นพบวิธีว่ามันทำได้ เราก็เลยทำครับ

ดังนั้นอย่ามาบอก Bitcoin เป็นเงินไม่ยืดยุ่นเพียงเพราะคุณใช้สันดารพิมพ์เงินของคุณกับ Bitcoin ไม่ได้ ฝากไว้ให้คิดครับ พรี่ Somchai

ปล. เงินยืดยุ่นของเราไม่เท่ากัน

เสกเงินเท่าไหร่ก็ได้ไปทำรัฐสวัสดิการ ≠ เงินยืดยุ่น อันนี้เขาเรียกว่าปล้นเงินอื่นโดยไม่ยินยอม

#Siamstr https://nostpic.com/media/d0864ad0528ff7e0becdd502d19e9ddc18ccadc790318fd60f9988e3ca373f75/a3110c8d06721280f18e286a0f78ad2b91b5f83ea2a269428c1bb26053472739.webp

นายโดนดีดนื้วไปละ

จริงๆไปไล่ด่าพวกนี้ทีละคนแม่มเหนื่อยวะสำหรับเราหลังๆ เสนอให้เจลองทำเป็นหนังสืออภิธรรม รวบรวมข้อโต้แย้งพวกนอกสำนัก เห็นว่าซุ้มทำหนังสืออยู่

สุดจัดครับ คุณโน๊ต

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

ปล.พึ่งได้ฟังย้อนหลังช่วงนี้ยุ่งๆ 🤣

https://www.youtube.com/live/eWO29ejthW0?si=QEjdyQ_PMVds3DC1

Replying to Avatar Stellar ✨🪐

ช่วงนี้กระแสคนตื่นธรรมคือแรงมาก เอาจริงฟังแล้วชอบนะ มันดูฟังง่ายและตามหลักความเป็นจริงดี

แต่มีข้อสงสัยที่ไม่เข้าใจอย่างหนึ่ง คือ การที่อนาคตไม่ได้ถูกลิขิตไว้แล้ว คือพอจะเข้าใจว่าทุกอย่างอยู่ที่เหตุปัจจัยการกระทำของตนเอง ถ้าเราไม่ทำอะไรให้เกิดเหตุเลยมันก็ไม่มีทางที่จะเกิดอะไรขึ้นมาได้

ทีนี้คำถามคือถ้าเราพยายามทำอย่างเต็มที่แล้ว เราจะสามารถกำหนดอนาคตตัวเองได้อย่างที่เป็นจริงๆไหมจากการกระทำของเรา เพราะเอาจริงๆมันก็มีปัจจัยภายนอกที่เราควบคุมไม่ได้ อย่างสภาพแวดล้อม สังคม ผู้คนต่างๆ และ สถานการณ์อันไม่คาคคิด

ยกตัวอย่างเวลา หางาน สัมภาษงาน มันมีคู่แข่งมากมายเป็นร้อนเป็นพันคน สภาวะตลาดที่ไม่เอื้อให้เด็กรุ่นใหม่ที่ไม่มีประสบการณ์อีก ถ้าสมมติเราพยายามที่จะอัพสกิลใดๆแล้ว แต่ก็ยังไม่เข้าเป้า เข้าตาของบริษัทต่างๆ ประสบการณ์จริงไม่พอ ประจวบกับ timing อาจจะไม่ได้ เป็นไปได้ไหมที่ถ้าเราพยายามหนักกว่านี้มันจะสามารถก้าวข้ามปัจจัยภายนอกต่างๆไปได้

#siamstr #discussion

ผมเชื่ิอว่าเราจะเจอที่ๆเหมาะกับเราครับ

ตอนผมจบใหม่ๆก็พยายามสมัครหางานทำอยู่ปี1 2ปี เข้าๆออกที่ๆอยากไปที่ๆหมายตาไว้มักจะไม่ค่อยสมหวังแต่พอเราเลิกหวัง สิ่งๆนั้นมันดันวิ่งเข้ามาหาเราเอง อ.เบียร์ คนตื่นธรรมส่วนหนึ่งแกก็พูดถูกครับ แต่ไม่ใช่ทั้งหมดชีวิตคนเราบางที่มันก็กำหนดอะไรไม่ได้ 100% การยึดมั่นถือมั่นมากเกินไปพอสิ่งนั้นไม่เป็นอย่างที่หวังมีแต่ซ้ำให้เกิดความทุกข์ แต่ถ้าเราปล่อยวางบ้างไม่ตึงเกินไปทำความเข้าใจกับสิ่งที่อยู่ตรงหน้าและยอมรับว่ามันก็คงจะได้แค่นี้จริงๆเพราะเราทำเต็มที่ไปแล้ว แบกรับความทุกข์ไว้แล้วเดินหน้าต่อไปผมเชื่อว่ามันจะมีจังหวะของเราครับ ถึงพุทธะจะไม่เชื่อเรื่องดวงแต่จริงๆ ปัจจัยภายนอกมันก็ยังมีผลต่อเราครับและจริงๆมันไม่ได้ขัดกับแนวคิดของพุทธะด้วย ยกตัวอย่างเช่น อยู่ๆวันหนึ่งดวงอาทิตย์ดับไปแบบนี้ลองคิดดูว่ามันมีผลต่อโลกแค่ไหน หรือวันดีคืนดีมีดาวอะไรไม่รู้มาพุ่งชนใส่โลกเรางี้ ยังไงมันก็ส่งผลครับ แต่แนวคิดของพุทธะสำหรับผมมันคือการใช้สติปัญญาดิ้นรนหาทางแก้ปัญหาที่อยู่ตรงหน้าครับและมันยังช่วยให้ชีวิตมีเป้าหมายและความหมายด้วยไม่ว่าสิ่งที่เราทำนั้นมันจะสำเร็จหรือไม่แต่มันก็มีความหมายสำหรับครั้งหนึ่งในชีวิตที่เราเกิดมาเป็นมนุษย์ละครับต่อให้จะล้มเหลวมันก็ยังมีความหมาย และถ้าสำเร็จมันยิ่งดีเลยครับอย่างน้อยเรามีบทเรียนหรือผ่านบทเรียนนั้นแล้วนำมันไปบอกเล่าหรือสอนผู้อื่นต่อได้มันก็คล้ายๆเวลาเราผ่านอะไรมาก่อนพอเจอคนที่ประสบเหตุการณ์แบบเราแล้วเขามีความทุกข์พอเราไปเห็นเราก็รู้ทันทีว่าเขากำลังทุกข์เรื่องอะไรเพราะเราเจอและผ่านมันมาแล้ว แล้วเราก็แนะนำได้ว่าควรทำยังไงผมว่าตอนที่พุทธะสอนคนน่าจะอารมณ์นี้มากกว่าเพราะเป้าหมายในชีวิตของแกคือ การพ้นทุกข์ เพราะแกออกมานอกกำแพงวังแล้ว ไปเห็นสัจจะธรรมหรือความจริงเข้า ว่าเรา ต้องเกิด ต้องเจ็บ ต้องแก่ และตาย ผมว่านี่แหละคือจุดเริ่มต้นว่าทำไมแกจึงเลือกใช้สติปัญญาดิ้นรน ถ้าเกิดว่าแก่เลือกอีกทางล่ะ แกเลือกที่จะไม่ทำอะไรเลย เป็น สิทธะมีชีวิตอยู่กับลูกกับเมียไปจนแก่จนเฒ่าไม่ต้องดิ้นรนอะไรแบบนั้นคงจะมีความสุขกว่าในฐานะคนมียศถาบรรดศักดิ์ทั่วๆไป แต่ความเป็นจริงคือแกไม่เลือกทางนั้นอะครับ แกเลือกเส้นทางที่ต้องใช้สติปัญญาดิ้นรนหาทางดับทุกข์ จึงเกิดเป็นพุทธะและโลกเราจึงมีศาสนาพุทธมาจนทุกวันนี้ ดังนั้นในชีวิตเราผมมองว่า เราเลือกแบบไหนก็ได้ครับไม่จำเป็นต้องดิ้นรนแบบพุทธะเสมอไป เราควรเลือกตามความพอใจของเราครับ เลือกทางที่เราสะดวกและไม่ตึงเกินไปผมว่ามันมีความทุกข์น้อยกว่า ถ้าผมเจอพุทธะคำแรกที่ผมจะถามแก ผมจะถามว่าตลอดชีวิตที่แกตัดสิ้นใจบวชจนนิพานแกมีความสุขไหม? ผมว่าน่าถามนะครับอยากรู้เหมือนกันว่าแกจะตอบยังไง

น่าจะ God form หรืออะไรสักอย่าง

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

ใช่ครับ เพราะถ้าเชาไปเข้าใจผิดไปมันจะกลายเป็นว่าโหยหาอิสระภาพจนสุดโตง โดยยอมทำทุกอย่างเพื่อให้ได้มันมาผ่านความรุงแรง แบบฝ่ายซ้ายทำในอดีตอะครับ

ผมก็จำไม่ได้จำสลับกันบ่อย 2 คนนี้ 555

เช้ามาไถ่หน้าฟีด fb

เจอแต่คนโดนล้างพอต 555+

คงใกล้ได้เวลากลับเข้าไปหาอะไรกินในตลาดแล้ว ช่วงเวลากลับเข้าตลาดที่ดีที่สุดคือช่วงเวลาที่คนส่วนใหญ่โดนล้างนี่แหละ

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