Skip to content

528: รีวิวติดตั้ง Lightning Node ใช้งานที่บ้าน (Umbrel)

Lightning Network เป็น L2 บน Bitcoin Blockchain ที่ออกแบบมาให้ส่ง btc ได้ไวและถูกมากๆ เพื่อแก้ปัญหาความช้าของ Bitcoin Blockchain (on-chain)

LN ไม่ใช่ Blockchain มันเป็น Network ของ LN nodes จำนวนมาก ซึ่งที่จริงไม่ใช่ออกแบบมาให้แค่ส่ง btc ได้เท่านั้น แต่ใช้ส่งข้อมูลอะไรก็ได้ด้วย ความที่มันเป็นแค่การส่งข้อมูล มันจึงเร็วและมี Bandwidth ในการส่งเงินสูงมากกว่าระบบของ Paypal หรือ Visa เสียอีก

ธุรกรรมบน LN จะหักกลบกันเองไปเรื่อยๆ ก่อน เพื่อให้ทำงานได้เร็ว แล้วนานๆ ทีมันจึงจะเข้าไปบันทึกธุรกรรมใน Bitcoin Blockchain อีกที และการที่ตัวมันไม่ใช่ Blockchain มันจึงต้องพึ่งพา Full Bitcoin Node ในการทำงาน คนที่จะรัน LN node อยู่ที่บ้าน ก็ต้องรัน Full Bitcoin Node ไปด้วย โดย Full Bitcoin Node จะทำหน้าที่แค่ร่วม Approve Transaction ใน Bitcoin Blockchain เท่านั้น ไม่ได้ขุดเหรียญ ดังนั้นจึงไม่ได้รับค่าตอบแทนใดๆ (รันฟรี)

ส่วน LN Node จะมีรายได้เป็นค่าฟี เมื่อใดก็ตามที่มีคนส่งเงินแล้วใช้ Node ของเราเป็นทางผ่าน แต่ค่าฟีที่ได้ก็ต่ำมากๆ เช่นกัน ดังนั้น หากใครอยากจะติดตั้ง LN node ไว้เล่นที่บ้าน ก็อย่าคาดหวังว่าจะมีรายได้อะไรเป็นชิ้นเป็นอัน เป็นแค่ของเล่นสนุกๆ และได้มีส่วนร่วมในการพัฒนาเทคโนโลยีมากกว่า

LN node ที่ผมลองติดตั้งไว้ที่บ้านใช้ซอฟต์แวร์ชื่อ Umbrel มีข้อดีมากๆ คือสามารถทำงานบน Raspberry Pi 4 ได้ มันจึงกินไฟน้อยมากๆ คำนวณคร่าวๆ แล้วปีหนึ่งเสียค่าไฟไม่เกิน 150 บาท เงินลงทุนเริ่มต้นก็ต่ำมากเช่นกัน ผมลงทุนไปทั้งหมดไม่เกิน 1 หมื่นบาท ซึ่งถ้าใครหาของดีๆ น่าจะกดต้นทุนให้ต่ำกว่านั้นได้อีกมาก ผมก็เลยตัดสินใจอยากตั้ง LN Node ไว้ถาวรที่บ้านอยู่ ข้อดีอีกอย่างของ Umbrel คือสามารถลงโปรแกรมอย่างอื่นให้ทำงานไปพร้อมๆ กันได้ด้วย เช่น Media Server, Ad Block  เพราะฉะนั้น LN Node ของเราก็เลยมีประโยชน์อย่างอื่นไปด้วยเวลาทำงาน ถือว่าเพิ่มความคุ้มค่า

ประโยชน์ของการมี LN node เป็นของตัวเอง นอกจากมีรายได้เป็นค่าฟี (แต่น้อยมากๆๆๆ) แล้ว ยังช่วยเรื่อง Privacy เพราะเวลาเราจะส่ง btc ผ่าน LN wallet เราสามารถต่อตรงกับ LN node ของเราเองได้ ไม่ต้องไปต่อผ่าน LN node ของคนอื่น ทำให้สามารถพลางตัวตนของเราได้โดยสมบูรณ์

อุปกรณ์ที่ต้องมี

  • Raspberry Pi 4 8G RAM
  • 64GB SD Card
  • SSD External 1TB w USB3.0 Port
  • UPS

ผมเห็นมีคนลง Umbrel ใน RP4 ขนาด 4G RAM ก็ทำงานได้นะ แต่ใช้ 8GB ตามข้อกำหนดของ Umbrel ไปดีกว่า เรื่อง SSD ก็เหมือนกัน เร็วๆ นี้ Umbrel จะทำให้สามารถติดตั้งบน SSD 500GB ได้ ถ้าใครอยากประหยัด ก็อาจจะรอเวอร์ชั่นนั้นออกมาก่อน แต่เดี๋ยวนี้ SSD ก็ไม่ได้แพงมากแล้ว ใช้ 1TB ให้มีที่เหลือไว้เล่นอย่างอื่นด้วย ก็สบายใจดี ส่วน UPS ผมแนะนำว่าควรจะมี ขนาดเล็กสุดก็พอ เพราะ LN node ควรจะทำงานอยู่ตลอดเวลา ไม่ใช่ปิดๆ เปิดๆ

ผมลงทุนไปประมาณ 12140 บาท ซึ่งผมซื้อ RP4 แบบที่มีอุปกรณ์ทุกอย่างมาพร้อมเลย ทั้ง case และ SD Card ราคารวม 7250 บาท + SSD ราคา 3790 บาท + UPS 1100 บาท แต่มองว่าจริงๆ แล้ว ถ้าวางแผนช้อปดีๆ อาจจะลงทุนได้ต่ำกว่านี้เยอะ

ไปที่ getumbrel.com เลือก Build your umbrel server เลือก Raspberry Pi เพื่อดาวน์โหลด Umbrel OS มาลง Desktop ของคุณก่อน แล้วใช้ BelenarEtcher การทำแฟลช umbrel os ที่โหลดมาได้ลงใน 64GB SD Card ของเรา จากนั้นเอา SD Card ไปเสียบกับ RP4 ที่ต่อ Ethernet และเสียบ SSD ไว้แล้ว (ทางพอร์ต USB สีฟ้า) เปิดเครื่องขึ้นมาการติดตั้ง Umbrel ก็จะเกิดขึ้นโดยอัตโนมัติ ขั้นตอนทั้งหมดนี้มีอธิบายไว้อย่างละเอียดเป็นขั้นตอนใน getumbrel.com แนะนำว่าเวลา flash ให้เลือกเปิดช่องทาง ssh ไว้ ตั้ง password ให้ pi และเลือกให้ต่อผ่าน WiFi ที่อยู่ในตัวได้ด้วย เวลาใช้งานหลังจากนี้เราจะสามารถถอดสายแลนออก แล้วคุยกันผ่าน WiFi แทน คล่องตัวกว่า

ต้องขอบอกว่า การติดตั้ง Umbrel บน RP เป็นอะไรที่ง่ายมากๆ เมื่อเทียบกับโปรแกรมอย่างอื่นบน RP เป็นจุดที่ประทับใจจริงๆ

การใช้งาน Umbrel จะทำผ่านเบราเซอร์บน Desktop เมื่อติดตั้งเรียบร้อยแล้ว การ Sync Full Bitcoin Node (Bitcoin Core) จะเกิดขึ้น ซึ่งใช้เวลาประมาณ 3 วันเต็มๆ ช่วงนี้ CPU จะทำงานหนักมาก ทำให้ร้อน และพัดลมเสียงดัง ในช่วงนี้หามีความจำเป็นต้องปิดเครื่องก็ทำได้ โดยสั่ง shutdown ใน Umbrel Settings นะ ไม่ใช่ปิดไปเฉยๆ เลย เมื่อเปิดขึ้นมาใหม่จะทำการ sync ต่อโดยอัตโนมัติ

ใน Umbrel ที่ติดตั้งเสร็จแล้ว ณ เวอร์ชั่น ปัจจุบันจะมี Full Bitcoin Node ชื่อ Bitcoin core และ Lightning Node ชื่อ LND ติดตั้งไว้เลยโดยอัตโนมัติ ทั้งสองตัวจะมี Wallet ติดมาด้วยในตัว สามารถส่งเงินเข้าออกได้ โดย bitcoin core ส่งผ่าน on-chain ส่วน LND ส่งผ่าน Lightning

นอกจาก Bitcoin Core และ Lightning Node (LDN) แล้ว แนะนำให้ลง BlueWallet, Ride the Lightning, ThunderHub, Mempool ด้วย เพื่อให้สามารถ admin ได้อย่างง่ายดาย ถ้าใครอยากใช้เป็น Media Storage ในบ้านไปด้วย ก็ลง PhotoPrism หรือโปรแกรมอย่าง Home Assistance ก็ช่วยทำให้บ้านของเราเป็น smarthome

RP4 ค่อนข้างร้อน ต้องติด Heat Sink เสมอ มิฉะนั้นจะ overheat ได้ และเมื่อใส่ case ก็ควรมีพัดลม เพื่อให้ความร้อนระบายออกได้ทัน แต่ปัญหาของพัดลมก็คือ บางทีจะมีเสียงดัง น่ารำคาญ ในเบื้องต้นให้อัพเกรด firmware ของ RP4 ให้ทันสมัยที่สุดก่อน เพราะ firmware version ใหม่ๆ มีการแก้ปัญหาเสียงดัง แต่ถ้ายังดังอยู่ ให้เปลี่ยนจากการต่อพัดลมเข้ากับขา 5V ไปเป็น 3.3V แทน ซึ่งทำงานได้เหมือนกัน แต่ CPU อาจจะร้อนขึ้น 5 องศา ซึ่งถ้ายังไม่ถึง 80 องศา ก็ยังโอเคอยู่ (ในหน้าจอ Umbrel ตรง Settings สามารถตรวจได้ว่า CPU กี่องศาแล้ว)​ ปกติถ้าอุณหภูมิเกิน 80 ตัว CPU เองจะมีการลดความเร็วลงโดยอัตโนมัติ เพื่อช่วยลดอุณหภูมิ แต่ทำให้ทำงานช้าลง และถ้าปล่อยให้ร้อนนานๆ อายุการใช้งานจะลดลงด้วย ใน raspi-config เราสามารถตั้งให้พัดลมทำงานเฉพาะเมื่ออุณหภูมิสูงถึงค่าๆ หนึ่งเท่านั้นก็ได้ แต่ถ้ายังไม่สะใจ อยากให้เงียบจริงๆ ก็ควรใช้พวก Fanless Case ที่มีการระบายความร้อนที่ดีมาก

RP4 กินไฟอย่างมากก็ 5W ซึ่งน้อยมาก คิดเป็นค่าไฟแค่ไม่เกิน 150 บาทต่อปี ดังนั้น UPS ตัวเล็กที่สุด ก็น่าจะช่วยให้ทำงานต่อเนื่องได้หลายชั่วโมงเลย จึงแนะนำให้ติด UPS เพื่อให้ LN node ของเรามี uptime สูงๆ

เราสามารถใช้ command line คุยกับ  RP4 โดยตรงผ่าน LAN ได้ด้วยนะ โดยที่เราจะต้องใส่ file เปล่าๆ ชื่อ ssh ไว้ใน /boot เพื่อเปิดช่องทาง SSH เอาไว้ แล้วใช้ command prompt ทำการ ssh จาก Desktop ของเราเข้าไปผ่าน LAN มีประโยชน์ในการตั้งค่าพัดลม และอื่นๆ

การหา Node ที่จะเชื่อมต่อด้วย (open Channel) สามารถค้นหาได้จาก 1ML.com หรือ amboss.space เราควรเชื่อมต่อไว้อย่างน้อย 4-5 โหนด โดยมีอย่างน้อย 1-2 โหนดที่เป็นโหนดขนาดใหญ่ๆ มีคนเชื่อมต่อด้วยเยอะและมี uptime สูงๆ เช่น WalletofSatoshi หรือ ACINQ เป็นต้น และที่เหลือก็อาจเป็นโหนดของคนที่เรารู้จักดี หรือธุรกิจที่เรามีการโอนเงินไปหาเขาบ่อยๆ เพื่อจะช่วยประหยัดค่าโอนได้ เนื่องจากถ้าเป็นโหนดที่ต่อกันโดยตรงโดยไม่ต้องพึ่งพาโหนดอื่นเลย จะไม่มีค่าโอน

หรือถ้าใครอยากเชื่อมต่อโหนดกับผมก็ยินดีครับ

เวลา open channel จะต้องใช้ bitcoin วาง แนะนำว่าควรใช้ 500,000 – 1,000,000 sats ต่อ channel ถ้าต่ำกว่านี้จะมีปัญหาเวลา rebalance โหนด แต่ถ้าสูงกว่านี้ก็กลัวเงินหาย เงินจำนวนนี้จะดูดออกจาก bitcoin core ของเรา ไม่ใช่ใน LND และเราจะได้คืน (หักฟี) เมื่อเรา close channel ดังนั้น ถ้าวางแผนจะเปิดสัก 4-5 channel ก็ควรมีเงิน 2.5-5M sats ในกระเป๋า bitcoin core ซึ่งสามารถโอนมาจาก Exchange อะไรก็ได้ที่คุณเปิดบัญชีอยู่

การ open channel ใช้เวลานาน และล่มบ่อย ด้วยเหตุผลสารพัด ดังนั้นเมื่อเปิดไปแล้ว ก็ควรจะรอ บางทีก็เป็นวัน สามารถเข้าไปดูสถานะได้ใน RTL โดยถ้าเปิดไว้แล้วจะขึ้นว่า initiated ซึ่งก็จะไม่รู้ว่าจะสำเร็จหรือไม่ จนกว่าจะกลายเป็น successful หรือ failed ซึ่งในกรณีหลังจะได้ค่าฟีคืน ถ้าทำแล้วไม่สำเร็จสักที ก็ต้องหาโหนดใหม่ เลือกโหนดที่ใหญ่หน่อย แต่โหนดที่ใหญ่ๆ ก็อาจมีค่าเปิดโหนดขั้นต่ำ ทำให้เราเชื่อมต่อไม่ได้ ถ้าไม่อยากวางเงินเยอะเช่นกัน กระบวนการนี้เป็นอะไรที่ต้องอดทนรอคอย ถ้าทำยังไงก็ไม่รอดสักที หาโหนดดีๆ ต่อด้วยไม่ได้ ก็อาจใช้บริการซื้อขายโหนดใน Magma ก็ได้

เมื่อเปิดช่องได้แล้ว จะส่งเงินออกทางช่องนั้นได้ แต่รับเงินเข้ามาไม่ได้ เพราะเงินที่เราวางไปจะใช้ส่งออกได้อย่างเดียว ต้องทำการ Rebalance หรือ Loop out ก่อน เพื่อให้เงินที่เราวางส่วนหนึ่งกลายเป็นส่วนที่ใช้สำรองขาเข้า ซึ่งโดยมากก็จะ Loop out ออกไปสัก 50% จะได้ส่งเข้าและออกได้เท่าๆ กัน และพอมีการโอนเข้าออกไปมาบ่อยๆ ก็ต้องมีการ Rebalance ใหม่ เพื่อให้ส่งเข้าและออกได้พอๆ กันอีก

การ Loop out เป็นการส่งเงินออกไป แล้วจะได้กลับมาทาง bitcoin core ของเรา ส่วนการ Rebalance คือการส่งเงินออกไปแล้วไปเข้าโหนดอื่นแทน ใช้ได้ทั้งสองวิธี โดยทำผ่านหน้าจอของ RTL หรือ Thunderhub ก็ได้ ซึ่งก็ใช้เวลานาน และก็ล่มบ่อยเช่นกัน ถ้าล่มก็ต้องทำใหม่ หรือไม่ก็เปลี่ยนโหนดไปเลย

อีกวิธีที่จะ Rebalance ทางอ้อมได้คือการส่งเงินออกจาก LND wallet ไปยังกระเป๋าอะไรก็ได้ข้างนอก แต่วิธีนี้จะเลือกไม่ได้ว่าจะ Rebalance ให้กับช่องไหน เหมือนระบบจะเลือกให้เอง

ในเน็ตมีคนแนะนำไว้เยอะมากว่าจะต้องต่อโหนดแบบไหน Rebalance ยังไง ตั้งค่าฟีเท่าไร เพื่อให้โหนดของเราทำรายได้ให้เรามากที่สุด แต่ส่วนตัวคิดว่า ต่อให้ทำได้จริงก็ไม่คุ้มค่าเสียเวลา optimize ระบบ ฉะนั้นเลิกคิดไปเลยดีกว่า ว่าจะเอากำไรจาก LN node ส่วนตัว มีไว้เพื่อการศึกษา และมีส่วนร่วมในการสร้าง community ของคนใช้ bitcoin และเพื่อเพิ่ม privacy ก็พอ

เมื่อเปิดช่องทั้งหมดเรียบร้อยแล้ว เราสามารถส่งเงินรับเงินได้โดยใช้ LND ใน Umbrel หรือจะใช้ Lightning Wallet ในมือถือของเราต่อเข้ากับ LN node ของเรา แล้วรับส่งเงินก็ได้ สะดวกเวลาอยู่นอกบ้าน โดยสามารถเข้าไปดูวิธีต่อ Wallet ยี่ห้อต่างๆ ได้ในหน้าจอ Umbrel เลือก Connect Wallet

Lightning ออกแบบมาให้ส่งเงินน้อยๆ เช่น จ่ายค่ากาแฟ เท่านั้น ดังนั้นจึงไม่ควรมีเงินเหลือใน Lightning Wallet เยอะๆ เพราะนอกจากจะไม่ปลอดภัยแล้ว ยังมีโอกาสสูงที่จะทำให้ส่งได้ช้า หรือส่งไม่ผ่านด้วย เพราะ Lightning อาจหา route ที่จะส่งเงินทั้งหมดไปไม่ได้ โดยเฉพาะอย่างยิ่งถ้าเราเชื่อม Wallet ผ่านโหนดที่บ้านเราเอง อย่างไรก็ตาม ถ้าพบว่าส่งไม่ผ่านอาจเห็นสถานะเป็น Payment in Transit ก็ให้รอนานๆ เดี๋ยวเงินจะกลับมาเอง ไม่ต้องตื่นตระหนก

ผมมองว่า bitcoin ส่วนใหญ่ของเราควรเก็บไว้ใน cold wallet อีกส่วนเก็บไว้ใน Exchange บ้าง ถ้าชอบเทรด และเงินส่วนน้อยๆ เหมือนเศษเงิน ก็ควรอยู่ใน Lightning Wallet ไว้ซื้อกาแฟ คิดว่าไม่ควรเกิน 1,000 บาท จากการทดลองใช้งานจริง ถ้าส่งเงินน้อยๆ เช่น 200 บาท จะโอนได้ไวแทนจะทันที และเสียค่าฟีไม่เกิน 0.3% เท่านั้น แต่ถ้าส่งเงินเยอะ เช่น 10000 บาทขึ้นไป อาจจะนานขึ้น เช่น 5-10 วินาที หรือไม่ก็นานมาก แล้วก็พบว่าไม่สำเร็จ แต่ได้เงินคืนมาพร้อมค่าฟีคืน คิดว่าน่าจะเกี่ยวกับการใช้โหนดส่วนตัว ถ้าเป็นการใช้งานทั่วไป โดยต่อผ่านโหนดของเจ้าของ Wallet น่าจะมีเสถียรภาพที่ดีกว่านี้

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

Leave a Reply

Your email address will not be published. Required fields are marked *