Marlin: Cách có thể mở rộng của Lớp 0
蓝狐笔记
2020-12-11 07:26
本文约6504字,阅读全文需要约26分钟
Lớp 0 và khả năng mở rộng của chuỗi công khai.

Lưu ý của biên tập viên: Bài viết này đến từGhi Chú Cáo Xanh (ID: lanhubiji), được in lại bởi Odaily với sự cho phép.

Lưu ý của biên tập viên: Bài viết này đến từ

Ghi Chú Cáo Xanh (ID: lanhubiji)

, được in lại bởi Odaily với sự cho phép.

Tôi đã nói về khả năng mở rộng của chuỗi công khai nhiều lần trước đây, nhưng hầu hết thời gian tôi thảo luận về khả năng mở rộng của Lớp 1 và Lớp 2, chẳng hạn như sharding, Plasma, ZK-Rollup, Optimistic Rollups, kênh trạng thái, chuỗi bên, v.v. . Hôm nay, Blue Fox Notes tập trung vào Lớp 0.

Khả năng mở rộng thông qua Lớp 0 mang lại điều gì cho các chuỗi khối như Ethereum?

tiêu đề phụ

Lớp 0 và khả năng mở rộng

Lớp 0 là lớp giao tiếp để truyền thông tin giữa các nút. Cách thông tin được cấu trúc có liên quan trực tiếp đến hiệu quả đạt được sự đồng thuận. Tốc độ đạt được sự đồng thuận có liên quan đến khả năng mở rộng và bảo mật của chuỗi khối. Từ quan điểm này, Lớp 0 cũng có thể góp phần cải thiện khả năng mở rộng của chuỗi khối.

Sự khác biệt giữa mạng blockchain và mạng tập trung là mạng blockchain không yêu cầu sự cho phép và nó phải xem xét các hạn chế từ chính Internet. Nếu đó là một doanh nghiệp tập trung, các đường truyền riêng có thể được sử dụng để cải thiện hiệu suất mạng thông qua CDN và SD-WAN. Đối với một mạng phi tập trung, điều này là không thực tế.

Vậy, liệu có cơ hội nào để giải quyết những vấn đề nêu trên?

tiêu đề phụ

Lớp Marlin 0

Marlin là cá cờ, được cho là loài cá nhanh nhất thế giới. Marlin là lớp giao tiếp phục vụ chuỗi khối, nó hy vọng rằng dưới sự thúc đẩy của nó, tốc độ của mạng chuỗi khối sẽ ngày càng nhanh hơn, giống như một con marlin. Marlin hy vọng sẽ đóng góp giải pháp của riêng mình để phát triển khả năng mở rộng chuỗi khối thông qua Lớp 0.

Mô tả hình ảnh

(Marlin được cho là loài cá bơi nhanh nhất, Marlin.pro)

Để cải thiện TPS của chuỗi khối, nói chung, từ góc độ của chuỗi, có hai phương pháp, một là tăng dung lượng khối và hai là rút ngắn thời gian tạo khối (không xem xét phân đoạn ngang ở đây ).

Nếu phương pháp khối lớn được áp dụng, các nút sẽ mất nhiều thời gian hơn để xác minh thông tin nhận được, điều này sẽ làm chậm tốc độ phát khối; nếu rút ngắn thời gian tạo khối và tăng tốc độ tạo khối, vấn đề rẽ nhánh sẽ xảy ra. phải đối mặt và một trong những Lý do cũng bị hạn chế bởi tốc độ lan truyền khối. Để tăng tốc độ tạo khối, cần phải tăng tốc độ lan truyền của các khối. Tốc độ lan truyền khối hiện tại không có lợi cho việc tăng tốc độ tạo khối. Khi mọi người sửa đổi kích thước khối của Bitcoin từ giới hạn trên 1 triệu thành 32 triệu hoặc thậm chí 2G hoặc rút ngắn thời gian khối từ khoảng 10 phút xuống thời gian ngắn hơn, nó sẽ cải thiện khả năng mở rộng, nhưng nó mang lại những vấn đề lớn hơn. ngoại tuyến, dữ liệu không thể được đồng bộ hóa và thậm chí cả khối cần được sắp xếp lại. Khi khối quá lớn và thời gian tạo khối quá nhanh, sẽ có vấn đề về tính nhất quán hoặc tính khả dụng của mạng.Một trong những lý do quan trọng nhất là nút đầy đủ bị giới hạn bởi các điều kiện vật lý của mạng và phần cứng , và không thể xác minh và phát sóng kịp thời.

Trong mạng Marlin, có các nút được sử dụng đặc biệt để chuyển tiếp, được gọi là Nút Marlin, các nút truyền thông tin cho nhau, có thể tăng tốc độ lan truyền. Marlin mượn công nghệ tăng tốc CDN và chia mạng nên có nhiều mạng chuyển tiếp.

Lớp mạng hiện tại cũng không có lợi cho các giao thức phi tập trung, trong thiết kế cơ chế hiện tại của một số giao thức, do cạnh tranh, những người khai thác có động lực chuyển tiếp các khối của họ và nhận các khối mới nhất, nhưng họ có rất ít động lực để tích cực truyền bá các công cụ khai thác khác. của các khối, người khai thác hy vọng sẽ đào được khối đó trước. Các nút mong muốn các nút khác tự phát sóng và quá giang, tiết kiệm chi phí băng thông. Đồng thời, cơ chế này cũng sẽ dẫn đến việc tập trung hóa, bởi vì cuối cùng, chỉ những nút lớn đó mới có động lực để chuyển tiếp các giao dịch này. Để giải quyết các vấn đề như khai thác ích kỷ, Marlin kết hợp một cơ chế khuyến khích kinh tế. Các nút trong mạng của nó có thể nhận được phần thưởng miễn là chúng chuyển tiếp thành công thông tin, do đó khuyến khích tốc độ truyền thông tin. Bằng cách giới thiệu một lớp mạng với cơ chế khuyến khích, các cuộc tấn công như thư rác/DDoS cũng có thể được ngăn chặn.

Ngoài việc cung cấp khả năng mở rộng cho chuỗi công khai, Marlin cũng có thể cung cấp các dịch vụ tăng tốc cho các ứng dụng DeFi. Siddhartha là người sáng lập Marlin và là một trong những nhà phát triển cốt lõi trước đây của dự án chuỗi công khai Zilliqa. Anh ấy đã từng đề cập: "Ví dụ: trong lĩnh vực DeFi, khung chuyển tiếp của Marlin có thể cung cấp các giao diện ngoại vi, mang đến cho các nhà giao dịch DeFi lợi thế về độ trễ thấp. Trong giai đoạn đầu của DApp, khi truy vấn các API như Infura, Alchemy và Graph , tải Thời gian thường cao tới 10 giây, rất chậm. Marlin Cache có thể giảm độ trễ này xuống còn khoảng 250 mili giây và có thể đạt được hiệu suất giống như web2.0 trong DApp."

Tất cả các ứng dụng P2P đều sử dụng lớp mạng để liên lạc nút, dẫn đến bất kỳ ứng dụng nào sử dụng lưu trữ hoặc điện toán phi tập trung cũng có thể tận dụng các dịch vụ của Marlin. Ví dụ: các ứng dụng hiện đang sử dụng IPFS phải sử dụng CDN tập trung để giúp người dùng cải thiện hiệu suất. Ưu điểm của Marlin là nó cho phép các ứng dụng này sử dụng Filecoin/Arweave đạt được hiệu suất tốt ngay cả khi không có CDN. Từ góc độ này, Marlin tương tự như Akamai trong kỷ nguyên Web 2.

Khả năng mở rộng Lớp 0 của Marlin

Marlin giải quyết vấn đề về khả năng mở rộng của chuỗi công khai trên Lớp 0. Cốt lõi bắt nguồn từ thiết kế của nó ở hai khía cạnh: mạng chuyển tiếp và cơ chế khuyến khích mã thông báo.

1. Mạng chuyển tiếp

Giao thức Marlin là một giao thức để xây dựng mạng chuyển tiếp. Các nút Marlin tuân theo các yêu cầu giao thức của nó tạo thành một mạng chuyển tiếp. Ngoài các nút Marlin, còn có các nút kiểm toán viên, đảm bảo rằng các nút chuyển tiếp và mạng chuyển tiếp tuân thủ hiệu suất của chúng và đảm bảo SLA. Người dùng mạng Marlin có thể có công cụ khai thác và nút đầy đủ. Công cụ khai thác sử dụng mạng chuyển tiếp Marlin để phát các gói dữ liệu và khối của họ, trong khi các nút đầy đủ (ví hoặc người bán, v.v.) sử dụng mạng Marlin để nhận các khối và giao dịch mới nhất. Do đó, mạng Marlin về cơ bản là một thị trường mạng chuyển tiếp.

Mô tả hình ảnh

(Người chơi chính trong mạng Marlin, Marlin.pro)

Trong hình trên, Marlin chia những người tham gia thành nhà sản xuất, người nhận, người chuyển tiếp và cụm chuyển tiếp (mạng chuyển tiếp). Trong đó các nhà sản xuất là một nhóm các nút đưa các khối vào mạng chuyển tiếp. Các nhà sản xuất thường là những người khai thác và họ phát các khối càng nhanh càng tốt. Nhà sản xuất chịu trách nhiệm về tính hợp lệ của khối và nhà sản xuất giới thiệu các khối không hợp lệ sẽ bị phạt.

Người nhận bao gồm các công cụ khai thác khác, sàn giao dịch, ví, trình khám phá khối hoặc các nút khác, v.v. và họ muốn nhận khối càng sớm càng tốt. Người nhận cần trả phí đăng ký giao thức để trở thành người nhận. Bộ chuyển tiếp là nhóm các nút chuyển tiếp các khối từ nhà sản xuất đến người nhận. Người chuyển tiếp sẽ được thưởng vì đã phổ biến các khối nhanh nhất có thể và chỉ những nút tham gia vào việc phổ biến chuyển tiếp các khối mới có cơ hội kiếm được phần thưởng. Một cụm chuyển tiếp là một tập hợp các mạng chuyển tiếp bao gồm các chuyển tiếp. Họ chịu trách nhiệm chung về việc tuyên truyền các khối và được khen thưởng khi làm như vậy.

Hơn nữa, mạng giao thức Marlin được cấu trúc như thế nào?

Một mạng Marlin có thể được chia thành bốn phần: tạo, quản lý, phát gói và giám sát.

*tạo nên

Mạng Marlin bao gồm nhiều nút Marlin, để trở thành nút Marlin, trước tiên bạn cần chạy phần mềm nút chuyển tiếp Marlin và cam kết một lượng mã thông báo nhất định sẽ được đề cập bên dưới. Các nút này cần phải đáp ứng một số yêu cầu nhất định, chẳng hạn như kết nối mạng tốt, phân bổ vị trí gần người dùng cuối hơn, v.v.

Sau khi trở thành nút Marlin, nút và mạng chuyển tiếp có thể hiển thị các tính năng, chức năng và giá của riêng chúng cho người dùng mục tiêu của họ (chẳng hạn như công cụ khai thác và nút đầy đủ), bao gồm địa chỉ IP, băng thông trung bình, kinh độ, vĩ độ và khóa công khai mã thông báo đã cam kết, v.v. . Và những người khai thác và các nút đầy đủ có thể chọn mạng chuyển tiếp theo nhu cầu của họ. Điều này tạo thành một thị trường giao dịch.

Các nút có thể tạo một cụm chuyển tiếp, đặt số lượng nút tối đa được phép tham gia, số lượng nút tối đa và tối thiểu được tham gia theo vị trí địa lý, số lượng nút cam kết tối thiểu, yêu cầu cấu hình tối thiểu của các nút (băng thông, lõi CPU, v.v.), yêu cầu SLA tối thiểu, v.v. . Sau khi mạng chuyển tiếp được tạo, nó sẽ tự động xuất hiện trên thị trường Marlin.

*quản lý

Sau khi một nút tạo mạng chuyển tiếp, nó cần được quản lý, bao gồm nối nút, điều chỉnh tham số, thoát khỏi nút, v.v.

Một nút có thể tham gia mạng chuyển tiếp bằng cách được mời hoặc đăng ký tham gia. Một nút có thể được mời tham gia vào mạng chuyển tiếp của nó sau khi đa số phiếu đồng ý và nút được mời có thể tham gia miễn là nó xuất bản một giao dịch mời trước khi lời mời hết hạn. Một cách khác là đăng ký tham gia, nếu đa số phiếu đồng ý, bạn có thể tham gia mạng chuyển tiếp.

Sau khi mạng chuyển tiếp được tạo, nó không phải là bất biến. Mặc dù lúc đầu các nút trong đó sẽ tuân theo các thông số ban đầu. Tuy nhiên, khi các nút tiếp theo tham gia, các nút này cũng sẽ có quyền phát biểu. Theo những thay đổi về nhu cầu của người dùng và môi trường cạnh tranh của mạng chuyển tiếp, các tham số của mạng chuyển tiếp cũng có thể phải đối mặt với các điều chỉnh. Tất cả những điều này cần phải được thay đổi thông qua quản trị. Hiện tại, mạng Marilin sử dụng biểu quyết để điều chỉnh các tham số. Nếu một số ít nút không đồng ý, họ có thể chọn rời đi và tạo mạng chuyển tiếp của riêng mình.

Cuối cùng, một nút cần nói xin chào khi thoát khỏi mạng chuyển tiếp. Nếu một nút thoát khỏi mạng chuyển tiếp mà không có bất kỳ thông báo nào, điều đó sẽ rất bất lợi cho mạng chuyển tiếp và người dùng của nó. Trong mạng chuyển tiếp của Marlin, nếu một nút thoát âm thầm hoặc thoát sớm, các mã thông báo đã cam kết sẽ bị giảm. Một nút thoát khỏi mạng chuyển tiếp có thể bắt đầu giao dịch tuyên bố thoát. Nếu mạng chuyển tiếp tìm thấy một nút thay thế, nó sẽ cho phép nút đó thoát ra trước khi thời gian yêu cầu của nó kết thúc. Ngoài ra, có một chế độ thoát bắt buộc, nếu phần lớn các nút nghĩ rằng một nút đang hoạt động sai, nó cũng có thể bị loại khỏi mạng chuyển tiếp.

* gói phát sóng

Người khai thác và người bán là người dùng của mạng chuyển tiếp Marlin. Họ chỉ cần tích hợp Marlin SDK để tương tác với các nút Marlin. Để cung cấp các dịch vụ linh hoạt, Marlin áp dụng cấu trúc mô-đun. Các nhà phát triển giao thức có thể viết các phần bổ trợ để tùy chỉnh một số chức năng và có thể thực thi mã tùy chỉnh trên các nút Marlin và các nút đầy đủ cho các gói dữ liệu liên quan đến giao thức của họ. Ví dụ: các chiến lược để chọn các mạng chuyển tiếp khác nhau; lựa chọn ngẫu nhiên các mạng chuyển tiếp khi đáp ứng các điều kiện nhất định hoặc danh sách các mạng chuyển tiếp được mã hóa cứng.

Khi một người khai thác tạo ra một khối, nó có thể được gửi đến mạng chuyển tiếp theo chiến lược riêng của họ. Tại thời điểm này, bạn có thể phải đối mặt với vấn đề trả phí (bao gồm chi phí xác minh khối của nút đầu vào), nhưng việc trả phí sẽ làm tăng thêm sự chậm trễ. Một giải pháp thay thế khác là yêu cầu những người khai thác cam kết mã thông báo để giảm xác minh khối ở bước nhảy đầu tiên. Nếu đó là thư rác, các hình phạt có thể được áp dụng.

Mạng chuyển tiếp của Marlin là một mạng lưới với các đường dẫn phát đa hướng được tối ưu hóa dựa trên nguồn. Nó sẽ liên tục theo dõi tốc độ mất gói, băng thông và thời gian chờ của các đường dẫn khác nhau, để nhận ra việc truyền các khối phát đa hướng trong thời gian ngắn nhất có thể.

Về việc nhận các khối và giao dịch, những người khai thác đăng ký các nút chuyển tiếp Marlin lân cận để nhận thông báo về các khối và giao dịch mới. Bất cứ khi nào một nút Marlin nhận được một khối mới, nó sẽ gửi hàm băm của nó tới tất cả những người đăng ký. Người đăng ký nhận khối và giao dịch mới phải trả một khoản phí nhỏ. Đồng thời, để tránh sự chậm trễ bổ sung, các nút có thể đẩy trực tiếp đến các công cụ khai thác trong danh sách trắng và thanh toán sau.

*giám sát

Các nút kiểm tra này trước hết là ẩn danh và chúng trông giống như các công cụ khai thác thông thường hoặc các nút đầy đủ. Mạng kiểm toán độc lập với mạng chuyển tiếp. Để xác nhận xem các nút cụ thể có hoạt động tốt hay không, các nút kiểm toán viên sẽ bỏ phiếu thông qua cơ chế điểm Schelling, từ đó xác nhận xem các nút này có đáp ứng nghĩa vụ SLA của họ hay không. Nếu một nút không đáp ứng các yêu cầu, các mã thông báo đã cam kết của nó sẽ bị cắt giảm.

2. Cơ chế khuyến khích mã thông báo

Mô tả hình ảnh

chữ

Trước hết, POND có thể được sử dụng để trả phí, thúc đẩy các nút chuyển tiếp và cũng được sử dụng để hạn chế các nút làm điều ác.Như đã đề cập ở trên, các nút của mạng chuỗi khối hiện tại không tích cực chuyển tiếp các giao dịch và khối trong một số trường hợp. Cơ chế mã thông báo của Marlin cố gắng giải quyết vấn đề này, cố gắng thúc đẩy các nút có động lực chuyển tiếp các giao dịch và khối, thúc đẩy các nút liên tục cải thiện hiệu suất và chuyển tiếp các gói dữ liệu càng sớm càng tốt; cố gắng giảm động lực của các nút để tạo danh tính sybil trong đường lan truyền, v.v.

Cơ chế phân bổ phí của nút chuyển tiếp cần đáp ứng: chống cô lập, duy trì trật tự. Để giải quyết vấn đề này, các giao dịch và khối cần chứa các nhân chứng gắn liền với nội dung ban đầu. Một là liên kết đã ký: mỗi nút trong đường truyền đang chuyển tiếp nội dung của nó sẽ gắn một khóa chung và ký vào phần thân của nó bằng một khóa riêng. Ngoài ra, còn có danh sách khóa, nút sẽ tạo cặp khóa mới

chữ

chữ

chữ

chữ

chữ

chữ

chữ

chữ

chữ

chữ

chữ

chữ

tiêu đề phụ

chữ

Tóm lại, lý do tại sao Marlin có cơ hội giúp chuỗi công cộng cải thiện khả năng mở rộng nằm ở việc xây dựng một hệ thống mạng chuyển tiếp được tối ưu hóa. Trong hệ thống mạng chuyển tiếp này, người chuyển tiếp sẵn sàng phát khối và giao dịch của nhà sản xuất tới người nhận trong thời gian ngắn nhất, đồng thời có thể thu được thu nhập từ phí tương ứng. Trong hệ thống mạng chuyển tiếp này, cơ chế mã thông báo của nó đóng một vai trò quan trọng trong việc duy trì toàn bộ thị trường mạng chuyển tiếp.

蓝狐笔记
作者文库