BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Các phương pháp hay nhất để sử dụng cơ chế nhập tin nhắn trên Ethereum

以太坊爱好者
特邀专栏作者
Bài viết này có khoảng 3109 từ, đọc toàn bộ bài viết mất khoảng 5 phút
Nếu bạn cũng hy vọng rằng các ứng dụng bạn phát triển có thể đạt được tính bảo mật, chống kiểm duyệt và phân cấp, thì sau đây là một số gợi ý cho bạn khi xây dựng hợp đồng thông minh Ether
Tóm tắt AI
Nếu bạn cũng hy vọng rằng các ứng dụng bạn phát triển có thể đạt được tính bảo mật, chống kiểm duyệt và phân cấp, thì sau đây là một số gợi ý cho bạn khi xây dựng hợp đồng thông minh Ether

Lưu ý của biên tập viên: Bài viết này đến từNhững người đam mê Ethereum (ID: ethfans)Lưu ý của biên tập viên: Bài viết này đến từ

Những người đam mê Ethereum (ID: ethfans)

, tác giả: Tellor Core, dịch & hiệu đính: Chen Liang & A Jian, được Odaily tái bản với sự cho phép.

Các ứng dụng tài chính phi tập trung là một hạng mục mới ra đời và đang phát triển nhanh chóng trong hệ sinh thái Ethereum, nhưng một phần quan trọng của nó - cơ chế nhập thông tin (Oracle, bản dịch cũ là "cơ chế nhập thông tin") - đã thu hút sự chú ý của mọi người. Nếu không có cơ chế nhập thông tin, các ứng dụng tài chính phi tập trung chỉ có thể lấy dữ liệu trên chuỗi và khả năng thích ứng của chúng với các tình huống ứng dụng thực tế sẽ bị hạn chế rất nhiều. Nhiều người cũng có thể biết rằng nhiều dự án đã sử dụng cơ chế nhập thông tin ngoài chuỗi, nhưng mọi người đều thiếu hiểu biết về việc sử dụng cơ chế nhập thông tin và các biện pháp bảo mật liên quan. Với ngày càng nhiều dự án mới và dự án hiện tại được tái cấu trúc để bảo mật cao hơn, hy vọng bài viết này sẽ đóng vai trò là tài liệu tham khảo thực tiễn tốt nhất về cách sử dụng cơ chế nhập thông tin. Chúng tôi sẽ không nói quá nhiều về các nguyên tắc thiết kế và mô hình bảo mật tốt nhất cho cơ chế nhập tin nhắn mà chỉ nói về cách sử dụng cơ chế nhập tin nhắn nếu bạn xây dựng ứng dụng trên Ethereum. Nếu bạn cũng hy vọng rằng các ứng dụng bạn phát triển có thể đạt được tính bảo mật, khả năng chống kiểm duyệt và phân cấp, thì sau đây là một số gợi ý cho bạn khi xây dựng hợp đồng thông minh Ethereum:

Khuyến nghị 1: Thiết kế cơ chế nhập thông tin và tương tác phải được ưu tiên trong giao thức của bạn

Dạng cơ chế nhập thông tin đơn giản nhất là cơ chế nhập tập trung, trong đó bạn (người tạo dự án) nhập thông tin về giá, bạn có thể thấy nhiều giao thức thực hiện việc này khi khởi động và chỉ sử dụng một chữ ký đa đơn giản để đảm bảo an toàn. Các giao thức này tuyên bố chọn con đường "phân quyền lũy tiến" (chúng tôi gặp rất nhiều vấn đề với tuyên bố này) và tuyên bố rằng chúng sẽ chuyển sang cơ chế nhập thông tin phi tập trung trong tương lai. Nếu bạn chỉ muốn tham gia hackathon thì không có vấn đề gì, nhưng khi bắt đầu dự án, do hiệu suất của cơ chế nhập thông tin tập trung cao hơn bất kỳ cơ chế nhập thông tin phi tập trung nào nên quá dễ dàng để bắt đầu dự án mới.up. Nếu giả định của bạn là các giá trị chính xác luôn được cam kết với chuỗi ngay lập tức, thì các quyết định thiết kế của bạn về dung lượng hệ thống và trải nghiệm người dùng sẽ rất khác.

Các dự án thực hiện ý tưởng phân cấp lũy tiến này hiện đang ở trong một tình huống khó xử khi người dùng mong đợi một trải nghiệm nhất định, nhưng đơn giản là sản phẩm của họ không hoạt động an toàn trên nền tảng công nghệ phi tập trung hiện có. Họ buộc phải giả vờ phân cấp bằng cách bao gồm nhiều bên trong một multisig tập trung, hoặc họ loại bỏ tâm lý có thể xuống đường và hy vọng rằng tam giác bất khả thi về khả năng mở rộng chuỗi công khai sẽ may mắn được giải quyết thành công. Vấn đề ở đây là trừ khi cơ chế nhập thông tin phi tập trung được xem xét ngay từ đầu khi thiết kế giao thức, rất khó để cập nhật cơ chế nhập thông tin phi tập trung vào giao thức hiện có.

Lời khuyên 2: Đừng tin tưởng cơ chế nhập thông tin của bạn luôn phản hồi nhanh chóng

Ethereum vẫn là một thứ mới Mặc dù một khối thường có thể được tạo trong vài giây, nhưng có thể mất nhiều thời gian để các giao dịch được xác nhận trong thời gian chuyển tiền thường xuyên. Nếu bạn còn nhớ sự cố tắc nghẽn chuỗi khối do trò chơi blockchain "Cat Obsession" gây ra và sự cố "Thứ Năm Đen tối" gần đây khiến phí chuyển tiền tăng vọt, người dùng đã phải trả phí chuyển khoản cao ngất ngưởng vào thời điểm này để được phép giao dịch của họ được xác nhận suôn sẻ. Ngay cả khi bạn nghĩ rằng người dùng giao thức có động cơ kinh tế để trả các khoản phí này, bạn có thực sự muốn họ bị buộc phải trả không?

Ngoài các vấn đề tắc nghẽn mạng, các nhà phát triển cũng nên xem xét trường hợp Ethereum gặp sự cố. Việc mạng blockchain ngừng hoạt động trong thời gian dài khó có thể xảy ra, nhưng có thể xảy ra tình trạng ngừng hoạt động trong thời gian ngắn, do đó, phải xem xét tác động của các cơ chế nhập thông tin nhanh trên chuỗi và ngoài chuỗi (thường) thiếu tính cuối cùng. Chúng tôi luôn hy vọng rằng giao thức có thể duy trì hoạt động bình thường và kịp thời, nhưng đôi khi điều này không thể thực hiện được, ví dụ: giao thức cần chạy trong vài phút để xác nhận tính chính xác, sau đó cơ chế nhập thông tin của bạn có thể không nhập được thông tin. Điều này không có nghĩa là tất cả các kế hoạch thiết kế khung thời gian cho cơ chế nhập thông tin đều không được khuyến khích.Thiết kế một khoảng thời gian hoạt động thực tế cho cơ chế nhập thông tin là tốt, nhưng một giao thức tài chính phi tập trung ổn định sẽ cung cấp cho những tình huống cực đoan đột ngột này .Hãy chuẩn bị sẵn sàng. Một trong số đó là:

tiêu đề phụ

  • Khuyến nghị 3: Giả định rằng cơ chế nhập thông tin của bạn có thể bị hỏng

  • Đừng cho rằng cơ chế nhập thông tin của bạn là hữu hạn. Nhiều giao thức mắc lỗi khi cập nhật nguồn cấp thông tin để thúc đẩy một số hoạt động nhất định (ví dụ: hợp đồng phái sinh chỉ giải quyết khi nguồn cấp thông tin được cập nhật). Đây là một sai lầm. Bạn nên có sẵn một quy trình vận hành tiêu chuẩn để ngăn chặn các trường hợp thông tin được nhập vào cơ chế không chính xác, ngay cả khi chúng tôi hy vọng điều này sẽ không bao giờ xảy ra.

Tóm lại, có hai loại lỗi có thể xảy ra với cơ chế nhập thông tin:

Cơ chế nhập tin nhắn của bạn đã gửi một giá trị không chính xác.

Cơ chế nhập tin nhắn của bạn không hoạt động và không đẩy tin nhắn vào chuỗi

Loại vấn đề đầu tiên, ví dụ: nếu bạn đang sử dụng cơ chế cấp giá tập trung và nhà cung cấp giá vô tình nhân giá với 10.000, bạn chắc chắn không muốn giải quyết với giá trị này và ngay cả cơ chế cấp dữ liệu cũng sẽ như vậy. đã xóa Giá trị này (trong cơ chế nhập tin nhắn của Tellor, giá trị này sẽ gây ra tranh chấp và bị hủy bỏ), nhưng câu hỏi vẫn còn - bạn đợi bao lâu để dữ liệu được xác thực?

  • Điều này cuối cùng phụ thuộc vào tính ổn định của giao thức của bạn, vì một số hợp đồng thông minh có thể yêu cầu cơ chế xác nhận và kiểm tra chậm hơn/mạnh hơn so với các hợp đồng khác. Một ví dụ điển hình của cơ chế này là giao thức Maker, trong đó thông tin được truyền vào bởi cơ chế nhập thông tin sẽ có hiệu lực sau một giờ. Nhưng chúng ta cần phải suy nghĩ cẩn thận, và không cho rằng điều này nhất thiết phải đúng.

  • Cách phá hoại thứ hai của cơ chế nhập liệu thông tin vòng vo hơn. Một ví dụ là cơ chế nhập thông tin tập trung làm mất khóa riêng và không thể cập nhật hợp đồng, điều gì sẽ xảy ra với hợp đồng thông minh phái sinh của bạn lúc này? Một điều nữa ảnh hưởng đến hoạt động của cơ chế nhập thông tin là việc người cung cấp thông tin không sẵn sàng cung cấp thông tin một cách nhanh chóng. Giả sử rằng mạng Ethereum bị tắc nghẽn, phí khai thác trên mỗi giao dịch là 20 đô la và cơ chế nhập thông tin của bạn chỉ cung cấp phí giao dịch là 1 đô la cho mỗi giao dịch, thì hợp đồng thông minh có thể mất vài giờ để cập nhật, quay lại đề xuất 2. Từ quan điểm , bạn có thể cần phải chuẩn bị cho điều này, nhưng bạn cũng nên biết liệu nhà cung cấp thông tin của bạn có khả năng đơn phương kiểm soát sự chậm trễ này hay không. Trong cơ chế nhập thông tin của Tellor, chúng tôi đưa dữ liệu vào chuỗi thông qua sự cạnh tranh của POW, vì vậy hoạt động của nó được đảm bảo bởi cơ chế khuyến khích. Một số cơ chế nhập thông tin tập trung hơn không có những đảm bảo như vậy và các nhà cung cấp cơ chế nhập thông tin có thể chấp nhận các giao dịch bị trì hoãn và thậm chí kiểm duyệt dữ liệu dựa trên hối lộ hoặc vị trí của chính họ.

  • Khi một cơ chế nhập thông tin bị nghi ngờ có tham nhũng hoặc liên quan đến việc xem xét tập trung, chúng tôi có nhiều biện pháp đối phó (tất nhiên chúng tôi hy vọng tốt nhất là không sử dụng nó), bao gồm:

  • Dừng thực hiện hợp đồng và đợi cơ chế nhập thông tin phản hồi giá trị chính xác

Sử dụng nhiều cơ chế nhập thông tin

Trả lại tất cả tiền / thanh toán hoàn chỉnh với các giá trị mặc định

Sao lưu và bảo mật của cơ chế nhập thông tin mà chúng tôi đề cập chủ yếu nhấn mạnh đến cấp độ giao thức. Rất khó để diễn đạt cách sử dụng các tùy chọn sao lưu trong từng trường hợp với một mô hình thống nhất, nhưng phải đảm bảo rằng tất cả các bên không có động cơ để thực hiện các bản sao lưu này riêng lẻ., mục đích của cơ chế sao lưu là để giữ an toàn cho mạng, không cung cấp một đường dẫn khác cho các cuộc tấn công độc hại.

Cho dù bạn có thừa nhận hay không, luôn có cách để kẻ tấn công xâm phạm cơ chế nhập thông tin, nhưng cái giá phải trả là khác nhau. Đôi khi chi phí này là chi phí mua danh tiếng hoặc mua vé, đôi khi nó là một phần giá trị thị trường của mã thông báo do dự án phát hành và có lẽ thường xuyên hơn đó là chi phí làm hỏng nhà cung cấp thông tin hoặc chi phí xem xét những người tham gia có liên quan (chẳng hạn như như mô hình tập trung truyền thống). Bất kể chi phí phá vỡ cơ chế nhập thông tin thực sự cao đến mức nào hoặc ngay cả khi chi phí phá vỡ cơ chế nhập thông tin không cố định, bạn vẫn nên có hiểu biết chung về tính bảo mật của giao thức của mình. Đối với các dự án hy vọng một ngày nào đó sẽ nắm giữ hàng triệu hoặc thậm chí hàng tỷ đô la, việc sử dụng mã thông báo có giá trị thị trường chỉ vài triệu đô la để chứng thực tính bảo mật của cơ chế nhập thông tin hoặc để chứng thực danh tiếng của một số nhóm Đó là một rủi ro lớn.

Tóm lại là

Biết được chi phí phá vỡ cơ chế nhập thông tin có thể giúp nhà phát triển giao thức hiểu được cần có bao nhiêu biện pháp bảo mật để đảm bảo tính ổn định của hệ thống. hoặc lấy một số bản sao lưu Kế hoạch này sẽ làm tăng đáng kể chi phí tấn công hợp đồng. Hiện tại, một số người đã bắt đầu gửi đề xuất nâng cấp Ethereum (EIP2362), đề xuất này chuẩn hóa thông tin về giá và luồng dữ liệu để các giao thức mới có thể dễ dàng và nhanh chóng tích hợp nhiều cơ chế nhập thông tin vào hợp đồng của họ.

ETH
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký:
https://t.me/Odaily_News
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina
Mục lục bài viết
Thư viện tác giả
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android