Chạy trước: Gót chân Achilles của các sàn giao dịch phi tập trung
Winkrypto
2020-02-26 12:37
本文约4095字,阅读全文需要约16分钟
Front Running là một vấn đề phổ biến mà DEX gặp phải và đó cũng là một lý do quan trọng ngăn DEX trở thành lựa chọn chính.

Lưu ý của biên tập viên: Bài viết này đến từChuỗi tin tức (ID: chainnewscom)Lưu ý của biên tập viên: Bài viết này đến từ

Chuỗi tin tức (ID: chainnewscom)

, Tác giả: Li Hua, được Odaily sao chép với sự ủy quyền.

Trong "Edge of Tomorrow", các chiến thuật khác nhau của con người đều không hiệu quả trước những người ngoài hành tinh xâm lược, bởi vì một khi chiến thuật này có hiệu lực, những người ngoài hành tinh sẽ quay ngược thời gian sau khi bị giết. Trong thời gian mới này, người ngoài hành tinh biết điều gì sẽ xảy ra và tất nhiên là làm thế nào để đối phó với nó.

Khẩu hiệu của "Edge of Tomorrow": Luân hồi của sự sống và cái chết

Trong chuỗi khối, ai đó cũng biết điều gì sẽ xảy ra. Họ không chỉ biết tương lai nắm giữ điều gì mà còn có thể, giống như những người ngoài hành tinh trong Edge of Tomorrow, hành động dựa trên thông tin đó để tạo ra một tương lai có lợi cho họ.

Tất cả đã bắt đầu từ đâu? Nó bắt đầu với sự cố vay chớp nhoáng gần đây.

Sự khởi đầu và kết thúc của sự cố cho vay chớp nhoáng

Cách tin tặc kiếm tiền trong vụ cho vay chớp nhoáng cũng giống như của bạn và của tôi: mua thấp và bán cao. Sự khác biệt duy nhất là tin tặc biết đâu là mức thấp và đâu là mức cao. Tại sao anh ta biết? Bởi vì người sắp tăng giá chính là mình.

Một quy trình tấn công mô phỏng chỉ để minh họa nguyên tắc như sau: vay 60 ETH thông qua chức năng cho vay nhanh của dYdX, sau đó thế chấp 40 ETH trên Hợp chất để cho vay 1 BTC, sau đó sử dụng 20 ETH còn lại để mua bằng bZx với đòn bẩy gấp 5 lần BTC, tính thanh khoản của giao dịch đòn bẩy này được cung cấp bởi Uniswap, khiến giá từ BTC sang ETH trên Uniswap tăng vọt. Mất 60 ETH đã vay ban đầu và kiếm được 20 ETH. (Về quy trình thực tế, bạn có thể đọc tham khảo 1 và 2 ở cuối bài viết)

Mô tả hình ảnh

Hình ảnh từ CryptoLaboratory

Có thể coi hacker có hai hình đại diện, bản sao thứ nhất kéo thị trường (20 ETH × 5 = 100 ETH) và bản sao thứ hai kiếm được lợi nhuận (40 ETH). và số tiền mà nhà tạo lập thị trường Uniswap kiếm được được thêm vào. Nó phải bằng số tiền mà avatar bị mất, nghĩa là nói chung, hacker đã mất tiền, nhưng do sơ hở trong hợp đồng của bZx, bZx đã không bùng nổ vị thế của avatar kịp thời, khiến những người gửi tiền của bZx cùng chịu lỗ, và đây chính là lý do tại sao hack có thể được thiết lập. Vai trò của khoản vay nhanh trong toàn bộ vụ việc chỉ là cung cấp tiền ban đầu, cho phép tin tặc hoàn thành cuộc tấn công mà không mất phí và không có rủi ro.

  1. Tuy nhiên, bản thân cuộc tấn công này không phải là cốt lõi của bài viết này, ví dụ này được mô tả bởi vì nó cho thấy rõ ràng một điều: nếu bạn biết rằng ai đó sẽ mua với số lượng lớn trong tương lai (sẽ có biến động giá lớn trên thị trường), bạn có thể "Phục kích" trước khi mua để hiện thực hóa lợi nhuận. Nói một cách trực quan, nếu A dự định mua một lượng lớn ETH và B biết ý định mua của A, anh ta có thể mua ETH ở mức giá hiện tại trước A, sau đó bán nó với giá cao hơn để kiếm chênh lệch.

  2. Trong các thị trường tài chính truyền thống, hành vi này là Front Running (chạy trước). Chạy trước có nghĩa là nếu một giao dịch lớn sẽ ảnh hưởng đến giá tài sản được biết trước từ thông tin không công khai, thì giao dịch đó có thể được mua và bán trước để thu lợi nhuận.

Nó chủ yếu bao gồm hai tình huống:

Hành động mua và bán cổ phiếu trước khi một nhà môi giới xuất bản một báo cáo nghiên cứu được phổ biến rộng rãi.

Trong thị trường giao dịch phi tập trung trên chuỗi, Front Running tương tự như tình huống đầu tiên ở trên, đó là hoàn thành giao dịch của chính mình trước sau khi biết ý định mua của bên kia. Loại hành vi này là bất hợp pháp trong thị trường tài chính truyền thống vì nó sử dụng thông tin không công khai, nhưng rất khó để xác định nó là bất hợp pháp trên blockchain vì nó sử dụng thông tin "công khai".

Do đặc thù của thời gian blockchain, tương lai trên blockchain có thể được "nhìn thấy" trước khi nó xảy ra, nghĩa là chúng ta biết rằng một giao dịch sẽ xảy ra trước khi nó xảy ra, giống như việc thực hiện một giao dịch khách hàng được ủy thác đại lý biết rằng việc mua và bán sẽ xảy ra.

tiêu đề phụ

Tính đặc hiệu về thời gian của blockchain

Chuỗi khối là một hệ thống phân tán và một trong những vấn đề lớn nhất của nó là những người tham gia không thể đạt được sự đồng thuận về thời gian vật lý. Tuy nhiên, để xác định thứ tự giao dịch và tránh chi tiêu gấp đôi, điều rất quan trọng là những người tham gia mạng phải đạt được sự đồng thuận về thời gian.Do đó, Satoshi Nakamoto đã kết hợp bằng chứng công việc với nguyên tắc chuỗi dài nhất để hiện thực hóa dịch vụ dấu thời gian : sử dụng thứ tự khối Thể hiện thứ tự thời gian và người tham gia chỉ cần đồng ý về thứ tự khối. Một khối có thể được coi là đơn vị thời gian cơ bản trên chuỗi khối.

Vì vậy, làm thế nào để chuyển đổi đơn vị thời gian phút và giây của một giao dịch thành đơn vị thời gian khối?

Sau khi một giao dịch được gửi, nó sẽ đi vào một nơi được gọi là nhóm giao dịch, nơi có nhiều giao dịch khác. Công cụ khai thác sẽ chọn các giao dịch từ nhóm giao dịch để đóng gói vào khối tiếp theo. Các giao dịch này có mức độ ưu tiên mặc định. Thời gian vật lý là một yếu tố quyết định thứ tự, nhưng nó không phải là yếu tố quan trọng nhất. Ví dụ: phí khai thác quan trọng hơn nhiều hơn thời gian vật lý. Chỉ những giao dịch được chọn để vào khối tiếp theo mới được chuyển đổi từ đơn vị thời gian phút giây sang đơn vị thời gian khối và chỉ sau khi quá trình chuyển đổi này hoàn tất, giao dịch mới thực sự diễn ra trên blockchain.

Không khó để thấy rằng giao dịch trước tiên phải xảy ra trong thời gian thực, sau đó đợi trong nhóm giao dịch và cuối cùng xảy ra trên chuỗi khối. Quá trình chờ đợi không chắc chắn này sẽ dẫn đến việc lộ ý định giao dịch, dễ dàng xảy ra tình trạng chạy trước.

Ngoài những người khai thác, mỗi chúng ta cũng có thể thấy mục đích giao dịch. Bởi vì giao dịch trước tiên được phát lên mạng, sau đó vào nhóm giao dịch và mọi người đều có thể nghe phát sóng giao dịch. Đối với thương nhân và robot giao dịch trên DEX, họ chỉ cần theo dõi tình hình giao dịch trên DEX, sau khi phát hiện ra ý định giao dịch, họ có thể đưa giao dịch của mình lên hàng đầu bằng cách tăng phí giao dịch, để hoàn thành Chạy trước và nhận ra rủi ro- lợi nhuận miễn phí.

Nhưng Front Running rõ ràng là không công bằng, nó phá hủy các chiến lược giao dịch của các nhà giao dịch bình thường và gây thiệt hại cho lợi ích giao dịch của họ. Một ví dụ minh họa nhưng không chính xác: Bạn dự định mua 100ETH từ thị trường và giá trung bình có thể là 270 USD/ETH; nhưng robot giao dịch phát hiện ra ý định giao dịch của bạn và mua nó trước, và nó mua với giá 270 USD/ETH , và bạn có thể phải mua nó với mức giá đã tăng là $280/ETH, nghĩa là tốn thêm $1.000.

Trong trường hợp này, làm thế nào để mọi người có thể thực hiện các giao dịch quy mô lớn trên DEX? Mọi giao dịch đều có khả năng bị "cướp". Chừng nào Front Running còn tồn tại, DEX sẽ khó mở rộng quy mô.

Flash Boys trên DEX

Vào năm 2019, Philip Diane, một nhà nghiên cứu blockchain tích cực tại Đại học Cornell, đã xuất bản một bài báo với các đồng nghiệp có tên "Flash Boys 2.0: Chạy trước, sắp xếp lại giao dịch và sự đồng thuận không ổn định trong các sàn giao dịch phi tập trung.", phân tích tình huống robot giao dịch trên blockchain thực hiện các giao dịch chạy trước bằng cách tăng phí giao dịch và giảm độ trễ mạng.

Flash Boys xuất phát từ cuốn sách "Flash Boys: A Wall Street Uprising" của Michael Lewis, tác giả của "Big Short", và đề cập đến một nhóm các nhà giao dịch cao tần ở Phố Wall.

Mô tả hình ảnh

The Flash Boys: Cuộc nổi dậy ở Phố Wall của Michael Lewis

Front Running trên blockchain sẽ được so sánh với Giao dịch tần suất cao vì chúng có những điểm tương đồng nhất định.

Giao dịch tần suất cao sẽ đặt lệnh "mồi" trên tất cả các sàn giao dịch. Những lệnh nhỏ này cung cấp giá bán thấp nhất và giá mua cao nhất. Khi một giao dịch lớn được chia thành nhiều giao dịch và hoàn thành trên nhiều sàn giao dịch, những mồi này luôn là đầu tiên gặp phải, do đó ý định của giao dịch có thể bị phơi bày (cùng với các phương pháp khác để dự đoán tình hình của giao dịch); trong khi đó, giao dịch cao tần sử dụng công nghệ tốt hơn và "thẳng thắn" hơn Trước khi phần còn lại của giao dịch lớn được hoàn thành , mua và bán các cổ phiếu có liên quan trên các sàn giao dịch khác nhau, sau đó kiếm tiền từ chênh lệch giá.

Cả giao dịch cao tần và Chạy trước trên chuỗi khối đều bao gồm hai thành phần cơ bản: khám phá ý định giao dịch và hoàn thành giao dịch trước. Chỉ là cái trước phát hiện ra ý định giao dịch thông qua "mồi nhử" và cái sau phát hiện ra ý định giao dịch thông qua giám sát; cái trước thúc đẩy giao dịch của chính mình thông qua công nghệ tốt hơn và cái sau thúc đẩy giao dịch của chính nó thông qua phí giao dịch cao hơn.

Sự khác biệt giữa hai loại này là cửa sổ thời gian cho giao dịch tần số cao rất nhỏ và mọi người đều chạy đua tính bằng nano giây, điều này có yêu cầu cực kỳ cao đối với hệ thống giao dịch tần suất cao; trong khi Chạy trước trên chuỗi khối về cơ bản Chỉ bị ảnh hưởng bởi giao dịch phí, bạn càng trả nhiều tiền, bạn càng có thể vượt lên.

Nhìn chung, về phương thức giao dịch, Front Running trên blockchain gần với các giao dịch tần suất cao trên thị trường tài chính truyền thống, ngoại trừ việc cáp mạng "thẳng" hơn được thay thế bằng phí giao dịch cao hơn. Xét về tính chất, mức độ không công bằng, gây hại cho thị trường thì nó gần với Front Running trên thị trường tài chính truyền thống, nhưng loại giao dịch trên blockchain này không phạm pháp nên không thể cấm.

tiêu đề phụ

giải pháp

Để tránh vấn đề Chạy trước trong các sàn giao dịch phi tập trung, chúng ta cần bắt đầu với thiết kế của chính DEX. Các giao thức DEX với các đặc điểm khác nhau có thể phát triển các phương pháp khác nhau.

Giao thức DEX của chế độ tạo thị trường tự động khó chặn Front Running hơn, chẳng hạn như Uniswap, tự động điều chỉnh giá theo tính thanh khoản có sẵn. giao dịch xác định giá giao dịch. Để giảm thiệt hại do Front Running gây ra, phương pháp được Uniswap áp dụng là cho phép người dùng chỉ định giá tối đa của giao dịch, do đó người dùng có thể không hoàn thành giao dịch, nhưng họ sẽ không hoàn thành giao dịch tại một thời điểm nhất định. giá cao không thể chấp nhận được. Tuy nhiên, đây là một biện pháp thiết thực và giải pháp thực sự cho vấn đề cần được khám phá thêm.

Người giới thiệu

Winkrypto
作者文库