เอกสารนี้ได้รับแรงบันดาลใจมาจากงานของเราที่เกี่ยวกับ FOCIL ความเห็นสังสัย 23, ที่นี่เรารู้สึกว่าโปรโตคอลต้องการความพิจารณาอย่างรอบคอบมากขึ้นเกี่ยวกับข้อจำกัดทรัพยากรเนื่องจากรายละเอียดบางประการยังไม่ได้ระบุโดยชัดเจนในโพสต์การวิจัย FOCIL Ethereum 14.
ก่อนที่เราจะเริ่มต้น เราสมมติว่ามีการติดตั้งตามนี้เพื่อกำหนดสภาพเบื้องต้นที่สะอาดสำหรับการพิจารณาของเรา:
ก่อนที่เราจะดำเนินการต่อ เราสมมติว่าผู้กระทำต่อไปนี้เป็นส่วนหนึ่งของโปรโตคอลและวิเคราะห์ความรับผิดชอบของพวกเขา:
เราสมมติกาว่าในไทม์ไลน์ต่อไปนี้ คณะกรรมการ IL ผู้เสนอแนะ และผู้รับรองทำการกระทำบางอย่างอย่างซื่อสัตย์:
สมาชิกคณะกรรมการ IL ดึงรายการธุรกรรม IL จาก EL ไคลเอนต์โดยใช้หัว (การโทร CL → EL) จากนั้นพวกเขาเซ็นรับรอง IL ท้องถิ่น (ธุรกรรม + สรุป) และปล่อยให้เข้าสู่เครือข่ายการสะท้อนกัน
โหนดที่ติดตามโซ่จะดาวน์โหลด IL ตรวจสอบมันเพื่อต่อต้าน DOS (ไม่นำเข้าไปยัง EL โดยอันที่จริง) และส่งต่อไปยังเพื่อนร่วมทางอื่น ๆ โหนดยังนำ IL เข้าสู่การเลือกคำแข้งและติดตาม IL ที่เห็นได้โดยใช้แคช AggreGate ผู้รับรองและโหนดที่ติดตามโซ่ควรมีมุมมองเดียวกันของโซ่
ผู้เสนอแนวคิดสำหรับสล็อตถัดไปรับบทบาทในการตรวจสอบเครือข่าย IL และเก็บรวบรวม IL ในระดับท้องถิ่น จากนั้นในช่วงเวลา IL การรวมรายการ (ระยะ #2) ผู้เสนอแนวคิดจะอัปเดตกระบวนการสร้างบล็อกด้วยรายการธุรกรรม IL เพื่อรวมในบล็อกของตน สิ่งนี้ต้องการการเรียกใช้จาก CL ถึง EL
หากผู้เสนอช่องถัดไปสังเกตเห็นจำนวนเพียงพอของรายการการรวมตามคำสั่งหลักที่ไม่เคยเห็น ผู้เสนอจะต้องขอบล็อกบีคอนที่ขาดหายอย่างดำเนินการด้วยตนเอง นำเข้าบล็อกและสร้างบนบล็อกนั้น
จากข้อมูลข้างต้นเราสามารถระบุพื้นที่ที่ใช้ทรัพยากรมากและ จํากัด ให้แคบลง:
ผู้เสนออัปเดตกระบวนการสร้างบล็อกด้วยรายการธุรกรรมรายการการรวม นี่คือการเรียก CL → EL
มุมมองรายการการรวมล็อก หยุดการยอมรับรายการการรวมท้องถิ่นตั้งแต่จุดนี้
ผู้เสนอดึงข้อมูลการปฏิบัติงานจากไคลเอ็นต์ (CL → การโทร EL) และปล่อยมันไปยังเครือข่ายการเส่นข่ายบีคอน ทุกคนจึงทำการตรวจสอบบล็อก
โหนดจะได้รับบล็อก Beacon และทำการตรวจสอบ ขั้นตอนการตรวจสอบใหม่รวมถึงการตรวจสอบการสร้างรายการการรวมข้อมูลและการยืนยันว่ารายการการรวมข้อมูลทำให้ฟังก์ชันการประเมินมีความสมบูรณ์ซึ่งจะเสร็จสิ้นบน CL การตรวจสอบเงื่อนไข IL (ว่าสามารถข้ามได้เนื่องจากความขัดแย้งหรือไม่) จะถูกดำเนินการบน EL
หน้าที่เพิ่มเติมสำหรับผู้เสนอไม่ใช่ปัญหาที่สำคัญ ขั้นตอนการยืนยันข้อมูลใหม่สำหรับโหนด - การตรวจสอบและยืนยันว่ารายการการรวมตัวอยู่ในเงื่อนไขที่น่าพอใจ - อาจทำให้มีการใช้งาน CPU เพิ่มขึ้นบ้าง แต่ดูเหมือนไม่ใช่ปัญหาใหญ่
ผู้รับรองโหวตเพื่อบล็อกบีคอนโด้โดยใช้กฎการเลือก LMD GHOST fork ผู้รับรองจะโหวตเฉพาะสำหรับบล็อกบีคอนที่ประทับใจฟังก์ชันการประเมินรายการการรวมเวลา 1
ไม่มีความแตกต่างกับวันนี้
เหมือนที่เห็นข้างต้น ปัญหาทรัพยากรที่สำคัญที่สุดเกี่ยวกับการอัปโหลดรายการการรวมอยู่ที่การดาวน์โหลดและภายในมุมมองของโหนดที่สามารถทำสแปมได้ ปัญหาที่สำคัญอีกประการหนึ่งคือภาระของโหนดในการตรวจสอบและนำเข้ารายการการรวม รวมถึงความต้องการของผู้เสนอในการอัปเดตกระบวนการสร้างบล็อกของตนเพื่อทำให้รายการการรวมนั้นเป็นไปตามต้องการ ประการเหล่านี้ต้องให้ความระมัดระวังและออกแบบอย่างรอบคอบเพื่อให้มั่นใจในประสิทธิภาพและความปลอดภัย
จากนั้นเราจะกล่าวถึงคำถามที่เปิดเผยหลายข้อที่จะมีผลต่อวิธีการเขียนข้อกำหนด:
เอกสารนี้ได้รับแรงบันดาลใจมาจากงานของเราที่เกี่ยวกับ FOCIL ความเห็นสังสัย 23, ที่นี่เรารู้สึกว่าโปรโตคอลต้องการความพิจารณาอย่างรอบคอบมากขึ้นเกี่ยวกับข้อจำกัดทรัพยากรเนื่องจากรายละเอียดบางประการยังไม่ได้ระบุโดยชัดเจนในโพสต์การวิจัย FOCIL Ethereum 14.
ก่อนที่เราจะเริ่มต้น เราสมมติว่ามีการติดตั้งตามนี้เพื่อกำหนดสภาพเบื้องต้นที่สะอาดสำหรับการพิจารณาของเรา:
ก่อนที่เราจะดำเนินการต่อ เราสมมติว่าผู้กระทำต่อไปนี้เป็นส่วนหนึ่งของโปรโตคอลและวิเคราะห์ความรับผิดชอบของพวกเขา:
เราสมมติกาว่าในไทม์ไลน์ต่อไปนี้ คณะกรรมการ IL ผู้เสนอแนะ และผู้รับรองทำการกระทำบางอย่างอย่างซื่อสัตย์:
สมาชิกคณะกรรมการ IL ดึงรายการธุรกรรม IL จาก EL ไคลเอนต์โดยใช้หัว (การโทร CL → EL) จากนั้นพวกเขาเซ็นรับรอง IL ท้องถิ่น (ธุรกรรม + สรุป) และปล่อยให้เข้าสู่เครือข่ายการสะท้อนกัน
โหนดที่ติดตามโซ่จะดาวน์โหลด IL ตรวจสอบมันเพื่อต่อต้าน DOS (ไม่นำเข้าไปยัง EL โดยอันที่จริง) และส่งต่อไปยังเพื่อนร่วมทางอื่น ๆ โหนดยังนำ IL เข้าสู่การเลือกคำแข้งและติดตาม IL ที่เห็นได้โดยใช้แคช AggreGate ผู้รับรองและโหนดที่ติดตามโซ่ควรมีมุมมองเดียวกันของโซ่
ผู้เสนอแนวคิดสำหรับสล็อตถัดไปรับบทบาทในการตรวจสอบเครือข่าย IL และเก็บรวบรวม IL ในระดับท้องถิ่น จากนั้นในช่วงเวลา IL การรวมรายการ (ระยะ #2) ผู้เสนอแนวคิดจะอัปเดตกระบวนการสร้างบล็อกด้วยรายการธุรกรรม IL เพื่อรวมในบล็อกของตน สิ่งนี้ต้องการการเรียกใช้จาก CL ถึง EL
หากผู้เสนอช่องถัดไปสังเกตเห็นจำนวนเพียงพอของรายการการรวมตามคำสั่งหลักที่ไม่เคยเห็น ผู้เสนอจะต้องขอบล็อกบีคอนที่ขาดหายอย่างดำเนินการด้วยตนเอง นำเข้าบล็อกและสร้างบนบล็อกนั้น
จากข้อมูลข้างต้นเราสามารถระบุพื้นที่ที่ใช้ทรัพยากรมากและ จํากัด ให้แคบลง:
ผู้เสนออัปเดตกระบวนการสร้างบล็อกด้วยรายการธุรกรรมรายการการรวม นี่คือการเรียก CL → EL
มุมมองรายการการรวมล็อก หยุดการยอมรับรายการการรวมท้องถิ่นตั้งแต่จุดนี้
ผู้เสนอดึงข้อมูลการปฏิบัติงานจากไคลเอ็นต์ (CL → การโทร EL) และปล่อยมันไปยังเครือข่ายการเส่นข่ายบีคอน ทุกคนจึงทำการตรวจสอบบล็อก
โหนดจะได้รับบล็อก Beacon และทำการตรวจสอบ ขั้นตอนการตรวจสอบใหม่รวมถึงการตรวจสอบการสร้างรายการการรวมข้อมูลและการยืนยันว่ารายการการรวมข้อมูลทำให้ฟังก์ชันการประเมินมีความสมบูรณ์ซึ่งจะเสร็จสิ้นบน CL การตรวจสอบเงื่อนไข IL (ว่าสามารถข้ามได้เนื่องจากความขัดแย้งหรือไม่) จะถูกดำเนินการบน EL
หน้าที่เพิ่มเติมสำหรับผู้เสนอไม่ใช่ปัญหาที่สำคัญ ขั้นตอนการยืนยันข้อมูลใหม่สำหรับโหนด - การตรวจสอบและยืนยันว่ารายการการรวมตัวอยู่ในเงื่อนไขที่น่าพอใจ - อาจทำให้มีการใช้งาน CPU เพิ่มขึ้นบ้าง แต่ดูเหมือนไม่ใช่ปัญหาใหญ่
ผู้รับรองโหวตเพื่อบล็อกบีคอนโด้โดยใช้กฎการเลือก LMD GHOST fork ผู้รับรองจะโหวตเฉพาะสำหรับบล็อกบีคอนที่ประทับใจฟังก์ชันการประเมินรายการการรวมเวลา 1
ไม่มีความแตกต่างกับวันนี้
เหมือนที่เห็นข้างต้น ปัญหาทรัพยากรที่สำคัญที่สุดเกี่ยวกับการอัปโหลดรายการการรวมอยู่ที่การดาวน์โหลดและภายในมุมมองของโหนดที่สามารถทำสแปมได้ ปัญหาที่สำคัญอีกประการหนึ่งคือภาระของโหนดในการตรวจสอบและนำเข้ารายการการรวม รวมถึงความต้องการของผู้เสนอในการอัปเดตกระบวนการสร้างบล็อกของตนเพื่อทำให้รายการการรวมนั้นเป็นไปตามต้องการ ประการเหล่านี้ต้องให้ความระมัดระวังและออกแบบอย่างรอบคอบเพื่อให้มั่นใจในประสิทธิภาพและความปลอดภัย
จากนั้นเราจะกล่าวถึงคำถามที่เปิดเผยหลายข้อที่จะมีผลต่อวิธีการเขียนข้อกำหนด: