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

บอทซื้อขายแนวหน้า: สัตว์ประหลาดในป่าอันมืดมิดของ Ethereum

巴比特
特邀专栏作者
2020-08-29 06:40
บทความนี้มีประมาณ 3042 คำ การอ่านทั้งหมดใช้เวลาประมาณ 5 นาที
ถ้าบล็อกเชนเป็นสนามรบ เมมพูลก็เป็นอะไรที่แย่กว่านั้น นั่นก็คือป่าอันมืดมิด
สรุปโดย AI
ขยาย
ถ้าบล็อกเชนเป็นสนามรบ เมมพูลก็เป็นอะไรที่แย่กว่านั้น นั่นก็คือป่าอันมืดมิด

หมายเหตุบรรณาธิการ: บทความนี้มาจากข้อมูล Babbitt (รหัส: bitcoin8btc)หมายเหตุบรรณาธิการ: บทความนี้มาจาก

โดย Dan Robinson และ Georgios Konstantopoulos แปลโดย Free and Easy เผยแพร่โดยได้รับอนุญาต

ท้าทาย

นี่เป็นเรื่องจริงที่น่ากลัว

ชื่อเรื่องรอง

ท้าทาย

เช่นเดียวกับคนทั่วไป ฉันใช้เวลาส่วนใหญ่ซุ่มอยู่ในช่องสนับสนุน Uniswap Discord (การเปิดเผยข้อมูล: Uniswap เป็นบริษัทในเครือ Paradigm)ในบ่ายวันพุธ มีคนถามว่าเป็นไปได้ไหมที่จะกู้คืนโทเค็นสภาพคล่อง Uniswap ที่ถูกส่งไปยังสัญญาการจับคู่โดยไม่ตั้งใจความคิดแรกเริ่มของฉันคือโทเค็นจะถูกล็อคตลอดไป แต่ตอนดึกของคืนนั้น ฉันเริ่มคิดว่าถ้าโทเค็นยังอยู่ ใครๆ ก็สามารถไปเอากลับคืนมาได้

เมื่อใครก็ตามเรียกใช้ฟังก์ชันการเผาไหม้ในสัญญาหลัก Uniswap สัญญาจะวัดยอดคงเหลือของโทเค็นสภาพคล่องของตัวเองและเบิร์น โดยส่งโทเค็นที่ถอนออกไปยังที่อยู่ที่ระบุโดยผู้โทร นี่เป็นส่วนสำคัญของพฤติกรรมที่ตั้งใจไว้ของ Uniswap v2 (กลไกพื้นฐานอยู่ใน

เอกสารข้อมูล Uniswap v2

  • อธิบายไว้ในส่วนที่ 3.2 ของ )

  • ฉันพบสัญญาและโทเค็นสภาพคล่องยังคงอยู่และมีมูลค่าประมาณ 12,000 ดอลลาร์

  • มีนาฬิกาฟ้องและทุกคนสามารถถอนสภาพคล่องของตนเองได้ตลอดเวลาและรับโทเค็นเหล่านี้จากสัญญาโดยไม่ตั้งใจแม้ว่าจะไม่มีใครสังเกตเห็นเงินฟรีก็ตาม

ฉันสามารถสวมหมวกสีขาวของฉันและพยายามช่วยเจ้าของรับโทเค็นคืน มันง่ายมาก ฉันแค่ต้องเรียกฟังก์ชันเบิร์นของพูลและส่งที่อยู่ของฉันเอง

ก็แค่... ฉันรู้ว่ามันไม่ง่าย

ชื่อเรื่องรองDark Forestป่าที่มืด

ไม่มีความลับใดที่ Ethereum blockchain เป็นสภาพแวดล้อมที่ไม่เป็นมิตร หากสามารถใช้สัญญาที่ชาญฉลาดเพื่อหากำไร ในที่สุดมันจะถูกเอาเปรียบ การแฮ็กที่เกิดขึ้นบ่อยครั้งแสดงให้เห็นว่าคนฉลาดบางคนใช้เวลามากในการตรวจสอบหาช่องโหว่ในสัญญา แต่สภาพแวดล้อมที่ไม่น่าให้อภัยนี้ดูจืดชืดเมื่อเทียบกับ Mempool ซึ่งเป็นกลุ่มธุรกรรมที่รอดำเนินการและยังไม่ได้รับการยืนยัน ถ้าบล็อกเชนเป็นสนามรบ เมมพูลก็เป็นอะไรที่แย่กว่านั้น นั่นก็คือป่าอันมืดมิดFlash Boys 2.0The Dark Forest นิยายวิทยาศาสตร์เรื่องโปรดของฉัน นำเสนอแนวคิดของ "ป่ามืด" สภาพแวดล้อมที่การตรวจจับหมายถึงการตายของผู้ล่าขั้นสูงบางคน ในสภาพแวดล้อมเช่นนี้ การระบุตำแหน่งของใครบางคนต่อสาธารณะนั้นดีพอๆ กับการทำลายพวกเขาทันที (แนวคิดนี้อยู่ใน Ethereum testnet ด้วย

แหล่งที่มาของแรงบันดาลใจสำหรับเกม )

ใน Ethereum Mempool นักล่าชั้นนำเหล่านี้จะอยู่ในรูปแบบของ "บอทการเก็งกำไร" บอท Arbitrage ตรวจสอบการซื้อขายที่รอดำเนินการและพยายามใช้ประโยชน์จากพวกมันเพื่อสร้างโอกาสในการทำกำไร ไม่มีหมวกขาวคนใดรู้เกี่ยวกับบอทเหล่านี้มากไปกว่า Phil Daian ผู้เขียนร่วมกับเพื่อนร่วมงานของเขา "

ฟิลเคยเล่าให้ฉันฟังเกี่ยวกับหนังสยองขวัญที่เขาเรียกว่า บอทเก็งกำไรมักจะมองหาประเภทของการซื้อขายเฉพาะใน Mempool (เช่น การซื้อขาย DEX หรือการอัปเดตของออราเคิล) และพยายามที่จะดำเนินการซื้อขายล่วงหน้าตามอัลกอริทึมที่กำหนดไว้ล่วงหน้า ผู้นำทั่วไปมองหาธุรกรรมใด ๆ ที่ทำให้ผู้นำแนวหน้ามีกำไรโดยการคัดลอกและแทนที่ที่อยู่ด้วยที่อยู่ของตนเอง

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

โปรดทราบว่าสภาพแวดล้อมนี้โหดร้ายกว่าสถานะของ Ethereum blockchain เงินฟรีเหล่านี้นั่งอยู่บนบล็อกเชนเป็นเวลาประมาณ 8 ชั่วโมงโดยที่ยังไม่ถูกค้นพบ และรอให้ใครก็ตามที่เรียกใช้ฟังก์ชันเบิร์นถอนออกจากกลุ่ม แต่ความพยายามที่จะหยิบขึ้นมาถูกขัดขวางทันทีระหว่างเที่ยวบิน

ชื่อเรื่องรอง

ปฏิบัติการกู้ภัย

  • ในการถอนเงินโดยไม่แจ้งให้บอททราบ ฉันจำเป็นต้องทำให้ธุรกรรมยุ่งเหยิงเพื่อให้บอทไม่สามารถตรวจจับการเรียกของมันไปยังคู่ Uniswap ซึ่งจะเกี่ยวข้องกับการเขียนและปรับใช้สัญญาที่กำหนดเอง แม้ว่าฉันจะเป็นผู้นำทางความคิด DeFi มืออาชีพ แต่ฉันก็ไม่เคยปรับใช้สัญญากับ Ethereum มาก่อน

  • ฉันต้องการความช่วยเหลือและมันก็เลยเที่ยงคืนไปแล้ว โชคดีที่วิศวกรสัญญาอัจฉริยะที่ดีที่สุดบางคนที่ฉันรู้จักอาศัยอยู่ในเขตเวลายุโรป เพื่อนร่วมงานของฉัน Georgios Konstantopoulos ที่ Paradigm ตกลงที่จะช่วยปรับใช้สัญญาและส่งธุรกรรม Alberto Cuesta Cañada หัวหน้าวิศวกรของ Yield ซึ่งเป็นบริษัทในเครืออีกแห่งของเรา ได้ดำเนินการตามสัญญาด้วยความสมัครใจ

  • ปรับใช้สัญญา Getter ที่เมื่อเรียกโดยเจ้าของ จะออกการโทรเบิร์นเมื่อเปิดใช้งานเท่านั้น มิฉะนั้นจะกลับมาทำงานต่อ

ปรับใช้สัญญา Setter ที่จะเปิดใช้งานสัญญา Getter เมื่อเจ้าของเรียก

คำอธิบายภาพ

รูปภาพ: รหัสของสัญญาอัจฉริยะที่กำหนดเองของเรา

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

คำอธิบายภาพ

รูปภาพ: สคริปต์ช่วยเหลือของเรา

และนี่กลายเป็นความผิดพลาดร้ายแรง!

ธุรกรรมการรับของเรารวมอยู่ด้วย แต่มีข้อผิดพลาด UniswapV2: INSUFICIENT_LIQUIDITY_BURNED ซึ่งหมายความว่าโทเค็นสภาพคล่องหายไป ผลลัพธ์คือภายในไม่กี่วินาทีที่เรารับธุรกรรมเข้าสู่ mempool มีคนดำเนินการเรียกและกวาดเงินไป

สัตว์ประหลาดเขมือบเรา

ชื่อเรื่องรอง

บทเรียน

บทที่ 1: สัตว์ประหลาดมีจริง! แม้ว่าในทางสติปัญญา เราทราบดีว่าบอทที่วิ่งนำหน้าเหล่านี้มีอยู่ทั่วไป แต่ก็มีโอกาสที่ดีที่คุณจะประเมินพวกมันต่ำไปจนกว่าคุณจะเห็นพวกมันทำงานจริงๆ

เราใช้โอกาสนี้และช่วยเหลือการโทรภายในผ่านสัญญาการอนุญาต ซึ่งเราคิดว่าจะปกป้องเราได้ แต่เปล่าเลย

หากคุณพบว่าตัวเองอยู่ในสถานการณ์นี้ เราขอแนะนำให้ติดต่อ Scott Bigelow นักวิจัยด้านความปลอดภัยที่ทำงานเกี่ยวกับหัวข้อนี้ และเขามีต้นแบบที่ดีกว่าสำหรับการทำให้งงงวย

บทเรียนที่ 2: อย่ารีบร้อน เราควรยึดมั่นในแผนเดิมแม้ว่าเวลาจะกระชั้นชิดก็ตาม หากเราใช้เวลากับสคริปต์มากขึ้น ปรับแต่งสัญญา (อาจเปลี่ยนสัญญา Getter ให้ไม่ทำอะไรเลยแทนที่จะโทรต่อก่อนเปิดใช้งาน) หรือแม้กระทั่งซิงค์โหนดของเราเองเพื่อหลีกเลี่ยงการใช้ Infura เราอาจแปลงธุรกรรมได้สองรายการคือ มาไว้ในบล๊อกเดียวกัน บทเรียนที่ 3: อย่าพึ่งพาโครงสร้างพื้นฐานทั่วไป ยิ่งคุณสร้างสิ่งแปลกๆ มากเท่าไหร่ คุณจะก้าวข้ามโครงสร้างพื้นฐานที่มีอยู่อย่าง Infura ได้ยากขึ้นเท่านั้น ในกรณีของเรา เราพยายามส่งธุรกรรมที่ดูเหมือนว่าจะล้มเหลวตามสถานะปัจจุบันของบล็อกเชน และ Infura มีมาตรการป้องกันที่สมเหตุสมผลสำหรับเรื่องนี้ การใช้โหนดของเราเองช่วยหลีกเลี่ยงปัญหานี้

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

บทเรียนที่ 4: อนาคตมีแต่จะน่ากลัวขึ้น

นี่เป็นเพียงตัวอย่างหนึ่งของเหตุการณ์แนวหน้าที่เกิดขึ้นกับเรา และสิ่งที่คล้ายกันนี้เกิดขึ้นหลายครั้งต่อวัน ทุกวันนี้ เทรดเดอร์ที่วิ่งนำหน้าเป็นเพียงบอท และพรุ่งนี้อาจเป็นนักขุด

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

ETH
投资
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
ค้นหา
สารบัญบทความ
คลังบทความของผู้เขียน
巴比特
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android