เหตุใดค่าธรรมเนียม Ethereum Gas จึงเป็นอุปสรรคต่อการพัฒนา DeFi จะทำอย่างไร?
หมายเหตุบรรณาธิการ: บทความนี้มาจากข่าวลูกโซ่ ChainNews (ID: chainnewscom)หมายเหตุบรรณาธิการ: บทความนี้มาจาก
ข่าวลูกโซ่ ChainNews (ID: chainnewscom)
เขียนโดย: Remco Bloemen ผู้เชี่ยวชาญด้านเทคนิค 0x รวบรวมโดย: Leo Young เผยแพร่โดยได้รับอนุญาต
หากคุณเคยใช้ผลิตภัณฑ์ DeFi เมื่อเร็ว ๆ นี้ คุณจะรู้สึกท้อแท้กับค่าธรรมเนียมการทำธุรกรรมที่สูง ตอนนี้เป็นเรื่องปกติที่จะต้องจ่ายค่าธรรมเนียมการทำธุรกรรมตั้งแต่สิบถึงหลายร้อยดอลลาร์สำหรับธุรกรรม Ethereum ในอัตราปัจจุบัน เฉพาะ "ปลาวาฬ" เท่านั้นที่ค้าขายได้กำไร ลืมเป้าหมายอันสูงส่งของ “การธนาคารที่ไม่มีธนาคาร” หรือ “การสร้างโครงสร้างพื้นฐานทางการเงินที่ไม่ได้รับอนุญาตสำหรับทุกคน” Ethereum กลายเป็นสนามเด็กเล่นของคนรวย
คำอธิบายภาพ
บางครั้งค่าธรรมเนียมการทำธุรกรรมเล็กน้อยอาจสูงถึง 10%
เราต้องการสร้างโลกโทเค็นที่มูลค่าทั้งหมดไหลอย่างอิสระ แต่ข้อจำกัดของบล็อกเชนทำให้เราไม่สามารถบรรลุภารกิจนี้ได้ นั่นเป็นเหตุผลที่ 0x Labs ได้ทุ่มเททีมวิศวกรเพื่อจัดการกับข้อจำกัดเหล่านี้ จากการวิจัยของเรา เราหวังว่าจะสำรวจข้อจำกัดของ Ethereum ผ่านบทความนี้ และผลกระทบต่อผู้ใช้ DeFi อย่างไร นอกจากนี้ บทความนี้จะกล่าวถึงสั้น ๆ เกี่ยวกับ blockchain รุ่นต่อไป ในอนาคต เราจะเขียนบทความเกี่ยวกับโซลูชันต่างๆ ในเลเยอร์ 2 และสาธิตกลยุทธ์ของเราในการตอบสนองความต้องการของ DeFi
ประการแรก ขนาดของธุรกรรม Ethereum จะคำนวณเป็นก๊าซ การทำธุรกรรมจะถูกรวบรวมเป็นบล็อก ๆ ประมาณทุก ๆ 13 วินาที จำนวนธุรกรรมที่แต่ละบล็อกรองรับได้นั้นมีจำกัด ซึ่งก็คือ "ga s upper limit" ปัจจุบันแต่ละบล็อกมีพื้นที่ธุรกรรมก๊าซประมาณ 12 ล้าน การถ่ายโอนโทเค็น ERC-20 บริสุทธิ์ต้องใช้ก๊าซประมาณ 50,000 นั่นคือ แต่ละบล็อกสามารถรองรับการถ่ายโอนโทเค็นได้สูงสุด 240 รายการ ประมาณ 18 รายการต่อวินาที โดยทั่วไปแล้ว การถ่ายโอน DeFi จะเกี่ยวข้องกับการโอนโทเค็นและการทำบัญชีหลายรายการ เพิ่มต้นทุนการทำธุรกรรมเป็นสองเท่าและจำกัดปริมาณการบล็อก "ฝาปิดก๊าซ" และเวลาบล็อกหมายความว่าต้องมีการจัดหาก๊าซที่จำเป็นสำหรับการทำธุรกรรมอย่างต่อเนื่อง
อันดับแรก มาดูกันว่าปริมาณก๊าซของ Ethereum และการใช้งานเติบโตขึ้นอย่างไรในอดีต
การใช้แก๊ส
มีการขุดประมาณ 6,000 บล็อกบน Ethereum ทุกวัน และมีพื้นที่การทำธุรกรรมมูลค่าหลายพันล้านเหรียญ สาเหตุหลักมาจากการเพิ่มขึ้นของ "ขีดจำกัดก๊าซ" จำนวนธุรกรรมก๊าซก็เปลี่ยนแปลงและเพิ่มขึ้นตามกาลเวลาเช่นกัน ในขณะเดียวกัน ค่าธรรมเนียมน้ำมันทั้งหมดที่ใช้โดยธุรกรรมจะเพิ่มขึ้นตามจำนวนธุรกรรมบน Ethereum ที่เพิ่มขึ้นและมีจำนวนมากขึ้น
เมื่อมองย้อนกลับไปที่ปริมาณก๊าซ (สีเทา) และปริมาณการใช้ (สีดำ) ของประวัติทั้งหมดของ Ethereum ดังแสดงในรูปด้านล่าง:
คำอธิบายภาพ
ดังที่เห็นได้จากรูปด้านบน Ethereum เป็นแอปพลิเคชันระดับองค์กร เนื่องจากแอปพลิเคชันในเวลาทำการนั้นสูงที่สุด
ใน "ยุคน้ำแข็ง" เวลาในการสร้างบล็อกเพิ่มขึ้นอย่างมาก ส่งผลให้จำนวนบล็อกที่ผลิตในหนึ่งวันลดลงและปริมาณก๊าซลดลง แน่นอนว่าสถานการณ์นี้ไม่เป็นที่นิยมมากนัก ทำให้ Network Hard Fork ต้องปรับเปลี่ยน จุดประสงค์ของการดำเนินการนี้คือเพื่อบังคับให้ฮาร์ดฟอร์กทำให้เกิดการอัปเกรดและการปรับปรุง และเพื่อป้องกันไม่ให้นวัตกรรมหยุดนิ่ง การฮาร์ดฟอร์กของอิสตันบูล (อิสตันบูล) ไม่ได้รีเซ็ต "ระเบิดยาก" ดังนั้นการฮาร์ดฟอร์กของ Muir Glacier จึงดำเนินการในไม่ช้า การฮาร์ดฟอร์กของเบอร์ลิน (เบอร์ลิน) ที่กำลังจะมีขึ้นจะพิจารณาเปลี่ยนกลไกนี้ (EIP 2515)
ดูที่การใช้งาน (สีดำ) ตั้งแต่ความนิยม ICO ของ Ethereum ในปี 2560 การใช้ก๊าซมีสัดส่วนมากกว่า 60% เสมอ หลังจากนั้น "ขีดจำกัดบนของแก๊ส" ก็เพิ่มขึ้นเป็นสี่เท่าหลายครั้ง และการใช้แก๊สก็เพิ่มขึ้นตามสัดส่วนหลังจากการเพิ่มขีดจำกัดบนแต่ละครั้ง การใช้งาน Ethereum อยู่ที่ 95% ในช่วงไม่กี่เดือนที่ผ่านมา
เพื่อทำความเข้าใจว่าเหตุใดการใช้ก๊าซของ Ethereum จึงไม่เกิน 95% คุณต้องเข้าใจแนวคิดของ "บล็อกเปล่า" และ "บล็อก ommer"
ชื่อเรื่องรอง
"บล็อกเปล่า" และ "บล็อกลุง"
ในประวัติศาสตร์ของ Ethereum แม้ว่าความต้องการจะสูง แต่การใช้ก๊าซก็ไม่เคยเกินขีดจำกัดบนที่ 95% น่าแปลกที่อีก 5% ที่เหลือเสียไปกับบล็อกเปล่าๆ บล็อกเปล่าเหล่านี้ปรากฏขึ้นเป็นระยะๆ ประมาณหนึ่งในทุกๆ ยี่สิบบล็อก มีธุรกรรมที่ต้องจ่ายเพื่อบรรจุลงในบล็อก ทำไมทุกคนถึงต้องการขุดบล็อกเปล่า? ดูข้อมูลต่อไปนี้ก่อน:
อัตราบล็อกว่างเพิ่มขึ้นอย่างต่อเนื่องเมื่อเวลาผ่านไป และปัจจุบันอยู่ที่ 5% พูลการขุดทั้งหมดมีอัตราบล็อคเปล่าเท่ากัน ดังนั้นจะไม่เป็นมิเนอร์คิดร้ายที่ขุดบล็อคเปล่า ในทางตรงกันข้าม เหตุผลที่แท้จริงอาจเป็นเพราะบล็อกถูกสร้างขึ้นเร็วเกินไป หากเวลาในการขุดบล็อกน้อยกว่าหกวินาที ความน่าจะเป็นที่จะได้บล็อกเปล่าจะเพิ่มขึ้นในทางเรขาคณิต
คำอธิบายหนึ่งก็คือ ทันทีที่นักขุดได้รับส่วนหัวของบล็อกใหม่ พวกเขาจะเริ่มขุดบล็อกถัดไปก่อนที่บล็อกทั้งหมดจะถูกบรรจุ การดำเนินการนี้เรียกว่าการขุด SPV ใน Bitcoin ซึ่งทำให้นักขุดสามารถเริ่มมองหาบล็อกถัดไปได้ทันทีโดยไม่ต้องทำการตรวจสอบบล็อกให้เสร็จสิ้น แต่สามารถเพิ่มได้เฉพาะบล็อกเปล่าเท่านั้น หลังจากที่บล็อกใหม่ได้รับการบรรจุอย่างสมบูรณ์แล้ว บล็อกที่สมบูรณ์ถัดไปสามารถเพิ่มและเปลี่ยนเป็นการขุดได้
หลักฐานเพิ่มเติมสำหรับคำอธิบายนี้คือ หากนักขุดคนเดียวกันขุดสองบล็อกติดต่อกันอย่างรวดเร็ว อัตราบล็อกเปล่าจะลดลง 25%
อีกวิธีหนึ่งในการขุดบล็อกเปล่าคือการประมวลผลบล็อกใหม่ในเวลาเดียวกับบล็อกก่อนหน้าที่ถูกขุด ส่งผลให้มีการขุดหลายบล็อกในเวลาเดียวกัน หากเกิดสถานการณ์ดังกล่าวขึ้น Ethereum จะเลือกบล็อกหลักและทำเครื่องหมายบล็อกอื่นๆ เป็น "บล็อกลุง" (ommer) นักขุดที่ขุด "บล็อคลุง" ยังสามารถรับรางวัลเล็กน้อยได้ อัตราที่เกิดขึ้นจะคงที่:
ในช่วงที่มีการใช้ก๊าซสูงสุดในปี 2018 อัตรา "บล็อกลุง" ก็ถึงจุดสูงสุดใหม่เช่นกัน แต่แล้วสัดส่วนก็ลดลงเหลือ 5% ของบล็อกที่ขุดได้ทั้งหมด สิ่งนี้สอดคล้องกับความจริงที่ว่านักขุดอาจเปลี่ยนกลยุทธ์การขุดของพวกเขาในเวลานี้ ส่งผลให้อัตราบล็อกว่างเพิ่มขึ้น
อันตรายของอัตราการบล็อกเปล่าที่ส่งผลต่อความสามารถในการปรับขนาดของ Ethereum นั้นไม่ชัดเจนในทันที แต่มันมีผลกระทบ เนื่องจากข้อเสนอ EIP-100 ได้รับการอัปเกรดโดย Byzantium การปรับความยากจะรักษาอัตราส่วนของบล็อกเชนหลักและ "บล็อกลุง" ไว้ ดังนั้น อัตราที่สูงของ "บล็อกลุง" หมายความว่า "บล็อกลุง" มากขึ้นจะเสียเปล่า และเพิ่มบล็อกน้อยลงในห่วงโซ่หลัก สิ่งนี้สะท้อนให้เห็นในการขยายเวลาการสร้างบล็อกรายวันและการลดปริมาณก๊าซรวมรายวัน (อีกเหตุผลหนึ่งที่ทำให้เวลาบล็อกขยายออกไปคือ "ระเบิดยาก")
มีวิธีลดอัตราบล็อกเปล่าและอัตรา "บล็อกลุง" สาเหตุหลักที่สันนิษฐานคือพูลไม่มีสถานะล่าสุดที่พร้อมใช้งานเนื่องจากความล่าช้าของเครือข่ายและการประมวลผล วิธีแก้ไขที่เรียบง่ายแต่ไม่น่าพอใจคือการทำให้กลุ่มการขุดรวมศูนย์มากขึ้นเพื่อให้สถานะล่าสุดถูกรวมเข้าด้วยกัน
โซลูชันที่มีการกระจายอำนาจมากขึ้นคือการสร้างการเชื่อมต่อเฉพาะระหว่างกลุ่มการขุดเช่นที่ bloXroute ทำ ได้รับแรงบันดาลใจจาก "การขุดสอดแนม" พูลการขุดสามารถแชร์บล็อคล่วงหน้าที่กำลังขุดอยู่ พูลการขุดอื่น ๆ เตรียมบล็อกที่ตามมาซึ่งอาจถูกขุดได้ หลังจากที่กลุ่มการขุดขุดบล็อกของตัวเองสำเร็จแล้ว มันรู้แล้วว่าบล็อกใดสามารถขุดได้ในอนาคตและเปลี่ยนทันที เหนือสแต็ก การปรับปรุงโปรโตคอลการสื่อสารของโหนดและอัลกอริธึมการประมวลผลก็มีประสิทธิภาพเช่นกัน และยังมีช่องว่างสำหรับการปรับปรุงในพื้นที่เหล่านี้ ในท้ายที่สุด การลดอัตราบล็อกเปล่าและอัตรา "บล็อกไม่ว่าง" สามารถเพิ่มปริมาณก๊าซได้ถึง 5% ในหนึ่งวัน
ดูเหมือนว่าจะมีฝาปิดแก๊ส 95% แต่ถ้ามีคนต้องการใช้มากกว่า 95% ล่ะ
ชื่อเรื่องรอง
ราคาแก๊ส
จะเกิดอะไรขึ้นหากถึงขีดจำกัดก๊าซ Ethereum? นักขุดมีอิสระที่จะเลือกแพ็คเกจธุรกรรม (รายละเอียดในภายหลัง) แต่ในความเป็นจริงแล้ว นักขุดแพ็คเกจธุรกรรมตาม "หลักการของลำดับความสำคัญค่าธรรมเนียมน้ำมันสูง" เพราะนี่คือผลกำไรสูงสุด สิ่งนี้สร้างการประมูลราคาแรกสำหรับก๊าซที่มีอยู่
ราคาก๊าซได้กลายเป็นแบบเรียนของ "อุปทานที่ไม่ยืดหยุ่นที่สมบูรณ์แบบ" เนื่องจากการใช้เครือข่ายเกิน 80% และเพิ่มขึ้นเป็น 95% ราคาก๊าซจึงเพิ่มขึ้นอย่างมาก ความต้องการที่เพิ่มขึ้นใด ๆ ที่อาจเกิดขึ้นจะเพิ่มราคาจนกว่าราคาจะขับไล่อุปสงค์และตกลงสู่ระดับเดิม
วิธีเดียวที่จะทำให้ราคาลดลงคือการเพิ่มปริมาณก๊าซหรือลดอุปสงค์ และการเพิ่มปริมาณก๊าซล่าสุดยังไม่เพียงพอในการลดราคาก๊าซอย่างมีประสิทธิภาพ
เมื่อมองแวบแรก ความสนใจที่เพิ่มขึ้นใน Ethereum จะทำให้ราคาสูงขึ้นเท่านั้น ไม่ใช่การใช้งาน ในความเป็นจริง การใช้งานที่มีมูลค่าสูงจะขับไล่การใช้งานที่มีมูลค่าต่ำออกไป โดยมีธุรกรรมโทเค็น non-fungible token (NFT) ประเภทเกมราคาถูกน้อยลง และธุรกรรม DeFi ที่มีมูลค่าสูงมากขึ้น
ตามข้อเสนอ EIP-1559 ยังคงมีอัตราการออกก๊าซคงที่ในระยะยาว ซึ่งหมายความว่าราคาก๊าซจะยังคงเพิ่มขึ้นต่อไปจนกว่าความต้องการจะน้อยพอ EIP-1559 ยังคงสนับสนุนการบรรจุลำดับความสำคัญภายในบล็อกเดียวกันที่จ่ายเบี้ยประกันภัย (สมมติว่าพูลยังคงขุดบล็อกตามลำดับเดิม) ซึ่งหมายความว่าการทำธุรกรรมล่วงหน้า การประมูลก๊าซ และผลกำไรของผู้ขุดแร่ยังคงมีอยู่
ตัวเลขในรูปแสดงถึงราคาต่ำสุดที่สามารถบรรจุในบล็อกถัดไป ยิ่งคุณยินดีรอนาน ราคาน้ำมันก็จะยิ่งถูกลง ข้อมูลย้อนหลังแสดงให้เห็นว่าหากคุณยินดีที่จะรอตั้งแต่สองนาทีขึ้นไป ราคาจะลดลง EIP-1559 ช่วยลดเบี้ยประกันภัยสำหรับการทำธุรกรรมที่รวดเร็วขึ้น
แล้วฝาแก๊สดันราคาน้ำมันขึ้น แล้วเราจะขึ้นฝาได้อย่างไร?
ชื่อเรื่องรอง
ขีด จำกัด ของก๊าซ
พูลการขุดกำหนดขีด จำกัด ของก๊าซ นี่คือภาพรวมโดยย่อของวิธีการทำงานของ miners และ pools: เกือบทั้งหมดของ miners pool ทรัพยากรการคำนวณ นักขุดจะไม่ไปที่บล็อกถัดไปเพียงลำพังโดยเสี่ยงที่จะไม่มีการเก็บเกี่ยวเป็นเวลานาน แต่รวบรวมทรัพยากรเพื่อรับรายได้ที่มั่นคง พูลการขุดจะตรวจสอบพลังการประมวลผลที่ผู้ขุดแต่ละคนมีส่วนร่วม จากนั้นจึงทำการขุดบล็อกถัดไปต่อไป ซึ่งส่งเสริมการพัฒนาของพูลการขุด แหล่งรวมการขุดขนาดใหญ่จบลงด้วยการขุดบล็อกจำนวนมากขึ้น
มาดูการพัฒนาของหุ้นกลุ่มการขุดบน Ethereum:
Xinghuo, Ethermine และ Yuchi ชนะบล็อคหลัก
เนื่องจากขาดข้อมูลโดยละเอียดเกี่ยวกับการทำงานจริงของคนงานเหมือง เราจะใช้วิธีการง่ายๆ: ระบบการลงคะแนน […] หวังว่าในอนาคตเราจะสามารถ soft fork ไปสู่อัลกอริทึมที่แม่นยำยิ่งขึ้นได้
**หลักการออกแบบ Ethereum (เพิ่มครั้งแรกในเดือนมีนาคม 2015)**
วิธีที่นักขุดยุคแรกๆ ของ Ethereum ตั้งขีดจำกัดบนของก๊าซนั้นเป็น "วิธีการเติม" "โซลูชันการเติม" จำนวนมากดีพอที่จะเป็นพารามิเตอร์สำรอง EIP 1559 เสนอกลไกที่แตกต่าง ซึ่งขณะนี้อยู่ระหว่างการหารือเพื่อใช้ในกรณีที่เกิด Berlin fork ก่อนหน้านั้น ผู้ประกอบการบ่อขุดสามารถควบคุมการจ่ายก๊าซได้เหมือนกับที่ OPEC ควบคุมการผลิตน้ำมัน
คำอธิบายภาพ
เมื่อเร็ว ๆ นี้ กลุ่มการขุดทั้งสองได้มีมติเป็นเอกฉันท์ให้เพิ่มผลผลิตก๊าซ 25% ซึ่งค่อนข้างขัดแย้งกัน จุดประสงค์คือเพื่อลดแรงกดดันจากค่าธรรมเนียมการทำธุรกรรมที่สูงโดยการเพิ่มปริมาณก๊าซ สิ่งที่เราได้เห็นจนถึงตอนนี้คือความต้องการในการทำธุรกรรมเติบโตเร็วกว่าขีดจำกัด สิ่งนี้ทำให้เกิดการชะลอตัวของราคาชั่วคราวซึ่งในที่สุดก็จะสูงขึ้น
การเพิ่มขีดจำกัดก๊าซจะนำอันตรายที่ซ่อนอยู่มาสู่ความปลอดภัยของ Ethereum ดังที่กล่าวไว้ข้างต้น ฝาปิดแก๊สจะเพิ่มอัตรา "บล็อกว่าง" และอัตราบล็อกว่าง ภายใต้ภาระธุรกรรมปกติ การเพิ่มขึ้นนี้เล็กน้อย แต่เพื่อความปลอดภัย เราไม่สนใจพฤติกรรมปกติ พฤติกรรมแย่ๆ ในสถานการณ์แย่ๆ เท่านั้น Perez และ Livshits (2019) ศึกษาสถานการณ์ที่เลวร้ายนี้ และผลที่ได้คือภายใต้ต้นทุนที่เท่ากัน การทำธุรกรรมในช่วงเวลาที่เลวร้ายจะช้ากว่าการทำธุรกรรมปกติถึง 100 เท่า ใช้เวลาเก้าสิบวินาทีในการเติมธุรกรรมหนึ่งบล็อก สิ่งนี้ทำให้การซิงโครไนซ์โหนดล่าช้า และกลุ่มการขุดจะขุด "บล็อกลุง" และบล็อกเปล่า จากการเผยแพร่ต้นฉบับนี้ ปัญหาได้รับการบรรเทาลง แต่ยังไม่เพียงพอที่จะหลีกเลี่ยง สิ่งนี้ทำให้ผู้พัฒนาโหนดหลักสองคนคือ Péter Szilágyi และ Alexey Akhunov วิพากษ์วิจารณ์การตัดสินใจเพิ่มขีดจำกัดก๊าซ
ดังนั้นฝาปิดแก๊สจึงเพิ่มราคาแก๊ส ดูเหมือนว่าเราไม่ควรเพิ่มขีด จำกัด น้ำมัน ฉันควรทำอย่างไรดี? อาจลดต้นทุนก๊าซสำหรับการทำธุรกรรม?
ชื่อเรื่องรอง
ค่าแก๊ส
ต้นทุนก๊าซของการทำธุรกรรมส่วนใหญ่ประกอบด้วยต้นทุนการดำเนินงานของ EVM การทำธุรกรรมประกอบด้วยการดำเนินการ EVM จำนวนมาก และต้นทุนของการดำเนินการแต่ละครั้งจะกำหนดโดย EIP และ Hard Fork ในช่วงที่ผ่านมา 2-3 ครั้งที่ผ่านมา ต้นทุนก๊าซของการดำเนินการบางอย่างเพิ่มขึ้น (EIP 150, 160, 1884) และบางส่วนลดลง (EIPs 1108, 2028, 2200) Berlin hard fork ที่วางแผนไว้กำลังพิจารณาการเปลี่ยนแปลงต้นทุนก๊าซของการดำเนินการบางอย่าง
เป้าหมายของการเปลี่ยนแปลงทั้งหมดคือการทำให้ค่าธรรมเนียมสะท้อนต้นทุนการดำเนินการที่แท้จริงได้แม่นยำยิ่งขึ้น ซึ่งหมายความว่าเมื่อคอมพิวเตอร์และอัลกอริทึมทำงานเร็วขึ้น ค่าใช้จ่ายในการประมวลผลจะลดลง
ซึ่งหมายความว่าพื้นที่เก็บข้อมูลยังคงเป็น "ค่าใช้จ่ายสูง" สำหรับแอปพลิเคชัน DeFi การสร้างเครื่องชั่งใหม่ต้องใช้น้ำมัน 20,000 และการปรับเปลี่ยนเครื่องชั่งที่มีอยู่ต้องใช้น้ำมัน 5,000 การโอนจำเป็นต้องแก้ไขยอดคงเหลืออย่างน้อย 2 ครั้ง และการโอนเงินต้องมีการแก้ไขอย่างน้อย 4 ครั้ง ค่าธรรมเนียมสถานะที่จำเป็นสำหรับธุรกรรม DeFi จะสูงกว่า ดูเหมือนจะไม่มีวิธีที่ง่ายในการลดปริมาณพื้นที่จัดเก็บที่เกี่ยวข้อง และค่าธรรมเนียมการจัดเก็บก็เพิ่มขึ้นตามความต้องการที่เกิดขึ้น ในแง่ดี โซลูชันการปรับขนาดเลเยอร์ 2 มักจะเป็นอุปกรณ์จัดเก็บข้อมูลที่มีน้ำหนักเบาและการประมวลผลสูง ซึ่งดูเหมือนจะมีข้อดีมากกว่า
ในที่สุด เมื่อปริมาณน้ำมันเพิ่มขึ้น ความกังวลเรื่องความปลอดภัยก็เกิดขึ้น สิ่งเลวร้ายก็สำคัญ การปรับต้นทุนก๊าซให้เหมาะสมกับต้นทุนเฉลี่ยของการดำเนินงานในปัจจุบันเป็นสิ่งที่อันตราย
สิ่งนี้ทำให้ชัดเจนว่าทำไมปัญหาความสามารถในการปรับขนาดของ Ethereum จึงยุ่งยากมาก ก่อนที่จะให้วิธีแก้ปัญหา จำเป็นต้องพูดถึงข้อจำกัดอื่นของ Ethereum ที่ทำร้ายผู้ใช้ DeFi อยู่ในขณะนี้
ชื่อเรื่องรอง
นักขุดเพื่อผลกำไร
บล็อกเกอร์ปฏิบัติตามกฎฉันทามติ กฎฉันทามติรับประกันเสรีภาพที่สำคัญ เช่น การเลือกธุรกรรมและการสั่งซื้อ สำหรับการโอนโทเค็นทั่วไปนั้นไม่ใช่ปัญหาใหญ่ แต่สำหรับธุรกรรม DeFi เช่น การแลกเปลี่ยน ธุรกรรมที่ดำเนินการล่วงหน้ามีมูลค่าทางเศรษฐกิจสูง เมื่อธุรกรรมเป้าหมายทั้งสองด้านถูกโจมตี พฤติกรรมการทำกำไรที่ซับซ้อนมากขึ้นก็จะเกิดขึ้น Daian et al. (2019) เรียกสิ่งนี้ว่า
ในกรณีอื่น ๆ การซื้อขายครั้งต่อไปจะมีมูลค่า เช่น เป็นคนแรกที่ปิดตำแหน่งหลังจากการอัปเดตราคาของออราเคิล สิ่งนี้เรียกว่า "แบ็ครันนิ่ง" และยังส่งผลดีต่อนักขุดอีกด้วย
ความแตกต่างของราคาจำนวนมาก การเบี่ยงเบนของราคา ค่าธรรมเนียมสูง และการทำธุรกรรมที่ล้มเหลวมากขึ้นจะสร้างความเสียหายให้กับผู้ใช้ DeFi และผู้ขุดกำไรในที่สุด เพื่อประสบการณ์ DeFi ที่ดีขึ้น ปัญหานี้จำเป็นต้องได้รับการแก้ไข ในการแก้ปัญหานี้ จำเป็นต้องจำกัดอิสระในการสั่งซื้อธุรกรรม เช่น กำหนดให้ธุรกรรมที่มีราคาน้ำมันต่ำสุดในบล็อกได้รับความสำคัญ
ข้อจำกัดของ Ethereum และผลกระทบต่อ DeFi นั้นเข้าใจได้อย่างสมบูรณ์แล้ว แน่นอนว่าทีมดาราทุกทีมที่ทำงานเกี่ยวกับความสามารถในการปรับขนาดจะแก้ปัญหานี้ได้ในที่สุด ใช่ไหม?
ชื่อเรื่องรอง
เสริมความแข็งแรงของชั้นล่างเน้นชั้นที่สอง
มีทีมที่ยอดเยี่ยมมากมายที่ทำงานเกี่ยวกับโซลูชันการปรับขยายที่แตกต่างกัน มีสองวิธีแก้ปัญหา: Layer 1 และ Layer 2 เป้าหมายของโซลูชัน Layer 1 คือการสร้าง Ethereum ที่ปรับขนาดได้มากขึ้น และโซลูชัน Layer 2 คือการสร้างโครงสร้างพื้นฐานที่ปรับขนาดได้มากขึ้นบนพื้นฐานของ Ethereum
เริ่มต้นด้วยปัญหาที่ชัดเจนที่สุด: การปรับปรุงประสิทธิภาพของ Ethereum ที่มีอยู่ - นี่คือสิ่งที่เกี่ยวกับ Eth1x ยังมีการปรับปรุงหลายอย่างที่สามารถทำได้เพื่อปรับปรุงประสิทธิภาพของไคลเอนต์ Ethereum น่าเสียดายที่ Eth1x แทบจะไม่ได้รับการสนับสนุนใดๆ เลย และความคืบหน้าทั้งหมดก็ช้ามาก
เพื่อทำความเข้าใจว่า Eth1x สามารถบรรลุประสิทธิภาพประเภทใดได้บ้าง อันดับแรกให้ดูที่ Solana ปริมาณงานของ Solona สามารถเข้าถึงมากกว่า Ethereum หนึ่งพันเท่า และยังมีช่องว่างสำหรับการปรับปรุง ข้อเสียเปรียบหลักของแนวทางนี้คือความต้องการฮาร์ดแวร์เพื่อเรียกใช้โหนดแบบเต็มนั้นสูง
โซลูชันอื่นๆ ส่วนใหญ่มีสามสิ่งที่เหมือนกัน:
การใช้ WebAssembly เป็นเครื่องเสมือน สถาปัตยกรรมที่มีสถานะน้อยที่สุด และที่สำคัญที่สุดคือการแบ่งส่วนข้อมูล ปัจจุบันธุรกรรมทั้งหมดบน Ethereum ดำเนินการตามลำดับ การสั่งซื้อธุรกรรมเป็นกุญแจสำคัญของบล็อกเชนอย่างไม่ต้องสงสัย ข้อเสียของโมเดลนี้คือยากที่จะขนาน ดังนั้นการลงทุนทรัพยากรมากขึ้นจึงไม่สามารถแก้ปัญหาความสามารถในการขยายขนาดได้อย่างง่ายดาย นี่คือสิ่งที่ Eth2.0 blockchain รุ่นต่อไปจะแก้ปัญหา
อนุญาตให้ประมวลผลธุรกรรมพร้อมกันโดยเปลี่ยนวิธีดำเนินการธุรกรรม โครงร่างนี้ทำได้โดยการแบ่งบล็อกเชนออกเป็นหลาย ๆ โดเมนที่เชื่อมต่อกันอย่างหลวม ๆ หรือกระบวนการที่เรียกว่า "ชาร์ด" ธุรกรรมภายในชาร์ดยังคงถูกสั่ง แต่ระหว่างชาร์ดแบบอะซิงโครนัส ซึ่งช่วยให้ชาร์ดทั้งหมดทำงานพร้อมกัน ปรับขนาดเครือข่ายตามจำนวนชาร์ด
โดเมนที่ใช้ในการแยกไม่จำเป็นต้องตรงกับ Shard ชาร์ดเดียวกันสามารถมีได้หลายโดเมน และยังสามารถ ย้ายโดเมนเพื่อให้เกิดการจัดสรรภาระงาน เพื่อความเข้าใจเชิงลึกเกี่ยวกับเทคโนโลยีการแบ่งส่วนย่อย ผู้อ่านควรอ้างอิงเอกสาร "Night Shadow" ของ Near Protocol
ห่วงโซ่หลักของ blockchain รุ่นต่อไปจะแบ่งออกเป็นโดเมนใดและเมื่อใดนั้นขึ้นอยู่กับสถานการณ์ บล็อกเชนรุ่นที่สองสามารถมองเห็นได้ว่าเป็นสเปกตรัมตั้งแต่แบบละเอียด (โดเมนขนาดเล็กจำนวนมาก) ไปจนถึงแบบหยาบ (โดเมนขนาดใหญ่ไม่กี่แห่ง)
โครงการสองโครงการครอบครองด้านใดด้านหนึ่งของสเปกตรัมความละเอียด: Dfinity อยู่ในส่วนปลายที่ละเอียด ซึ่งแต่ละเอเจนต์มีโดเมนของตัวเอง และการโต้ตอบของเอเจนต์แต่ละอย่างเป็นแบบอะซิงโครนัส โปรโตคอล Near มีความละเอียดน้อยกว่าเล็กน้อย และแต่ละสัญญามีโดเมนของตัวเอง ปลายเนื้อหยาบคือ Polkadot และโดเมนของมันคือเศษทั้งหมด สถานการณ์นี้เรียกว่า "ลูกโซ่คู่ขนาน" ให้ถูกต้องมากกว่า ยังเร็วเกินไปที่จะตัดสิน Ethereum 2.0 จากมุมมองของนักพัฒนา DApp Eth1EE (Eth1 Execution Environment บน Eth2) จะเป็นเนื้อหยาบ โดยมีขอบเขตที่สอดคล้องกับการแบ่งส่วน และ Ethereum ปัจจุบันจะกลายเป็นส่วนย่อย ข้อดีของโซลูชันแบบละเอียดคือความโปร่งใส การเรียกใช้ระหว่างสัญญาจะมีลักษณะเหมือนกันไม่ว่าจะข้ามขอบเขตของชาร์ดหรือไม่ก็ตาม ซึ่งจะช่วยให้สามารถย้ายสัญญาระหว่างชิ้นส่วนเพื่อให้โหลดสมดุลได้อย่างง่ายดาย
ข้อเสียคือการทำธุรกรรมข้ามโดเมนจะไม่เป็นแบบปรมาณูอีกต่อไป แต่กลายเป็นแบบคู่ขนาน ซึ่งบางรายการไม่สามารถเพิกถอนได้ Dfinity และ Near แสดงให้เห็นว่าการเรียกระหว่างสัญญาเป็นแบบ async และสัญญาการส่งคืนจะรอการรอคอย ธุรกรรมทั้งหมดที่เกิดขึ้นระหว่างการรอจะถูกเขียนลงในห่วงโซ่ จากนั้นธุรกรรมของผู้อื่นสามารถซ้อนทับได้ ในขณะนี้ การทำธุรกรรมก่อนหน้านี้ทั้งหมดไม่สามารถยกเลิกได้ หลังจากการรอได้รับการยืนยันในที่สุด จะสามารถส่งคืนคำสั่งสำเร็จหรือล้มเหลวของการเรียกสัญญา มีข้อเสนอมากมายเพื่อหลีกเลี่ยงสถานการณ์นี้และบรรลุความเป็นปรมาณูในเศษชิ้นส่วน แต่สิ่งนี้ก็มีข้อเสียเช่นกัน การยอมรับการกำจัดอะตอมดูเหมือนจะเป็นผลตามธรรมชาติ
สำหรับ DeFi การโอนจากการโทรแบบอะซิงโครนัสถือเป็นความท้าทายครั้งใหญ่ ลองนึกภาพธุรกรรมง่ายๆ ระหว่างสองฝ่าย Alice และ Bob ต้องการแลกเปลี่ยนเป็น ETH และ DAI สัญญาพื้นฐานควรเป็น:
แต่ตอนนี้ฉันต้องจัดการกับข้อผิดพลาด หากธุรกรรมแรกล้มเหลว เราสามารถหยุดธุรกรรมได้ หากการทำธุรกรรมครั้งที่สองล้มเหลว จะต้องคืน 1 ETH ให้กับอลิซ ปัญหาคือ ณ จุดนี้ Bob อาจใช้เงิน 1 ETH นั้นไปแล้ว วิธีหนึ่งในการแก้ปัญหานี้คือการโฮสต์
แค่นั้นแหละ ไม่มีใครสูญเสีย แต่ตอนนี้ Bob มีอิสระแต่เพียงผู้เดียวในการเลือกการทำธุรกรรมของ Alice โทเค็นของอลิซอยู่ในระบบเอสโครว์ จะไม่มีการทำธุรกรรมอื่นใด และไม่มีการรับประกันว่าการทำธุรกรรมกับบ๊อบจะประสบความสำเร็จ การแก้ไขปัญหานี้อาจนำไปสู่บทลงโทษสำหรับผู้ฝ่าฝืน อย่างไรก็ตาม การทำธุรกรรม DeFi นั้นมีราคาแพงมาก ดังนั้นจึงเป็นเรื่องยากที่จะตัดสินว่าการลงโทษนั้นเหมาะสมเพียงใด การแก้ปัญหานี้สามารถกำหนดให้ทุกฝ่ายในตลาดต้องฝากเงินเข้าไว้ในสัญญาเงินฝากในขั้นต้น และสิ่งนี้จะกลายเป็นสถานะรวมศูนย์ และโดยพื้นฐานแล้วไม่จำเป็นต้องมีการชาร์ดดิ้ง
การทำธุรกรรมเป็นรากฐานของการสร้าง DeFi และเป็นชุดของขั้นตอนการประมวลผล เรารู้แล้วว่าหนังสือซื้อขายแลกเปลี่ยนมีความท้าทายอย่างไร การแลกเปลี่ยนผู้ดูแลสภาพคล่องโดยอัตโนมัตินั้นค่อนข้างง่ายเนื่องจากมีสำรองเอสโครว์ แต่ความสมดุลของทุนสำรองก่อให้เกิดคอขวดที่ป้องกันการขนานกัน แม้ในการแลกเปลี่ยนแบบดั้งเดิมที่เร็วที่สุด การชำระบัญชีจะไม่ขนานกัน (แม้ว่าจะมีความซ้ำซ้อน) และจะดำเนินการตามลำดับเครื่องยนต์ที่ตรงกัน สำหรับรายละเอียดเกี่ยวกับวิธีการทำงานของการแลกเปลี่ยนแบบดั้งเดิม บทพูดของ Brian Nigito นั้นยอดเยี่ยมมาก
อ้างถึง
Daniel Perez & Benjamin Livshits (2019). “Broken Metre: Attacking Resource Metering in EVM.”
Daian et al. (2019). “Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges.”
Brian Nigito (2017). “How to Build an Exchange.”
Danny Ryan (2020). “The State of Eth2, June 2020.”
Scott Shapiro & William Villanueva (2020). “ETH 2 Phase 2 WIKI.”
Near Protocol sharding design


