Tóm lược
Marlin giúp tăng cường sức mạnh xử lý và tính biểu cảm của các hợp đồng thông minh bằng cách sử dụng các tài nguyên máy tính ngoài chuỗi có thể kiểm chứng dễ dàng.
Nó gồm hai sản phẩm, Oyster và Kalypso, sử dụng bằng chứng TEE và ZK tương ứng để đảm bảo tính chính xác của việc tính toán.
Khả năng phi máy chủ cho phép các nhà phát triển "đốt và quên" code, giúp họ giảm bớt các hoạt động DevOps tẻ nhạt. Khả năng tự động thay đổi quy mô và khả năng chịu lỗi được đưa vào giao thức Marlin.
Mạng này được hỗ trợ bởi GPU cho phép các nhà phát triển gọi các chương trình, gửi đầu vào và nhận kết quả bằng cách sử dụng các cuộc gọi hợp đồng thông minh, giúp các ứng dụng và trò chơi DeFi được hỗ trợ bởi AI trở nên thiết thực.
Phần backend được triển khai trên Oyster có thể hiển thị các điểm cuối HTTPS, cho phép triển khai các sàn giao dịch sổ lệnh có độ trễ thấp, cổng RPC hoặc giao diện người dùng phi tập trung trên chúng.
Giới thiệu
Thông thường, một blockchain bao gồm một lượng lớn các node xử lý các giao dịch để ngăn chặn người dùng độc hại chi tiêu gấp đôi số tiền của họ hoặc thực hiện các giao dịch không hợp lệ. Điều này có xu hướng làm cho các blockchain trở nên chậm và tốn kém hơn cần thiết. Ngay cả các giải pháp mở rộng quy mô lớp 2 như rollup cũng bị hạn chế vì chúng không thể truy cập lịch sử blockchain để tính các điểm tín dụng, vận hành các mô hình máy học lớn để phát triển các trò chơi linh hoạt hoặc đạt được độ trễ đủ thấp để triển khai các sàn giao dịch phản ứng theo sổ lệnh.
Các bộ đồng xử lý như Marlin cho phép các thuật toán lớn và phức tạp được tính toán trên các node ngoài chuỗi với quyền truy cập vào API Web 2 và lịch sử blockchain. Thay vì đánh giá cùng một chương trình trên nhiều máy, mỗi chương trình được thực thi trên một node riêng biệt, giúp tăng tốc độ thực thi, giảm chi phí và tăng khả năng xử lý song song. Tính chính xác của kết quả trong trường hợp không có tính toán dư thừa của chương trình gốc được đảm bảo bằng cách sử dụng các cấu trúc phần mềm được gọi là bằng chứng Zero-Knowledge (ZK) và Môi trường thực thi đáng tin cậy (TEE), trong đó các bằng chứng nhỏ gọn và chứng thực tính toán được xác minh trên chuỗi nhanh hơn và rẻ hơn nhiều.
Marlin là gì?
Marlin là một giao thức điện toán có thể kiểm chứng. Nó bao gồm một mạng lưới các node phi tập trung, cho phép các chương trình tùy ý được thực thi trong đó. Các chương trình có thể được viết bằng Solidity, C ++, Rust và Go hoặc nhắm mục tiêu bất kỳ môi trường WASM nào khác. Chúng có thể được triển khai trên các node Marlin riêng lẻ như các hộp đựng và được neo đậu bằng cách sử dụng các lệnh gọi hợp đồng thông minh.
Giao thức này đảm bảo rằng các chương trình thực thi chính xác mặc dù chạy ngoài chuỗi trên các node được vận hành bởi các bên thứ ba không đáng tin cậy. Đầu ra của các chương trình sau đó có thể được chuyển tiếp trở lại trên chuỗi hoặc cung cấp thông qua các điểm cuối API. Nếu một node không khả dụng hoặc khối lượng công việc đột ngột tăng lên, giao thức này sẽ tự động tạo ra các phiên bản mới, cung cấp cho người dùng một giao diện không cần server.
Lịch sử ra mắt
Dưới đây là tổng quan ngắn gọn về lịch sử ra mắt của Marlin:
OpenWeaver được phát hành vào quý 4 năm 2019, cho phép các mạng chuyển tiếp toàn cầu có độ trễ thấp được triển khai giữa một cụm các node.
Marlin Cache được phát hành vào quý 2 năm 2020 để cho phép các node lưu trữ và phục vụ dữ liệu được truy cập thường xuyên.
Vào quý 4 năm 2020, OpenWeaver đã được triển khai trên một mạng công cộng gồm hơn 800 node được gọi là Marlin Relay.
Trong quý 2 năm 2021, mev-bor, một ứng dụng khách Flashbots cho Polygon, đã được phát hành để nhận các gói MEV thông qua Marlin Relay.
Oyster đã bổ sung khả năng tính toán bằng TEE vào mạng vào quý 2 năm 2022.
Kalypso cho phép tạo bằng chứng ZK được thuê ngoài vào mạng và đã được công bố vào quý 4 năm 2023.
Marlin hoạt động như thế nào?
Là một mạng tính toán phi tập trung, kiến trúc của Marlin được tối ưu hóa cho ba tác vụ:
(i) nhận yêu cầu tính toán
(ii) thực hiện tính toán
(iii) cung cấp kết quả tính toán
Theo tinh thần phi tập trung, bất kỳ ai cũng có thể tự do tham gia mạng và thực hiện các tác vụ này. Dựa trên các nhiệm vụ, các node được gán các vai trò khác nhau, cụ thể là,
Các node cổng
Các node thực thi
Các node giám sát
Các node cổng
Các node cổng chịu trách nhiệm nhận các yêu cầu và chuyển tiếp chúng đến các node thực thi. Yêu cầu tính toán có thể được thực hiện bằng cách gọi các điểm cuối HTTPS hiển thị bởi các node cổng. Ngoài ra, để các hợp đồng thông minh có thể thực hiện các yêu cầu, một hợp đồng chuyển tiếp được triển khai trên blockchain. Các cổng lắng nghe các sự kiện bắt nguồn từ hợp đồng chuyển tiếp và sau đó chỉ định các node thực thi để xử lý các yêu cầu.
Do đó, các cổng hoạt động như bộ cân bằng tải defacto khi chúng kiểm tra các node thực thi nào đang bận hoặc không hoạt động trước khi chuyển tiếp yêu cầu. Tương tự, các cổng cũng đóng vai trò là ống dẫn để truyền lại kết quả. Dựa trên yêu cầu của người dùng thực hiện yêu cầu, các cổng có thể thực hiện các giao dịch hợp đồng thông minh để chuyển kết quả trở lại trên chuỗi.
Thực thi phi máy chủ: Trên thực tế, các thuộc tính tương tự cho phép các node cổng phát hiện khi các node thực thi có tỷ lệ sử dụng cao hoặc không khả dụng. Chúng hướng dẫn các node thực thi mới tiếp quản. Vì các cổng phối hợp với nhóm các node thực thi, các nhà phát triển không bắt buộc phải chọn và giám sát các node thực thi riêng lẻ.
Các node thực thi
Các node thực thi bao gồm máy tính xách tay và máy chủ hàng ngày nhưng cũng có phần cứng chuyên dụng như GPU, ASIC và FPGA. Chúng được giao nhiệm vụ chạy các tính toán như thuật toán đối sánh cho các công cụ giao dịch, điều này sẽ rất tốn kém trên chuỗi. Ngoài ra, chúng cũng có thể suy luận bằng cách sử dụng các mô hình máy học hoặc tạo bằng chứng ZK, điều đơn giản là không thể thực hiện trên chuỗi.
Các chương trình được thực thi có thể được chia sẻ trực tiếp với node thực thi bằng cách lưu chúng trong một dữ liệu gọi của giao dịch hoặc trên IPFS và trỏ các node thực thi đến chúng bằng cách đề cập đến giao dịch hoặc chuỗi băm IPFS trong yêu cầu. Vì các chương trình có thể được viết bằng bất kỳ ngôn ngữ nào, chúng cũng có thể hoạt động trên các máy chủ, thứ có thể vận hành trên node thực thi và phục vụ các yêu cầu của người dùng như một chương trình phụ trợ phi tập trung.
Các node giám sát
Các node giám sát kiểm tra các đảm bảo cấp độ dịch vụ (SLA) được thực hiện bởi các cổng và các node thực thi, bao gồm thời gian hoạt động và khả năng tiếp cận mạng. Trong trường hợp một node không đáp ứng các đảm bảo mong đợi, phần stake của nó có thể bị các node giám sát cắt giảm. Do đó, các node giám sát đóng một vai trò quan trọng trong việc giữ cho mạng trung thực và hoạt động hiệu suất cao bằng cách loại bỏ các node không trung thực và có hiệu suất thấp.
Đảm bảo tính chính xác
Giả thiết rằng bất kỳ ai cũng có thể chạy các node này, điều gì sẽ xảy ra nếu các node thực thi trả về kết quả không chính xác? Rất nhiều điều có thể xảy ra nếu một oracle chạy trên Oyster trả lại giá của một tài sản sai hoặc nếu một sàn giao dịch vĩnh cửu thanh lý nhầm một nhà giao dịch. Cũng tệ như vậy, một người vận hành node có khả năng rình mò dữ liệu cá nhân như một mô hình máy học độc quyền là nền tảng cho dịch vụ chấm điểm tín dụng.
Để cung cấp cho người dùng sự thoải mái khi thực thi an toàn, Marlin sử dụng hai công nghệ: Bằng chứng TEE và ZK.
Môi trường thực thi đáng tin cậy (TEE)
Một TEE hoặc vùng an toàn là một hệ thống được bảo vệ trong một máy nơi dữ liệu và code được cách ly với các quy trình khác ở cấp độ phần cứng. Nhiều nhà cung cấp đám mây và nhà sản xuất máy chủ cung cấp các phiên bản như vậy. Các node thực thi Oyster sử dụng TEE để đảm bảo các chương trình chạy chính xác vì cả hệ điều hành và bất kỳ tiến trình nào khác đang chạy trên nó đều không thể truy cập các chương trình trong TEE.
Dữ liệu được gửi đến TEE thường chỉ được mã hóa và giải mã bên trong TEE, ngăn thông tin nhạy cảm bị rò rỉ cho các nhà vận hành node. Có thể lấy chứng thực có thể xác minh trên chuỗi khi các tính toán được thực hiện bên trong TEE.
Bằng chứng Zero-Knowledge (ZK)
Bằng chứng Zero-knowledge là một sơ đồ mật mã cho phép ai đó thực hiện tính toán chứng minh với người khác rằng kết quả là chính xác bằng cách chia sẻ bằng chứng. Mật mã đằng sau việc tạo ra bằng chứng giúp xác minh rất dễ dàng nhưng hầu như không thể bịa đặt trừ khi tính toán thực sự được thực hiện chính xác. Các tính toán thuê ngoài các node thực thi Kalypso tạo ra một bằng chứng như vậy, và nó có thể được xác minh trên chuỗi sau đó.
Thị trường chứng minh Kalypso ZK là một sàn giao dịch dựa trên sổ lệnh cho phép bất kỳ ai tạo ra thị trường cho bất kỳ sơ đồ chứng minh ZK nào. Vì việc tạo bằng chứng ZK rất tốn thời gian và chi phí, thị trường kết nối các thiết bị bị hạn chế tài nguyên với các nhà cung cấp phần cứng nhàn rỗi để tăng doanh thu và sử dụng tài nguyên của họ.
Điều gì làm cho Marlin trở nên độc đáo?
Marlin là một mạng lưới các bộ đồng xử lý ngoài chuỗi chứ không phải blockchain. Điều này cung cấp một số lợi thế chính:
Blockchain bất khả tri: Marlin có thể làm việc với bất kỳ nhà cung cấp lớp 1, lớp 2 hoặc dịch vụ rollup để tăng cường khả năng tính toán của họ.
Truy cập dữ liệu ngoài chuỗi: Các node Marlin có thể truy cập thông tin từ cơ sở dữ liệu, API Web 2 hoặc các node lưu trữ blockchain, điều này không thể thực hiện được trên chuỗi.
Điện toán song song: Các node đồng xử lý trên Marlin không thực hiện cùng một tính toán dư thừa cho phép mỗi node hoạt động đồng thời trên các tác vụ khác nhau.
Điểm cuối HTTPS: Kết nối TLS có thể được chấm dứt bên trong TEE, cho phép các node Oyster gửi/nhận dữ liệu bằng kết nối HTTPS.
Bất khả tri mạch: Không giống như các mạng chứng minh ZK chuyên dụng, Kalypso được thiết kế để không cần cấp quyền, cho phép tạo bằng chứng cho bất kỳ mạch, zkVM hoặc hệ thống chứng minh nào.
Không giống như hầu hết các hệ thống blockchain nơi sự tính toán là giao dịch, các chương trình được triển khai trên Marlin có thể chạy mãi mãi, miễn là một ví liên quan tiếp tục trả tiền cho nó.
Token POND là gì?
Hệ sinh thái Marlin dựa vào token POND để đảm bảo bảo mật. Các node trong mạng được yêu cầu stake POND để tham gia. Họ có nguy cơ mất phần tiền này nếu có hành vi sai trái. Điều này đảm bảo rằng các tác nhân khác nhau trong mạng tuân thủ các quy tắc được xác định bởi giao thức.
Tổng kết
Oyster và Kalypso định vị Marlin là một bộ đồng xử lý đáng tin cậy cho các DApp được xây dựng trên bất kỳ nhà cung cấp dịch vụ layer 1, layer 2 hoặc dịch vụ rollup nào. Bản chất có thể tùy chỉnh của nó giúp các DApp có thể lựa chọn sử dụng TEE, bằng chứng ZK hoặc cả hai để cung cấp bảo mật cho các tính toán ngoài chuỗi. Tính linh hoạt của nó cung cấp nhiều tùy chọn triển khai, chế độ tương tác, ngôn ngữ lập trình và môi trường thời gian chạy. Cuối cùng, tính mở của nó cho phép mọi người tham gia, cung cấp sức mạnh tính toán và triển khai các ứng dụng hấp dẫn.