การวางรากฐานครั้งยิ่งใหญ่ของ Ethereum เพื่อไปสู่ World Computer
ปี 2018 นับเป็นอีกปีนึง ที่การเก็งกำไรของตลาด Cryptocurrency เงียบเหงาเป็นอย่างมาก แต่ทำไม
- จำนวนผู้เข้าร่วมงานสัมมนา Devcon 4 ที่ทวีความคึกคักยิ่งกว่าๆ ปีก่อนแบบเทียบไม่ติด ถึงกับขายตั๋วหมดภายในไม่กี่นาที ทั้งที่ราคาตั๋วเข้าร่วมงานมีราคาถึงพันยูโร?
- ปริมาณการใช้งาน Gas ของ Ethereum ก็แทบจะไม่ลดลง ถ้าเทียบกับราคาเหรียญที่ลดลงอย่างมาก?
เดิมทีวันนี้ Ethereum จะมีการ fork หรือปรับปรุงระบบ โดยมีชื่อเรียกว่า Constantinople ซึ่งจะเกิดขึ้นวันที่ 17 มกราคม 2019 ที่ Block 7080000 เพื่อปูทางไปสู่ Ethereum 2.0 ( Serenity) แต่ทาง Chainsecurity ได้พบโอกาสที่จะเกิดปัญหาทางด้านความปลอดภัยที่เรียกว่า Reentrancy Attack ได้ ซึ่งมีโอกาสที่ผู้ใช้งาน Smart Contract จะถูกขโมย Token ได้
ก่อนที่เราจะไปถึงการ Ethereum 2.0 (Serenity) จะต้องผ่าน Constantinople และ Istanbul ก่อน โดย Istanbul จะเกิดขึ้นหลังจาก Constantinople ไปแล้ว 9 เดือน
หลักๆ แล้ว Constantinople จะมีการเพิ่มความสามารถของ Ethereum เข้ามาถึง 5 เรื่องซึ่งโดยรวมแล้วจะเน้นไปที่
- EIP145 — การประหยัด Gas มากขึ้น โดยใช้ Bitwise shift
- EIP1052 — Smart Contract ที่ถูกลงและมีประสิทธิภาพยิ่งมากขึ้น
- EIP1283 — ปรับปรุงโครงสร้างการจัดเก็บข้อมูลบน memory สำหรับการใช้งาน dApps ซึ่งจะช่วยให้แข่งขันกับ Blockchain อื่นๆ เช่น EOS หรือ Cardano ได้ดีขึ้น
- EIP1014 — เริ่มทำงานร่วมกัน State Channels (Raiden) และ off-chain/Layer2 (Plasma)ได้
- EIP1234 — ลด Block Reward จาก 3 ETH ลงไปเหลือ 2 ETH ซึ่งจะทำให้ ETH มีจำนวนลดลงและเลื่อนการเพิ่มค่า Difficulty ออกไปอีก 12 เดือน
มาถึงตรงนี้ หลายๆ คนอาจจะงงว่า ทำไมมี Fork มากมายหลายเหลือเกิน อันที่จริงก็ไม่แปลกอะไรสำหรับระบบที่มีอายุได้เพียงไม่กี่ปี ซึ่งยังต้องพัฒนาอีกมาก เพื่อให้เห็นภาพชัดๆ เรามาดูแผนการพัฒนาของ Ethereum จากปัจจุบันจนไปถึง Ethereum 2.0 กันดีกว่า
หลังจาก fork ตัว Constantinople เสร็จแล้ว จะมีพัฒนาการต่างๆ เกิดขึ้นมากมายเลยทีเดียว โดยเราสามารถแบ่งออกเป็น 3 Phases
Phase 0 — Beacon Chain จะเข้ามามีบทบาทในการใช้ Casper ที่เป็นจุดเริ่มต้นของ Proof of Stake โดยใน Phase นี้จะยังคงทำงานร่วมกับ Proof of Work อยู่ ซึ่งการทำงานของ Beacon Chain นั้นจะทำหน้าที่รวบรวมและจัดการ Validator ที่รวมเป็นคณะกรรมการในการลงคะแนนเลือก Block และ Stake ในแต่ละ Shard โดยใช้ RANDAO ในการสุ่มเลือก Block
หลังจาก Phase 0 ติดตั้งเรียบร้อยแล้ว เราจะมี Ethereum 2 Chains ทำงานร่วมกัน โดย Chain หลักเป็นแบบ Proof of Work และอีก Chain เป็น Beacon Chain โดยผู้ใช้งานสามารถเลือกย้าย ETH จาก Chain หลักไปยัง Beacon Chain ใหม่ได้ แต่จะไม่สามารถย้ายกลับมาได้อีก โดยใน Phase นี้ธุรกรรมและ Smart Contract จะยังอยู่ที่ Chain หลักอยู่
Phase 1 — Shard Chains จะเริ่มถูกนำมาใช้ ซึ่งประโยชน์ของมันจะช่วยให้ Ethereum เพิ่มความสามารถในการรองรับการประมวลผลธุรกรรมจำนวนมาก โดย Sharding จะแยก node ออกเป็นกลุ่มๆ ทำให้การประมวลผลสามารถแยกกันทำงานได้ ทุกๆ node ไม่จำเป็นต้องทำงานเหมือนกันหมด แต่ก็อาจจะตามมาด้วยปัญหาทางด้านความปลอดภัย ที่การโจมตีสามารถพุ่งเป้าไปที่ Shard ได้โดยตรง
Phase 2 — State Execution เป็นการเริ่มใช้งาน Beacon Chain และ Shard Chains อย่างจริงจัง แต่ในมุมของผู้ใช้งานอาจจะยังไม่รู้สึกแตกต่างอะไร จนกว่าธุรกรรมและ Smart Contract จะย้ายมาทำงานเต็มรูปแบบ
Ethereum นั้นมีแนวทางที่ชัดเจนในการมุ่งไปสู่ Consensus แบบ Proof of Stake เป็นที่แน่นอนแล้ว แต่ระหว่างการพัฒนาไปสู่ Senerity จะยังใช้ Consensus แบบ Proof of Work คู่กันขนานไป แต่จะลดบทบาทไปเรื่อยๆ จนในที่สุดไปใช้ Consensus แบบ Proof of Stake ทั้งหมด
มาถึงตรงนี้ หลายๆ คนมีคำถามที่อยากรู้คือ ถ้าต้องการ Stake ต้องใช้ ETH เท่าไหร่ แล้วใช้อะไรบ้าง การเข้าร่วมเป็น Validator นั้น คุณเพียงเตรียม computer ที่เชื่อมต่อ Internet ตลอดเวลาได้และติดตั้งโปรแกรม
แล้วที่สำคัญที่สุดคุณต้องมี 32 ETH สำหรับทำ Staking
การถือ ETH แล้วเป็น Validator เพื่อที่จะมีส่วนแบ่งค่าธรรมเนียมนั้น จะว่าง่ายก็ง่าย จะยากก็ยากนะครับ เพราะมีความจำเป็นอย่างมากที่คุณต้องเชื่อมต่อ Internet ตลอดเวลา ไม่อย่างนั้น ถ้าเกิดเหตุการณ์ 2 แบบนี้
- เวลาที่ Block Finalize แล้วคุณ offline คุณจะถูกลงโทษ โดยเสีย ETH ที่วางประกันไว้ โดยจะโดนหักดอกเบี้ยเป็นรายวัน เช่น การทำ Stake ได้ดอกเบี้ยที่ 7% ต่อปี คิดเป็นรายวันก็คือ 0.01918%
2. ในกรณีโชคร้าย Block ไม่ได้รับการ Finalize แล้ว Validator มากกว่า 33% Offline แล้วคุณก็ Offline ด้วย ภายใน 18 วัน คุณจะเสีย 60% ของ Stake
แล้วถ้าเกิดคุณทิ้ง Stake ไว้เฉยๆ ไม่ดูแลให้ดีแล้วโดนหัก ETH จาก 32 ลงไปเหลือ 16 เมื่อไหร่ คุณก็จะโดนถอนออกจากการเป็น Validator ทันที อีกอย่าง ถ้าเกิดเปลี่ยนใจ ไม่อยาก Stake แล้ว ก็ต้องรออีกอย่างน้อย 18 ชั่วโมง ถึงจะถอน ETH ออกมาได้
สรุปแล้วใน Ethereum 2.0 Senerity เราจะได้เห็นการทำ Sharding ที่ช่วยเพิ่มความสามารถในการรองรับการประมวลผลธุรกรรมจำนวนมาก Consensus แบบ Proof of Stake และ Virtual Machaine แบบใหม่ eWASM ซึ่งจะส่งผลให้การใช้ Smart Contract ทำงานได้ดีขึ้นและถูกลงนั่นเอง