เร็วขึ้น, เบาลง, ปลอดภัยขึ้น
นี่คือคำจำกัดความสามคำของประโยชน์ที่ตัวอัพเดต 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 หรือทำการคอนเฟิร์มธุรกรรมเดิมๆซ้ำๆกันหลายๆครั้ง
อย่างไรก็ตาม มันก็เป็นเรื่องที่เป็นไปได้ว่าก่อนที่พวกเขาจะเขียนโค้ดตัวพัฒนาตัวนี้เสร็จนั้น ปัญหาและการแก้ไขใหม่ๆก็จะโผล่ขึ้นมาอีก
กดคลิกเพื่อแสดงความเห็น