ผู้เขียนต้นฉบับ: จาร์รอด วัตต์ส
การรวบรวมต้นฉบับ: Golden Finance 0xjs
หมายเหตุบรรณาธิการ:
Blast เครือข่าย L2 ใหม่ได้รับความสนใจจากสาธารณชนนับตั้งแต่เปิดตัวในสัปดาห์นี้ NFT Whale Christian ไม่เพียงฝาก 500 stETH ให้กับ Blast เท่านั้น แต่ในวันที่ 22 Blast ยังประกาศว่าได้เสร็จสิ้นการจัดหาเงินทุน 20 ล้านดอลลาร์สหรัฐแล้ว นักพัฒนาหลายคนกำลังถกเถียงกันเรื่องโค้ดและธรรมชาติของ Blast Jarrod Watts จาก Polygon ยังระบุอย่างตรงไปตรงมาว่า Blast ไม่ใช่เครือข่ายเลเยอร์ 2 บทความนี้แปลจากทวีต X ของเขา
มีคนพูดว่า "Blast เป็นเพียง 3/5 multisig..."
ฉันใช้เวลาสองสามวันที่ผ่านมาเพื่อค้นหาซอร์สโค้ดเพื่อดูว่าการกล่าวอ้างนี้เป็นจริงหรือไม่
นี่คือทุกสิ่งที่ฉันเห็น:
1. กระเป๋าเงินใหม่ 0x52c31 ปรับใช้สองสัญญา: 1) 0xa01: สัญญาพร็อกซี Blast Deposit; 2) 0x5f6: สัญญาการดำเนินการ Blast Deposit
หากคุณไม่คุ้นเคยกับการตั้งค่า "สัญญาเอเจนซี่" เหล่านี้ คุณจะกลับมาที่การตั้งค่านี้ในภายหลัง
2.0x52c31 หลังจากปรับใช้สัญญาเหล่านี้แล้ว ให้โอนการเป็นเจ้าของไปยังสัญญาอัจฉริยะ Gnosis Safe
สัญญา Gnosis Safe หรือ “Safe2” เป็นสัญญาอัจฉริยะหลายลายเซ็นที่ได้รับความนิยมและเชื่อถือได้มากที่สุด พวกเขาต้องการลายเซ็นจากผู้ลงนามส่วนใหญ่ในการทำธุรกรรม
3. ขณะนี้มีผู้ลงนาม 5 คนในสัญญา Safe ซึ่งเป็นเจ้าของสัญญา Blast
ซึ่งหมายความว่าผู้ลงนามส่วนใหญ่ (เช่น 3/5) จำเป็นต้องดำเนินธุรกรรมในนามของสัญญา Safe นี้ กระเป๋าเงินทั้ง 5 ใบนี้เป็นกระเป๋าใหม่ทั้งหมด แต่ไม่ทราบเจ้าของ
4. ดังนั้นสัญญาแบบหลายลายเซ็น 3/5 จึงเป็น "เจ้าของ" ของสัญญา Blast Deposit
ดังที่เราได้กล่าวไปแล้ว สัญญา Blast Deposit ประกอบด้วยสัญญาสองฉบับ: ตัวแทนและการดำเนินการ
การเป็น "เจ้าของ" หมายความว่าอย่างไร?
ดังที่เราได้กล่าวไปแล้ว สัญญา Blast Deposit ประกอบด้วยสัญญาสองฉบับ: ตัวแทนและการดำเนินการ
การเป็น "เจ้าของ" หมายความว่าอย่างไร?
5. ด้วยสัญญาอัจฉริยะทั่วไป คุณไม่สามารถเปลี่ยนรหัสได้เมื่อปรับใช้กับบล็อกเชน สัญญาอัจฉริยะของพร็อกซีช่วยให้คุณสามารถ "อัปเกรด" (การเปลี่ยนแปลง) เป็นสัญญาอัจฉริยะได้โดยไม่ต้องเปลี่ยนสัญญาทั้งหมด โดยทั่วไปจะใช้เพื่อแก้ไขข้อบกพร่องหรือเพิ่มฟังก์ชันการทำงาน
6. Blast agent ใช้สัญญา UUPSUpgradeable ของ OpenZeppelin ซึ่งรวมถึงฟังก์ชันต่างๆ เช่น "_upgradeTo" ซึ่งอนุญาตให้มีการเปลี่ยนแปลงตรรกะของสัญญาที่นำไปใช้ ซึ่งหมายความว่าสัญญาที่ผู้ใช้โต้ตอบด้วยสามารถรักษาที่อยู่สัญญาเดียวกันได้
7. สถานการณ์กรณีที่เลวร้ายที่สุดสำหรับความสามารถในการอัปเกรดนี้คือเจ้าของ (multisig) เปลี่ยนตรรกะของสัญญาเป็นสิ่งที่เป็นอันตราย
มันฟังดูน่ากลัวนิดหน่อยใช่ไหม? ...ในความเป็นจริง L2 ส่วนใหญ่ใช้ "ฟังก์ชันเสริม" เหล่านี้ในปัจจุบัน
8. Rollups ในแง่ดีเช่น Optimism และ Arbitrum ก็มีฟังก์ชันนี้เช่นกัน
ตาม L2Beat:
·รหัสที่ปกป้อง OP Mainnet และระบบฐานสามารถเปลี่ยนแปลงได้ตามต้องการโดยไม่ต้องแจ้งให้ทราบล่วงหน้า
·การอัพเกรด Arbitrum One ต้องใช้เวลาประมาณ 12 วัน แต่สามารถได้รับการอนุมัติจากคณะกรรมการได้โดยไม่ชักช้า
9. เช่นเดียวกับโลก zkEVM
ตาม L2Beat:
·รหัสที่ปกป้องระบบ Linea, Scroll และ zkSync อาจเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบ
·การอัพเกรด Polygon zkEVM จะล่าช้าประมาณ 10 วัน (เว้นแต่จะเปิดใช้งานสถานะฉุกเฉิน)
10. เหตุผลที่ Rollups เหล่านี้มีหลายลายเซ็นที่สามารถดำเนินการอัปเกรดได้ก็เพื่อเปิดใช้งานการรักษาความปลอดภัยชั่วคราวในขณะที่เทคโนโลยีเติบโตเต็มที่ ตามที่ L2Beat สรุปไว้ในบล็อกระยะ L2 ขั้นตอนสุดท้ายของการยกเลิกควรจำกัดความสามารถของคณะกรรมการความปลอดภัยเหล่านี้ในการจัดการกับ "ข้อบกพร่องร้ายแรง"
11. ความสามารถของคณะมนตรีความมั่นคงลดน้อยลงเมื่อเวลาผ่านไป อย่างไรก็ตาม การเปิดเผยข้อมูลของสมาชิกเป็นสิ่งสำคัญ
ตัวอย่างเช่น Polygon PIP-29 เสนอสมาชิก 13 คนให้จัดการ "การเปลี่ยนแปลงสัญญาอัจฉริยะของระบบในขอบเขตที่แคบและจำกัดเวลา"
12. ดังนั้นในขณะที่ Blast สามารถทำการอัพเกรดโค้ดผ่านลายเซ็นหลายลายเซ็นและขโมยเงินได้ทันที แต่ก็มี *ในปัจจุบัน* โซลูชัน L2 อื่นๆ อีกมากมายที่ทำในสิ่งเดียวกัน
12. ดังนั้นในขณะที่ Blast สามารถทำการอัพเกรดโค้ดผ่านลายเซ็นหลายลายเซ็นและขโมยเงินได้ทันที แต่ก็มี *ในปัจจุบัน* โซลูชัน L2 อื่นๆ อีกมากมายที่ทำในสิ่งเดียวกัน
จนถึงตอนนี้ ฉันได้ปกป้องบลาสต์แล้ว แต่นี่เป็นข่าวร้าย... เรามาต่อกันดีกว่า
13.ระเบิดไม่ใช่ L2
Blast เป็นเพียงสัญญาอัจฉริยะที่มีสองฟังก์ชัน: 1. รับเงินของผู้ใช้ 2. ลงทุนเงินทุนของผู้ใช้ในโปรโตคอล เช่น Lido
ไม่มี testnet, ไม่มีธุรกรรม, ไม่มีบริดจ์, ไม่มีโรลอัพ และไม่มีการส่งข้อมูลธุรกรรมไปยัง Ethereum นี่ไม่ใช่ L2
14. โดยการฝากเข้าสัญญา Blast โดยพื้นฐานแล้วคุณไว้วางใจคนแปลกหน้า 3-5 คนให้จำนำเงินของคุณให้กับคุณ
คุณจะไม่สามารถถอนเงินได้ตลอดเวลา เว้นแต่ 3-5 คนนี้จะตัดสินใจทำสิ่งที่ถูกต้องในอนาคต อีกครั้งที่นี่ไม่มีสะพาน
15. นี่มันบ้าจริงๆ สำหรับฉัน...
คุณไม่สามารถรับเงินคืนจาก Blast ได้จนกว่า:
สัญญาใหม่ถูกปรับใช้โดย multisig 3/5 ที่ประกอบด้วยคนแปลกหน้า
สัญญามีฟังก์ชันในการถอนเงินจากสัญญา
พวกเขาย้ายเงินทุนทั้งหมดไปทำสัญญาฉบับใหม่
16. แต่มีสถานการณ์ที่เลวร้ายกว่านั้นอีก
ฉันสามารถบอกคุณได้ว่าพวกเขาไม่จำเป็นต้อง "อัปเกรด" เพื่อขโมยเงินทั้งหมดในสัญญาด้วยซ้ำ และเงินที่ผู้ใช้ฝากไว้ในสัญญานี้ไม่สามารถถอนออกโดยบุคคลอื่นได้
มาดูกัน.
17. ฟังก์ชัน "enableTransition" ต้องใช้สัญญา "mainnetBridge" เป็นพารามิเตอร์
ฟังก์ชั่นของสัญญา "mainnetBridge" นี้: รับ ETH และ DAI ที่จำนำทั้งหมด
แล้วสัญญา "mainnetBridge" นี้มีลักษณะอย่างไร?
18. เป็นอะไรก็ได้! Blast อนุมัติสัญญา "mainnetBridge" เพื่อใช้ LIDO และ DAI ในปริมาณสูงสุดที่เป็นไปได้
ความถูกต้องของสัญญานี้จะต้องมีข้อจำกัดบางประการหรือไม่? เอาละ *ใช่* เรามาดูโค้ดนั้นกันดีกว่า
19. ต่อไปนี้เป็นคำสั่งยืนยันในฟังก์ชัน "_setMainnetBridge"
มัน... ตรวจสอบว่ามีรหัสใด ๆ ที่อยู่นั้นหรือไม่! ใช่ ตราบใดที่ไม่ใช่ที่อยู่ EOA จะได้รับการอนุมัติให้เป็นเจ้าของเงินทุนทั้งหมดในสัญญา ปัจจุบันจำนวนเงินรวมเกินกว่า 200 ล้านดอลลาร์สหรัฐ
20. ดังนั้นจึงสามารถสันนิษฐานได้ว่าพวกเขาสามารถ:
1) สร้างสัญญาอัจฉริยะที่ง่ายมากและตั้งค่าเป็นสัญญา mainnetBridge
2) ให้สัญญาอัจฉริยะได้รับ ETH และ DAI ที่จำนำทั้งหมด (200 ล้าน+)
เรียกสัญญาอัจฉริยะเพื่อถอนเงินทั้งหมดไปยังกระเป๋าเงิน EOA
21. ภัยคุกคามหลักสองประการที่เราระบุคือ:
·อัปเกรดโค้ดที่เป็นอันตรายซึ่งได้รับการอนุมัติโดย 3/5 ลายเซ็นหลายรายการเพื่อขโมยเงิน
·สร้างสัญญาอัจฉริยะที่เป็นอันตรายและตั้งค่าเป็นสัญญาอัจฉริยะ "mainnetBridge" เพื่อขโมยเงิน ผ่านทางลายเซ็นหลายลายเซ็น 3/5 เช่นกัน
22. สิ่งนี้จะเกิดขึ้นจริงหรือ? ส่วนตัวถ้าให้เดาผมไม่คิดว่าเงินถูกขโมยไป
ไม่ว่าอย่างไรก็ตาม ฉันคิดว่าแนวคิดเรื่องผลผลิตพื้นเมืองของ Blast นั้นเป็นการแลกเปลี่ยนที่น่าสนใจมาก
23. แม้ว่าโดยส่วนตัวแล้วฉันคิดว่าการส่งเงินให้กับ Blast มีความเสี่ยงในสถานะปัจจุบัน แต่ท้ายที่สุดแล้วผู้ใช้ก็เป็นผู้ตัดสินใจว่าจะส่งหรือไม่ส่ง และฉันแค่แบ่งปันสิ่งที่ฉันเห็นที่นี่
ฉันยังคงขอให้ทีมงาน Blast และทุกคนที่ฝากเงินได้ดี
ความคิดเห็นทั้งหมด