Monero (XMR) เป็นสกุลเงินดิจิตอลระบบเปิด (open-source cryptocurrency) ที่สร้างขึ้นเมื่อเดือนเมษายน 2014 โดยให้ความสำคัญกับเรื่องความเป็นส่วนตัว (privacy) การกระจายข้อมูล (decentralization) และความยืดหยุ่น (scalability) ซึ่งแตกต่างจากสกุลเงินดิจิตอลจำนวนมากที่เป็นอนุพันธ์ของ Bitcoin
ทั้งนี้ Monero ใช้โปรโตคอล CryptoNote ซึ่งมีความแตกต่างด้านอัลกอริทึมเพื่อสร้าง Blockchain ที่ซับซ้อน ทั้งนี้ โครงสร้างแบบโมดูลของ Monero ได้รับการยกย่องจาก Wladimir J. van der Laan ซึ่งเป็นผู้ดูแลระบบจาก Bitcoin Core และ Monero มีการเติบโตอย่างรวดเร็วด้านมูลค่าตลาด (จาก 5 ล้านดอลลาร์สหรัฐถึง 185 ล้านดอลลาร์สหรัฐ) รวมถึงจำนวนการทำธุรกรรมในปี 2016 ซึ่งส่วนหนึ่งมาจากการที่ Alpha Bay นำระบบดังกล่าวมาใช้ในช่วงปลายฤดูร้อนปี 2016 โดยในปี 2017 Monero ก็ขึ้นมาเป็นสกุลเงินดิจิตอลที่มีซื้อขายกันมากที่สุดเป็นอันดับที่ 6 โดยมีส่วนแบ่งทางการตลาดสูงกว่า 600,000,000 ดอลลาร์สหรัฐ
ความเป็นมา (History)
Monero เปิดตัวเมื่อวันที่ 18 เมษายน 2014 ภายใต้ชื่อ BitMonero ซึ่งเป็นการผสมคำว่า Bit (เช่นที่ใช้ในคำว่า Bitcoin) และ Monero (แปลว่า “เหรียญ” ในภาษาเอสโตเนีย) ซึ่งในระยะเวลา 5 วันต่อมา ชุมชนผู้ใช้สกุลเงินดังกล่าวก็ได้เรียกชื่อสกุลเงินนี้ให้สั้นลงโดยเหลือเพียงคำว่า Monero ซึ่ง Monero ถูกเปิดตัวในฐานะการแตกสาขา (fork) ของ Bytecoin ที่ใช้โปรโตคอล CryptoNote แต่ Monero ถูกปล่อยตัวออกมาพร้อมข้อแตกต่างที่สำคัญ 2 ประการ
- ประการแรก เป้าหมายของการสร้างบล็อกลดลงจากระยะเวลา 120 เป็น 60 วินาที
- ประการที่สอง ความเร็วในการปล่อย XMR ลดลง 50% (ภายหลัง Monero ได้กลับไปใช้เป้าหมายในการสร้างบล็อกที่ระยะเวลา 120 วินาที พร้อมรักษาจังหวะในการปล่อย XMR โดยเพิ่มการปล่อย XMR เป็นสองเท่าต่อบล็อกใหม่หนึ่งบล็อก) นอกจากนั้น นักพัฒนา Monero พบว่ามีปัญหาจำนวนมากเกิดขึ้นจากรหัสที่ด้อยคุณภาพ แต่ในระยะเวลาต่อมาก็มีการลบรหัสนั้นและสร้างรหัสขึ้นขึ้นมาใหม่
ในระยะเวลาไม่กี่สัปดาห์หลังจากการเปิดตัว Monero กลไก Proof of Work (PoW) ของ CryptoNight ซึ่งใช้หน่วยประมวลผลกราฟฟิก (GPU) ก็ได้ถูกพัฒนาขึ้นมาสำหรับ Miner
เมื่อวันที่ 4 กันยายน 2014 Monero ก็สามารถฟื้นตัวจากการโจมตีที่มีความผิดปกติและแปลกใหม่ผ่านเครือข่ายระบบเงินดิจิตอล
เมื่อวันที่ 10 มกราคม 2017 มีการเพิ่มระดับความเป็นส่วนตัวในการทำธุรกรรมผ่าน Monero ให้สูงขึ้นด้วยการใช้ฟีเจอร์ Ring Confidential Transactions (RingCT) ของ Gregory Maxwell ซึ่งเป็นนักพัฒนาของ Bitcoin Core โดยเริ่มต้นด้วยบล็อก #1220516 ทั้งนี้ มีการใช้ลายเซ็นวงแหวนเพื่อเพิ่มระดับชั้นการรักษาความลับโดยซ่อนปริมาณการทำธุรกรรมเพื่อไม่ให้บุคคลที่ไม่มีส่วนร่วมโดยตรงเห็น การใช้ RingCT ในการทำธุรกรรมถูกกำหนดเป็นค่าเริ่มต้น (default) อย่างไรก็ตาม ผู้ใช้ยังคงสามารถส่งธุรกรรมได้แม้ไม่ใช้ RingCT ก็ตามจนกว่าจะมีการแตกสาขาแบบ hard fork ในเดือนกันยายนปี 2017 ทั้งนี้ เมื่อต้นเดือนกุมภาพันธ์ พบว่า 95% ของการทำธุรกรรมที่ไม่ผ่าน coinbase นั้นใช้ RingCT
ลักษณะเด่น (Feature)
Monero เป็นสกุลเงินดิจิตอลที่มีกลไก Proof of Work ระบบเปิด (open-source cryptocurrency) ซึ่งสามารถทำงานบนระบบปฏิบัติการ Windows, Mac, Linux และ FreeBSD
Monero จะมีการปล่อย XMR ตลอดเส้นโค้งอยู่ที่ประมาณ 18.4 ล้านเหรียญสำหรับการขุดเงินในเวลาประมาณ 8 ปี (กล่าวโดยละเอียดคือจะมีการปล่อย XMR อยู่ที่ 18.132 ล้านเหรียญโดยประมาณในช่วงปลายเดือนพฤษภาคมปี 2022) หลังจากนั้น “การปล่อย XMR ช่วงท้าย” จะคงตัวอยู่ที่ 0.6 XMR ต่อการสร้างบล็อกระยะเวลา 2 นาที (มีการปรับเปลี่ยนระยะแรกซึ่งอยู่ที่ 0.3 XMR ต่อบล็อกระยะเวลา 1 นาที) ซึ่งจะสร้างอัตราเงินเฟ้อต่อเนื่องที่ -1% (ซึ่งเริ่มจากอัตราเงินเฟ้อ 0.87% ต่อปีในเดือนพฤษภาคมปี 2022) เพื่อป้องกันการขาดแรงจูงใจของ Miner
เมื่อสกุลเงินดังกล่าวไม่สามารถทำการขุดได้อีกต่อไป การปล่อย XMR จะค่อย ๆ ลดลง โดยไม่มีตัดแบ่งบล็อก (บล็อกใด ๆ ที่ก่อให้เกิด XMR น้อยกว่า XMR ก่อนหน้านี้ โดยใช้สูตร: การปล่อย XMR ต่อ บล็อกระยะเวลา 2 นาที = max (0.6, floor ((M – A) × 2-19) × 10-12) XMR, โดยที่ M = 264 – 1 และ A = 1012 เท่าของปริมาณ XMR ที่ปล่อยออกมาแล้ว) หน่วยของเงินที่น้อยสุดที่สามารถใช้ได้คือ 10-12 XMR โครงสร้างกลไก Proof of Work ของ CryptoNight ที่เน้นการเข้ารหัสลับแบบ AES (Advanced Encryption Standard) และใช้หน่วยความจำเยอะมากนั้นจะเป็นการลดทอนข้อได้เปรียบของหน่วยประมวลผลกราฟฟิก (GPU) เมื่อเปรียบเทียบกับหน่วยประมวลผลกลาง (CPU)
ความเป็นส่วนตัว (Privacy)
Monero มีวิธีการปกป้องความเป็นส่วนตัว 3 วิธี สำหรับการทำธุรกรรมทั้งหมดบนเครือข่าย ได้แก่
- ลายเซ็นวงแหวน (ring signatures) เพื่อซ่อนแอดเดรสที่ทำการส่งข้อมูล
- Ring Confidential Transactions (RingCT) เพื่อซ้อนปริมาณการทำธุรกรรม (ปัจจุบัน RingCT ถูกใช้เป็นค่าเริ่มต้นและจะมีการบังคับใช้ RingCT ตั้งแต่สิ้นปี 2017 เป็นต้นไป)
- แอดเดรสลับ (Stealth addresses) เพื่อซ่อนแอดเดรสที่ทำการรับธุรกรรม
ทั้งนี้ Monero อยู่ในระหว่างการพัฒนาวิธีการป้องกันที่สี่ ซึ่งวางแผนไว้เพื่อปกปิดโหนดต้นทาง (origin node) สำหรับการทำธุรกรรมใน I2P และ Kovri router ทั้งนี้ เนื้อหาในย่อหน้าต่อไปนี้จะกล่าวถึงเทคโนโลยีทั้ง 3 ข้อนี้อย่างละเอียดมากขึ้น
ดีมอนของ Monero นั้นใช้โปรโตคอล CryptoNote เดิม ยกเว้นในส่วนที่มีการเปลี่ยนแปลงในระยะแรก (เช่น ระยะเวลาบล็อกและความเร็วในการปล่อย XMR) สำหรับตัวโปรโตคอลเองนั้นจะใช้ “ลายเซ็นวงแหวนแบบใช้ครั้งเดียว (one-time ring signatures)” และใช้แอดเดรสลับ (stealth addresses) ทั้งนี้ การเข้ารหัสลับพื้นฐานนั้นมาจากไลบรารีของ Daniel J. Bernstein ซึ่งรองรับ Ed25519 โดยใช้ลายเซ็น ชนอรร์ (Schnorr signatures) บนเส้นโค้งบิด Twisted Edwards curve ซึ่งผลลัพธ์ที่ได้คืออัลกอริทึมที่ผ่านการทดสอบอย่างหนักและมีการผสมผสานกันระหว่างคุณสมบัติด้านการกระจายข้อมูล (decentralized) และบทบาทเชิงรับ (passive) เพื่อเตรียมวิธีการเข้าถึงข้อมูลมีประสิทธิภาพให้ผู้ใช้
อย่างไรก็ตาม ศูนย์วิจัย Monero มีข้อเสนอเพื่อพัฒนาปรับปรุง Monero ในหลายประการ ซึ่งครอบคลุมการใช้ลายเซ็นวงแหวนอย่างมีประสิทธิภาพ เพื่มเพิ่มคุณภาพด้านความเป็นส่วนตัวให้มากขึ้น ซึ่งข้อเสนอนี้รวมไปถึง “นโยบายแบบผสมผสานทั่วเครือข่ายในระดับโปรโตคอลของตัวส่งออก n = 2 ต่อหนึ่งลายเซ็นวงแหวน (a protocol-level network-wide minimum mix-in policy of n = 2 foreign outputs per ring signature)” และ “วิธีการคัดเลือกตัวส่งออกจากข้อมูลทำธุรกรรมที่มีรูปแบบไม่สม่ำเสมอเพื่อสร้างวงแหวน (a nonuniform transaction output selection method for ring generation)” และ “วิธีการส่งออกข้อมูล Monero แบบ torrent (a torrent-style method of sending Monero output)” ผู้วิจัยระบุว่า การเปลี่ยนแปลง
ต่าง ๆ เหล่านี้ถูกใช้ใน “Hydrogen Helix” เวอร์ชั่น 0.9.0 ซึ่งช่วยปกป้องความเป็นส่วนตัวของผู้ใช้สกุลเงินกลุ่มที่ใช้โปรโตคอล CryptoNote (CryptoNote-based currency)
ผลที่ตามมาคือ Monero มีฟีเจอร์ Blockchain แบบทึบ (Opaque Blockchain) (พร้อม viewkey ซึ่งเป็นระบบการยินยอมให้เปิดเผย) ในทางตรงกันข้ามกับ Blockchain แบบโปร่งใส (Transparent Blockchain) จะใช้ในสกุลเงินอื่น ๆ ที่ใช้โปรโตคอล CryptoNote ดังนั้น Monero จึงถือได้ว่า “มีความเป็นส่วนตัวและโปร่งใสแบบทางเลือก (private, optionally transparent)” ระบบนี้กำหนดความเป็นส่วนตัวที่เข้มงวดเป็นค่าเริ่มต้น (default) เช่น ระบบใช้ความเป็นกลางสุทธิ (net neutrality) สำหรับ Blockchain (ซึ่ง Miner ไม่สามารถกลายเป็นผู้ดักจับข้อมูลได้ เนื่องจากพวกเขาไม่ทราบว่าการทำธุรกรรมแต่ละธุรกรรมจะไปยังที่ใด และธุรกรรมดังกล่าวประกอบด้วยอะไรบ้าง) ในขณะที่ระบบยังคงอนุญาตให้สามารถทำการตรวจสอบเมื่อต้องการได้ (เช่น การตรวจสอบภาษี หรือการแสดงผลทางการเงินต่อสาธารณะของ NGO) นอกจากนี้ Monero ยังได้รับการยอมรับจากผู้ใช้หลายคนว่า เป็นสกุลเงินที่สามารถแลกเปลี่ยนได้อย่างแท้จริง
ในเดือนเมษายนปี 2017 งานวิจัยหลายฉบับได้วิพากษ์วิจารณ์วิธีการเลือกตัวป้อนเข้า (input) โดยการถกเถียงกันว่า วิธีการในปัจจุบันนี้ทำให้ง่ายต่อการเดาข้อมูลการทำธุรกรรมจริง ทั้งนี้ปี 2017 ข้อคิดเห็นของชุมชนผู้ใช้ Monero กำลังถูกนำมาใช้ดำเนินการปรับปรุงโครงสร้างการเลือกข้อมูลเพื่อให้เกิดการใช้งานจริงที่มีประสิทธิภาพมากขึ้น
นักพัฒนา Monero มีการทำงานโดยใช้ C ++ I2P router ในการเขียนรหัสด้วย ซึ่งจะทำให้เกิดห่วงโซ่ความเป็นส่วนตัว (privacy chain) ที่มีการซ่อน IP addresses
การกระจายข้อมูล (Decentralisation)
Monero นั้นมีความเข้มแข็งจากกลไก Proof of Work โดยเฉพาะการใช้โครงสร้างอัลกอริทึมเพื่อการทำเหมืองข้อมูลที่สามารถทำงานผ่านอุปกรณ์นับพันล้านเครื่องได้อย่างมีประสิทธิภาพ (อุปกรณ์ต่าง ๆ ที่ใช้ CPU แบบ x86) นอกจากนี้ Monero ยังใช้อัลกอริทึม Proof of Work (PoW) ของ CryptoNight ซึ่งได้รับการออกแบบมาเพื่อใช้ใน CPU ธรรมดาด้วย
ฟีจเจอร์การทำเหมืองข้อมูลแบบอัจฉริยะนี้ช่วยให้สามารถทำเหมืองข้อมูลที่โปร่งใส่โดยใช้ CPU จากผู้ใช้คอมพิวเตอร์ที่อยู่ห่างไกลจากเหมืองข้อมูล และอยู่ไกลจากการรวมศูนย์ข้อมูลในเชิงพฤตินัย (facto centralization) ซึ่งการทำงานนี้เป็นไปตามแนวคิดดั้งเดิมด้านสกุลเงิน P2P ที่แท้จริง (a true P2P currency) ของ Satoshi Nakamoto โดยเหมืองข้อมูลอัจฉริยะนี้สามารถใช้งานได้ในทุกระบบการทำงานของ CLI wallet ยกเว้น MacOS
ความยืดหยุ่น (Scalability)
Monero ไม่มีการกำหนดขนาดบล็อกสูงสุดแบบ hard code ซึ่งหมายความว่า Bitcoin ไม่มีการกำหนดคำสั่งป้องกันบล็อกที่ใหญ่กว่า 1 MB อย่างไรก็ตาม Monero ได้สร้างกลไกการลงโทษผ่านระบบการให้รางวัลขึ้น (block reward penalty mechanism) ในโปรโตคอล เพื่อหลีกเลี่ยงการเพิ่มขนาดบล็อกที่ใหญ่เกินไป โดยขนาดบล็อกใหม่ (NBS) จะนำมาเทียบกับขนาดเฉลี่ย M100 ของบล็อกจำนวน 100 บล็อกสุดท้าย โดยหาก NBS> M100 รางวัลจากการสร้างบล็อกก็จะลดลงแบบยกกำลังสองตามจำนวนของ NBS ที่สูงกว่า M100 เช่น ถ้า NBS [10%, 50%, 80%, 100%] มากกว่า M100 ก็จะได้รับรางวัลน้อยลง [1%, 25%, 64%, 100%] ซึ่งโดยทั่วไปแล้วระบบจะไม่อนุญาตให้มีการสร้างบล็อกที่ใหญ่กว่า 2*M100 ทั้งนี้ บล็อกขนาด < = 60kB จะไม่ถูกโทษใด ๆ ในระบบการให้รางวัล
การใช้ระบบการเพิ่มค่าธรรมเนียมแบบไดนามิกที่ 0.10.1 นั้น ใช้สูตร ค่าธรรมเนียม = (R/R0)(M0/M)F0 เมื่อมีการใช้ Monero เพิ่มขึ้น ค่าบริการต่อรายการธุรกรรม (the per-transaction fees) ก็จะลดลงในขณะที่ค่าธรรมเนียมการทำธุรกรรมทั้งหมด (the total transaction fees) จะเพิ่มขึ้น
ทีมงานหลักของ Monero ได้จัดทำระบบ OpenAlias ซึ่งทำให้มีแอดเดรสที่มนุษย์สามารถอ่านได้มากขึ้นและเพิ่มผัง Zooko’s triangle ให้มากขึ้นแบบยกกำลังสอง OpenAlias สามารถใช้งานกับสกุลเงินดิจิตอลใด ๆ ก็ได้ และถูกนำมาใช้งานแล้วใน Monero, Bitcoin (ในเวอร์ชัน Electrum) และ HyperStake
โครงการที่กำลังดำเนินงานอย่างต่อเนื่องและโครงการเสริม (Ongoing work and side projects)
- RingCT: วิธีการทำธุรกรรมลับใน Monero ซึ่งการทำธุรกรรมลับ (Confidential transactions, CT) เป็นวิธีการซ่อนมูลค่าของธุรกรรมใน Bitcoin
- OpenAlias: ระบบการสร้าง alias จาก Blockchain
- Kovri: โซลูชันด้านความเป็นส่วนตัว ซึ่งนำ I2P มาใช้ใน Monero
- URS: แนวคิดด้านการตรวจสอบผู้ใช้ผ่านระบบการประเมินค่าแบบไม่ระบุตัวตน โดยใช้ลายเซ็นวงแหวน (ring signatures)
- 0MQ: ไลบรารี C API ซึ่งเครื่องที่รับบริการ (clients) นำมาใช้เชื่อมต่อกับบริการดีมอนของ Monero
- รหัสช่วยจำของ Electrum สำหรับการกำหนดรหัสใน webwallet
- ทีมงานหลักของ Monero (Monero Core Team) ยังคงดำเนินการต่อไปเพื่อแยกระบบออกจากรหัส Bytecoin ดั้งเดิมที่มีแพทช์จำนวนมากและปรับปรุงการใช้โปรโตคอล CryptoNote