การวิจัยอ้างว่าเครือข่าย EOS สามารถหยุดการทำงานได้, Block.one ปฏิเสธข้อผิดพลาดใด ๆ

ภายในไม่กี่สัปดาห์ที่ผ่านมาผู้ใช้โปรโตคอล EOS blockchain ประสบปัญหาในการเข้าถึงเครือข่ายเป็นระยะ เมื่อเร็ว ๆ นี้ บทความ เขียนโดยนักพัฒนาสัญญาอัจฉริยะนามแฝงและวิศวกรรักษาความปลอดภัย Dexaran อธิบายถึงต้นตอของปัญหานั่นคือเทคนิคราคาไม่แพงที่ช่วยให้แฮ็กเกอร์“ แออัด” เครือข่ายหรือนำไปไว้ในโหมดประสิทธิภาพต่ำด้วย EOS เพียงไม่กี่ดอลลาร์.

ดูเหมือนว่าการใช้ประโยชน์ดังกล่าวทำให้แฮ็กเกอร์สามารถขโมยเงินดิจิตอลได้มากกว่า 110,000 ดอลลาร์จากแอปพลิเคชันการพนัน EOS, EOSPlay เมื่อต้นเดือนกันยายน อย่างไรก็ตามผู้บริหารของ Block.one ซึ่งเป็น บริษัท แม่ของ EOS, ไม่มึนงง, การโต้แย้งว่าเครือข่ายทำงาน“ ถูกต้อง”

ข้อมูลเบื้องต้นเกี่ยวกับ EOS: โหมดการกำกับดูแลการจับภาพและความแออัด

EOS.io เป็นโปรโตคอลสัญญาอัจฉริยะที่ขับเคลื่อนด้วยบล็อกเชนสำหรับการพัฒนาและโฮสต์แอปพลิเคชันแบบกระจายอำนาจ (DApps) ใช้โมเดลฉันทามติที่เรียกว่า delegated proof-of-stake (DPoS) และอยู่ภายใต้การควบคุมตามข้อตกลงผู้ใช้ EOS (EUA).

ตามข้อตกลงการเปลี่ยนแปลงเครือข่ายสามารถทำได้เมื่อมีความเห็นพ้องต้องกันระหว่างผู้ผลิตบล็อกอย่างน้อย 15 จาก 21 รายนั่นคือหน่วยงานอิสระที่รับผิดชอบการประมวลผลบล็อกใน EOS blockchain.

โปรโตคอลนี้ได้รับการสนับสนุนโดยสกุลเงินดิจิทัลแบบเนทีฟซึ่งปัจจุบันเป็นสินทรัพย์ที่ใหญ่เป็นอันดับที่เจ็ดตามมูลค่าหลักทรัพย์ตามราคาตลาดทั้งหมด โทเค็นเหล่านี้เป็นหัวใจหลักของกลไกการปักหลักทรัพยากรในตัวซึ่งเป็นคุณสมบัติที่โดดเด่นอย่างหนึ่งของ EOS เมื่อใดก็ตามที่มีการส่งธุรกรรมไปยังเครือข่าย EOS ผู้ผลิตที่ถูกบล็อกจะต้องดำเนินการ.

ระยะเวลา (วัดเป็นไมโครวินาที) ที่ Block Producer ต้องการเพื่อตรวจสอบความถูกต้องของธุรกรรมเรียกว่า CPU พูดง่ายๆก็คือผู้ใช้และนักพัฒนา EOS สามารถเข้าถึงทรัพยากร CPU และแบนด์วิดท์แบบ chainwide ได้โดยการปักหลักโทเค็น มีการผลิตบล็อกทุกๆ 500 มิลลิวินาที ผู้ผลิตบล็อกแต่ละรายมีเวลา 200 มิลลิวินาทีในการตรวจสอบความถูกต้องของบล็อก ส่วนที่เหลืออีก 300 มิลลิวินาทีจะถูกปล่อยให้กระจายไปทั่วเครือข่าย.

โดยเฉพาะอย่างยิ่งภายในขีด จำกัด 200 มิลลิวินาทียังมีเกณฑ์เปอร์เซ็นต์ที่การ จำกัด อัตราเริ่มต้นทั่วทั้งเครือข่าย กล่าวอีกนัยหนึ่งคือเมื่อบล็อกถึงขีด จำกัด 10% ของ CPU ทั้งหมด 200 มิลลิวินาทีที่อนุญาตต่อบล็อก ทริกเกอร์ อัลกอริทึมการจัดสรร CPU เพื่อเข้าสู่โหมด “ความแออัด”.

“ ก่อนถึงขีด จำกัด นี้ผู้ใช้ทุกคนสามารถทำธุรกรรมบนเครือข่ายได้อย่างอิสระเนื่องจากไม่ได้อยู่ใน “โหมดความแออัด” “ผู้เขียนบทความ อธิบาย. “ เมื่อผ่านขีด จำกัด นี้แล้วผู้ใช้จะถูกควบคุมกลับไปที่ส่วนแบ่งตามสัดส่วนของการจัดสรร CPU ต่อการเดิมพันทั้งหมดของ EOS”

ตาม บทความอื่น ซึ่งเขียนโดย EOS Canada ซึ่งเป็นผู้ผลิตบล็อกรายใหญ่ในเครือข่ายบล็อกเชนของ EOS หากมีการจับสัญญาณ 1,000 โทเค็นสำหรับ CPU ในช่วงเวลาหนึ่งและบัญชีเดียวมีการวางเดิมพัน 20 โทเค็นบัญชีนั้นจะได้รับการรับประกัน 2% ของ CPU ทั้งหมด ความจุของเครือข่าย.

อย่างไรก็ตามหากเครือข่ายยังไม่ถึงเกณฑ์ที่เปิดใช้งานการ จำกัด อัตรา (ไม่อยู่ในโหมด “ความแออัด”) ระบบจะอนุญาตให้บัญชีนั้นผลักดันธุรกรรมให้สูงกว่าจำนวนที่รับประกัน 2% เมื่อผ่านเกณฑ์ดังกล่าวแล้วบัญชีจะต้องไม่เกินการจัดสรร ยิ่งไปกว่านั้นในช่วง "ความแออัด" เฟสจำนวน CPU ของผู้ใช้แต่ละคนจะเริ่มลดลงจนกว่าทุกฝ่ายที่แออัดจะใช้ CPU หมดและหยุดดำเนินการที่ใช้ CPU มาก.

Daniel Larimer ผู้ร่วมก่อตั้ง EOS และประธานเจ้าหน้าที่ฝ่ายเทคโนโลยีของ Block.one, อ้างถึง กลไกนี้เป็น “ผลประโยชน์ฟรี” ของเครือข่าย:

“ การเป็นเจ้าของและการวางเดิมพัน #eos ช่วยให้ผู้ใช้มีส่วนแบ่งแบนด์วิดท์ที่ใช้ได้ เมื่อผู้คนไม่ได้ใช้การแบ่งปันจะถูกเปลี่ยนเส้นทางไปยังผู้อื่นโดยใช้หลัก Prorata ในระหว่างการใช้งานหนักผู้ใช้จะไม่ได้รับสิทธิประโยชน์นี้ฟรีอีกต่อไป”

ปัญหา: โหมดความแออัดนั้นง่ายเกินไปที่จะเรียกใช้

ปัญหา Dexaran เป็นที่ถกเถียงกันอยู่ว่าโหมดความแออัดนั้นง่ายเกินไปที่จะเรียกใช้ หลังจากการวิเคราะห์ผู้พัฒนาสัญญาอัจฉริยะสังเกตเห็นการใช้งาน CPU เพิ่มขึ้นอย่างรวดเร็วในช่วงต้นของแต่ละชั่วโมงโดยกล่าวหาว่าเกิดจากการพนัน DApp ที่เรียกว่า EOSBetDice จากนั้น Dexaran ก็ตัดสินใจที่จะประเมินว่า CPU จำเป็นแค่ไหนในการผลักดันให้เครือข่ายมีความแออัด.

สำหรับการทดลองนักพัฒนาได้จับจอง 7,156 EOS สำหรับ CPU คุณสามารถยืม EOS จำนวนนั้นได้จากการแลกเปลี่ยนทรัพยากรด้วยต้นทุนที่ต่ำเพียงสอง EOS ต่อเดือน (น้อยกว่า $ 6) Dexaran เน้น เพื่อดูว่าการทดสอบจะส่งผลต่อผู้ใช้เครือข่าย EOS โดยเฉลี่ยอย่างไรวิศวกรความปลอดภัยได้เลือกบัญชีผู้ใช้แบบสุ่มสามบัญชีที่กำลังเล่น EOSKnights DApp ออนไลน์ก่อนที่เซสชันจะเริ่ม.

จากนั้นนักพัฒนาได้ทำสัญญาที่สร้างธุรกรรมรอการตัดบัญชีจำนวนมากโดยมีความล่าช้าหนึ่งวินาทีโดยแต่ละธุรกรรมใช้ CPU 25 ถึง 27 ms หลังจากผูกขาดการใช้งาน CPU เป็นเวลาหนึ่งนาทีสัญญาดังกล่าวได้ผลักดันเครือข่าย EOS เข้าสู่โหมดความแออัด เป็นผลให้บัญชีตัวอย่างทั้งสามไม่มี CPU ดังนั้นจึง “ถูกแช่แข็งอย่างสมบูรณ์” โดยทั่วไปหมายความว่าผู้ใช้ EOS ทั่วไปทั้งหมดไม่สามารถมีส่วนร่วมกับ DApps ใด ๆ บนเครือข่ายได้.

สองนาทีต่อมา EOSBetDice DApp ดังกล่าวข้างต้นซึ่งทำให้ CPU พุ่งขึ้นอย่างสม่ำเสมอทุก ๆ ชั่วโมงโดยไม่ขึ้นอยู่กับการทดลอง – เริ่มทำงานตามกำหนดเวลา ด้วยการใช้ CPU จากเครือข่ายมากขึ้นในขณะที่มีการใช้งานมากเกินไปจึงมีส่วนทำให้เกิดความแออัดโดยไม่ได้ตั้งใจโดย Dexaran “ ยิ่งคุณใช้ CPU มากขึ้นติดต่อกันโหมดความแออัดก็จะยิ่ง ‘ลึก’ มากขึ้นและเครือข่ายจะใช้เวลานานขึ้นในการกู้คืนสู่โหมดปกติ” นักพัฒนากล่าว.

ด้วยเหตุนี้เครือข่าย EOS จึงมีความแออัดที่“ ลึกกว่า” และความพร้อมใช้งานของ CPU ลดลง 35 เท่าสำหรับผู้ใช้ EOS ทั้งหมด “ ไม่ว่าคุณจะใช้กล้อง EOS มากแค่ไหนสำหรับ CPU – หากคุณใช้มากกว่า 3% คุณก็จะถูกแช่แข็ง” Dexaran สังเกต.

หลังจากสัญญาของ Dexaran และ EOSBetDice เน้นเครือข่ายเป็นเวลารวมห้านาทีเครือข่ายก็คงเป็นอัมพาตอย่างเห็นได้ชัดในอีก 10 นาทีข้างหน้า หลังจากผ่านไปอีกหกนาทีกล้องก็ฟื้นตัวได้อย่างดีเยี่ยม แต่ราคาให้ยืมของ EOS ในการแลกเปลี่ยนทรัพยากรยังคงสูงกว่าปกติประมาณสามเท่าซึ่งบ่งชี้ว่าเครือข่ายต้องการโทเค็นจำนวนมากที่จัดสรรใน CPU ในเวลานั้นเนื่องจากการทดสอบความเครียด.

เครือข่ายคืนค่าอย่างสมบูรณ์เพียง 30 นาทีหลังจากครั้งสุดท้าย "เป็นอันตราย" หนังบู๊. ซึ่งจะทำให้ผู้ใช้มี“ หน้าต่างเวลา 25 นาทีจนถึงเซสชันความแออัดครั้งต่อไป” Dexaran ตั้งข้อสังเกตเนื่องจากการโจมตีสามารถทำได้ทุกชั่วโมงตามการประมาณการของนักพัฒนา “ 7000 EOS เพียงพอที่จะผลักดันให้เครือข่าย EOS เข้าสู่โหมดความแออัดในระยะเวลาที่เหมาะสม” นักวิจัยสรุปเพิ่มเติมว่า:

“ เซสชันความแออัดที่อธิบายไว้จะทำให้เกิดปัญหาเฉพาะกับ (1) ผู้ใช้ที่ใช้แบนด์วิดท์ของ CPU ส่วนหนึ่ง (2) ผู้ใช้ที่มีแบนด์วิดท์ CPU ต่ำมาก เซสชันความแออัดที่อธิบายไว้ไม่มีผลกระทบต่อ (1) DApps ที่มี CPU จำนวนมากพร้อมใช้งาน (2) ผู้ใช้ที่ไม่ได้มีส่วนร่วมในกิจกรรมใด ๆ และมี CPU ของพวกเขาพร้อมใช้งานอย่างเต็มที่ (สมมติว่าผู้ใช้เหล่านี้มี CPU เพียงพอที่จะสร้าง tx ตัวเดียว ).”

นอกจากนี้ Dexaran ยังเน้นว่าในขณะที่ผู้ใช้ EOS บางคนสามารถเรียกเขาว่า a "แฮ็กเกอร์" เนื่องจากการจงใจใช้งานเครือข่ายมากเกินไป“ ฉันกำลังทำสิ่งที่ตรงกันข้ามคือฉันกำลังปกป้องการลงทุนของฉันและของคุณ”

โดยเฉพาะอย่างยิ่งสองสามวันก่อนที่ Dexaran จะมีการเผยแพร่ความแออัดของ EOS ซึ่งเป็นผู้พัฒนา Christoph Michel เขียนโพสต์บล็อก การเชื่อมโยงแฮ็คคาสิโน EOSPlay ล่าสุดกับความแออัดของเครือข่ายดังนั้นจึงแสดงให้เห็นว่าปัญหาเครือข่ายอาจถูกใช้เพื่อผลกำไรได้อย่างไร.

จากข้อมูลของ Michel ผู้โจมตีได้เช่าโทเค็น EOS จาก REX ซึ่งเป็นตลาดเช่าทรัพยากร CPU และ NET จากนั้นจึงวางซ้อนกันเพื่อเพิ่มทั้ง CPU ของเขาและ EOSPlay เพื่อให้แน่ใจว่าคาสิโนยังคงใช้งานได้ดังนั้นจึงยังคงสามารถจ่ายเงินเดิมพันได้ จากนั้นแฮ็กเกอร์ก็สแปมเครือข่ายด้วยธุรกรรมที่คล้ายกับ Dexaran และเล่นเกมลูกเต๋าหลายเกมบน EOSPlay โดยเดิมพันผลลัพธ์ 50/50 เนื่องจาก EOSPlay ดูที่แฮชบล็อกของบล็อกผลลัพธ์และใช้อักขระสองตัวแรกเริ่มจากทางขวาและระหว่างศูนย์ถึงเก้า – ในขณะที่ทอยลูกเต๋าเราจะต้องคาดเดาแฮชบล็อกของบล็อกผลลัพธ์เพื่อให้ชนะเกม.

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

ตามที่นักพัฒนากล่าวว่านั่นคือสาเหตุที่ผู้โจมตียืม EOS เพื่อส่งสแปมเครือข่าย: เพื่อให้สามารถควบคุมเครือข่ายและสามารถทำนายการแฮชบล็อกและชนะการเดิมพันส่วนใหญ่ได้ ในกรณีที่คาดการณ์ผิดผู้โจมตีสามารถส่งธุรกรรมแบบสุ่มอีกรายการไปยังบล็อกและด้วยเหตุนี้จึงมี “การพลิกเหรียญ” เพิ่มเติมซึ่งจะช่วยเพิ่มอัตราต่อรองได้อย่างมาก.

ในที่สุดแฮ็กเกอร์ก็ใช้ EOS เพียง 300 อันซึ่งมีมูลค่ามากกว่า 1,000 ดอลลาร์เล็กน้อยซึ่งเขาหรือเธอสามารถเช่าได้ในราคาสองสามดอลลาร์ ในทางกลับกันรางวัลมากมายที่ได้รับคงที่ทำให้ได้รับ EOS มากกว่า 30,000 EOS หรือประมาณ $ 110,000.

นักพัฒนา EOS มั่นใจว่าเครือข่าย“ ทำงานอย่างถูกต้อง” ไม่ใช่ทั้งหมดที่เห็นด้วย

การทดสอบความแออัดของ Dexaran ไม่ได้มีใครสังเกตเห็นเนื่องจากผู้ใช้จำนวนหนึ่งรายงานว่ามีปัญหา “CPU” ทวิตเตอร์ และ Reddit. Denis Bredikhin ซีอีโอของ Graphene Lab ซึ่งเป็นทีมผู้พัฒนาสัญญาอัจฉริยะยืนยันกับ Cointelegraph ว่าผู้ใช้ DApp ที่เดิมพันด้วยโป๊กเกอร์ EOS ของตนก็ประสบปัญหาเช่นกันในช่วงหลายสัปดาห์ที่ผ่านมาแม้ว่าแอปพลิเคชันจะไม่ถูกบุกรุกก็ตาม Bredikhin กล่าวว่า:

“ เมื่อถึงจุดสูงสุดของสแปมผู้เล่นแม้จะมี EOS 8-10,000 EOS ที่จัดสรรให้กับ CPU ก็ไม่สามารถดำเนินการใด ๆ ได้”

ตามที่เขาพูดตั้งแต่วันที่ 1 ตุลาคมเป็นต้นไปผู้เล่นจะต้องจัดสรร CPU“ มากถึง 10,000 EOS” เพื่อไม่ให้เกมหยุดสำหรับพวกเขาในช่วงที่มีสแปม ในขณะเดียวกัน Larimer จาก Block.one ได้ไปที่ Twitter เพื่อสร้างความมั่นใจให้กับชุมชนว่า EOS นั้น“ ทำงานอย่างถูกต้อง” เขา เขียน:

“ สิ่งนี้ไม่แตกต่างจากเมื่อผู้โจมตีโจมตี eth หรือ bitcoin ด้วยสแปมการทำธุรกรรมที่มีค่าธรรมเนียมสูง เครือข่ายไม่ได้หยุดนิ่งสำหรับผู้ถือโทเค็นไม่มีแบนด์วิดท์เพิ่มเติมสำหรับการใช้งานฟรี”

อย่างไรก็ตามสมาชิกในชุมชนบางคนขอให้แตกต่างกัน “ ความแตกต่างระหว่างการโจมตี EOS นี้กับสแปมที่มีค่าธรรมเนียมสูงใน BTC หรือ ETH คือคุณยังสามารถจ่ายเงินเพิ่มเพื่อส่งธุรกรรมใน BTC หรือ ETH ได้” โต้เถียง Rob Finch ซีอีโอของ CypherGlass ผู้ผลิตบล็อก EOS จากสหรัฐฯ เขาเพิ่ม:

“ ผู้ใช้ EOS จำนวนมากมี CPU ไม่เพียงพอที่จะเช่า CPU เพิ่มดังนั้นจึงทำให้พวกเขาหยุดชะงัก ปฏิบัติการอย่างถูกต้อง ‘ไม่ใช่ IMO ที่ตอบสนองได้ดีที่สุด”

ผู้ใช้ EOS อีกคนหนึ่งซึ่งเป็นผู้ประกอบการด้านบล็อกเชน Jared Moore, ได้รับการยืนยัน ว่าเครือข่ายไม่สามารถใช้งานได้สำหรับ DApps หรือกระเป๋าเงินของเขา เขายังสงสัยว่า Block.one จะ“ ช่วยชุมชน EOS และเผยแพร่แนวทางในการป้องกันการโจมตี REX หรือไม่”

Cointelegraph ได้ติดต่อ Block.one เพื่อแสดงความคิดเห็นเพิ่มเติมและจะอัปเดตบทความเมื่อได้รับข้อมูลเพิ่มเติม.