BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

แนวคิดการปรับปรุงกระบวนการ EIP: การยืมจากกระบวนการ RFC และ W3C

以太坊爱好者
特邀专栏作者
บทความนี้มีประมาณ 3728 คำ การอ่านทั้งหมดใช้เวลาประมาณ 6 นาที
ได้รับแรงบันดาลใจหลักมาจากกระบวนการ RFCs และ W3C
สรุปโดย AI
ได้รับแรงบันดาลใจหลักมาจากกระบวนการ RFCs และ W3C

หมายเหตุบรรณาธิการ: บทความนี้มาจากผู้ที่ชื่นชอบ Ethereum (ID: ethfans)หมายเหตุบรรณาธิการ: บทความนี้มาจาก

ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)

ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)

ผู้เขียน: Alex Beregszaszi แปลและพิสูจน์อักษร: Min Min & A Jian พิมพ์ซ้ำโดยได้รับอนุญาตจาก Odaily

สรุปหนึ่งประโยค: ก่อนอื่น ฉันจะแนะนำทั่วไปเกี่ยวกับกระบวนการ EIP และการปรับเปลี่ยนในปี 2019 จากนั้น ฉันจะเสนอกระบวนการ EIP ใหม่ ซึ่งส่วนใหญ่ได้รับแรงบันดาลใจจากกระบวนการ RFC และ W3C

  • ตั้งแต่ปี 2559 ฉันมีส่วนร่วมใน EIPs (ข้อเสนอการปรับปรุง Ethereum) ฉันเริ่มต้นจากการเป็นผู้สนับสนุน และต่อมาได้เข้าร่วมใน "กระบวนการ AllCoreDev" และรับงานด้านบรรณาธิการ

  • กระบวนการปัจจุบัน

มีสองกระบวนการที่แตกต่างกันในไลบรารี EIP ปัจจุบัน:

ข้อมูลจำเพาะ

  • การใช้งานเครือข่ายทั้งหมด (แผนฮาร์ดฟอร์ก)

  • EIP-1 ​​และ EIP 233 กำหนดส่วนของกระบวนการทั้งสอง ต่อมา EIP-2378 ได้ขยายตัวบนพื้นฐานนี้

  • ในปี 2019 มีการเสนอการเปลี่ยนแปลงหลายรายการ โดย 4 รายการเกี่ยวข้องกับสถานะของข้อเสนอ:

  • แนะนำสถานะ "รีวิว"

เปลี่ยนชื่อ "ยอมรับ" เป็น "พร้อม"

แนะนำสถานะ "ละทิ้ง"

ลบสถานะ "เลื่อน"

แรงจูงใจในการแนะนำการเปลี่ยนแปลงสองรายการแรกนั้นคล้ายกัน แต่แตกต่างกันเล็กน้อย สถานะ "ตรวจสอบ" เป็นขั้นตอนใหม่ที่ข้อเสนอจะไม่ถูกนำไปใช้อย่างเร่งด่วน แม้ว่าจะมีข้อเสนอที่ชัดเจนที่เปิดให้พิจารณาในวงกว้าง สถานะ "พร้อม" เป็นเพียงการเปลี่ยนแปลงที่เพิ่มขึ้นเล็กน้อย และน้ำเสียงจะนุ่มนวลกว่า "ยอมรับ" แต่กระบวนการฮาร์ดฟอร์กใน EIP-1 ​​ยังคงอยู่

สถานะ "ละทิ้ง" ถูกนำมาใช้เพื่อล้างแบบร่างที่ถูกละทิ้งจำนวนมาก เห็นได้ชัดว่า สถานะ "ถอนออก" ที่ไม่ได้ใช้ก่อนหน้านี้ได้ถูกลบออกไปแล้ว

เนื่องจากการเปลี่ยนแปลงใน EIP-233 และ EIP-2378 สถานะ "รอการตัดบัญชี" จึงล้าสมัยและถูกลบออก

นอกจากนี้ยังมีข้อเสนอให้ลบสถานะ hard fork อื่นๆ เช่น "Accepted" และ "Rejected"

โปรดทราบว่าฉันจะไม่อธิบายรายละเอียดว่าแต่ละสถานะหมายถึงอะไรในแผนภาพด้านล่าง โปรดอ่าน EIP-1 ​​สำหรับเคสแต่ละมุม อย่างไรก็ตาม 'กระบวนการที่เสนอ' ด้านล่างให้คำอธิบายที่สมเหตุสมผล "

ในเดือนมิถุนายน 2019 เราได้หารือเชิงลึกเกี่ยวกับความซับซ้อนของกระบวนการ EIP หากพิจารณาแต่ละสถานะ โฟลว์ EIP ทั้งหมด (ก่อนสถานะ "เลื่อนออกไป" จะถูกลบออก) จะแสดงในไดอะแกรมต่อไปนี้:

ในเวลานั้น ฉันคิดว่า EIP สามารถเปลี่ยนจากสถานะ "การโทรครั้งสุดท้าย (ครั้งสุดท้ายสำหรับความคิดเห็น)" เป็นสถานะ "ละทิ้ง" แม้ว่าจะไม่ได้เขียนไว้ในเอกสารก็ตาม

สิ่งที่ฉันไม่ได้พูดถึงคือมี EIP สองรายการที่มีกระบวนการต่างกัน และการใช้ชุดค่าผสมด้านบนทั้งหมดไม่ถูกต้อง

การไหลของ EIP "แกนกลาง" เป็นดังนี้:

ควรสังเกตที่นี่ว่า EIP "หลัก" ไม่ได้แนะนำสถานะ "การโทรครั้งสุดท้าย" จนกระทั่งเมื่อไม่นานมานี้

กระบวนการสำหรับ EIP "ที่ไม่ใช่คอร์" มีดังต่อไปนี้:

ในเดือนพฤษภาคม 2020 ฉันเสนอกระบวนการที่ง่ายกว่านี้:

เราได้พูดถึงประเด็นนี้แล้ว แต่เช่นเดียวกับข้อเสนอมากมายที่กำลังเข้าสู่กระบวนการ EIP ข้อเสนอนี้ไม่ได้ก้าวไปข้างหน้า

ฮาร์ดส้อม

ยังเป็นที่ถกเถียงกันอยู่ว่าควรรวมสถานะ "ถอนออก" และ "ละทิ้ง" เข้าด้วยกันหรือไม่ สิ่งนี้ได้รับการอธิบายอย่างชัดเจนในประเด็นล่าสุด

ในการประชุมทางโทรศัพท์ มีคำแนะนำให้ใช้คำว่า "Living" แทนคำว่า "Active" แบบแรกอาจไม่ใช่ตัวเลือกที่ดีที่สุด แต่ฟังดูดีกว่าแบบหลัง

ฮาร์ดส้อม

ฉันชอบที่จะแยกสองกระบวนการของการจัดการฮาร์ดฟอร์กและการจัดการตามรูปแบบบัญญัติ ตอนนี้ดูเหมือนว่าหลายคนคิดอย่างนั้น สิ่งนี้ทำให้กระบวนการง่ายขึ้นและราบรื่นขึ้นมาก

ตามข่าวใหม่จากการประชุมนักพัฒนาแบบ all-core ขณะนี้ดูเหมือนจะเป็นที่เก็บข้อมูลจำเพาะ ETH 1.0 สำหรับการติดตามและจัดการข้อเสนอ และทดสอบบนเครือข่ายชั่วคราวที่เรียกว่า "YOLO"

ฉันคิดว่าแม้ว่ากระบวนการ hard fork สุดท้ายที่เหลืออยู่จะถูกลบออกจากไลบรารี EIP แนวคิดดั้งเดิมของ EIP-233 ก็ยังสมเหตุสมผล นั่นคือการบันทึก hard fork ที่มีอยู่ในเอกสารเมตา (ใส่ไว้ในไฟล์เดียวกับ EIP อธิบายการเปลี่ยนแปลงข้อมูลจำเพาะ กัน)

อย่างไรก็ตาม ผู้คนได้ก้าวไปอีกขั้นจากแนวคิดดั้งเดิมของ EIP-233 และกฎกลายเป็นการสร้างเอกสารเมตาโดยเร็วที่สุดเพื่อชี้แจงชื่อของการฮาร์ดฟอร์ก เนื่องจากไคลเอนต์ต่างใช้ชื่อต่างกัน แต่หลังจากตกลงกลไกการตั้งชื่อแล้ว ปัญหานี้ก็ไม่เป็นปัญหาอีกต่อไป

ในที่สุด แนวคิดของ EIP-233 ก็ขยายออกไปอีกครั้ง โดยขยายกระบวนการติดตามฮาร์ดฟอร์กในกระบวนการวางแผนและการประสานงาน โชคดีที่ในอนาคตสิ่งนี้จะได้รับการจัดการโดยข้อกำหนดเฉพาะของ ETH 1.0

หลังจากเกิดการ hard fork ข้อมูลทั้งหมดจะถูกบันทึกไว้ใน "เมตาของ hard fork" metas ของฮาร์ดฟอร์ดได้พิสูจน์แล้วว่าเป็นทรัพยากรที่มีประโยชน์มาก

กระบวนการที่ฉันแนะนำ

ในการยืนบนไหล่ของยักษ์ใหญ่ ทรัพยากรที่ดีที่สุดที่เราพบคือกระบวนการ RFC และกระบวนการ W3C แม้ว่าข้อกำหนดที่เกี่ยวข้องกับกระบวนการทั้งสองโดยทั่วไปจะใหญ่กว่า EIP มาก แต่ฉันคิดว่าเราสามารถเรียนรู้จากข้อกำหนดเหล่านี้ได้

ในที่นี้ ฉันขอยืมคำศัพท์ส่วนตัวที่ฉันชื่นชอบจากกระบวนการ W3C อย่างไรก็ตาม มีตัวเลือกอื่นๆ ที่ระบุในรูปด้านบน ทั้งข้อกำหนดที่มีอยู่หรือข้อกำหนดที่เสนอ ฉันชอบคำว่า "ผู้สมัคร" เป็นการส่วนตัว

ความคิด

ก่อนที่จะส่งข้อเสนอใด ๆ ควรมีขั้นตอนการพิจารณาก่อนที่จะส่งคำขอดึง (คำขอดึง) ที่สร้างร่าง เราสามารถพูดคุยและวิจารณ์แนวคิดเกี่ยวกับ Ethereum Magicians, ethresear.ch และช่องบน Gitter หรือ Discord

ร่าง

สมมติว่าแนวคิดหนึ่งดึงดูดความสนใจ เราควรสร้างแบบร่างตามเทมเพลต EIP ตราบใดที่แบบร่างนี้ตรงตามข้อกำหนดทางไวยากรณ์พื้นฐาน เราควรรวมเข้าด้วยกัน

คำถาม: ความคิดเห็นแตกต่างกันไปตามจำนวนบรรณาธิการที่มีอำนาจในการทบทวนข้อเสนอ และไม่มีคำตอบที่ชัดเจน หากเรามีกระบวนการที่ดีในการลบ EIP ที่ไม่สำเร็จ การรวมแบบร่างก่อนหน้านี้เป็นสิ่งที่ถูกต้องอย่างแน่นอน

ในขั้นตอนนี้ คาดว่าจะมีการอภิปรายร่างร่างโดยผู้เข้าร่วมกลุ่มเล็กๆ ที่สนใจ

ไม่มีการจำกัดเวลาสำหรับสถานะ "ฉบับร่าง" แต่ขอแนะนำไม่ให้เกินกรอบเวลาที่เหมาะสม (ไม่กี่เดือน)

ผู้สมัคร (ผู้สมัคร)/ทบทวน (ทบทวน)

ควรเข้าสู่ขั้นตอนนี้เมื่อแบบร่างมีความเสถียรเพียงพอที่คาดว่าจะไม่มีการแก้ไขที่สำคัญเพิ่มเติมอีก

ในขั้นตอนนี้ มีผู้เข้าร่วมให้ข้อเสนอแนะมากขึ้น ณ จุดนี้ ผู้เข้าร่วมมีเหตุผลที่จะเชื่อว่าข้อกำหนดจะไม่เปลี่ยนแปลงอย่างกะทันหัน ดังนั้นพวกเขาจึงมีแนวโน้มที่จะใช้เวลาในการทบทวนและอภิปราย

ขั้นตอนนี้ควรใช้เวลาอย่างน้อย 45 วันเพื่อให้สามารถรวบรวมความคิดเห็นได้

เสนอ (เสนอ) / Last Call (โทรครั้งสุดท้ายสำหรับความคิดเห็น)

ควรเข้าสู่ขั้นตอนนี้เมื่อผู้เข้าร่วมรู้สึกว่าข้อมูลจำเพาะมีเสถียรภาพเพียงพอที่จะไม่มีการเปลี่ยนแปลงเพิ่มเติม

ในขั้นตอนนี้ ข้อกำหนดจะถูกส่งไปยังผู้เข้าร่วมเพิ่มเติมเพื่อแสดงความคิดเห็น หลังจากนั้นจะถือว่าข้อกำหนดเสร็จสิ้นและไม่สามารถเปลี่ยนแปลงได้ [ยกเว้น "errata (kan)" ดูรายละเอียดด้านล่าง]

ขั้นตอนนี้ควรใช้เวลาอย่างน้อย 14 วัน

หากจำเป็นต้องมีการปรับเปลี่ยนเล็กน้อย ก็สามารถทำได้โดยไม่ต้องเปลี่ยนสถานะปัจจุบัน มิฉะนั้น จะต้องถอยกลับไปสู่สถานะ "ผู้สมัคร"

ข้อกำหนดพิเศษ: ต้องรวมฟิลด์วันที่สิ้นสุดการตรวจทานไว้ในส่วนหน้า

สุดท้าย

หากผ่านข้อกำหนดในสถานะ "เสนอ" สำเร็จ ก็จะถือว่าเสร็จสิ้น

  • ถอนออก

  • ยกเว้นสถานะ "สุดท้าย" และ "ชีวิต" สถานะอื่นๆ ทั้งหมดอาจกลายเป็นสถานะนี้

ข้อกำหนดพิเศษ: สถานการณ์ต่อไปนี้อาจนำไปสู่สถานะ "ถอนออก" แต่ต้องมีฟิลด์เหตุผล:

ผู้เขียนถอนตัว: ผู้เขียนตัดสินใจถอนตัวในทุกขั้นตอน

ถอนออกเนื่องจากไม่มีการใช้งาน: ผู้เขียนไม่มีกิจกรรมตามระยะเวลาที่กำหนด (180 วัน)

อยู่อาศัย/ใช้งาน

EIP-1 ​​เหล่านั้นเป็นรีจิสตรีและ EIP พิเศษอื่น ๆ จะถูกทำเครื่องหมายด้วยสถานะนี้ เนื่องจากจะไม่มีการสิ้นสุด

เอกสารการจดทะเบียนใหม่ใดๆ จะต้องผ่านกระบวนการ EIP เต็มรูปแบบก่อนที่จะมีสถานะ "มีชีวิต"

เก็บถาวร

  • แม้ว่านี่จะไม่ใช่สถานะ แต่ด้วยวิธีนี้ EIP ที่ถูกเพิกถอนเป็นเวลานานสามารถลบออกได้เพื่อหลีกเลี่ยงการเติมไลบรารี EIP คลิกที่นี่เพื่อดูรายละเอียด

  • ล้าสมัย

นี่ไม่ใช่สถานะ แต่เป็นกระบวนการเลิกใช้ที่ยืมมาจาก RFC กระบวนการนี้แนะนำสองฟิลด์:

ล้าสมัยโดย: มีหมายเลข EIP ที่ล้าสมัย EIP ปัจจุบัน

ล้าสมัย: ประกอบด้วยชุดของหมายเลข EIP ที่ล้าสมัยโดย EIP ปัจจุบัน

EIP ปัจจุบันสามารถใช้ฟิลด์ที่ล้าสมัยได้เมื่ออยู่ในสถานะ Final หรือ Withdrawn เท่านั้น

EIP ปัจจุบันสามารถมีฟิลด์ล้าสมัยได้หากฟิลด์ "เลิกใช้แล้ว" ของ EIP ที่อ้างอิงชี้ไปที่ EIP ปัจจุบัน

ซึ่งหมายความว่าผู้เขียน EIP ในฐานะฝ่ายที่ถูกกำจัดและฝ่ายที่ถูกกำจัดจะต้องบรรลุฉันทามติ สิ่งนี้อาจเปลี่ยนแปลงได้ในอนาคตเนื่องจากข้อเสนอสำหรับกระบวนการคัดออกที่ดีขึ้น

Remark

Errata (เออร์ราต้า)

  • ข้อผิดพลาดเล็กน้อยในการพิมพ์อาจได้รับการแก้ไขโดยบรรณาธิการตามแบบแผน

  • อาจเป็นไปได้ว่าการแก้ไขใด ๆ ที่ช่วยให้ความชัดเจนของข้อกำหนดเป็นที่ยอมรับได้ตราบเท่าที่ไม่เปลี่ยนแปลงข้อเสนอเดิมเกินกว่าจะจดจำได้ เนื่องจากการแก้ไขเล็กน้อยสามารถอธิบายได้ในส่วน Errata หากจำเป็นต้องมีการปรับเปลี่ยนที่สำคัญ EIP ที่เกี่ยวข้องจะต้องถูกยกเลิกและต้องสร้างขึ้นใหม่

  • resolution

ฟิลด์ frontmatter ต่อไปนี้ถูกลบออกเนื่องจากไม่ได้ระบุและ/หรือใช้:

แทนที่ (แทนที่ด้วยกระบวนการกำจัด)

  • แทนที่ด้วย (แทนที่ด้วยกระบวนการกำจัด)

  • Rejected

  • Accepted

  • สถานะต่อไปนี้จะถูกลบออก:

เครื่องมือ

ละทิ้ง (เปลี่ยนชื่อเป็น "ถอน")

แทนที่ (แทนที่ด้วยกระบวนการกำจัด)

เครื่องมือ

อย่างไรก็ตาม ความท้าทายที่ใหญ่ที่สุดที่ EIP ต้องเผชิญคือความต้องการกำลังคน

ETH
开发者
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
สารบัญบทความ
คลังบทความของผู้เขียน
以太坊爱好者
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android