จากบทความ “พื้นฐาน Bitcoin Node และการประยุกต์ใช้ (ตอนที่ 1)” เราคงพอเข้าใจหลักการและความสำคัญของบิตคอยน์โหนดกันแล้ว แต่ถ้าเราอยากขยับไปรันโหนดขั้นสูงกว่านั้นล่ะ? หากว่าเราอยากมี Bitcoin Full Node พร้อมซอฟต์แวร์อื่น ๆ ที่ทำงานร่วมกันเป็นของตัวเองและใช้งานมันบนคอมพิวเตอร์ที่เราใช้ในชีวิตประจำวันล่ะ? หรือหากว่าเราพอมีทุนทรัพย์จัดหา Mini PC หรือ Raspberry PI พร้อม SSD แรง ๆ สักชุดล่ะ?
บทความนี้จะพาท่านเข้าสู่โลกของการรันโหนดแบบมืออาชีพ โดยใช้ซอฟต์แวร์ที่ติดตั้งง่ายแสนง่ายและมีความปลอดภัยสูงมาก ๆ ที่มีชื่อว่า “StartOS”
สารบัญบทความ
มารู้จัก StartOS กันก่อนดีไหม?
ภาพจาก https://start9.com
StartOS เป็นหนึ่งในระบบปฏิบัติการเช่นเดียวกับ Windows หรือ macOS ซึ่งออกแบบโดยใช้พื้นฐาน Debian Linux เพื่อใช้ทำเป็น Personal Server ที่มีประสิทธิภาพสำหรับใช้งานส่วนบุคคล การติดตั้งระบบ StartOS นั้นสามารถกระทำได้ง่าย ๆ ในลักษณะของ Web-based Browser รวมทั้งซอฟต์แวร์ต่าง ๆ ที่มีพร้อมให้ใช้งานล้วนแต่เป็นซอฟต์แวร์แบบ Open-source ซึ่งเปิดเผยโครงสร้างและรายละเอียด อีกทั้งยังมีความปลอดภัยเพียงพอสำหรับการใช้งาน
ภาพ Cloud computing จาก https://start9.com
เมื่อเราพูดถึงระบบ “Cloud” โดยทั่วไปอาจจะหมายถึงผู้ให้บริการต่าง ๆ ที่ทำงานอยู่ที่อื่น (เปรียบเปรยว่าอยู่อีกซีกโลกหนึ่ง) ซึ่งเราต้องจ่ายเงินเพื่ออนุญาตเข้าใช้บริการ อีกทั้งเรายังไม่สามารถที่จะควบคุมข้อมูลหรือมีข้อจำกัดต่าง ๆ มากมาย ไม่ว่าจะเป็นการโดนจำกัดสิทธิ์บางอย่างจากผู้ให้บริการ (Censorship) การโดนโจมตีโดยผู้ไม่ประสงค์ดี (Hacks) หรือมีโอกาสสูญเสียความเป็นส่วนตัว (Less Privacy) ทั้งนี้เนื่องจากว่าเราต้องฝากข้อมูลไว้กับผู้ให้บริการ ซึ่งผู้ใช้บริการต้องแบกรับความเสี่ยงเหล่านั้นด้วยตนเอง
แต่ถ้าเราทำระบบ Personal Server ของเราขึ้นมาเองได้ล่ะ?
เราก็จะสามารถควบคุมหรือเก็บรักษาข้อมูลทุกสิ่งทุกอย่างของเราได้โดยไม่ต้องพึ่งพาบุคคลอื่น ในระบบที่เราเป็นผู้มีอำนาจสูงสุดนั้นจะช่วยเพิ่มความเป็นส่วนตัว (More Privacy) ลดโอกาสการโดนปิดกั้น (Censorship Resistance) และลดโอกาสการโดนโจมตีจากบุคคลอื่น (Practically Hacks Disappear) ซึ่งนั่นหมายถึงการเป็นผู้ควบคุมแบบเบ็ดเสร็จ และมีอิสรภาพโดยแท้จริง
ภาพ Sovereign computing จาก https://start9.com
ระบบปฏิบัติการ StartOS ช่วยให้เราสามารถนำทุกสิ่งที่ปกติแล้วต้องทำผ่าน Closed-source ซอฟต์แวร์และตัวกลางบนระบบ Cloud computing ที่มีราคาแพงมาใช้งานได้อย่างมีประสิทธิภาพเช่นเดียวกันในแบบ Open-source ซอฟต์แวร์ และแน่นอนว่าที่สำคัญกว่านั้นคือ เราจะได้ “ความเป็นส่วนตัว” ซึ่งมิอาจประเมินเป็นมูลค่าได้
ภาพจาก https://start9.com
โดยเฉพาะ “ความเป็นส่วนตัว” ในกลุ่มซอฟต์แวร์สำหรับการสร้างระบบธนาคาร “Be Your Own Bank” แน่นอนว่า StartOS มีให้เราเลือกใช้งานอย่างครบถ้วนไม่ว่าจะเป็น Bitcoin Core, Lightning Node รวมถึงซอฟต์แวร์อื่น ๆ ที่จำเป็นต้องใช้งานร่วมด้วย เพื่อให้เราสามารถควบคุมธนาคารของเราเองได้โดยสมบูรณ์แบบ และไม่มีใครที่จะสามารถมาหยุดยั้งการใช้งานบิตคอยน์ของเราได้ นอกจากมีเหตุการณ์ที่ทำให้เกิดวันสิ้นโลก ฟ้าถล่มแผ่นดินทลาย หรือโดนผู้มีอำนาจตัดสัญญาณอินเทอร์เน็ต “ทั้งโลก” !
ภาพจาก https://start9.com
แนวทางในการติดตั้ง StartOS
สำหรับท่านที่ Stack sat ในระดับที่พอใจแล้ว แต่กำลังมองหาความมั่นคงในการสร้างระบบธนาคารบิตคอยน์เป็นของตัวเองแบบง่าย ๆ สไตล์ใช้เงินแก้ปัญหานั้น สามารถไปเลือกชอปปิ้งที่ Start9 Server ได้เลยครับ โดยตัวที่คุ้มค่าที่สุดเห็นจะเป็นเจ้า “Server One (2TB)” ที่มีราคาค่าตัวประมาณ 0.02 Bitcoin (อ้างอิงราคา ณ เดือนตุลาคม 2023)
แต่ถ้าท่านผู้อ่านอยากจะเก็บ 0.02 btc นั้นไว้ดังเดิมเพื่ออิสรภาพของชีวิตในอนาคต เห็นควรให้ทำตามคำแนะนำจาก START9 DOCS | DIY นั่นคือผู้ใช้งานสามารถติดตั้งระบบ StartOS ได้ 2 แบบ ดังนี้ครับ
- ติดตั้งโดยวิธีการ Flashing ลงบน Raspberry Pi ซึ่งหากท่านผู้อ่านที่เคยรันโหนดบน Umbrel โดยใช้ Raspberry Pi มาก่อนแล้วก็จะมีความเข้าใจและสามารถทำได้ทันทีเนื่องจากมีอุปกรณ์พร้อมเรียบร้อย แต่หากท่านยังไม่มีอุปกรณ์ก็มีความจำเป็นอย่างยิ่งที่ต้องจัดหา Raspberry Pi 4 ที่มีแรมอย่างน้อย 8GB, Power Supply และ MicroSD Card แบบ High Endurance มีความจุอย่างน้อย 64GB พร้อมทั้ง SSD ขนาดไม่ต่ำกว่า 1 TB
- ติดตั้งบน x86_64 Platforms หรือคอมพิวเตอร์ส่วนบุคคล (Personal Computer: PC), Labtop, Mini PCs, Servers รวมถึง Virtual Machines ทั้งนี้คอมพิวเตอร์จำเป็นต้องมี Spec ไม่ต่ำกว่า Minimum หรือ Recommended OS Requirements และในบทความนี้จะสาธิตการติดตั้ง StartOS บน Virtual Machines โดยใช้เครื่องคอมพิวเตอร์สำนักงานที่เราใช้ในชีวิตประจำวันครับ
ก่อนอื่นเรามาทำความรู้จักกับ Virtual Machine กันครับ
ถ้าให้ท่านผู้อ่านลองตั้งคำถามกับตัวเองเล่น ๆ ว่าหากเรามีเครื่องคอมพิวเตอร์เพียงเครื่องเดียว แต่เรามีความจำเป็นต้องใช้งานระบบปฏิบัติการ Windows พร้อมกับระบบปฏิบัติการ Linux เราจะสามารถทำวิธีใดได้บ้างนะ?
ภาพจาก https://www.ufsexplorer.com
ถูกต้องครับ! วิธีการแก้ปัญหาดังกล่าว คือ ใช้สิ่งที่มีชื่อเรียกว่า “Virtual Machine” ซึ่งก็คือซอฟต์แวร์ประเภทหนึ่งที่สามารถจำลองเครื่องคอมพิวเตอร์ขึ้นมาได้มากกว่า 1 เครื่อง โดยการขอแบ่งการใช้ทรัพยากรต่าง ๆ จาก Physical Hardware ของเครื่องคอมพิวเตอร์เครื่องหลัก ไม่ว่าจะเป็นหน่วยประมวลผล (CPU), หน่วยความจำหลัก (RAM), พื้นที่ Harddisk หรือแม้กระทั่งการเชื่อมต่อกับระบบเครือข่าย (Ethernet/WIFI) และเราเรียกคอมพิวเตอร์ที่ติดตั้งซอฟต์แวร์ดังกล่าวว่า “Host”
สำหรับซอฟต์แวร์ที่สามารถจำลองเครื่องคอมพิวเตอร์ได้นั้นมีด้วยกันมากมายหลากหลายผู้ผลิต เช่น VMware, Microsoft Hyper-V, Oracle VM VirtualBox, Parallels Desktop, QEMU และ Xen ซึ่งแต่ละเจ้าล้วนมีความสามารถและประสิทธิภาพแตกต่างกันไป โดยในบทความนี้ได้เลือกใช้ “Oracle VM VirtualBox” เนื่องจากมีประสิทธิภาพเพียงพอต่อการทำงานของระบบ StartOS และที่สำคัญคือเป็น Open-source ซอฟต์แวร์ที่สามารถนำมาใช้งานได้ฟรีได้อย่างปลอดภัยอีกด้วย
เทียบกับข้อดีและข้อเสียของการใช้งาน Raspberry Pi และ VM (Virtual Machine) ในการรันโหนด
หากมีท่านผู้อ่านที่กำลังสงสัยว่า “ทำไมถึงต้องใช้งาน StartOS ผ่าน VM กันนะ? ทำไมถึงไม่ใช้ Raspberry Pi เหมือนที่เคยได้ยินมา? แล้วรันโหนดมันไม่จำเป็นต้องเปิดเครื่องทิ้งไว้ 24 ชั่วโมงเหรอ?” ในบทความนี้ผมขอไม่ตอบว่าวิธีไหนเหมาะสมกว่ากัน แต่จะขอกล่าวถึงข้อดีและข้อเสียของแต่ละระบบ แล้วให้ท่านผู้อ่านได้ตัดสินใจด้วยตนเองว่าแบบไหนจึงจะเหมาะสมกับเราครับ
ข้อดีของการใช้ Raspberry Pi รันโหนด
- สะดวกในการทำงานแบบ 24/7 หรือการรันโหนดตลอดเวลา
- สามารถใช้งาน Bitcoin Lightning ได้ทั้ง Routing Node และ Private Node
- ประยุกต์ใช้งานในลักษณะของ Personal Server ในการทำระบบ File Sharing หรือ Home Assistant ได้
ข้อเสียของการใช้ Raspberry Pi รันโหนด
- ต้องใช้งบประมาณเพิ่มเติมในการจัดหาอุปกรณ์ใหม่
- ใช้ทักษะความสามารถด้านคอมพิวเตอร์ในระดับสูงขึ้น โดยเฉพาะการแก้ปัญหาเชิงเทคนิคอลในกรณีที่พบปัญหาขณะใช้งาน
ข้อดีของการใช้ VM (Virtual Machine) รันโหนด
- เหมาะสำหรับบุคคลที่มีหรือต้องใช้เครื่องคอมพิวเตอร์เป็นปกติในชีวิตประจำวันอยู่แล้ว เราจึงไม่มีความจำเป็นต้องหาอุปกรณ์ใหม่นอกเหนือจากอุปกรณ์สำหรับบันทึกข้อมูลที่มีพื้นที่เหมาะสม (“SSD” หรือ Solid State Drive ที่มีความจุอย่างน้อย 300 GB สำหรับ Prune Node และอย่างน้อย 1 TB สำหรับ Full Node)
- หากเครื่องคอมพิวเตอร์ที่เป็น Host มีปัญหาหรือมีความจำเป็นต้องย้ายข้อมูล VM ไปยังเครื่องคอมพิวเตอร์เครื่องใหม่ เราสามารถถอดอุปกรณ์เก็บข้อมูล หรือย้ายไฟล์ Virtual Machine files (.VBOX) และ Virtual Disk Image files (.VDI) ไปยังคอมพิวเตอร์ Host เครื่องใหม่ และสามารถ Import เข้าโปรแกรม Oracle VM VirtualBox จากนั้นระบบพร้อมทำงานต่อได้ทันทีโดยไม่ต้องเริ่มต้นติดตั้งใหม่
- สามารถรันโหนดเฉพาะช่วงเวลาที่เราใช้งานคอมพิวเตอร์ และปิดระบบในช่วงเวลาที่เราปิดคอมพิวเตอร์ได้ โดยไม่มีปัญหาใด ๆ ตามมา ทั้งนี้ระบบจะทำการ Syncing blockchain ทันทีที่เราเริ่มต้นระบบ StartOS รวมทั้งการเปิด Lightning Private Channel ก็ไม่มีความจำเป็นต้องเปิดระบบ 24 ชั่วโมงเช่นกัน
ข้อเสียของการใช้ VM (Virtual Machine) รันโหนด
- ต้องใช้เครื่องคอมพิวเตอร์ที่มีความแรงพอสมควร เนื่องจากต้องประมวลผล VM ไปพร้อมกับการใช้งานปกติ
- หากใช้รันโหนดอย่างเดียวจะสิ้นเปลืองพลังงานมากกว่าการใช้ Raspberry Pi รันโหนด
ทั้งนี้ต้องให้ท่านผู้อ่านตัดสินใจเองว่าจะเลือกรันโหนดแบบใด เนื่องจากแต่ละแบบล้วนมีข้อดีและข้อเสียรวมถึงงบประมาณที่ใช้ มีความเหมาะสมกับแต่ละคนไม่เหมือนกันครับ
Minimum Requirement!
ถ้าท่านผู้อ่านได้เลื่อนมาถึงหัวข้อนี้ ขอแสดงความยินดีด้วยครับ! ท่านได้เปิดใจสำหรับการเริ่มต้นก้าวข้าม “กำแพง” เพื่อไปสู่โลกของการ “Be Your Own Bank” ขั้นสูงเรียบร้อยแล้ว ต่อไปนี้จะเป็นคำแนะนำในการค้นหาแนวทางการรันโหนดที่เหมาะสมกับตัวท่านเอง (เขียนตามประสบการณ์ของผู้เขียน) โดยเฉพาะเพื่อให้เห็นภาพความแตกต่างระหว่าง “การใช้งาน Raspberry Pi” และ “VM (Virtual Machine) ในการรันโหนด” หรือการรันเพียงแค่ Bitcoin Core บนระบบปฏิบัติการ Windows ก็เพียงพอแล้ว ซึ่งเชื่อว่าท่านผู้อ่านทุกท่านล้วนมีพื้นฐานความรู้เกี่ยวกับคอมพิวเตอร์ที่ไม่เท่ากัน แต่นั่นมิใช่ประเด็น ถ้าใจเราอยากทำ อะไร ๆ ก็สำเร็จหมดครับ ^^ อยากให้ลองอ่านรายละเอียดในแต่ละข้อแล้วเปรียบเทียบกับความรู้สึกว่าตัวท่านตรงกับข้อไหนมากที่สุด จะได้ทราบถึงจุดแข็งและจุดอ่อนของการรันโหนดแต่ละแบบครับ
1. เป็นคนที่ไม่เก่งคอมพิวเตอร์เลย ปกติเวลาใช้คอมพิวเตอร์รู้จักแต่โปรแกรม Microsoft Word หรือใช้เป็นแต่ Google Chrome เข้าฟัง Youtube ช่อง Rightshift เป็นประจำ (ก่อนหน้านี้ก็จะเป็นช่อง CDC – ChalokeDotCom) และสั่ง Shutdown คอมพิวเตอร์เป็นเท่านั้น แต่! คอมเรา Spec แรงนะ ตอนไปซื้อบอกว่าเอาคอมแรง ๆ คนขายเลยเชียร์รุ่นนี้ ใช้ CPU Quad-core, RAM 32 gigabyte, SSD แรงมาก เป็น M.2 พื้นที่ว่างอย่างเยอะ เพราะลงโปรแกรมอื่นไม่เป็น
- จุดอ่อน : ต้องค่อย ๆ ทำตามบทความนี้ Step-by-step ครับ หากเจอปัญหาระหว่างทำ ให้ตามไปสนทนากันได้ที่ห้อง Node-Runner-Talk Discord : Local Bitcoin Thailand แล้วปัญหาทุกอย่างจะคลี่คลาย ไม่ต้องกังวลครับ
- จุดแข็ง : Hardware แรง พร้อมสำหรับการรันโหนดขั้นเทพ แต่ถ้าคอมไม่แรงเท่านี้ อย่างน้อยขอให้เป็นฮาร์ดดิสก์แบบ Solid-state Drive พื้นที่ว่างสัก 300-1000 Gigabyte มาพร้อมกับ RAM 8 Gigabyte
2. มีพื้นฐานคอมพิวเตอร์พอสมควร รู้จักคำสั่งใน Command Line บ้าง เครื่องแฮงก์/ติดไวรัสแล้วสามารถ Format ลง Windows ใหม่เองได้โดยไม่ต้องยกคอมไปให้ช่างแถวบ้าน และสามารถสั่ง SSD มาเปลี่ยนคอมพิวเตอร์ตัวเองได้สบาย ๆ
- จุดอ่อน : บทความนี้ต้องใช้ Linux หรือ Unix base แต่ไม่ใช่ปัญหา พื้นฐานดี เรียนรู้ได้ ไม่ใช่เรื่องยาก
- จุดแข็ง : ความสามารถ Format เครื่องลง Windows ใหม่ได้ สามารถทำ StartOS Private Node ที่บ้านได้เลย พร้อมกับตั้งค่า DDNS (Dynamic Domain Name System) เพื่อเข้าถึงโหนดได้จากนอกบ้าน
3. ปกติแล้วทำงานเป็น จนท.ไอทีขององค์กร หรือเวลาคอมพิวเตอร์ของเพื่อนร่วมงานเข้าอินเทอร์เน็ตไม่ได้ เราจะถูกเพื่อนท่านนั้นโทรเรียกเสมอ และยังสามารถประกอบ Personal Computer เองได้สบาย ๆ
- จุดอ่อน : อาจจะยังไม่ได้เข้ากลุ่ม Discord : Local Bitcoin Thailand
- จุดแข็ง : สามารถเลือกทำ DIY Server จาก Raspberry Pi เพื่อติดตั้ง StartOS แบบ Stand-Alone เป็น Personal Server ที่บ้านได้เลย
4. นอกเหนือจากกลุ่มที่กล่าวไปข้างต้น คือ เป็นผู้ที่ไม่เก่งคอมพิวเตอร์เลย และทำงานกับคอมพิวเตอร์เป็นประจำทุกวัน หรือมีไว้ใช้งานส่วนตัวด้วยเครื่องเดิมตลอด และก็เป็นระดับ Office User ทั่ว ๆ ไป ไม่ได้เร็วแรงอะไรเลย
- จุดอ่อน : เหมาะกับรัน Bitcoin Core บน Windows ง่าย ๆ และตั้งค่าแบบ Pruned Block Node เพื่อประหยัดพื้นที่
- จุดแข็ง : มีคอมพิวเตอร์ส่วนตัวอยู่แล้ว จัดหา SSD มาติดเครื่องเพิ่มสัก 2 TB จากนั้นทำตามบทความนี้ได้เลย
จริง ๆ แล้วอาจจะมีมากกว่านี้ แต่ขอแบ่งกลุ่มหลัก ๆ ไว้ 4 กลุ่ม ประมาณนี้ครับ ขอให้ท่านผู้อ่านจับความรู้สึกตนเองให้ได้ว่าเอนเอียงไปทางกลุ่มไหนมากที่สุด นอกจากนี้ยังมีความจริงเกี่ยวกับการรันโหนดอีกสัก 2-3 ข้อ ที่ผู้อ่านต้องเตรียมตัวเตรียมใจไว้ก่อน จะได้ไม่ล้มเลิกกลางทางนะครับ ไปลองอ่านกันเลย
- การรันบิตคอยน์โหนดไม่ได้เงินหรือบิตคอยน์เป็นค่าตอบแทนนะครับ (นอกจากจะขยับไปเป็นระดับ Expert และรัน Lightning Routing Node เหมือนพี่เดชา) แต่เราจะได้มาซึ่งความเป็นส่วนตัว (Privacy) ความปลอดภัย (Security) และไม่มีตัวกลางใด ๆ (Third-party) ที่จะมาขัดขวางการใช้งานบิตคอยน์ของเราได้
- แนะนำให้ใช้ฮาร์ดดิสก์แบบ Solid-state Drive (SSD) เท่านั้น (ถ้าเป็น Interface M.2 แบบ PCI-Express ได้ยิ่งดี) และมีความจุอย่างน้อย 1 TB (หรือ 2 TB สำหรับเก็บ Archival Bitcoin Blockchain database ยาว ๆ ในช่วงเวลา 5-10 ปีต่อจากนี้) แต่ถ้ามีน้อยกว่านั้นล่ะ? สามารถรันได้เช่นเดิมในแบบที่เรียกว่า Bitcoin Core Pruning Node หรือเก็บเฉพาะ Blockchain Database ล่าสุดไม่เกินขนาดที่เราตั้งค่าไว้ เพียงแต่ว่าจะไม่สามารถใช้งานร่วมกับ Electrum Rust Server ได้ ต้องเชื่อมต่อ RPCs ผ่าน Tor Network กับ Bitcoin Core โดยตรง แต่ยังคงรักษาความเป็นส่วนตัวและความปลอดภัยได้เช่นเดิม ไม่ต้องกังวลครับ
- ทุกอย่างล้วนมีต้นทุน การรันโหนดบิตคอยน์ก็เช่นเดียวกัน ต้นทุนคือต้องจัดหาอุปกรณ์คอมพิวเตอร์ที่มี Spec สูงพอสมควรตามที่ได้กล่าวไปข้างต้น หรือถ้าจะใช้ Raspberry Pi ก็ต้องใช้งบประมาณคร่าว ๆ สัก 1 หมื่นบาท ซึ่งขึ้นอยู่กับว่าท่านผู้อ่านมองเห็นความคุ้มค่าของต้นทุนดังกล่าวเมื่อเทียบกับความเป็นส่วนตัวที่ได้รับเพียงใด
“การตัดสินใจนี้เป็นของคุณผู้อ่านครับ”
เมื่อพร้อมแล้วเรามาเริ่มต้นกันเลย!
สาเหตุที่คะยั้นคะยอให้ติดตั้ง StartOS ผ่านระบบ VM คือ ผู้เขียนเป็นคนใช้งานคอมพิวเตอร์ส่วนบุคคลเป็นประจำ และได้เพิ่ม SSD แยกไว้สำหรับติดตั้งระบบ StartOS โดยเฉพาะต่างหาก เมื่อคอมพิวเตอร์ของเรามีปัญหาจนถึงขนาดต้อง Format ลงระบบ Windows ใหม่ หรือจะเป็นการซื้อคอมพิวเตอร์เครื่องใหม่ก็ตาม เราก็จะสามารถนำเข้า (Import) พร้อมเรียกใช้ StartOS ผ่านระบบ VM และรันระบบแบบ Full Operation System ได้ทันที โดยไม่ต้องเริ่มต้นติดตั้ง StartOS และตั้งค่าใด ๆ ใหม่ และแน่นอนว่า “ไม่ต้องเสียเวลาในการ Sync Full Node ตั้งแต่ The Genesis Block” อันนี้แหละที่เป็นจุดเด่นของวิธีนี้ครับ
ภาพแสดงการติดตั้ง StartOS บน VM และทำการรันแบบ Background Mode (Headless Start)
ขั้นตอนที่ 1 : ดาวน์โหลดโปรแกรม Oracle VM VirtualBox และทำการติดตั้งลงบนคอมพิวเตอร์ของเราให้เรียบร้อย โดยเลือกไฟล์ติดตั้งตาม Platform ที่เราใช้งาน และตรวจสอบ Checksums เพื่อยืนยันว่าไฟล์นั้นถูกต้อง (เพื่อความปลอดภัย) จากนั้นติดตั้งโปรแกรมให้เรียบร้อย
ขั้นตอนที่ 2 : ไปที่ Start9 (Github) เพื่อดาวน์โหลดไฟล์ติดตั้ง StartOS สำหรับใช้ในขั้นตอนติดตั้งต่อไป โดยให้คลิกที่ Version ที่ Release ล่าสุด (ขณะเขียนบทความนี้จะเป็น v0.3.4.4) และเลื่อนลงไปหาในส่วนของ Assets สำหรับการดาวน์โหลดไฟล์ติดตั้งตาม Platform ที่ต้องการ (ในบทความนี้จะสาธิตการติดตั้งบท Virtual Machine/คอมพิวเตอร์ PC ให้ดาวน์โหลดไฟล์ x86_64.iso มาใช้งานครับ) และให้ตรวจสอบ Checksums ของไฟล์ให้เรียบร้อยครับ
ในกรณีที่เราติดตั้งบน Raspberry Pi ให้โหลดไฟล์ raspberrypi.img.gz และทำตาม DIY Guidelines (Raspberry Pi) หรือถ้าต้องการติดตั้งบนคอมพิวเตอร์ PC ที่ไม่ได้ใช้งาน ให้ทำการสร้าง USB Installer ด้วย balenaEtcher ตามบทความ Flashing (x86_64)ได้เลยครับ จากนั้นวิธีการ Initial Setup StartOS จะเป็นเช่นเดียวกันทุก Platform ครับ ซึ่งสามารถทำตามบทความนี้ (ตั้งแต่ขั้นตอนที่ 10) ได้เลย
ขั้นตอนที่ 3 : หลังจากติดตั้งโปรแกรม Oracle VM VirtualBox เสร็จเรียบร้อย ให้เปิดโปรแกรมขึ้นมาและสร้างไฟล์ระบบจำลอง (Virtual Machine Files) โดยคลิกที่เมนู “Machine” > “New… (Ctrl+N)”
ขั้นตอนที่ 4 : ให้ตั้งค่ารายละเอียดของไฟล์ระบบจำลองในส่วนของ “Name and Operating System” ให้ครบถ้วน (ใช้หน้าต่างการตั้งค่า Expert Mode) โดยผู้เขียนแนะนำให้เลือก “Folder” เป็นไดรฟ์ที่เราแยกจากระบบ Windows ที่ใช้งานปกติครับ เช่น การเพิ่มฮาร์ดดิสก์แบบ SSD แยกต่างหากอีก 1 ตัว และกำหนดให้เป็นไดรฟ์สำหรับเก็บไฟล์ Virtual Machine โดยเฉพาะ ในกรณีนี้หากคอมพิวเตอร์ที่เราใช้งานมีปัญหา เราสามารถถอดฮาร์ดดิสก์ดังกล่าวไปใช้งานกับคอมพิวเตอร์เครื่องอื่นได้เลย และข้อมูลทั้งหมดที่เราตั้งค่าไว้ก็จะพร้อมใช้งานต่อได้ทันที
เน้นย้ำว่าอย่าลืมติ๊กเครื่องหมายถูกตรง “Skip Unattended Installation” นะครับ มิเช่นนั้นการติดตั้งอาจจะไม่เป็นตามในบทความนี้
ขั้นตอนที่ 5 : คลิกที่เมนู Hardware เพื่อกำหนดรายละเอียดของ VM โดยแนะนำให้เลือกขนาดของ Memory อย่างน้อย 4 GB (หรือ 6 GB หากต้องการใช้งาน Electrum Rust Server และ Lighting Node ร่วมด้วย) และเลือกจำนวน Processors อย่างน้อย 2 CPU
ทั้งนี้สามารถปรับแต่งตามความแรงของ Hardware คอมพิวเตอร์ที่เป็น Host ได้เลย และยังสามารถกลับมาปรับแก้ไขภายหลังได้ด้วยครับ
ขั้นตอนที่ 6 : ให้คลิกที่ Create a Virtual Hard Disk Now เพื่อสร้าง VirtualBox Disk Image ขึ้นมาใหม่ และกำหนด Location เป็นไดรฟ์ที่เราแยกฮาร์ดดิสก์ออกมา หรือเป็นไดรฟ์ที่มีพื้นที่เพียงพอมากกว่า 800 GB (แต่ถ้าต้องการใช้งานระยะยาวควรจะมีพื้นที่ไม่ต่ำกว่า 2 TB เพื่อรองรับการเก็บธุรกรรมได้อีก 3-5 ปี) จากนั้นคลิกที่ “Finish” ได้เลยครับ
การกำหนดขนาดของ Virtual Hard Disk ครั้งนี้จะไม่สามารถปรับแก้ภายหลังได้อีกเลย ขอให้สำรองพื้นที่ให้มากที่สุดที่สามารถกระทำได้ครับ ในกรณีที่มีไฟล์ Virual Hard Disk อยู่แล้ว เช่น ย้ายมาจากคอมพิวเตอร์เครื่องอื่นที่มีปัญหาหรือเปลี่ยนเครื่องใหม่ ให้เลือกเมนู Use an Existing Vitual Hard Disk File และเลือกไฟล์ VirtualBox Disk Image (.VDI) ที่เราเคยสร้างไว้ เพียงเท่านี้ระบบ VM ก็จะกลับมาทำงานได้เต็มรูปแบบโดยไม่ต้องเริ่มต้นใหม่แล้วครับ
ขั้นตอนที่ 7 : หลังจากสร้าง Virtual Machine เสร็จเรียบร้อยแล้วให้กลับมาที่หน้าจอหลัก จากนั้นคลิกที่ “Settings (Ctrl + S)” เพื่อเข้าสู่การตั้งค่าละเอียดอีกครั้ง
ขั้นตอนที่ 8 : เมื่อเข้ามาที่หน้าต่าง Settings ให้คลิกที่ Network จากนั้นจะเห็นการตั้งค่าระบบเครือข่าย ให้เปลี่ยนค่าที่เมนู Attached จาก NAT เป็น Bridged Adapter และที่เมนู Name ให้เลือกอุปกรณ์ที่เราใช้เชื่อมต่อ เช่น Wireless Adapter หรือ Eternet Adapter ตามที่ต้องการ เพื่อให้เราสามารถเข้าถึง StartOS ได้จากอุปกรณ์อื่น ๆ ที่เชื่อมต่อระบบเครือข่ายเดียวกัน (LAN – Local Area Network) เมื่อตั้งค่าเสร็จเรียบร้อยแล้วคลิกที่ OK
กรณีที่อุปกรณ์เชื่อมต่อ Router / Wireless Access Point เดียวกันนั่นหมายถึงการอยู่บนเครื่อข่ายภายใน (LAN) วงเดียวกัน เช่น เราติดตั้ง StartOS บน Oracle VM VirtualBox บนคอมพิวเตอร์โน้ตบุ๊ก แต่เราสามารถเข้าสู่หน้าต่างควบคุม (Dashboard) ของ StartOS ได้จากอุปกรณ์เคลื่อนที่อื่น ๆ หากอุปกรณ์นั้นเชื่อมต่อ Wifi จาก Router / Wireless Access Point เดียวกัน
ขั้นตอนที่ 9 : เมื่อตั้งค่าทุกส่วนตามขั้นตอนก่อนหน้านี้ครบถ้วนเรียบร้อยแล้ว ให้คลิกที่ Start ได้เลยครับ เพื่อเริ่มการทำงานของระบบ Virtual Machine
ขั้นตอนที่ 10 : เมื่อหน้าต่าง StartOS [Running] เปิดขึ้นมาแสดงว่าระบบ VM ทำงานได้เป็นปกติ และเปรียบเสมือนว่าตอนนี้เรากำลังเปิดคอมพิวเตอร์เครื่องที่ 2 ขึ้นมาครับ
จากนั้นจะเห็นหน้าจอ “Boot menu” ดังภาพ ให้เลือกที่ “Live (amd64)” เพื่อเข้าสู่หน้าจอการติดตั้งระบบ StartOS ต่อไป (หรือรอ 5 วินาที เพื่อให้ระบบบูตอัตโนมัติได้เช่นกัน)
หากไม่ขึ้นหน้าจอดังภาพเป็นไปได้ว่าเราลืมเพิ่ม “ISO Image” ในขั้นตอนที่ 4 (ก่อนหน้านี้) ให้เพิ่ม ISO Image โดยไปที่ “Devices > Optical Drives > Choose a disk file….” จากนั้นให้ Reset VM โดยไปที่ “Machine > Reset” ครับ รายละเอียดเพิ่มเติมสามารถดูได้จากหัวข้อ “ปัญหาหรืออุปสรรคที่อาจจะพบเจอระหว่างทำตามบทความนี้”
ขั้นตอนที่ 11 : เมื่อระบบ StartOS Initial Boot เรียบร้อยแล้วจะเข้าสู่หน้าจอการติดตั้งดังภาพ
เราสามารถดำเนินการติดตั้งโดยผ่านหน้าต่างของโปรแกรม Oracle VM VirtualBox หรือจะเข้าผ่าน Web-browser จากเครื่องคอมพิวเตอร์หลัก (Host) หรืออุปกรณ์อื่น ๆ ที่เชื่อมต่ออินเทอร์เน็ตบนเครือข่ายเดียวกันได้ โดยใช้ Address “http://start.local”
ขั้นตอนที่ 12 : ให้เราเริ่มจาก (A) คลิกเลือกฮาร์ดดิสก์ ซึ่งมีขนาดตามที่เรากำหนดไว้ในขั้นตอนที่ 6 จากนั้น (B) คลิกที่ Install StartOS (C) คลิก “Continue” เพื่อยอมรับคำเตือนว่าข้อมูลจะถูกลบทั้งหมด (D) หน้าจอแสดงว่ากำลังติดตั้งระบบ StartOS และ (D) ขึ้นแจ้งเตือนว่าระบบทำการติดตั้งเสร็จเรียบร้อยแล้ว ให้คลิกที่ “Reboot” เพื่อเริ่มต้นระบบใหม่
ขั้นตอนที่ 13 : ที่หน้าจอจะแสดงข้อความ “Please remove the live-medium, close the tray (if any) and press ENTER to continue” ให้เราไปที่ “Devices > Optical Drives > Remove disk from virtual drive > คลิกที่ Force Unmount” เพื่อจำลองว่าเราได้ Eject ISO Image หลังจากนั้นให้เคาะ Enter 1 ครั้ง เพื่อทำการ Reboot ระบบต่อไป
ขั้นตอนที่ 14 : เมื่อระบบ StartOS เริ่มต้นใหม่จะเข้าสู่หน้าจอการติดตั้ง ให้เราดำเนินการตามภาพได้เลยครับ
- คลิกที่ Start Fresh เพื่อเริ่มต้นใหม่ (Clean Install)
- เลือก VBOX HARDDISK ที่เรากำหนดไว้
- กำหนดรหัสผ่าน Master Password (มีความยาวไม่ต่ำกว่า 12 ตัวอักษร)
- ระบบจะดำเนินการติดตั้งต่ออีกสักระยะเวลาหนึ่ง
- ติดตั้งระบบเสร็จเรียบร้อยแล้ว ให้คลิกที่ “Continue to login”
ขั้นตอนที่ 15 : ถ้าระบบทำงานเป็นปกติจะเข้าสู่หน้า Login ตามขั้นตอนถัดไป แต่ในกรณีที่ขึ้นจอดำ (Black Screen) เป็นระยะเวลาหนึ่งแล้ว เราสามารถเลือกที่จะ “Reset” ระบบ VM ได้ โดยไปที่ Machine > Reset จากนั้นคลิกที่ Reset ดังภาพ
ขั้นตอนที่ 16 : เมื่อบูต StartOS เข้าสู่หน้าจอ Login เรียบร้อยแล้ว ให้เรากรอก Master Password ที่ตั้งค่าไปในขั้นตอนที่ 14 (C) จากนั้นให้คลิกที่ขีด 3 ขีดมุมขวาบน (ตามภาพ B) เราจะเห็นเมนูทางด้านซ้ายของจอ ให้คลิกที่ “System” จากนั้นคลิกที่ “About” (ตามภาพ C) เพื่อหา LAN Address (D) เพื่อนำมาในการเข้าถึง StartOS จาก Web-Browse อื่น ๆ โดยไม่จำเป็นต้องเข้าผ่านหน้าต่างโปรแกรม Oracle VM VirtualBox อีกต่อไป
ขั้นตอนที่ 17 : ให้นำ LAN Address จากขั้นตอนก่อนหน้านี้มาเปิดใน Web-Browser ปกติได้เลย โดยชื่อของ Address นั้นจะเป็นรูปแบบ xxx-yyy.local และได้มาด้วยการ “สุ่ม” อีกทั้งไม่สามารถเปลี่ยนแปลงได้ครับ
ขั้นตอนที่ 18 : การติดตั้ง Trust Root Certificate Authority (CA) เพื่อใช้งาน StartOS ผ่าน Secure Local Connection “https” (บทความนี้สาธิตบนระบบปฏิบัติการ Windows) อีกทั้งสามารถใช้ Devices อื่น ๆ ในการเข้าหน้าถึง Dashboard StartOS และใช้งานซอฟต์แวร์ต่าง ๆ ของ StartOS ได้อย่างครบถ้วน
โดยเริ่มต้นจาก StartOS Dashboard ให้คลิก System > Root CA > Download Root CA จากนั้นบันทึกไฟล์ “xxx-yyy.local.crt” ไว้ก่อนครับ
ขั้นตอนที่ 19 : ให้ไปที่ Start9 | Trust Root CA เพื่อทำตามขั้นตอน โดยเริ่มจากคลิกเลือกที่ระบบปฏิบัติการหรือ Devices ที่เราต้องการใช้งาน ยกตัวอย่างเช่น คลิกเข้าไปที่ Start9 | Trusting Your Start9 CA On Windows เพื่อทำการติดตั้งบนระบบปฏิบัติการ Windows ครับ
สำหรับระบบปฏิบัติการ Windows ให้ไปดาวน์โหลด Bonjour Print Services for Windows v2.0.2 (apple.com) และติดตั้งให้เรียบร้อย จึงจะสามารถทำตามขั้นตอนต่อไปได้ครับ
ขั้นตอนที่ 20 : คลิกที่ Start Menu จากนั้นให้พิมพ์ “mmc” จะเป็นการเรียกโปรแกรม Microsoft Management Console ขึ้นมา ให้คลิกที่ Run as administrator
ขั้นตอนที่ 21 : ที่หน้าต่างโปรแกรม Microsoft Management Console ให้คลิกที่ “File” > “Add/Remove Snap-in… (Ctrl + M)”
ขั้นตอนที่ 22 : ที่หน้าต่าง Add or Remove Snap-ins ให้ทำการคลิกที่ “Certificates” ในหน้าต่างฝั่งซ้าย จากนั้นคลิกที่ “Add >” เพื่อทำการเพิ่ม snap-ins
ขั้นตอนที่ 23 : คลิกเลือกที่ “Computer account” จากนั้นคลิก Next และคลิกเลือกที่ “Local computer” จากนั้นคลิก Finish
ขั้นตอนที่ 24 : เมื่อหน้าจอทางด้านขวาแสดง snap-ins “Certificates (Local Computer)” ให้คลิกที่ OK
ขั้นตอนที่ 25 : ที่เมนูทางด้านซ้ายของ Microsoft Management Console จะมี “Certificates (Local Computer)” เพิ่มมาครับ ให้คลิกไปที่ “Certificates (Local Computer) > Trusted Root Certification Authorities > Certificates” จากนั้นให้คลิกขวาที่ “Certificates” เลือก All Tasks > Import
ขั้นตอนที่ 26 : ที่หน้าต่าง Certificate Import Wizard ให้คลิกตามภาพได้เลย โดยเลือกไฟล์ “xxx-yyy.local.crt” ที่ได้ดาวน์โหลดมาไว้จากขั้นตอนที่ 18
ขั้นตอนที่ 27 : เมื่อดำเนินการเสร็จเรียบร้อยจะมีข้อความว่า “The import was successful.” เป็นอันเสร็จสิ้นกระบวนการติดตั้ง Trust Root Certificate Authority (CA) บนระบบปฏิบัติการ Windows ครับ
ขั้นตอนที่ 28 : ให้ทำการปิด Web-Browser จากนั้นเปิดขึ้นมาใหม่ และเข้าหน้าจอ StartOS Dashboard ด้วย LAN Address เดิมที่ได้จากขั้นตอนที่ 16 (D) อีกครั้ง ซึ่งจะเห็นว่ามีรูปกุญแจขึ้นด้านหน้าของ Address แล้ว หมายถึงว่าคอมพิวเตอร์เครื่องนี้เชื่อมต่อ StartOS ในรูปแบบ “Secure Local Connection”
ขั้นตอนที่ 29 : ในขั้นตอนนี้เป็นการติดตั้ง StartOS app เพื่อทำเป็นไอคอนไว้ที่ Start Menu และ Taskbar สำหรับคลิกเข้า StartOS Dashboard ได้เลย ซึ่งสามารถที่จะทำหรือไม่ทำก็ได้ครับ หากใช้ Microsoft Edge ให้คลิกที่ไอคอน Install app และเลือก Install ดังภาพ
ขั้นตอนที่ 30 : เมื่อติดตั้ง StartOS app เรียบร้อย จะมีเมนูให้สามารถเลือกตำแหน่งที่ต้องการติดตั้งไอคอนของ StartOS app ได้ ในตัวอย่างเลือกให้ติดตั้งไว้ที่ Taskbar และ Start Menu จากนั้นคลิกที่ Allow
ขั้นตอนที่ 31 : ที่หน้าต่าง StartOS app ให้เราคลิกที่เมนู Marketplace จะเห็นซอฟต์แวร์ต่าง ๆ ถูกจัดกลุ่มไว้ โดยที่เราสามารถเลือกที่จะติดตั้งซอฟต์แวร์ที่ต้องการใช้งานได้เลยทันที
ขั้นตอนที่ 32 : ตัวอย่างการติดตั้ง “Bitcoin Core” ให้คลิกที่ซอฟต์แวร์ Bitcoin Core จากหน้าต่าง Marketplace จากนั้นคลิกที่ปุ่มสีเขียว “INSTALL” ซึ่งระบบ StartOS จะทำการดาวน์โหลดและตรวจสอบซอฟต์แวร์ พร้อมติดตั้งให้โดยอัตโนมัติ
ขั้นตอนที่ 33 : เมื่อติดตั้งเสร็จเรียบร้อยให้คลิกที่เมนู Services จาก Console ทางซ้าย ซึ่งจะแสดงซอฟต์แวร์ที่ติดตั้งเรียบร้อยแล้ว หากซอฟต์แวร์ไหนที่เพิ่งทำการติดตั้งจะขึ้นข้อความว่า “Needs Config” หมายถึงต้องคลิกเข้าไปเพื่อกำหนดค่าเบื้องต้น โดยคลิกที่ปุ่มสีเหลือง “CONFIGURE” จึงจะสามารถใช้งานซอฟต์แวร์นั้นได้
ขั้นตอนที่ 34 : ซอฟต์แวร์ส่วนใหญ่ของ StartOS จะถูกตั้งค่าพื้นฐานมาให้แล้ว หากเราไม่ต้องการแก้ไขค่าใด ๆ สามารถคลิกที่ “SAVE” ได้เลย
ขั้นตอนที่ 35 : เมื่อกำหนดค่า “CONFIGURE” เรียบร้อย จะเห็นว่าซอฟต์แวร์นั้นขึ้นปุ่มสีเขียว “START” ซึ่งสามารถคลิกและเริ่มการทำงานได้ทันที
โดยซอฟต์แวร์แต่ละตัวจะมีเมนู “HEALTH CHECKS” เพื่อตรวจสอบสถานะการทำงาน หากแสดงเครื่องหมายขีดถูกสีเขียวจะหมายถึงซอฟต์แวร์นั้นทำงานได้อย่างสมบูรณ์ไม่มีปัญหาใด ๆ ครับ
ขั้นตอนที่ 36 : การปิดระบบ StartOS ต้องใช้การสั่ง Shutdown เหมือนคอมพิวเตอร์ทั่วไป โดยไปที่ System > Shutdown จากนั้นรอสักครู่หนึ่งเพื่อให้ระบบปิดตัวโดยสมบูรณ์แบบ
สามารถตรวจสอบได้ที่หน้าต่างโปรแกรม Oracle VM VirtualBox จะขึ้นข้อความว่า “Powered Off” (ลักษณะเดียวกันกับภาพในขั้นตอนถัดไป)
ขั้นตอนที่ 37 : เมื่อเราได้ทำการติดตั้ง StartOS app หรือเข้า StartOS Dashboard ผ่านทาง LAN Address ได้แล้ว เราไม่มีความจำเป็นต้องใช้ VM แสดงหน้าต่างการทำงาน ดังนั้นในการเริ่มต้นระบบ StartOS ให้ทำการคลิกที่ลูกศรข้างกับปุ่ม Start และเลือกที่ “Headless Start” ซึ่งจะเป็นการรันระบบใน Background Mode และใช้การเข้าถึงหน้า Dashboard ผ่านทาง Web-Browser เท่านั้น
ขั้นตอนที่ 38 : เมื่อภาพในส่วนของ Preview ซึ่งอยู่ในหน้าต่างโปรแกรม Oracle VM VirtualBox แสดงจอ StartOS Login หมายความว่าระบบทำงานเรียบร้อยแล้ว หากเราเข้า StartOS ผ่าน StartOS app หรือเข้า StartOS Dashboard ผ่านทาง LAN Address ก็จะเห็นข้อความมุมซ้ายด้านล่างเขียนว่า “Connected”
ขั้นตอนที่ 39 : ทุกครั้งที่เราเริ่มต้น StartOS ใหม่ ระบบจะดำเนินการอัปเดตข้อมูลต่าง ๆ โดยอัตโนมัติ ซึ่งใช้เวลามากน้อยจะแปรผันตามห้วงเวลาที่เราปิดระบบครับ
ขั้นตอนที่ 40 : หากซอฟต์แวร์แต่ละตัวอัพเดทข้อมูลเรียบร้อยแล้ว จะขึ้นไอคอนสีเขียว และเขียนว่า “Running” ดังในภาพด้านล่างครับ ซึ่งหมายถึงซอฟต์แวร์และระบบ StartOS ทำงานเป็นปกติสมบูรณ์ โดยไม่มีปัญหาหรือข้อขัดข้องใด ๆ
แนะนำซอฟต์แวร์ที่สำคัญและควรติดตั้งเพื่อใช้งานบนระบบ StartOS และการเชื่อมต่อ Bitcoin Core RPC กับ Sparrow Wallet เบื้องต้น
Bitcoin Core
ชอฟต์แวร์ตัวแรกที่ต้องติดตั้งทันทีหลังจากที่เราตั้งค่าระบบ StartOS เสร็จสิ้นเป็นที่เรียบร้อยแล้วก็คือบิตคอยน์โหนด เนื่องจากมีความจำเป็นอย่างยิ่งกับการทำงานร่วมกับซอฟต์แวร์ตัวอื่น ๆ ซึ่งถ้าเราใช้ค่า Default Configuration ระบบจะทำงานเป็น Bitcoin Full Node และจะทำให้เราเก็บข้อมูลธุรกรรมย้อนหลังทุก ๆ บล็อกตั้งแต่บล็อกแรก! ซึ่งเป็นการช่วยเพิ่มความแข็งแกร่งและความกระจายศูนย์ให้แก่ Bitcoin Network
electrs
Rust-based Electrum server for Bitcoin ซึ่งจะเป็นตัวช่วยในการเรียบเรียงข้อมูล (Indexer) สำหรับการเชื่อมต่อ Bitcoin Node กับ Software Wallet ต่าง ๆ ซึ่ง Electrum Server จะทำงานอยู่ระหว่าง Software Wallet และ Bitcoin Core เปรียบเสมือนเป็นกำแพงที่กั้นระหว่างโหนดของเรากับโลกภายนอกเพื่อเพิ่มความเป็นส่วนตัว (Most Privacy) และไม่สามารถปิดกั้นธุรกรรมใด ๆ ของเราได้ (Uncensorable) อีกทั้งยังช่วยเพิ่มความเร็วในการเชื่อมต่อและใช้งานบิตคอยน์อีกด้วย
สำหรับ StartOS นั้นถูกออกแบบมาให้ Electrum Server เชื่อมต่อและพร้อมทำงานกับ Bitcoin Core Node อยู่แล้ว
Mempool
ใช้งานสำหรับการตรวจสอบธุรกรรม การเรียกดูประวัติธุรกรรม รวมถึงการเก็บข้อมูลธุรกรรมที่ยังไม่ถูกยืนยัน (Unconfirmed Transactions) ซึ่ง Mempool ใน StartOS จะทำการ Sync ข้อมูลจาก Network ของ Bitcoin ตลอดเวลา เพราะฉะนั้นในช่วงแรกที่เราเริ่มต้นระบบ StartOS ข้อมูลอาจจะยังไม่ตรงกับ https://mempool.space แต่เมื่อเวลาผ่านไปสักระยะหนึ่ง ข้อมูลต่าง ๆ ที่แสดงผลจะมีความใกล้เคียงกับข้อมูลปัจจุบันของ Network
Specter
สำหรับคนที่ต้องการติดตามหรือบันทึกประวัติข้อมูลกระเป๋าของเรา เช่น การบันทึกว่าธุรกรรมนี้เกิดจากการ DCA (Dollar-Cost Averaging) ประจำเดือน หรือธุรกรรมนี้ได้จากเงินรายได้พิเศษ ฯลฯ จะดีแค่ไหนหากเรามี Software Wallet ที่สามารถบันทึกข้อมูลรายละเอียดของแต่ละ UTXO (Unspent Transaction Output) ได้เลย
Specter Wallet เป็น Software Wallet ที่เราสามารถกำหนดให้ทำงานในลักษณะของ Watch-only Wallet และบันทึกประวัติที่มาที่ไปของทุก ๆ UTXO รวมทั้งยังสามารถใช้สร้างธุรกรรมแบบ PSBTs (Partially Signed Bitcoin Transactions) และประกาศธุรกรรมผ่านโหนดของเราได้ด้วยเช่นกัน รายละเอียดเพิ่มเติมสามารถศึกษาได้จากบทความ How to ทำ Flash Drive สำหรับไว้ Sign Transaction บิตคอยน์แบบ Highly Secure Device
Core Lightning
สำหรับผู้ที่ต้องการเปิด Lightning Channel เพื่อใช้งานบิตคอยน์ผ่าน Lightning Network ไม่ว่าจะเป็นช่องส่วนตัวกับกระดานเทรด (Private Channel) สำหรับการ Stack sat หรือเปิดในลักษณะของ Routing Node เพื่อช่วยเพิ่ม Liquidity ให้กับระบบก็ตาม ซอฟต์แวร์นี้คือมีความสำคัญอย่างยิ่งยวดที่ต้องติดตั้ง
Lightning Network protocol เป็น Layer-2 Solution ของบิตคอยน์ ซึ่งจะมีความรวดเร็วในการส่งบิตคอยน์ภายใต้ค่าธรรมเนียมที่ต่ำมาก รายละเอียดเพิ่มเติมศึกษาได้จากบทความ Lightning Network (ฉบับผู้ใช้งาน) โดยในบทความนี้ขอยังไม่กล่าวถึงในรายละเอียดครับ
LND (Lightning Network Daemon)
เป็นหนึ่งในซอฟต์แวร์ที่ทำงานกับระบบ Lightning Network เช่นเดียวกับ Core Lightning เพียงแต่ว่าจะไม่มีหน้าต่างควบคุม (UI) เหมือนกับ Core Lightning จึงมีความจำเป็นต้องใช้งานร่วมกับ Ride the Lightning (RTL) ในการกำหนดค่าต่าง ๆ เท่านั้น
Ride the Lightning (RTL)
มีความสำคัญมากกับการใช้งาน Lightning Network Daemon (LND) หรือ Core Lightning (CLN) เพื่อกำหนดการตั้งค่าต่าง ๆ เช่น การเปิด/ปิดช่อง (Lightning Channel) การควบคุมธุรกรรม รวมถึงการเฝ้าติดตามการทำงานของ Lightning Node
Nostr RS Relay
Not your relay, Not your data.
หากใครที่หลงเข้ามาโลดแล่นอยู่ในโลกของนกม่วงแล้ว พลาดไม่ได้เลยที่จะติดตั้ง Nostr RS Relay เนื่องจากเราสามารถใช้ StartOS ช่วยเก็บบันทึกประวัติหรือกิจกรรมต่าง ๆ ที่เราได้ทำบน Nostr Protocol ซึ่งนำไปสู่การเป็นเจ้าของข้อมูลโดยแท้จริง
Vaultwarden
Vaultwarden ทำงานเป็น Self-Hosted Password Manager นั่นหมายถึงว่า “รหัสผ่านทุก ๆ เว็บไซต์ที่เราบันทึกจะถูกเก็บข้อมูลอยู่บน StartOS ของเราเท่านั้น” มิใช่การฝากไว้บน Cloud หรือการฝากไว้กับผู้ให้บริการใด ๆ ดังนั้นเราจึงเป็นเจ้าของข้อมูลนี้โดยแท้จริง
แต่หากว่าระบบ StartOS ของเราไม่สามารถเข้าถึงได้ ไม่ว่าจะเป็นระบบพัง หรือเผลอลบ Vaultwarden ไป การกระทำนี้จะนำไปสู่การสูญเสียรหัสผ่านทั้งหมดไปตลอดกาล เพราะฉะนั้นการใช้งานให้เกิดประโยชน์และมีประสิทธิภาพจึงควรต้องสำรองข้อมูลอยู่เสมอ
สำหรับตัวอย่างที่กล่าวไปข้างต้นนั้นเป็นเพียงซอฟต์แวร์ที่ผู้เขียนแนะนำให้ติดตั้งและใช้งานจากประสบการณ์ครับ ท่านผู้อ่านสามารถติดตั้งซอฟต์แวร์อื่น ๆ ที่ทาง Start9 มีพร้อมให้ติดตั้งตามความต้องการได้เลย
การเชื่อมต่อ Bitcoin Core RPC กับ Sparrow Wallet เบื้องต้น
ส่วนนี้เป็นตัวอย่างในการเชื่อมต่อ Bitcoin Core บน StartOS กับ Software Wallet ครับ ซึ่งประเด็นสำคัญจะอยู่ที่การใช้ TOR ในการเชื่อมต่อเพื่อให้สามารถประยุกต์ใช้กับคอมพิวเตอร์เครื่องอื่น ๆ นอกเครือข่ายแลน (LAN) ได้และด้วยความสามารถของซอฟต์แวร์ Sparrow Wallet ที่สามารถเชื่อมต่อกับ TOR ได้เลยโดยที่เราไม่ต้องติดตั้งโปรแกรมเพิ่มเติม วิธีนี้จึงเป็นวิธีที่ผู้เขียนแนะนำครับ
ในความเป็นจริงเราสามารถใช้ซอฟต์แวร์ Specter Wallet ติดตั้งบน StartOS เพื่อทำหน้าที่เป็น Watch-only Wallet ได้เลย วิธีนี้จึงอาจไม่จำเป็นต้องทำครับ
ขั้นตอนที่ 1 : ที่ซอฟต์แวร์ Bitcoin Core ให้คลิกไปที่ “Interfaces” จากนั้นให้มองหาส่วนที่เขียนว่า “RPC Interface” และให้คัดลอกลิงก์ที่ลงท้ายด้วย .onion จากนั้นนำไปวางซอฟต์แวร์ Sparrow Wallet ตามขั้นตอนที่ 3
ขั้นตอนที่ 2 : กลับมาที่ซอฟต์แวร์ Bitcoin Core และไปที่เมนู “Properties” จากนั้นมองหาส่วนที่เขียนว่า “RPC Username” และ “RPC Password” และให้คัดลอกทั้งสองส่วนไปกรอกในช่อง User / Pass ในขั้นตอนที่ 3
ขั้นตอนที่ 3 : การตั้งค่า Server RPC ที่ซอฟต์แวร์ Sparrow Wallet เริ่มต้นจากเมนู File -> Preferences จะเห็นหน้าต่างกำหนดค่าซอฟต์แวร์ ให้คลิก “Server” ที่เมนูด้านซ้าย จากนั้นเลือก Server Type เป็น “Bitcoin Core” และให้นำ URL (ลงท้ายด้วย .onion) จากขั้นตอนที่ 1 ไปวางในช่อง URL: (โดยไม่ต้องมี http://) และคลิกที่ “User / Pass” ตรงเมนู Authentication และให้นำ User / Pass ที่ได้จากขั้นตอนที่ 2 มากรอกในช่อง จากนั้นคลิกที่ “Test Connection”
เมื่อเชื่อมต่อระบบเรียบร้อยแล้วจะเห็นข้อความดังภาพ และบริเวณมุมด้านล่างของซอฟต์แวร์จะบอกสถานะการเชื่อมต่อ ถือว่าเป็นอันเสร็จสิ้นในกระบวนการเชื่อมต่อซอฟต์แวร์ Sparrow Wallet กับ Bitcoin Core ครับ จากนั้นเราสามารถเปิดไฟล์ wallet.db (ถ้ามี) ขึ้นมาใช้งานตามปกติได้เลย
ในระหว่างที่ระบบเชื่อมต่อผ่าน TOR ในครั้งแรก จะมีหน้าต่าง Windows Security Alert แจ้งเตือนขึ้นมา ให้เราคลิกที่ “Allow Access”
ขั้นตอนที่ 4 : สาธิตการสร้าง Watch-only Wallet จาก xpub หรือจะใช้วิธีเชื่อมต่อกับ Hardware Wallet ก็ได้เช่นกัน เริ่มต้นจาก File -> New Wallet และตั้งชื่อให้เรียบร้อย จากนั้นไปคลิกที่ Settings และกำหนดค่าต่าง ๆ ดังในภาพ
ขั้นตอนที่ 5 : เมื่อเพิ่ม Wallet เรียบร้อยแล้ว ให้คลิกที่เมนู Transactions และคลิกที่ “Scan for previous transactions?” จากนั้นกำหนดวันที่ที่ต้องการให้เริ่มต้น Scan ครับ (ยิ่งย้อนไปนานยิ่งต้องใช้เวลา scan เพราะฉะนั้นหากเป็น Wallet ใหม่สามารถกำหนดวันปัจจุบันได้เลยครับ)
ขั้นตอนที่ 6 : เมื่อระบบ Scan ประวัติธุรกรรมที่มีใน Wallet นั้นเรียบร้อยแล้ว เราก็จะเห็นข้อมูล UTXO ต่าง ๆ ขึ้นมาครบถ้วน (หาก Scan แล้วไม่พบประวัติธุรกรรมให้ตรวจสอบว่าในขั้นตอนที่ 4 เราเพิ่มข้อมูลหรือประเภทกระเป๋าถูกต้องหรือไม่ ซึ่งสามารถตรวจสอบได้จากเมนู Addresses และเช็กกับข้อมูลที่เรามี เช่น ประวัติการโอนบิตคอยน์ เป็นต้น จากนั้นให้เริ่ม Scan ใหม่โดยกำหนดวันที่ย้อนไปจนกระทั่งวันที่เราเคยใช้งาน Wallet ครั้งแรกครับ)
ถ้าตรวจสอบแล้วไม่มีอะไรผิดพลาด เราจะเจอประวัติธุรกรรมของเรา เราจะเจอทุก ๆ UTXO ของเรา โดยเป็นข้อมูลที่มาจากโหนดของเราเองครับ น่าภูมิใจมั้ยล่ะ อิอิ
การ Import StartOS Virtual Machine file ในกรณีที่ย้ายเครื่องหรือคอมพิวเตอร์ที่ทำหน้าที่ Host มีปัญหาไม่สามารถใช้งานได้
หากเราต้องย้ายคอมพิวเตอร์เครื่องใหม่ หรือคอมพิวเตอร์ที่เป็น Host มีปัญหา เราสามารถนำไฟล์ Virtual Machine ไปเปิดในโปรแกรม Oracle VM VirtualBox ได้เลยทันที
ขั้นตอนที่ 1 : หลังจากติดตั้งโปรแกรม Oracle VM VirtualBox เสร็จเรียบร้อยแล้ว ให้คลิกที่ Machine -> Add จากนั้นให้ไปเลือกไฟล์ .vbox ของระบบ StartOS และคลิกที่ Open
ขั้นตอนที่ 2 : เมื่อมี Machine StartOS เพิ่มขึ้นมาเรียบร้อยแล้ว เราสามารถคลิกที่ Headless Start เพื่อเริ่มต้นทำงานได้ทันที
เพียงเท่านี้ทุก ๆ อย่างที่เราได้กำหนดค่าไว้สำหรับ Machine StartOS และทุก ๆ ซอฟต์แวร์ที่เราติดตั้งไว้บน StartOS ก็จะกลับมาออนไลน์ พร้อมใช้งานต่อโดยไม่ต้องตั้งค่าใด ๆ ใหม่ครับ
ปัญหาหรืออุปสรรคที่อาจจะพบเจอระหว่างทำตามบทความนี้
สิ่งที่จะนำไปสู่การทำงานผิดปกติของ StartOS มีด้วยกัน 3 ประเด็นหลัก ๆ ดังนี้
- ระบบ Network ผิดปกติ ให้ตรวจสอบการตั้งค่า Network ของ Oracle VM VirtualBox ซึ่งควรเป็นการตั้งค่าแบบ “Bridged Adapter” เพื่อให้ StartOS ทำงานเสมือนเป็นคอมพิวเตอร์เครื่องหนึ่งในเครือข่ายเดียวกัน
- ระบบหยุดทำงาน/ทำงานผิดปกติ หรือที่เมนู “HEALTH CHECKS” ของซอฟต์แวร์ต่าง ๆ บน StartOS ขึ้นข้อความว่า “ Timed out. Retrying soon…” มีความเป็นไปได้ที่เราจัดสรรทรัพยากรไปให้ Virtual Machine ไม่เพียงพอ การแก้ไขให้ลองปรับเพิ่มขนาดของ RAM และจำนวน CPU Core
- อัปเดตซอฟต์แวร์
ตัวอย่างการแก้ปัญหาที่ผู้เขียนพบเจอด้วยตนเอง
ขณะทำการติดตั้งไม่สามารถ Boot จาก ISO Image ได้ ซึ่งเกิดจากการกำหนดไฟล์ที่ใช้ Boot ไม่ถูกต้อง ดังนั้นการแก้ปัญหาคือการกำหนดค่าไฟล์ติดตั้ง (.iso) ของ StartOS ใหม่
เริ่มต้นที่หน้าต่าง Machine Running ให้คลิกที่ Devices -> Optical Drives -> Choose a disk file…
จากนั้นให้คลิกเลือกไฟล์ติดตั้ง StartOS ที่เราดาวน์โหลดมาในช่วงต้นของบทความ
ไปที่เมนู Machine -> Reset และคลิกที่ Reset เพื่อเริ่มต้นระบบใหม่
ขณะติดตั้งขึ้นว่า “RPC ERROR: Disk Management Error mkfs.vfat: unable to open /dev/sda2: No such file or directory”
ให้ไปที่ Machine -> Reset และทำการติดตั้งใหม่ตั้งแต่เริ่มต้นอีกครั้ง
กรณีไม่สามารถ Shutdown Start9 ได้ (สั่ง Shutdown ผ่าน Web-Browser แล้วระบบไม่ยอมปิด หรือใช้เวลานานจนเกินไป) สามารถใช้คำสั่ง ACPI Shutdown ช่วยแก้ไขได้
โดยการคลิกขวาที่ Machine จากนั้นเลือกเมนู Stop -> ACPI Shutdown
หาก Bitcoin Core ไม่สามารถ Sync Blockchain ได้ และที่ส่วน “HEALTH CHECKS” ของ Bitcoin Core ขึ้นข้อความว่า “ Timed out. Retrying soon…” ซึ่งเกิดจากระบบไม่สามารถเชื่อมต่อกับ Peer ได้
ให้คลิกที่ Stop และรอจนกระทั่ง Bitcoin Core หยุดทำงานเรียบร้อย จากนั้นให้คลิกที่เมนู Actions -> Delete Peer List แล้วลอง Start Bitcoin Core ใหม่อีกครั้ง
หากยังไม่ได้อีกให้ลองปรับเพิ่มขนาดของ RAM ที่หน้าต่าง Machine Settings ให้มีขนาดมากกว่า 4-6 GB
ในบทความตอนถัดไป
ผู้เขียนจะแนะนำการตั้งค่าและใช้งานซอฟต์แวร์ที่ควรติดตั้งบนระบบ StartOS เช่น
- การตั้งค่าและใช้งาน Specter Wallet บน StartOS เป็น Bitcoin Watch-only Wallet สำหรับการสร้างและประกาศธุรกรรมจาก Node ของเราเอง
- การตั้งค่าและใช้งาน Lightning Network Daemon (LND) และ Core Lightning (CLN) สำหรับการสร้าง Private Lightning Channel
- การตั้งค่าและใช้งาน Nostr RS Relay ในรูปแบบ Private Relay
- การตั้งค่าและใช้งาน Vaultwarden สำหรับเก็บรหัสผ่านแบบปลอดภัย และใช้งานเฉพาะอุปกรณ์ที่อยู่บนเครือข่ายเดียวกันเท่านั้น
- แนะนำการสำรองข้อมูลการตั้งค่า (Backup) บน Physical Drive เช่น USB Flashdrive
- สาธิตการ Restore Backup
- แนวทางอื่น ๆ ที่สามารถประยุกต์ใช้ได้อีกในอนาคต
ทิ้งท้ายบทความกันหน่อย
สิ่งที่ผู้อ่านทุกท่านจะได้จากการศึกษาบทความนี้ คือ การมีส่วนร่วมในระบบ Network ของ Bitcoin อย่างเต็มตัว ซึ่งนำไปสู่ “การเป็นเจ้าของ” บิตคอยน์ของเราเองอย่างแท้จริง อีกทั้งเรายังเป็นส่วนหนึ่งที่ทำให้ระบบมีความแข็งแกร่ง และพร้อมสำหรับการเป็นระบบการเงินหลักของโลกในอนาคต
- Validation : เราจะมีหน้าที่ช่วยตรวจสอบและยืนยันความถูกต้องของธุรกรรม (Transactions)
- Privacy : ทุก ๆ การใช้งานบิตคอยน์หรือธุรกรรมต่าง ๆ ของเราจะถูกประกาศ (Broadcast) ผ่านบิตคอยน์โหนดของเราเอง จึงไม่มีโอกาสที่ผู้อื่นจะล่วงรู้ถึงรายละเอียดต่าง ๆ ในธุรกรรมของเรา
- Supporting Decentralization : จำนวนบิตคอยน์โหนดที่มีมากขึ้น ยิ่งช่วยเพิ่มการกระจายศูนย์ให้กับระบบบิตคอยน์
- Education : เราจะได้ศึกษาและเรียนรู้เพื่อเพิ่มประสบการณ์ที่เกี่ยวกับบิตคอยน์ นำไปสู่ความเข้าใจการทำงานของระบบอย่างแท้จริง
“ลองรันโหนดเองดูสิ…สนุกดีนะ”
แล้วเจอกันใหม่ในบทความ “พื้นฐานและการประยุกต์ใช้ Bitcoin Node [ตอนที่ 3]”
สวัสดีครับ