Truebit: Tạo thị trường cho máy tính có thể kiểm chứng
Các ứng dụng phi tập trung vẽ cho chúng ta một bức tranh màu hồng về tương lai. Chúng minh bạch và chống giả mạo, hoạt động không ngừng nghỉ, giải phóng các ưu đãi và giải quyết các vấn đề phối hợp trên phạm vi toàn cầu.
Nhưng có những trở ngại trên đường đi.
tiêu đề cấp đầu tiên
Vấn đề khó khăn: Điện toán phi tập trung
Mã được viết bằng Solidity được biên dịch thành mã byte trong EVM (Máy ảo Ethereum) và sau đó được đóng gói vào chuỗi khối. Kể từ đó, mọi giao dịch được gửi đến địa chỉ hợp đồng lưu trữ mã byte sẽ kích hoạt mã này chạy. Từ đó có thể thấy rằng có sự dư thừa trong thiết kế cơ chế đồng thuận chuỗi khối: tất cả các thợ mỏ thực hiện cùng một phép tính và sau đó đạt được sự đồng thuận về kết quả.
Tính toán được định lượng và theo đó, chi phí được xác định bởi mức độ phức tạp của việc thực thi mã. Mỗi hoạt động trong bộ hướng dẫn máy ảo blockchain được đánh dấu bằng một mức giá (được gọi là "Gas") và người gửi giao dịch sẽ thanh toán theo số tiền tính toán mỗi khi thực hiện một lệnh.
Bất kỳ logic kinh doanh phức tạp nào cũng sẽ luôn mang lại chi phí cao.
Hơn thế nữa, tổng số lượng tính toán được thực hiện trên mạng sẽ bị ảnh hưởng bởi giới hạn trên của Gas. Giới hạn trên của Gas đề cập đến tổng lượng Gas có thể được tiêu thụ bởi tất cả các giao dịch trong một khối. Thật không may, chúng tôi không thể đơn giản tăng giới hạn gas do tình trạng tiến thoái lưỡng nan của người xác minh; một khi người khai thác nhận được một khối mới hình thành, họ cần xác minh rằng khối đó hợp lệ trước khi họ có thể bắt đầu tìm kiếm khối tiếp theo, nhưng việc xác minh như vậy là miễn phí. Những người khai thác vì lợi nhuận đang ở trong tình thế tiến thoái lưỡng nan: xác minh khối hoặc bỏ qua khối đó. Và khi giới hạn gas của khối tăng lên, tác động của tình trạng tiến thoái lưỡng nan này cũng trở nên lớn hơn.
Vì vậy, tính toán là tốn kém và hạn chế.
Truebit nhằm mục đích giải quyết vấn đề này.
tiêu đề cấp đầu tiên
Giải pháp: Điện toán ngoài chuỗi có thể kiểm chứng
Khi một dApp (ứng dụng phi tập trung) muốn chạy các phép tính tốn kém hoặc vượt quá giới hạn trên của Gas, thay vì chạy các phép tính trực tiếp trên Ethereum, tốt hơn là nên chuyển giao cho giao thức Truebit.
hợp đồng truebit
API để tương tác với giao thức Truebit rất đơn giản: nó chỉ là một chức năng có tên là createTask trên hợp đồng thông minh Truebit.
Quá trình gọi hàm createTask của dApp cần gửi nội dung sau:
chương trình: mã chương trình. Truebit sử dụng công nghệ máy ảo WebAssembly, vì vậy dApp có thể gửi trực tiếp mã byte của mã chương trình tới máy ảo WebAssembly hoặc gửi giá trị băm của mã chương trình trên IPFS hoặc các hệ thống địa chỉ dựa trên nội dung khác.
Giá trị đầu vào: Giá trị đầu vào cho chương trình. Một dApp có thể gửi trực tiếp các đầu vào này hoặc hàm băm của các đầu vào đó trên hệ thống định địa chỉ nội dung.
Mô tả hình ảnh
Một dApp tạo một tác vụ Truebit
Để minh họa thêm cho quá trình này, hãy xem xét hai ví dụ.
Livepeer là một nền tảng điện toán phi tập trung, cần kiểm tra xem bộ chuyển mã có hoạt động bình thường hay không. Vì vậy, nó gọi hàm createTask, gửi FFmpeg làm chương trình và video làm giá trị đầu vào cho hàm.
Aragon là một nền tảng dành cho các tổ chức ẩn danh muốn thực hiện công việc kiểm phiếu. Việc quay vòng các đợt bỏ phiếu lớn trên chuỗi rất tốn kém và nếu quá nhiều phiếu được kiểm, nắp xăng sẽ cản trở công việc này. Vì vậy, Aragon đã gọi hàm createTask của Truebit và gửi hàm đếm phiếu bầu dưới dạng chương trình và mảng phiếu bầu làm giá trị đầu vào cho hàm.
Hàm này sẽ tạo một nhiệm vụ mới trong hợp đồng Truebit.
Mạng Truebit
Truebit là một thị trường cho các tác vụ điện toán.
Bất kỳ ai cũng có thể cài đặt ứng dụng khách Truebit, tham gia mạng không hạn chế và được trả tiền bằng cách chạy các tác vụ điện toán.
Mô tả hình ảnh
Công cụ khai thác Truebit giám sát các tác vụ điện toán
Khi một tác vụ mới được tạo, những người khai thác Truebit có thể tải xuống mã của nó, chạy chương trình trong máy ảo Truebit WebAssembly cục bộ bằng cách sử dụng đầu vào do nhà xuất bản tác vụ cung cấp, sau đó gửi kết quả của họ tới hợp đồng thông minh.
Mô tả hình ảnh
Trình xử lý tác vụ gửi kết quả
tiêu đề phụ
Trường hợp 1: Không có đối thủ
Mô tả hình ảnh
tiêu đề phụ
Trường hợp thứ hai: có người thách thức
Mô tả hình ảnh
Trình xác thực đã bắt đầu thử thách
tiêu đề phụ
xác minh trò chơi
Mô tả hình ảnh
Một chương trình C đơn giản (trái) và dạng văn bản WebAssugging đã biên dịch của nó (phải)
Người thách thức bắt đầu trò chơi xác minh.
Cả trình xử lý tác vụ và trình thách thức đều có trạng thái ban đầu là 0, chúng khởi động một máy ảo trống, chạy cùng một đầu vào với cùng một chương trình (như được chỉ định trong mô tả tác vụ trên chuỗi khối). Khi trạng thái là 0, chúng nhất quán.
Mô tả hình ảnh
Mô tả hình ảnh
Mô tả hình ảnh
Người thách đấu truy vấn trạng thái của người xử lý tác vụ
Mô tả hình ảnh
Người xử lý nhiệm vụ và người thách thức chơi trò chơi xác minh
Bây giờ đến lượt người thách thức tính toán cục bộ gốc Merkle ở trạng thái của chính nó và so sánh kết quả với kết quả của trình xử lý tác vụ.
Nếu cả hai bằng nhau, có thể đánh giá rằng vị trí mà chúng phân kỳ nằm ở nửa sau của tập lệnh tính toán. Nếu cả hai không bằng nhau, thì sự khác biệt của chúng xảy ra trong nửa đầu của set đấu.
Mô tả hình ảnh
Trạng thái gốc của challenger và task handler bằng nhau khi trạng thái là 7
Mô tả hình ảnh
Người thách thức hỏi gốc trạng thái của điểm giữa thứ hai trong tập hợp
Trình xử lý tác vụ phản hồi tương ứng.
Mô tả hình ảnh
Người thách thức truy vấn gốc trạng thái của điểm giữa thứ ba
Trò chơi xác minh tương tác vẫn tiếp tục.
Mô tả hình ảnh
Đối số: Lệnh khi chuyển từ trạng thái 12 sang trạng thái 13
Mô tả hình ảnh
Trình thông dịch WebAssembly trên chuỗi chạy các hướng dẫn gây tranh cãi
Nếu gốc Merkle được tính toán của trạng thái khác với gốc trạng thái do trình xử lý tác vụ cung cấp, thì khoản ký gửi của trạng thái sau sẽ bị mất.
Đó là nó cho toàn bộ quá trình!
Chúng tôi chuyển tất cả các tính toán ra khỏi chuỗi và chỉ sử dụng Ethereum để tính toán hướng dẫn một bước đó để tránh tranh chấp.
tiêu đề cấp đầu tiên
kinh tế tiền điện tử
Các ưu đãi của Truebit bao gồm phần thưởng nhiệm vụ, tiền gửi, cơ chế thách thức giữa người xử lý nhiệm vụ và người thách thức, và thiết kế kinh tế của thị trường máy tính.
Gần đây, chúng tôi đã công bố kế hoạch nâng cấp mã thông báo Truebit, sau đây là hai giải pháp hiện đang được xem xét:
Lớp khuyến khích 1: Lỗi bắt buộc & tổng giải thưởng tích lũy
Nghiên cứu kỹ giao thức này, một số độc giả sắc sảo có thể phát hiện ra một vấn đề.
Những người xử lý tác vụ biết rằng các tính toán của họ sẽ được kiểm tra và nếu họ mắc lỗi, khoản tiền gửi của họ sẽ bị mất, vì vậy họ sẽ không gian lận. Về lâu dài, những người xác thực sẽ rất khó tìm ra lỗi, không kiếm được thu nhập và cuối cùng biến mất trên thị trường máy tính. Sau khi trình xác minh biến mất, trình xử lý tác vụ sẽ bắt đầu gian lận. Sau đó, trình xác minh sẽ xuất hiện lại và bắt lỗi.
Hệ thống không ở trạng thái cân bằng ổn định mà liên tục lật lên và xuống.
Để giải quyết vấn đề này, Truebit đã đề xuất một khái niệm về lỗi bắt buộc và jackpot trong sách trắng. Giao thức Truebit sẽ buộc bộ xử lý tác vụ cung cấp kết quả tính toán sai theo một xác suất nhất định. Bất kỳ người xác thực nào tìm thấy những lỗi như vậy và thành công trong thử thách sẽ tự động nhận được giải độc đắc. Số tiền bất ngờ này được rút ra từ phần thưởng của tất cả các nhiệm vụ, vì vậy nó rất lớn, mang lại cho những người xác thực một khoản lợi nhuận kỳ vọng đáng kể. Các tác vụ xác minh có lợi ngay cả khi trình xử lý tác vụ luôn cung cấp kết quả tính toán chính xác.
Lớp khuyến khích 2: Thử thách xử lý nhiều tác vụ và xác minh cặp
Một phương án khác đến từ quá trình thực hiện cụ thể. Trình xử lý tác vụ và trình xác minh luôn thực hiện cùng một công việc: chúng tải xuống cùng một chương trình, chạy cục bộ và nhận tính toán. Vì vậy, thay vì chỉ định một người xử lý tác vụ và nhiều người thách thức theo quy tắc thời gian, tại sao không thay đổi giao thức để cho phép mọi người gửi kết quả tính toán của họ cùng một lúc?
Hợp đồng thông minh kiểm tra xem tất cả các tính toán có nhất quán không. Nếu họ đồng ý, kết quả được coi là chính xác. Nếu nó không nhất quán và một số loại kết quả tính toán được tạo ra, hợp đồng thông minh sẽ tổ chức các loại bộ xử lý tác vụ khác nhau để thực hiện xác minh cặp.
Giao thức cải tiến này có thể đảm bảo tính kịp thời tốt hơn vì các thử thách xác minh được thực hiện song song. Cải tiến này cũng có thể thay thế các lỗi bắt buộc và giải đặc biệt. Nhưng nhược điểm là nó làm tăng độ phức tạp của số tiền mà người khởi xướng nhiệm vụ phải trả và cách phân phối phần thưởng giữa nhiều người xử lý nhiệm vụ.
tiêu đề cấp đầu tiên
kiến trúc mô-đun
Mô tả hình ảnh
Kiến trúc mô-đun của Trubit
Lớp điện toán: nghĩa là máy ảo WebAssugging (hoặc máy trạng thái hữu hạn, giống như chúng tôi đã sử dụng trong thiết kế cầu chuyển đổi Doge-Ethereum bằng mã hóa tương tác), yêu cầu xây dựng cả trên chuỗi và ngoài chuỗi.
Trình thông dịch WebAssugging của Truebit mang tính xác định và có thể mở rộng, có khả năng tạo ra các cây Merkle ở trạng thái bên trong.
Lớp giải quyết tranh chấp: Đây là trò chơi xác minh tương tác giữa hai bên, bao gồm nhiều phiên hỏi đáp tương tác giữa người xử lý tác vụ và người xác minh.
Lớp khuyến khích: Lớp này bao gồm phần thưởng, tiền gửi, cơ chế thử thách giữa người xử lý tác vụ và người thách thức cũng như cơ chế mã thông báo.
phần kết
phần kết
Hướng kỹ thuật của chúng tôi hiện đang tập trung vào các lớp tính toán và giải quyết tranh chấp. Nghiên cứu của chúng tôi tập trung vào các lớp khuyến khích và cơ chế mã thông báo.
Gần đây, chúng tôi đã công bố giải pháp Truebit để xác thực Scrypt, được triển khai trong cầu nối chuyển đổi Doge-Ethereum.
Bạn có thể xem video demo của chúng tôi tại đây hoặc xem mã của chúng tôi trên Github.
Hỗ trợ cho máy ảo WebAssembly sẽ xuất hiện trong phiên bản tiếp theo của chúng tôi.
Giữ nguyên!
Liên kết gốc: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f
Tác giả: Sina Habibian
Dịch giả & Hiệu đính: Anzi Clint & Min Min


