เร็วขึ้น, เบาลง, ปลอดภัยขึ้น
นี่คือคำจำกัดความสามคำของประโยชน์ที่ตัวอัพเดต Metropolis จะหยิบยื่นให้กับ Blockchain ของ Ethereum ที่ทางนักพัฒนาสัญญาว่าผู้ใช้งานนั้นจะได้ใช้ฟีเจอร์ดังกล่าว ที่จะถือเป็นตัวอัพเดตตัวที่สามจากใน 4 ซึ่ง roadmap ของพวกเขาได้ถูกเผยออกมาตั้งแต่ปี 2015 แล้ว
ทว่าหนทางนั้นก็ไม่ได้ถูกโรยด้วยกลีบกุหลาบเสมอไป ความเสี่ยงนั้นก็ยังคงมี และถือเป็นเรื่องธรรมดา
“Ethereum นันไม่ปลอดภัยสำหรับการ scale มันยังถือเป็นเทคโนโลยีขั้นทดสอลที่ยังไม่โตเต็มวัย” กล่าวโดยนักพัฒนาโพรโตคอลของ Ethereum นาม Vlad Zamfir ผ่านทวิตเตอร์เมื่อช่วงต้นปีที่ผ่านมา ซึ่งถ้าหากจะมีการอัพเกรดของ Ethereum ใดๆก็ตามที่จะสอดคล้องกับคำกล่าวนี้ Metropolis ก็คงจะเป็นตัวหนึ่งในนั้น
เหตุผลหลักๆก็คือ การอัพเดตและแก้ไขที่ว่านี้จะทำให้แพลทฟอร์มของ Ethereum ที่ผู้คนใช้ “เงินจริง” ทำการจ่ายเข้ามาเพื่อซื้อนั้นตกอยู่ในอันตราย ซึ่งนักพัฒนา Ethereum มีแนวโน้มที่จะใช้เวลาของพวกเขานานกว่าปกติในการรับคำบ่นจากผูใช้งาน, นักลงทุน และตลาด
นาย Hudson Jameson หรือผู้จัดการของตัวอัพเกรด Metropolis ได้ออกมาเน้นย้ำว่าทางนักพัฒนานั้น “มักจะทำผิดพลาดอยู่บ่อยครั้ง” ซึ่งแม้ว่าจะมีการระบบการจัดการที่ดีภายในทีม แต่ก็มักจะมีการดีเลย์ที่บ่อย (โดยเฉพาะบนเว็บบอร์ด Reddit ใน r/ethereum ที่ส่วนใหญ่มีการตั้งคำถามกันว่าเมื่อไร deadline จะออกมา)
แต่หากเราไม่พูดถึงเรื่อง Timeline ละก็ ล่าสุดทางนักพัฒนาได้มีแผนการเปลี่ยนแปลงใหม่ล่าสุดแล้ว
ก่อนหน้านี้ Metropolis อยู่ในช่วงเวอร์ชันที่ดูเป็นมิตรกับผู้ใช้งาน และกำลังจะถูกผลักออกไปสู่สาธารณะเพื่อการใช้งาน แต่ภายหลังก็มีแผนการเปลี่ยนแปลงกระทันหันที่อาจจะส่งผลต่อโค้ดโดยรวมได้
โดยในขณะนี้ ตัวอัพเกรดได้ถูกแยกออกมาเป็นสองจังหวะ ซึ่งก็คือ Byzantium และ Constantinople และแม้ว่าสองตัวนี้จะกำลังถูกพัฒนาอยู่นั้น บางคนเริ่มที่จะจินตนาการผลกระทบที่จะมีต่อเครือข่ายของ Ethereum ออกมาได้แล้ว
Byzantium
หากเป็นไปตามแผนการที่พวกเขาตั้งไว้ Byzantium นั้นถูกวางไว้เพื่อให้เกี่ยวข้องกับการอัพเกรดโพรโตคอลของ Ethereum ทั้งหมด 9 ตัว ซึ่งจะถูกเรียกว่า Ethereum Improvement Protocols (EIPs) โดยการพัฒนาโพรโตคอลเหล่านี้จะประกอบไปด้วยการแก้ไขค่า difficulty, ระบบด้าน returndata, ระบบ static call, ตัว precompiles ตัวใหม่, ฟีเจอร์ด้านการดีเลย์การเพิ่มค่า difficulty และการใส่ returndata เข้าไปในธุรกรรม
สิ่งเหล่านี้ถูกออกแบบขึ้นมาเพื่อทำให้เครือข่ายนั้นสามารถทำงานได้อย่างมีประสิทธิภาพมากขึ้น และช่วยลดรอยรั่วที่นักแฮคจะเจาะระบบเข้ามาได้ และรวมถึงรายละเอียดปลีกย่อยที่คนธรรมดาทั่วไปที่ไม่ใช่นักพัฒนาอาจจะไม่สามารถเห็นได้
อย่างไรก็ตาม บางอย่างนั้นก็เริ่มเป็นรูปธรรมแล้ว
[rsnippet id=”1″ name=”AdSense In-article ad 1″]
การเปลี่ยนแปลงเพิ่มเติมนั้นจะมีขึ้นเพื่อจัดการโค้ดที่มีปัญหาในระบบ smart contracts และจะทำให้ธุรกรรมนั้นล้มเหลวโดยอัตโนมัติถ้าหากเกิดบัคขึ้นมาในโค้ด (แทนที่เงินจะหายสาบสูญไป) รวมถึงการเปลี่ยนแปลงดังกล่าวนี้จะมีผลกระทบด้าน lifecycle ของ contract ด้วย เนื่องจากการอัพเกรด contract นั้นสามารถถูกจัดการในโค้ดได้ในช่วง pre-config
contracts นั้นจะถูกอัพเดตให้มีความปลอดภัยมากขึ้นเช่นกัน ซึ่งการเปลี่ยนแปลงตัวใหม่นี้จะถูกออกแบบมาเพื่อป้องกันสิ่งหนึ่งที่เรียกว่า re-entry attack (เมื่อมีโค้ดที่ไม่น่าไว้ใจเข้ามาใน contract เพื่อควบคุมมัน)
ฟีเจอร์ตัวใหม่สำหรับใส่ returndata เข้าไปในธุรกรรมนั้นจะสามารถทำให้ตัว client ที่มีขนาดเบาสามารถกำหนดได้ว่าธุรกรรมดังกล่าวนั้นสำเร็จหรือไม่ โดยที่ไม่จำเป็นต้องจัดการธุรกรรมนั้นๆบน virtual machine ซึ่งนี่จะส่งผลกระทบกับเครื่องมือ off-chain ด้วยเช่นกัน
ตัวอัพเกรดอีกตัวจะช่วยดีเลย์ “ระเบิด difficulty” ที่จะถูกปล่อยออกมาทั่วเครือข่าย เพื่อให้แน่ใจว่าระยะเวลาในการทำธุรกรรมนั้นจะไม่มากเกินไป (ปัจจุบันระยะเวลาในการทำธุรกรรมนั้นอยู่ที่ 25 วินาที ซึ่งสูงกว่ามาตรฐานของ Ethereum ซึ่งอยู่ที่ 10 วินาที)
อัพเดตดังกล่าวนั้นจะลดรางวัลที่นักขุดจะได้ต่อบล็อกลงด้วย ซึ่งนั่นหมายความว่าระยะเวลาในการขุดนั้นจะเร็วขึ้น และถูกลง
การแก้ไขด้านการขุดอีกตัวนั้นจะช่วยแก้ไขข้อผิดพลาดในการปรับค่า difficulty อีกด้วย เพื่อให้แน่ใจว่าระยะเวลาระหว่างบล็อกนั้นจะมีความเสถียร
ตัว precompiles ที่จะมาพร้อมๆกับ Byzantium นั้นจะช่วยปูแนวทางให้กับเทคโนโลยีที่เรียกว่า Zk-Snarks หรือขั้นตอนด้านการเข้ารหัสที่จะทำให้ธุรกรรมบนระบบของ Ethereum มีความไร้ตัวตนโดยสมบูรณ์แบบเป็นครั้งแรก ซึ่งการติดตั้งดังกล่าวนี้จะถือเป็นความร่วมมือระหว่างทีมของเหรียญ Z-cash ที่โฟกัสไปในด้านของความเป็นส่วนตัว และผู้ที่ทำให้เทคโนโลยีดังกล่าวนั้นกำลังเป็นที่แพร่หลายอยู่ตอนนี้
[rsnippet id=”1″ name=”AdSense In-article ad 1″]
Constantinople
เป็นที่น่าเสียดายที่ตอนนี้ทางทีมนักพัฒนายังไม่ได้เปิดเผยกำหนดการวันเปิดตัวของ Constantinople หรือแผนการ hardfork ตัวที่สองของ Metropolis สาเหตุหลักๆนั้นก็เนื่องมาจากการแก้ไขโค้ดล่าสุดที่ถูกค้นพบว่ามีบัค และอาจจะส่งผลให้เกิดการเจาะระบบเข้ามาโจมตีได้
ทว่าหนึ่งในแผนการของการอัพเดตหรือ EIP ตัวนี้จะเป็นการปูทางไปสู่ตัว client ที่มีขนาดเล็กกว่าเบากว่า โดยการทำให้ขั้นตอนการประเมินผลธุรกรรมนั้นมีความง่ายดายมากขึ้น โดยในขณะนี้ การประเมินผล contracts นั้นต้องการการเรียกดูสถานะของ blockchain และ hash ของ 256 บล็อกที่ผ่านมา ซึ่งทำให้ผู้ที่เปิดใช้งาน client ของ Ethereum ต้องมีเนื้อที่สำรองบนคอมพิวเตอร์เป็นจำนวนมาก และการที่จะมีตัว client ที่มีขนาดเล็กกว่าและเบากว่าได้นั้น ข้อมูลดังกล่าวจะต้องถูกทำให้เล็กลง และตัว EIP 96 นั้นสามารถทำได้
ทว่าตัวที่ยังมีปัญหาขัดขวางให้สิ่งนี้เกิดขึ้นอยู่ก็คือ EIP 86 หรือตัวที่สำคัญที่สุดและมีความซับซ้อนที่สุดใน EIP ของทุกๆตัว
EIP 86 นั้นจะนำมาซึ่งความปลอดภัยของบัญชีที่ยังคงเป็นนามธรรม ซึ่งจะทำให้บัญชีนั้นมีความยืดหยุ่นมากกว่า และสามารถปรับแต่งได้มากกว่า แต่ก็ยังคงไว้ให้ features ใหม่ๆเข้ามาปรับใช้ได้ ซึ่งผู้ใช้งานสามารถที่จะปรับแต่งโมเดลความปลอดภัยเป็นของตัวเองได้ และสามารถที่จะเขียนความต้องการด้านการทำธุรกรรมที่จะถูกเข้ารหัสลงไปได้
แต่ปัญฆาของ EIP 86 ก็คือมันยังเป็นรูปธรรมมากเกินไป และยังต้องใช้เวลาอีกนานมาก ในการจัดการแกปัญหาดังกล่าวนี้
อย่างแรกคือ ตัวโพรโตคอลนั้นได้เผยให้เห็นว่าสามารถที่จะเปลี่ยนแปลงค่าคงที่บางตัวได้ ส่งผลให้เกิดปัญหาแบบไม่จบสิ้น หากย้อนกลับไปเมื่อเดือนมิถุนายนที่ผ่านมา มีการค้นพบช่องโหว่ที่สามารถจะทำให้นักขุดที่ไม่หวังดีบางคนสามารถที่จะยึดเอากระเป๋า ETH ของคนอื่นๆมาได้ โดยการปรับแก้ไข Blockchain หรือทำการคอนเฟิร์มธุรกรรมเดิมๆซ้ำๆกันหลายๆครั้ง
อย่างไรก็ตาม มันก็เป็นเรื่องที่เป็นไปได้ว่าก่อนที่พวกเขาจะเขียนโค้ดตัวพัฒนาตัวนี้เสร็จนั้น ปัญหาและการแก้ไขใหม่ๆก็จะโผล่ขึ้นมาอีก
กดคลิกเพื่อแสดงความเห็น