MoneroSwapper MoneroSwapper

วิธีตั้งค่า daemon username password ใน Monero GUI 2026

MoneroSwapper · · 5 min read · 2 views

วิธีตั้งค่า daemon username password ใน Monero GUI ฉบับสมบูรณ์ 2026

ผู้ใช้ Monero ในประเทศไทยจำนวนมากเริ่มหันมารัน monerod ของตัวเองบน VPS หรือเครื่อง home server หลังจากที่ remote node สาธารณะหลายแห่งล่มในไตรมาสแรกของปี 2026 และเกิดเหตุการณ์ที่ node operator บางรายบันทึก IP ของผู้เชื่อมต่อโดยไม่บอกล่วงหน้า การเชื่อม Monero GUI ไปยัง daemon ของตัวเองหรือ private node ของเพื่อนจึงต้องใช้ระบบ authentication ผ่าน RPC username และ password เพื่อกัน bot ที่สแกนพอร์ต 18081 และ 18089 ทั่วอินเทอร์เน็ตไม่ให้เข้ามาเรียก daemon ของเรา บทความนี้จะอธิบายอย่างละเอียดว่าช่อง username และ password ใน Monero GUI อยู่ตรงไหน ต้องกรอกค่าจากไหน รวมถึงวิธีตั้งฝั่ง monerod ให้ตรงกัน เพื่อให้ผู้ใช้ในไทยที่ต้องการความเป็นส่วนตัวระดับ MoneroSwapper สามารถใช้งานกระเป๋าได้โดยไม่ต้องพึ่งพา third party แม้แต่นาทีเดียว เนื้อหาครอบคลุมตั้งแต่กรณีพื้นฐานที่รันบนเครื่องเดียวกับ wallet ไปจนถึงการตั้งค่าเชื่อมต่อข้าม subnet ผ่าน Tor hidden service พร้อมเทคนิคแก้ error 401 Unauthorized ที่พบบ่อยที่สุดในกลุ่ม r/Monero ไทย

ทำไมต้องตั้ง username password ให้ daemon Monero

monerod คือโปรแกรม full node ของ Monero ที่ทำหน้าที่ดาวน์โหลด blockchain ทั้งหมด ตรวจสอบ ring signature และส่งข้อมูลกลับให้ wallet ผ่านพอร์ต RPC ค่าเริ่มต้นคือ 18081 สำหรับ mainnet โดยพอร์ตนี้เปิดรับคำสั่งที่ทรงพลังหลายอย่าง ตั้งแต่ get_block_count แบบเบา ๆ ไปจนถึง set_log_level ที่อาจทำให้เครื่อง crash หรือ get_bans ที่เปิดเผยข้อมูลภายในของ node หากไม่มีการยืนยันตัวตน ใครก็ตามที่รู้ IP ของ VPS เราจะส่งคำสั่งเหล่านี้เข้ามาได้ทันที

สถานการณ์ในประเทศไทยปี 2026 มีปัจจัยเฉพาะที่ทำให้เรื่องนี้ยิ่งสำคัญ ผู้ให้บริการ ISP รายใหญ่อย่าง AIS True และ 3BB ใช้ CG-NAT กับลูกค้าบ้านจำนวนมาก ทำให้คนที่ run node ที่บ้านต้องอาศัย VPS หรือ reverse proxy เพื่อเปิดให้เครื่องอื่นมาเชื่อม นอกจากนี้ ก.ล.ต. ออกประกาศเพิ่มเติมเกี่ยวกับการกำกับดูแลธุรกรรมสินทรัพย์ดิจิทัล ทำให้การพึ่ง remote node ที่ไม่รู้เจ้าของกลายเป็นความเสี่ยงสูง การมี node ส่วนตัวที่ปกป้องด้วย RPC auth จึงเป็นมาตรฐานขั้นต่ำของผู้ใช้สาย privacy ในกรุงเทพและเชียงใหม่ที่จริงจัง

  • กัน bot scan port: Shodan และ Censys จัดทำดัชนีพอร์ต 18081 ทั่วโลก ภายในไม่กี่นาทีหลังเปิด node ใหม่ ก็จะมี request แปลก ๆ ไหลเข้ามา
  • ป้องกันการขโมยทรัพยากร: ผู้โจมตีบางกลุ่มใช้ daemon ของคนอื่นเป็น relay สำหรับ transaction ที่ตนเองต้องการซ่อนต้นทาง ทำให้ bandwidth ของเราถูกใช้ฟรี
  • รักษาความเป็นส่วนตัวของ wallet: หากใครก็ตามเชื่อมเข้ามาได้ จะสามารถดูได้ว่า wallet ของเราขอข้อมูล block ใดบ้าง ซึ่งอาจชี้นำการ deanonymize transaction
  • เข้ากันได้กับ Tor hidden service: เวลาเปิด onion address ให้ daemon การเพิ่มชั้น authentication ทำให้ adversary ที่ได้ .onion มาบังเอิญยังไม่สามารถใช้งานได้ทันที
  • ป้องกัน CSRF จาก browser: หาก daemon รันบน localhost แต่เปิด CORS หลวม ๆ เว็บที่ใช้ XMR.to หรือ explorer แบบ embed อาจยิงคำสั่งเข้ามาได้

โครงสร้างของ RPC authentication ใน monerod

Monero ใช้ HTTP Digest Authentication ตามมาตรฐาน RFC 7616 ไม่ใช่ Basic Auth ธรรมดา จุดนี้สำคัญเพราะหลายคนพยายามตั้งค่าโดยอิงจาก nginx Basic Auth แล้วงงว่าทำไม wallet ไม่ยอมเชื่อม คำตอบคือ Digest Auth ใช้การส่ง hash ของรหัสผ่านรวมกับ nonce ที่ server สร้างขึ้นใหม่ทุก request ทำให้ปลอดภัยกว่า Basic Auth ที่ส่ง base64 ของรหัสผ่านดิบ ๆ ทุกครั้ง โดยฝั่ง wallet จะคำนวณ response hash ด้วยอัลกอริทึม MD5 ซึ่งแม้จะดูเก่า แต่ในบริบทของ challenge-response แบบนี้ยังถือว่าใช้ได้ในระดับการป้องกัน opportunistic attack

เมื่อสตาร์ท monerod ด้วยพารามิเตอร์ --rpc-login username:password ตัว daemon จะตอบกลับ HTTP 401 Unauthorized พร้อม header WWW-Authenticate ที่มี realm ชื่อ "monero-rpc" และ nonce ที่สด ฝั่ง wallet หรือ client ต้องอ่าน header นี้ แล้วส่ง Authorization header กลับมาในรูปแบบ Digest พร้อม username ที่ตรงกัน หาก credentials ผิดแม้แต่ตัวอักษรเดียว daemon จะคืน 401 อีกครั้ง ไม่มีการบอกใบ้ว่าผิดที่ user หรือ password ซึ่งเป็นพฤติกรรมที่ถูกต้องตามหลัก security ที่ดี

รูปแบบ flag ที่ต้องรู้

การตั้ง username password มีหลาย flag ที่ใช้คู่กันได้ ที่พบบ่อยที่สุดคือ --rpc-login ตามด้วยรูปแบบ user:pass แบบ inline เช่น --rpc-login somchai:RaaSn4kePwd2026 ในกรณีที่ไม่อยากให้รหัสผ่านโผล่ใน process list เราจะใช้ --rpc-access-control-origins ร่วมกับ --confirm-external-bind หรือเก็บรหัสผ่านไว้ในไฟล์ config แล้วเรียกผ่าน --config-file ก็ได้ ฝั่ง wallet GUI จะกรอกข้อมูลเดียวกันนี้ในช่อง Daemon username และ Daemon password ที่หน้า Settings > Node

ข้อควรระวังคือเครื่องหมายพิเศษในรหัสผ่าน ทั้ง shell บน Linux และ Command Prompt บน Windows ตีความเครื่องหมาย $ ! & ` < > | แตกต่างกัน หากตั้งรหัสผ่านยาว ๆ แล้วลืม escape อาจเจอ error แปลก ๆ ตอน start เลยควรห่อทั้ง argument ด้วย single quote บน Linux หรือใช้ไฟล์ config แทน เนื้อหาในไฟล์ไม่ผ่าน shell expansion ทำให้ปลอดภัยกว่า

วิธีตั้งฝั่ง monerod ทีละขั้น

เริ่มจากการเตรียม environment ของ daemon ก่อน เพราะหากฝั่ง daemon ยังไม่บังคับ login ฝั่ง GUI จะไม่ต้องกรอกรหัสอะไรเลย และในขณะเดียวกัน หากเรากรอกใน GUI แต่ daemon ไม่ได้ตั้งไว้ ก็จะเชื่อมไม่ติดเช่นกัน เพราะ wallet จะคาดหวัง challenge ที่ไม่มา

วิธีที่ 1 ใช้ command line argument

เปิด terminal บน Linux หรือ PowerShell บน Windows แล้วรันคำสั่งดังนี้ บน Ubuntu Server ที่ผู้ใช้ไทยส่วนใหญ่เช่าจาก NIPA Cloud หรือ Catcloud จะมีลักษณะ

  1. หยุด monerod ตัวเดิมก่อน ด้วย systemctl stop monerod หรือกด Ctrl+C ในหน้าต่างที่รันอยู่
  2. เปิดไฟล์ service หรือเตรียมคำสั่งใหม่ โดยใช้ผู้ใช้ที่ไม่ใช่ root
  3. รัน ./monerod --rpc-bind-ip 0.0.0.0 --confirm-external-bind --rpc-login pikun:K0nThai!Monero2026 --restricted-rpc โดยที่ pikun คือ username และที่เหลือคือ password
  4. flag --restricted-rpc สำคัญมาก มันจะปิด method อันตรายเช่น set_log_level ทำให้ผู้ที่ผ่าน auth เข้ามาก็ยังทำอะไรได้จำกัด
  5. รอจน daemon sync จบหรืออย่างน้อยถึง block ปัจจุบัน ดูได้จาก log บรรทัด SYNCHRONIZED OK
  6. ทดสอบด้วย curl http://127.0.0.1:18081/json_rpc -d {"jsonrpc":"2.0","method":"get_info"} -H "Content-Type: application/json" จะต้องได้ 401 Unauthorized กลับมา แสดงว่า auth บังคับใช้แล้ว
  7. ทดสอบซ้ำด้วย curl --digest -u pikun:K0nThai!Monero2026 จะต้องได้ JSON ที่มี height และ status OK

วิธีที่ 2 ใช้ไฟล์ config

สำหรับผู้ที่ต้องการ deploy ระยะยาว ควรเก็บค่าทั้งหมดไว้ในไฟล์ /etc/monero/monerod.conf หรือ ~/.bitmonero/monerod.conf เนื้อหาตัวอย่างคือ data-dir=/var/lib/monero พร้อม rpc-bind-ip=0.0.0.0 และ rpc-login=pikun:K0nThai!Monero2026 ตามด้วย restricted-rpc=1 และ confirm-external-bind=1 จากนั้นเรียก monerod --config-file=/etc/monero/monerod.conf แค่นี้ ข้อดีคือไฟล์อ่านได้เฉพาะเจ้าของ ลองตั้ง chmod 600 เพื่อกันไม่ให้ user อื่นบนระบบเห็นรหัส

เคล็ดลับสำหรับชาวไทย หากเช่า VPS จาก Hostatom หรือ Cloud HM ที่ใช้ panel แบบ cPanel อย่าตั้ง username เป็น admin หรือ monero ตรง ๆ เพราะ wordlist ของ brute-force bot มักเริ่มจากคำพวกนี้ ลองใช้คำสุ่ม 8-12 ตัวอักษรที่ไม่มีความหมาย

กรอก username password ใน Monero GUI ตรงไหนกันแน่

นี่คือคำถามที่คนถามใน Telegram group ภาษาไทยมากที่สุดในช่วงครึ่งแรกของปี 2026 หลังจากที่ทีม Monero ออก GUI v0.18.4 มีการปรับ layout ของหน้า Settings ใหม่ ทำให้คนที่เคยใช้ v0.18.2 หาช่องเดิมไม่เจอ คำตอบสั้น ๆ คือไปที่ Settings ที่อยู่มุมล่างซ้าย จากนั้นเลือกแท็บ Node บน v0.18.4 หรือแท็บ Remote node บน v0.18.3 ขึ้นไป จะเห็นช่อง Address ช่อง Port ช่อง Daemon username และช่อง Daemon password ครบ

หากเรารัน daemon บน localhost ของเครื่องเดียวกับ wallet ให้กรอก Address เป็น 127.0.0.1 และ Port เป็น 18081 จากนั้นกรอก username และ password ที่ตั้งไว้ฝั่ง monerod แล้วกดปุ่ม Connect หาก wallet ขึ้นว่า Connected สีเขียวที่มุมขวาบน แปลว่าเรียบร้อย หากขึ้น Disconnected สีแดงหรือ Connecting วนไป มีโอกาสสูงที่ credentials ไม่ตรง ลองตรวจสอบตัวอักษรเล็กใหญ่ก่อนเสมอ

กรณีเชื่อม remote node ของตัวเองผ่าน Tor

ผู้ใช้สาย privacy ในไทยที่ไม่อยากให้ ISP เห็น traffic ไปยัง node ของตัวเอง นิยมตั้ง .onion v3 hidden service ครอบ daemon การตั้งค่าใน GUI ทำได้โดยเปิด tab Tor/i2p proxy ในหน้า Settings ใส่ 127.0.0.1:9050 เป็น SOCKS5 proxy แล้วใส่ที่อยู่ Address เป็น abcdef1234567890abcdef1234567890abcdef1234567890abcdef.onion พอร์ต 18089 username และ password ตามที่ตั้ง การเชื่อมจะช้ากว่า clearnet ประมาณ 1-3 วินาทีในการ handshake ครั้งแรก แต่ทุกหลังจากนั้นจะเร็วใกล้เคียงปกติ

ข้อควรรู้คือ Monero GUI v0.18.4 มี checkbox ใหม่ชื่อ Proxy DNS over Tor ที่ควรเปิดทุกครั้งที่ใช้ onion address มิฉะนั้น wallet อาจ leak DNS query ผ่าน resolver ของ ISP ก่อนที่จะรู้ว่าปลายทางเป็น hidden service การเปิด checkbox นี้บังคับให้ทุก hostname resolve ผ่าน Tor circuit ลด surface ของ deanonymize ลงอย่างมาก

ตารางเปรียบเทียบรูปแบบการเชื่อมต่อ

รูปแบบข้อดีข้อเสียเหมาะกับใคร
Localhost ไม่มี auth ตั้งง่ายที่สุด ความเร็วสูงสุด เสี่ยงหาก malware ในเครื่องเดียวกัน ผู้ใช้ desktop ส่วนตัวบ้านเดียว
Localhost พร้อม rpc-login ป้องกัน CSRF จาก browser แท็บอื่น ต้องจำรหัส ผู้ใช้ที่เปิด browser หลายอันพร้อมกัน
VPS ไทย + rpc-login + TLS เข้าจากมือถือได้ ปลอดภัยพอใช้ ISP เห็นว่ามี traffic ไป VPS เทรดเดอร์ที่ใช้ทั้ง desktop และ mobile
VPS ต่างประเทศ + Tor hidden service privacy ระดับสูง ISP ไม่เห็นปลายทาง ต้องดูแล Tor service เพิ่ม ผู้ใช้สาย privacy เต็มขั้น
Remote node สาธารณะ ไม่ต้อง maintain อะไรเลย เจ้าของ node เห็น query ของเรา ผู้เริ่มต้น มือใหม่ทดลองเล่น

แก้ปัญหา error ที่พบบ่อยใน Monero GUI

เมื่อกรอก daemon username password ไปแล้วและเชื่อมไม่ติด ปัญหาส่วนใหญ่ตกอยู่ในห้ากลุ่มหลัก การวินิจฉัยจะเริ่มจาก log ของ daemon ก่อน เพราะมัน verbose กว่าฝั่ง GUI ที่บอกแค่ Disconnected เปิดดู log ที่ ~/.bitmonero/bitmonero.log แล้วดูบรรทัดล่าสุดในช่วงที่กดปุ่ม Connect บน GUI

Error 401 Unauthorized

หาก log บอก [RPC] Authorization failed แสดงว่า credentials ไม่ตรงกัน 100% เปอร์เซ็นต์ ตรวจสอบสามจุด หนึ่งคือลำดับ user:pass ไม่ใช่ pass:user สองคือ Caps Lock ไม่ติด สามคืออักขระภาษาไทยที่อาจถูกแทรกจาก keyboard layout บางครั้ง keyboard ไทยจะใส่สระลอยโดยที่เราไม่รู้ตัว ทดสอบโดยพิมพ์ลงใน text editor ก่อนแล้ว copy paste ไปทั้งสองฝั่ง

Connection refused

หาก wallet บอก Could not connect to daemon ปัญหาอยู่ที่ network ไม่ใช่ auth ตรวจดูว่า monerod รันอยู่จริงด้วย ss -tlnp ถ้าใช้ Linux หรือ netstat -an บน Windows ค้นหา 18081 หากไม่เจอ daemon อาจ crash ไปแล้ว ถ้าเจอแต่ bind อยู่ที่ 127.0.0.1 เท่านั้นและเราพยายามเข้าจากเครื่องอื่น แสดงว่าลืมใส่ --rpc-bind-ip 0.0.0.0 ส่วน firewall ของไทยทั้งฝั่ง ISP เองและ ufw บน VPS อาจ block พอร์ตด้วย

Sync ค้างที่ block เดิม

หาก wallet เชื่อมได้แต่ block height ไม่ขยับ ตรวจ daemon ก่อนว่า sync ครบหรือยังด้วย curl --digest -u user:pass http://127.0.0.1:18081/json_rpc -d {"jsonrpc":"2.0","method":"get_info"} ดูค่า height กับ target_height หากเท่ากันแปลว่า daemon sync ครบ ปัญหาอยู่ที่ wallet กำลัง scan transaction ของตัวเองอยู่ ซึ่งเป็นปกติ wallet ใหม่อาจใช้เวลา 10-60 นาทีในการ scan ขึ้นกับจำนวนธุรกรรม

Daemon Disconnected ทันทีหลัง Connect

กรณีนี้พบบ่อยในผู้ใช้ที่ใช้ VPN เช่น Mullvad หรือ ProtonVPN เพราะ exit IP เปลี่ยนกลางคัน ทำให้ Tor circuit หรือ TCP session ตาย แก้โดยตั้ง VPN เป็น kill switch mode หรือใช้ Tor ภายในเครื่องแทน VPN ผู้ใช้ในไทยที่ใช้ VPN ภายในประเทศต้องระวังเพิ่ม เพราะ CG-NAT ของ ISP อาจ rotate public IP ทุก 24 ชั่วโมง

Error เกี่ยวกับ SSL certificate

ถ้าเปิด --rpc-ssl บน daemon และ wallet บ่นเรื่อง certificate ไม่ถูกต้อง แสดงว่า self-signed certificate ที่ daemon สร้างไม่ตรงกับที่ wallet คาดหวัง ทางออกคือ copy fingerprint จาก daemon ไปใส่ในช่อง --daemon-ssl-ca-certificates หรือเปลี่ยนเป็น Let's Encrypt cert ผ่าน nginx reverse proxy

ตัวอย่างจริงจากนักพัฒนาในเชียงใหม่

คุณภูริ นักพัฒนา freelance ในเชียงใหม่ที่รับงานสาย privacy software เคยเล่าใน meetup ของกลุ่ม Monero Thailand เดือนกุมภาพันธ์ 2026 ว่าเขาตั้ง monerod ไว้บน mini PC ที่บ้านในตำบลแม่เหียะ เชื่อมต่อกับ Wi-Fi 6 ของ AIS Fibre 1Gbps จากนั้น expose ผ่าน Tailscale และ Tor hidden service ทั้งสองทาง การตั้งค่า rpc-login ใช้ username เป็นชื่อสุนัขของเขาผสมตัวเลขสุ่ม 6 หลัก ส่วน password ใช้ diceware ภาษาอังกฤษ 8 คำเพื่อให้พิมพ์ผ่าน virtual keyboard ของมือถือได้ง่าย

เมื่อเดินทางไปงานที่ Bangkok Blockchain Week ที่ผ่านมา เขาเปิด Monero GUI บน laptop ในโรงแรม ใส่ Tor proxy 127.0.0.1:9150 ของ Tor Browser ที่เปิดอยู่ แล้วใส่ที่อยู่ .onion ของ daemon ที่บ้าน พร้อม username และ password ที่จำได้ขึ้นใจ ใช้เวลาเชื่อมต่อ 8 วินาที จากนั้นใช้งาน wallet ได้ทันที โดยไม่ต้องเชื่อใจ remote node ใด ๆ ในเครือข่าย public WiFi ของโรงแรม ค่าใช้จ่ายของเขาตลอดเดือนคือค่าไฟของ mini PC ประมาณ 60-80 บาทเท่านั้น ถูกกว่าค่าบริการ remote node แบบเสียเงินส่วนใหญ่

กรณีของคุณภูริชี้ให้เห็นว่า การลงทุนเรียนรู้ rpc-login ครั้งเดียวให้ผลตอบแทนระยะยาว เพราะ stack นี้ทำงานเสถียรมานานหลายปี ไม่ต้องอัปเดตบ่อย หากตั้งครั้งเดียวถูก ก็แทบไม่ต้องแตะอีกเลย ยกเว้นช่วงที่ upgrade monerod ตาม hard fork ที่ในปี 2026 มีกำหนด FCMP++ ราว ๆ ปลายปีตามที่ทีม Core Team ประกาศ

เทคนิคขั้นสูงและ best practice

สำหรับผู้ที่จริงจังมากขึ้น มีหลายเทคนิคที่ทำให้ระบบ rpc-login ของเราแข็งแกร่งขึ้น เริ่มจากการ rotate password ทุก 90 วัน ซึ่งเป็นมาตรฐานที่ ก.ล.ต. แนะนำสำหรับผู้ประกอบการธุรกิจสินทรัพย์ดิจิทัล แม้เราจะไม่ใช่ business ก็สามารถใช้แนวทางเดียวกันได้ การ rotate ทำได้โดยแก้ค่าใน config file แล้ว reload daemon ด้วย systemctl reload monerod หรือถ้าใช้ command line ก็ต้อง stop start ใหม่

เทคนิคต่อมาคือการแยก user ออกเป็น role-based ฝั่ง daemon รองรับ --rpc-login เพียงคู่เดียว แต่เราสามารถวาง nginx หรือ Caddy เป็น reverse proxy แล้วทำ authentication layer เพิ่มที่นั่น เช่น user ชื่อ readonly ใช้สำหรับ wallet ที่อ่านอย่างเดียว และ user ชื่อ wallet สำหรับการส่งธุรกรรม วิธีนี้ทำให้ถ้าเครื่องที่ใช้ readonly ถูกขโมย ก็ยังเสียหายไม่ถึงเงิน

การใช้ Fail2ban กับ daemon log

Fail2ban ตัวเก่าแก่ที่ดูแล brute-force มาตั้งแต่ยุค SSH สามารถนำมาใช้กับ monerod log ได้เช่นกัน เขียน filter regex จับบรรทัด Authorization failed ของ daemon แล้ว ban IP ที่ผิดเกิน 5 ครั้งภายใน 10 นาที จะลด noise ของ bot ลงได้มหาศาล โดยเฉพาะบน VPS ที่อยู่ใน ASN ใหญ่ ๆ ที่ scanner รู้กันทั่วบ้านทั่วเมือง

การทำ TLS ระหว่าง wallet กับ daemon

HTTP Digest Auth ป้องกัน replay attack ภายในเวลา nonce หมดอายุ แต่ไม่ได้เข้ารหัสเนื้อหา request และ response หากใครก็ตามดักได้กลางทางจะเห็น JSON ของ block ที่เราขอ ซึ่งบ่งบอกพฤติกรรมการใช้งานของ wallet ได้ การห่อด้วย TLS จึงเป็นชั้นเสริมที่สำคัญ Monero รองรับผ่าน --rpc-ssl และ --rpc-ssl-private-key ฝั่ง GUI เปิดผ่าน checkbox SSL ในหน้า Settings node เลือก autodetect หรือ enabled ตามต้องการ

ข้อควรระวังด้านกฎหมายและภาษีไทย

การรัน Monero node ในประเทศไทยไม่ผิดกฎหมาย พ.ร.ก. การประกอบธุรกิจสินทรัพย์ดิจิทัล พ.ศ. 2561 มุ่งกำกับธุรกิจตัวกลาง ไม่ใช่ผู้ใช้รายย่อยที่ run node ของตนเอง อย่างไรก็ตาม การมีกำไรจากการขาย Monero ยังต้องเสียภาษีตามที่กรมสรรพากรกำหนด โดยเข้าเกณฑ์เงินได้พึงประเมินประเภท 4(ซ) มีอัตราภาษีหัก ณ ที่จ่าย 15% ของกำไร และต้องนำไปรวมคำนวณภาษีเงินได้บุคคลธรรมดาประจำปี

เรื่องสำคัญอีกประเด็นคือสำนักงาน ปปง. ที่ดูแล AML หากธุรกรรมเข้าเกณฑ์ที่ต้องรายงาน เช่น เกิน 2 ล้านบาทต่อครั้ง หรือพฤติกรรมต้องสงสัย อาจถูกขอข้อมูล สำหรับผู้ใช้รายย่อยที่ใช้ Monero เพื่อความเป็นส่วนตัวทั่วไป การมี node ของตัวเองพร้อม rpc-login ไม่ได้เพิ่มความเสี่ยงด้านกฎหมาย แต่ลดความเสี่ยงด้านความเป็นส่วนตัวอย่างมีนัยสำคัญ

ทั้งนี้แนะนำให้ผู้ใช้ในไทยเก็บ record ของ swap ทุกครั้ง ทั้งฝั่ง BTC USDT THB ที่ส่งเข้ามาและ XMR ที่ได้รับออกไป เพราะหาก ก.ล.ต. หรือ ธปท. ขอข้อมูลผ่านศูนย์ซื้อขายอย่าง Bitkub Orbix หรือ Z.com THB การมีหลักฐานต้นทางที่ชัดเจนช่วยอธิบายธุรกรรมได้ดีกว่ามาก แนวทางนี้สอดคล้องกับที่ MoneroSwapper แนะนำลูกค้าทุกประเทศ คือใช้ Monero เพื่อ privacy ไม่ใช่เพื่อหลบเลี่ยงภาษี

FAQ

ถ้าลืม password ที่ตั้งไว้ใน rpc-login ทำอย่างไร

คำตอบคือไม่มีวิธี recover เพราะ daemon ไม่ได้เก็บ password ในรูปแบบที่อ่านได้ ทางออกเดียวคือ stop monerod แล้ว start ใหม่ด้วย rpc-login ค่าใหม่ จากนั้นแก้ค่าในไฟล์ config และอัปเดตช่องใน Monero GUI ให้ตรงกัน blockchain ที่ sync ไว้แล้วยังอยู่ครบ ไม่ต้องดาวน์โหลดใหม่ ใช้เวลารวมทั้งหมดไม่เกิน 5 นาที

username password ที่ตั้งใน daemon เหมือนกับ password ของ wallet หรือไม่

ไม่ใช่อย่างเด็ดขาด เป็นคนละชั้นกัน password ของ wallet ใช้ปลด keys.dat ที่เก็บ spend key และ view key ไว้ในเครื่อง ส่วน rpc-login เป็น authentication เพื่อพูดคุยกับ daemon เท่านั้น แม้ใครได้ rpc-login ของเราไป ก็ไม่สามารถเปิด wallet หรือเซ็นธุรกรรมแทนเราได้ เพราะไม่มี spend key อย่างไรก็ตามไม่ควรใช้ password ซ้ำกันระหว่างสองชั้นนี้ เพื่อป้องกัน lateral movement

ใช้ remote node ของคนอื่นแทนการตั้ง daemon เองได้ไหม

ได้ แต่ต้องเข้าใจ trade-off ผู้ให้บริการ remote node สาธารณะส่วนใหญ่ไม่บังคับ rpc-login หากเชื่อมต่อกับ node ของบุคคลที่สามที่ไม่ได้ตั้งค่า authentication เราก็ไม่ต้องใส่ username password และเจ้าของ node อาจเห็นว่าเราขอข้อมูล block ใดและ broadcast transaction ใด แม้จะไม่เห็นเนื้อใน transaction เพราะ Monero มี RingCT แต่ก็ยังเปิดเผย metadata บางส่วน ผู้ที่ใส่ใจ privacy จึงเลือกตั้ง node เองหรือใช้ paid private node ที่เชื่อถือได้

Monero GUI v0.18.4 หาช่อง daemon username password ไม่เจอ

ในเวอร์ชันใหม่นี้ ทีมพัฒนาย้าย field ไปอยู่ใต้ Advanced options ของหน้า Settings > Node ต้องกดปุ่ม Show advanced ก่อนจึงจะเห็นช่อง Daemon username และ Daemon password ปรากฏขึ้น หากไม่เห็นเลย แสดงว่ายังอยู่ใน Simple mode ของ wallet ให้ไปที่ Settings > Interface เปลี่ยนเป็น Advanced mode แล้ว restart GUI

ตั้ง rpc-login แล้ว wallet CLI ใช้งานต่างจาก GUI หรือไม่

หลักการเดียวกัน แต่ syntax ต่างกัน wallet CLI ใช้ flag --daemon-login user:pass ตอนเรียกโปรแกรม หรือพิมพ์ set daemon ตามด้วย URL ที่มี user:pass ฝังในรูปแบบ http://user:pass@127.0.0.1:18081 ส่วน Feather Wallet ที่ผู้ใช้ไทยหลายคนชอบใช้คู่กัน ก็มีช่อง daemon username password ในหน้า Settings เช่นเดียวกัน รูปแบบและความหมายตรงกันทั้งหมด

ถ้าใช้ Monero GUI บน Tails OS ต้องเปลี่ยนวิธีตั้งไหม

Tails ใช้ AppArmor profile ที่จำกัด network access ของ wallet ให้ผ่าน Tor เท่านั้น การกรอก username password ทำแบบเดียวกับบน OS ปกติ แต่ Address ต้องเป็น .onion เสมอ หากใส่ clearnet IP จะถูก block ระดับ kernel ผู้ใช้สาย privacy ในไทยที่เดินทางบ่อยนิยมใช้ Tails บูตจาก USB คู่กับ daemon ที่บ้านผ่าน hidden service

สรุปและก้าวต่อไป

การตั้ง username password ให้ Monero daemon ไม่ใช่เรื่องของผู้เชี่ยวชาญด้านความปลอดภัยเท่านั้น แต่เป็นมาตรฐานพื้นฐานสำหรับทุกคนที่ run node ของตนเองในยุคที่ scanner ทำงานตลอด 24 ชั่วโมง การลงทุนเวลา 15 นาทีในการเรียนรู้ rpc-login และตั้งค่าครั้งเดียว ช่วยป้องกันปัญหายาวนานหลายปี ผู้ใช้ในประเทศไทยที่ต้องการความเป็นส่วนตัวระดับสูงสุด ควรประกอบ stack นี้คู่กับ Tor hidden service และ Fail2ban เพื่อให้แข็งแกร่งทั้งด้าน privacy และ security

หากคุณยังไม่พร้อม run daemon ของตัวเอง แต่ต้องการแลก BTC USDT หรือสกุลอื่นเป็น Monero โดยไม่ผ่าน KYC ลองดู บริการซื้อ Monero แบบไม่ระบุตัวตน ของ MoneroSwapper ที่รองรับลูกค้าไทยตลอด 24 ชั่วโมง รับเงินเป็นภาษาไทย อ่านคู่มืออื่นที่เกี่ยวข้องเพิ่มเติม ได้แก่ การตั้งค่า Tor สำหรับ Monero GUI การใช้ Feather Wallet บน Tails และการตั้ง P2Pool ส่วนตัวสำหรับนักขุด Monero ในไทย ทั้งหมดออกแบบให้ผู้อ่านชาวไทยใช้งานจริงได้ทันที

แชร์บทความนี้

บทความที่เกี่ยวข้อง

แลกเปลี่ยน Monero แบบไม่ระบุตัวตน

ไม่ต้อง KYC • ไม่ต้องสมัคร • แลกเปลี่ยนทันที

แลกเปลี่ยนเดี๋ยวนี้