คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
ราคาแยกและ EIP1559 แบบ Dual Track สำหรับ Ethereum Storage
白计划
特邀专栏作者
2021-04-17 06:09
บทความนี้มีประมาณ 2315 คำ การอ่านทั้งหมดใช้เวลาประมาณ 4 นาที
ปัญหาที่ใหญ่ที่สุดของโมเดลสถานะ Ethereum คือ: ความแตกต่างอย่างมากระหว่างการเติบโตของสถานะโดย

ปัญหาที่ใหญ่ที่สุดของโมเดลสถานะ Ethereum คือ: ความแตกต่างอย่างมากระหว่างการเติบโตของสถานะโดยเฉลี่ยและการเติบโตของสถานะที่เลวร้ายที่สุด
บทความนี้เป็นการอภิปรายล่าสุดที่เสนอโดย Vitalik ในฟอรัมนักวิจัย Ethereum ซึ่งเป็นการรวมแนวคิดเกี่ยวกับการใช้งานจริงของ EIP1559 ที่เสนอโดยนักวิจัย Ethereum Barnabé Monnot
ต่อไปนี้คือคำแปลของข้อความต้นฉบับ ทีมงานได้ใส่คำอธิบายประกอบบางคำและทำการลบบางส่วน
ผู้แต่ง: Vitalik Burerin
เรียบเรียง : ทีมงานใบลาน
ขอขอบคุณ @barnabe เป็นพิเศษสำหรับการแนะนำแนวคิดที่คล้ายกันตั้งแต่เนิ่นๆ
ตามที่ฉันได้กล่าวถึงในรายละเอียดใน Position Paper on Resource Pricing ก่อนหน้านี้ Gas ใน Ethereum จ่ายจริงสำหรับทรัพยากรที่แตกต่างกันสามอย่าง:
1. แบนด์วิธ (ข้อมูลธุรกรรมที่ต้องดาวน์โหลด)
2. การคำนวณ (เวลาในการตรวจสอบและดำเนินรายการ)
3. การจัดเก็บ (ประวัติ แต่ที่สำคัญกว่านั้นคือการระบุข้อความเช่นยอดคงเหลือในบัญชี, nonces, รหัสสัญญา, การจัดเก็บสัญญา)
Plan Bai แสดงความคิดเห็น: "เอกสารตำแหน่งเกี่ยวกับการกำหนดราคาทรัพยากร" เป็นร่างราคาทรัพยากรบล็อกเชน ซึ่ง Vitalik อนุมานวิธีการกำหนดราคาที่สอดคล้องกันผ่านการคำนวณทางคณิตศาสตร์
ร่างประกอบด้วย: ราคาและปริมาณ เส้นกราฟต้นทุนทางสังคม การประมูลหลักและรอง ตารางค่าธรรมเนียมที่ปรับได้ ค่าธรรมเนียมการบำรุงรักษาพื้นที่จัดเก็บ และเหตุใดจึงใช้ค่าธรรมเนียมคงที่น้อยเกินไป
ซึ่งแตกต่างจากแบนด์วิดท์และการประมวลผลซึ่งเป็นค่าใช้จ่ายชั่วคราว พื้นที่จัดเก็บไม่เหมือนกับค่าใช้จ่ายทั้งสองนี้ แต่จะเกินขีดจำกัดชั่วคราว
มีการจำกัดจำนวนการคำนวณที่โหนดสามารถดำเนินการหรือดาวน์โหลดข้อมูลภายในเวลาของการบล็อก และเมื่อการบล็อกผ่านไป จำนวนเงินที่จำเป็นสำหรับการดาวน์โหลดและการตรวจสอบจะถึง บล็อกส่วนใหญ่หายไปแล้ว (มีโหนดซิงค์เพียงไม่กี่โหนดที่ต้องดำเนินการในอนาคต)
และพื้นที่จัดเก็บเป็นต้นทุนต่อเนื่อง หากสถานะบล็อกเดียวเพิ่มขึ้น 100MB บล็อกนั้นสามารถดำเนินการได้ในขณะนี้ แต่ชุดของบล็อกจะทำให้ Ethereum ใช้ไม่ได้ ผลกระทบ "ระเบิด" ของการเติบโตของรัฐนั้นเล็กน้อย แต่ผลกระทบระยะยาวนั้นรุนแรงที่สุด เนื่องจากเมื่อรัฐที่จัดตั้งขึ้นมีขนาดใหญ่มากจะสร้างภาระให้กับเครือข่ายอย่างถาวร
ชื่อเรื่องรอง

ขนาดเฉลี่ยเทียบกับขนาดพื้นที่จัดเก็บกรณีแย่ที่สุด

หนึ่งในข้อบกพร่องของสถานะการสร้างแบบจำลองในโปรโตคอลปัจจุบัน (สถานะ) (โดยทั่วไปถือว่าไม่ยั่งยืน) และโปรโตคอลที่ได้รับการปรับปรุงด้วยการหมดอายุของสถานะคือความแตกต่างอย่างมากระหว่างการเติบโตของสถานะโดยเฉลี่ยและการเติบโตของสถานะที่เลวร้ายที่สุด
พิจารณาโปรโตคอลปัจจุบัน ปัจจุบัน ขนาดรวมของรัฐอยู่ที่ประมาณ 550 ล้านออบเจกต์ ซึ่งมีขนาดประมาณ 32GB (ไม่รวม trie overhead) หากเราลบสถานะที่ไม่แตะต้องทั้งหมดออกจากปีที่แล้ว ยอดรวมอาจลดลงเกินครึ่งได้อย่างง่ายดาย
ตอนนี้อะไรเลวร้ายที่สุด?
การสร้างรหัสสัญญาจะคิดค่าธรรมเนียม 200Gas ต่อไบต์ ดังนั้น หากแบ่งบล็อกออกเป็น 3 ธุรกรรม และแต่ละธุรกรรมสร้างสัญญา เราสามารถสร้าง 3 สัญญา 20558 ไบต์สำหรับ 12334800Gas+3*55000Gas เพื่อเพิ่ม ค่าใช้จ่ายในการสร้างสัญญา
ด้วยวิธีนี้ ในบล็อกเดียว ขนาดที่เก็บข้อมูลสามารถเพิ่มได้ 20600*3=61800 ไบต์
สมมติว่าเวลาเฉลี่ยในการสร้างบล็อกคือ 13.1 วินาที จะมี 31556925/13.1=2408925 บล็อกต่อปี โดยทั่วไป สถานะสามารถขยายได้ 61800*2408925=148871600381.67938 ไบต์ ซึ่งเท่ากับ 138 GB
ความแตกต่างนี้ประมาณ 10 เท่า (หมายเหตุแผนสีขาว: ข้อมูล 16GB ด้านล่างเป็นที่เข้าใจตามบริบทว่าเป็นขนาดสถานะรวมปัจจุบันของ Ethereum ในหนึ่งปี)
สิ่งสำคัญที่สุดคือ RAM ของฮาร์ดแวร์สำหรับผู้บริโภคสามารถเก็บขนาดจริงได้ซึ่งอาจเป็น 16GB (หากไม่เป็นเช่นนั้น เราสามารถปรับราคาก๊าซหรือสถานะการหมดอายุเพื่อให้พอดีได้) และ 138GB ไม่สามารถจัดเก็บได้
ชื่อเรื่องรอง

รางคู่ EIP-1559

วิธีแก้ไขปัญหานี้โดยธรรมชาติคือการใช้ราคา EIP-1559 สำหรับค่าใช้จ่ายชั่วคราวและถาวร แต่มีระยะเวลาการปรับเปลี่ยนที่แตกต่างกัน
สำหรับต้นทุนชั่วคราวสามารถปรับราคาได้มากกว่า 10% ต่อครั้ง อย่างไรก็ตาม สำหรับต้นทุนถาวร จะทำให้การปรับราคาช้าลงมาก
หากเราใช้กลไกเส้นโค้งต้นทุน AMM เป็นพื้นฐาน สำหรับการจัดเก็บข้อมูล เราสามารถพิจารณาเส้นโค้งที่มีอัตราเป้าหมาย 1GB ต่อเดือน และค่าใช้จ่ายจะเพิ่มขึ้นตามจำนวนที่เราเกินเป้าหมาย:
ตัวอย่างเช่น ต้นทุนพื้นที่จัดเก็บสามารถเพิ่มเป็นสองเท่าสำหรับทุกๆ GB ที่เกินเป้าหมาย ในกรณีนี้ อาจใช้เวลาประมาณ 3 วันเพื่อให้ราคาบล็อคพื้นที่เก็บข้อมูลเพิ่มขึ้นเป็นสองเท่า หากพื้นที่จัดเก็บขยายเกิน 10GB ต้นทุนพื้นที่จัดเก็บจะเป็น 1,000 เท่าของราคาปกติ ทำให้ไม่สามารถจัดเก็บต่อในเชิงเศรษฐกิจได้
มีสองวิธีในการบรรลุเป้าหมายนี้:
1. ซื้อที่เก็บข้อมูลด้วยแก๊ส นั่นคือ การใช้ SSTORE เพื่อสร้างช่องเก็บข้อมูลใหม่จะใช้แก๊สเหมือนที่เป็นอยู่ตอนนี้ แต่ปริมาณแก๊สที่ใช้จะแปรผัน ข้อเสียของสิ่งนี้คือสร้างแรงจูงใจ (ปลอมแปลง) สำหรับผู้ใช้ในการเติมที่เก็บข้อมูลในวันหยุดสุดสัปดาห์เมื่อราคาน้ำมันถูกลง
2. ซื้อพื้นที่เก็บข้อมูลด้วย ETH นอกจากแก๊สแล้ว ธุรกรรม (และการโทร) จำเป็นต้องจัดหาทรัพยากรอื่น (เราเรียกว่ามานาก็ได้) ซึ่งจะใช้กลไกที่คล้ายกันกับแก๊ส แต่มีพารามิเตอร์ต่างกัน สิ่งนี้มีข้อเสียของกฎการโทรที่ซับซ้อนและต้องมีการเพิ่ม CALL opcode ใหม่
โปรดทราบว่ามีตัวเลือกไฮบริดที่นี่:
3. พื้นที่จัดเก็บสามารถกำหนดราคาเป็น ETH แต่เรียกเก็บเป็น Gas (ดังนั้นหากค่าธรรมเนียมพื้นฐานเพิ่มขึ้นเป็นสองเท่า Gas ที่ต้องใช้ในการเติมช่องจัดเก็บจะลดลงครึ่งหนึ่งโดยอัตโนมัติ) เราสามารถยกเว้น ETH ที่ใช้สำหรับปรับขนาดพื้นที่จัดเก็บจากกฎการอัพเดทราคาก๊าซ EIP 1559 หรือแม้กระทั่งการจำกัดการบล็อก
4. เปลี่ยน Gas เป็นสามแนวคิดที่ครอบคลุมมากขึ้น: Gas, Execution Point และ Storage Point 1Gas = 1wei การทำธุรกรรมที่จัดสรร Gas หมายความว่ากำลังแปลง Wei บางส่วนเป็นรูปแบบพิเศษที่สามารถใช้เพื่อชำระค่าทรัพยากร แบบฟอร์มนี้ทำงานเหมือนกับ Gas ในแง่ของวิธีการส่งผ่านระหว่างการโทรและการโทรย่อย
อย่างไรก็ตาม ขณะนี้ AMM จัดการค่าใช้จ่ายสองอย่าง ได้แก่ ต้นทุนจุดดำเนินการและต้นทุนจุดจัดเก็บ เมื่อกระบวนการดำเนินการประมวลผล opcode ที่ใช้ก๊าซ N ในปัจจุบัน กระบวนการนั้นจะใช้คะแนนดำเนินการ N ซึ่งหมายความว่าต้องใช้การดำเนินการ_point_cost N* เพื่อจ่ายก๊าซ การเติมช่องจัดเก็บต้องใช้จุดจัดเก็บ 1 จุด ดังนั้น storage_point_cost จึงจำเป็นต้องชาร์จแก๊ส
สุดท้าย โปรดทราบว่าการคืนเงินคาดว่าจะถูกลบออกจากโรดแมปกำหนดเวลาของรัฐ นี่เป็นเพราะเหตุผลทางเทคนิค: ช่องเก็บข้อมูลไม่สามารถ "ว่างเปล่า" และมีสิทธิ์ได้รับเงินคืน ดังนั้นจึงสามารถตั้งค่าเป็นศูนย์เท่านั้น และเรกคอร์ดที่เป็นศูนย์จะต้องอยู่ในสถานะนั้นจนกว่ารอบระยะเวลาจะสิ้นสุดและสถานะจะหมดอายุ สิ่งนี้ช่วยลดปัญหาความซับซ้อนที่พบในความพยายามครั้งก่อนในการเช่าพื้นที่เก็บข้อมูล
ห่วงโซ่สาธารณะ
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
ปัญหาที่ใหญ่ที่สุดของโมเดลสถานะ Ethereum คือ: ความแตกต่างอย่างมากระหว่างการเติบโตของสถานะโดย
คลังบทความของผู้เขียน
白计划
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android