Shadow Fork คืออะไร?
Shadow Fork คือสำเนาชั่วคราวของบล็อกเชนจริงที่คัดลอกข้อมูลและประวัติศาสตร์จริง จากนั้นจึงรันในสภาพแล็บที่ปลอดภัย ทีมงานใช้งานมันเพื่อทดสอบการอัปเกรดด้วยสถานะจริงโดยไม่แตะต้องเหรียญของคุณ คิดถึงการซ้อมเวทีเบื้องหลังด้วยฉากและอุปกรณ์เดียวกัน
Shadow Fork จะให้คุณได้เหรียญสำเนาฟรี เปล่าหมายถึงมันถูกแยกออกจาก mainnet เพื่อให้ยอดคงเหลือของคุณไม่ขยับและไม่มีอะไรถูกเครดิตเข้าสู่กระเป๋าของคุณ
Shadow Fork ทำงานอย่างไร
ภาพช่างยนต์ที่คัดลอกสถานะเครือข่าย เพิ่มโค้ดใหม่ และทดสอบความเครียดใน sandbox หลายทีมสร้างขึ้นบน Testnets เพื่อให้พังทลายได้โดยไม่ส่งผลกระทบ
- ขั้นตอนที่ 1: เลือกเครือข่ายแหล่งที่มาและความสูงบล็อกที่จะคัดลอกจาก
- ขั้นตอนที่ 2: คัดลอกข้อมูลสถานะ accounts, contracts, balances เพื่อให้ fork เริ่มต้นด้วยประวัติจริง
- ขั้นตอนที่ 3: ปล่อยโหนดด้วยการกำหนดค่า upgrade ที่จะมาถึงและตั้งค่า trigger block
- ขั้นตอนที่ 4: เล่นซ้ำหรือติดตามทราฟฟิก แล้วเรียกใช้งานการทดสอบเป้าหมาย เช่น การเปลี่ยน gas หรือ opcode ใหม่
- ขั้นตอนที่ 5: ตรวจสอบล็อก มาวัดประสิทธิภาพ แก้บั๊ก และทำซ้ำจนมันทำงานได้
ใช่ นั่นคือแนวคิด
ทำไม Shadow Fork ถึงสำคัญ
มันคือการซ้อมด้วยเดิมพันจริง โดยไม่มีความเสี่ยงต่อเงินของคุณ นั่นช่วยลดความเจ็บปวดในทีหลังและเร่งรอบการปล่อย
- ประโยชน์: พบบั๊กและ edge cases ก่อนที่ผู้ใช้จะเจอ ซึ่งช่วยประหยัดเวลาและเงินทุน
- มุมมอง: การอัปเกรดจริงมักถูกปล่อยเป็น Hard Forks หรือเป็น Soft Forks; shadow forks คือการซ้อมชุดขนหนังก่อนเหตุการณ์เหล่านั้น ซึ่งทำให้เหตุการณ์เหล่านั้นน่าเบื่อในทางที่ดี
- ความเกี่ยวข้อง: คุณจะพบเห็นพวกมันได้รอบการเปิดตัวหลัก การอัปเดตไคลเอนต์ การเปลี่ยนแปลงโปรโตคอล DeFi และการปรับปรุงประสิทธิภาพขนาดใหญ่
เมื่อเชื่อมต่อกับ Shadow Fork ให้ตรวจสอบ chain ID และ RPC endpoint เสมอ และใช้กระเป๋าเงินใหม่เพื่อไม่ให้ผสมกับเงินทุนของ mainnet
ลักษณะสำคัญของ Shadow Fork
สรุปคุณลักษณะหลักที่ทำให้แนวคิดนี้โดดเด่น จดเป็นข้อๆ เพื่ออ่านง่าย:
- Mirror: เริ่มต้นจากข้อมูลเครือข่ายจริงที่ block ที่เลือก
- Isolated: รันบนโหนดแยกพร้อมชุด peer และ chain ID ที่แตกต่าง
- Temporary: ถูก spin ขึ้นมาเพื่อการทดสอบ แล้วถูกยุติ
- Repeatable: สามารถสร้างใหม่ได้ซ้ำสำหรับสถานการณ์ต่างๆ
Variations
ชี้แจงรูปแบบหลักๆ สั้นและชัดเจน ตัวอย่าง:
- Public: ใครก็เข้าร่วมและสังเกตการทดสอบได้
- Private: การเข้าถึงจำกัดเฉพาะทีมงานหรือลูกค้ากลุ่ม
- Partial: เน้นสถานะส่วนหนึ่งหรือโมดูลเฉพาะ
นี่คือสภาพแวดล้อมการทดสอบ มันไม่ได้สร้างเหรียญใหม่ให้ผู้ถือ และไม่เหมือนกับ network splits.
ตัวอย่าง
ก่อน The Merge ทีม Ethereum คัดลอกสถานะ mainnet รันไคลเอนต์ด้วยกฎกลบกลายเป็นข้อบังคับ และทดสอบด้วยทราฟฟิกเพื่อหาบั๊กล่วงหน้า
ข้อเท็จจริงน่าสนใจ
คำนี้เริ่มเป็นที่รู้จักเมื่อ Ethereum รัน Shadow Fork ที่มีหมายเลขหลายชุดสำหรับ The Merge และการอัปเกรดในภายหลัง ซึ่งทำให้รอบทดสอบที่แห้งแล้งกลายเป็นเหตุการณ์ที่ crypto Twitter ตามติดจริงๆ
Wrap-Up
คิดเป็นการซ้อมสำหรับการอัปเกรดเครือข่าย โดยมีพร็อพจริงและผู้ชมที่ไม่มีบัตรเข้าชม