Tác giả: Avi Zurlo; Biên soạn bởi: Block Unicorn
Kể từ khi Rollups nổi lên, sự mở rộng của blockchain Cuộc tranh luận luôn tập trung vào tính mô-đun và tính đơn lẻ. Ban đầu, sự đối lập nhị phân này là một mô hình tinh thần hữu ích để suy luận về khả năng mở rộng của blockchain, nhưng bây giờ, cả hai phe đã vượt ra ngoài nó.
Ngày nay, sự tương phản giữa mô-đun và nguyên khối mang lại những hạn chế không cần thiết cho mô hình tinh thần về khả năng mở rộng của chúng tôi.
Vậy, các lựa chọn thay thế là gì?
Trong bài viết này, chúng tôi sẽ chỉ ra rằng chia tỷ lệ theo chiều ngang và chia tỷ lệ theo chiều dọc là khuôn khổ cơ bản cho khả năng mở rộng của blockchain và giải thích cách áp dụng tỷ lệ theo chiều ngang so với tỷ lệ theo chiều dọc mở rộng quy mô. Mang lại giải pháp mở rộng quy mô tốt hơn.
Hiểu mô đun và nguyên khối
Đầu tiên, một số định nghĩa:
Chuỗi mô-đun tách chức năng cốt lõi của chuỗi khối thành các lớp khác nhau.
Đơn khối hóaChuỗi tích hợp tất cả chức năng cốt lõi vào một lớp duy nhất, được kết nối với nhau.
Chúng ta có thể coi "lớp" là "máy" - chuỗi nguyên khối có một nút xác thực duy nhất chạy tất cả nhiệm vụ, trong khi chuỗi mô-đun có Nhiều (2-3 ) các nút đầy đủ chạy các tác vụ khác nhau.
Ví dụ: Rollup thường có hai nút đang chạy: một nút đầy đủ Rollup để thực thi và một nút đầy đủ Ethereum để thanh toán + tính khả dụng của dữ liệu (DA). Validium có thể sẽ sử dụng ba nút đang chạy: nút đầy đủ Rollup để thực thi, nút đầy đủ Ethereum để thanh toán và nút đầy đủ của lớp sẵn có dữ liệu dự phòng cho DA.
Tính mô-đun phân bổ nhiệm vụ của chuỗi khối cho ít nhất hai nút đầy đủ. Bằng cách này, các chuỗi khối mô-đun có thể tận dụng sức mạnh tính toán của nhiều máy tính khi xây dựng từng khối.
Đây là một hình thức mở rộng theo chiều ngang.
Tính mô đun rất hữu ích khi nghĩ về khả năng mở rộng của blockchain vì đây là một kiểu chia tỷ lệ theo chiều ngang.
Mặt khác, hầu hết phe nguyên khối chọn mở rộng quy mô thông qua tối ưu hóa phần mềm, triển khai các máy ảo song song, ống dữ liệu, giao thức mạng nhanh hơn và (đáng chú ý nhất) phần cứng mạnh hơn. Về cơ bản, một chuỗi nguyên khối cố gắng khai thác càng nhiều sức mạnh tính toán càng tốt từ một nút đầy đủ duy nhất.
Đây là một dạng mở rộng theo chiều dọc.
Các nhà phê bình cho rằng cách tiếp cận này có xu hướng tập trung hóa: nếu bạn dựa vào việc tăng sức mạnh của một nút duy nhất để mở rộng quy mô, bạn chắc chắn sẽ gặp phải những hạn chế vật lý của nút cơ bản. những hạn chế về phần cứng và buộc các yêu cầu về phần cứng phải tăng lên để mở rộng quy mô hơn nữa.
Tuy nhiên, lời chỉ trích này không chính xác vì không phải tất cả các chuỗi đơn phân hóa chỉ dựa vào tỷ lệ theo chiều dọc.
Ví dụ: Near là một chuỗi khối L1 nguyên khối được xây dựng trên kiến trúc mạng phân mảnh. Điều này có nghĩa là Các nút đầy đủ của Near chịu trách nhiệm về tất cả các nhiệm vụ (tức là thực thi, giải quyết và tính khả dụng của dữ liệu), nhưng chúng chỉ chịu trách nhiệm về một phần nhỏ trong trạng thái toàn cầu của Near. Do đó, Near tận dụng sức mạnh tính toán của nhiều máy tính bằng cách phân phối công việc dựa trên trạng thái thay vì nhiệm vụ (giống như một chuỗi mô-đun).
Chúng ta có thể thấy rằng dù là chuỗi nguyên khối hay chuỗi mô-đun thì không có giới hạn nào về công nghệ mở rộng mà họ triển khai. Cả hai đều có thể mở rộng theo chiều ngang và/hoặc chiều dọc.
Hơn nữa, cuộc tranh luận về tính mô-đun và nguyên khối luôn bắt nguồn từ khuôn khổ mở rộng theo chiều ngang và chiều dọc. Từ góc độ kỹ thuật chặt chẽ, tính mô-đun có xu hướng mở rộng theo chiều ngang, vốn có trong thiết kế của nó, trong khi nguyên khối có xu hướng mở rộng theo chiều dọc.
Bây giờ chúng tôi đã triển khai thành công chuỗi mô-đun, lợi thế mở rộng bổ sung không còn "mô-đun hơn". Trọng tâm bây giờ là cách chuỗi có thể tận dụng các kỹ thuật mở rộng quy mô theo chiều ngang hoặc chiều dọc.
Việc áp dụng mô hình tinh thần theo chiều ngang vs. dọc cho phép chúng ta dễ dàng suy luận về sự đánh đổi mà mỗi chuỗi thực hiện trong suốt quá trình.
Xác định lại cuộc hội thoại: mở rộng theo chiều ngang và chiều dọc
Trước Đi sâu vào khung chia tỷ lệ theo chiều ngang và theo chiều dọc, điều quan trọng là phải thừa nhận rằng nguồn gốc của nó bắt nguồn từ những năm 1970, khi nghiên cứu về điện toán phân tán đặt nền móng cho khái niệm chia tỷ lệ theo chiều ngang. Ngày nay, tất cả các công nghệ chia tỷ lệ có thể được phân loại thành chia tỷ lệ theo chiều ngang hoặc theo chiều dọc.
Mở rộng theo chiều dọc
Mở rộng theo chiều dọc
Mở rộng theo chiều dọc sẽ làm tăng việc sử dụng phần cứng hoặc yêu cầu phần cứng của mỗi nút. Trong blockchain, điều này thường được thực hiện thông qua tối ưu hóa phần mềm như máy ảo song song (tức là các quy trình đa luồng).
Một ví dụ phổ biến là EVM và SVM.
EVM thực hiện các giao dịch một cách tuần tự, trong khi SVM thực hiện các giao dịch song song. SVM đạt được điều này bằng cách sử dụng nhiều lõi CPU hơn, do đó SVM có thể xử lý nhiều giao dịch mỗi giây hơn EVM. Lưu ý: Kiểu mở rộng theo chiều dọc này là cơ sở đằng sau Eclipse L2.
Về mặt đánh đổi, việc chia tỷ lệ theo chiều dọc bị giới hạn bởi phần cứng sẵn có, có xu hướng tập trung do yêu cầu phần cứng ngày càng tăng và khả năng mở rộng ít hơn so với tỷ lệ theo chiều ngang. .
Mở rộng theo chiều ngang
Mặt khác, Mở rộng theo chiều ngang hoạt động bằng cách phân bổ khối lượng công việc trên nhiều Các nút được thêm vào để tăng số lượng máy mà hệ thống có thể truy cập. Như đã đề cập trước đó, chuỗi mô-đun về cơ bản phân phối các tác vụ trên nhiều máy. Tuy nhiên, chuỗi thường có thể đạt được mức độ mở rộng theo chiều ngang cao hơn thông qua phân mảnh.
=nil; Một ví dụ hữu ích được cung cấp ở đây.
Vào tháng 11 năm ngoái, =nil; foundation đã ra mắt một kiến trúc sharding có thể kiểm chứng được gọi là zkSharding, chính là Ethereum L2 Foundation mới. =nil; Cốt lõi của thiết kế là chia trạng thái toàn cục của nó thành nhiều phân đoạn. Mỗi phân đoạn được điều hành bởi một ủy ban phi tập trung có nhiệm vụ xây dựng các khối và quản lý các giao dịch giữa các phân đoạn. Ngoài ra, mỗi phân đoạn tạo ra một bằng chứng hợp lệ được gửi đến phân đoạn chính để tổng hợp, sau đó xuất bản và xác minh trên Ethereum. =nil; Tận dụng khả năng mở rộng theo chiều ngang theo hai cách:
Cả hai kỹ thuật đều giảm tải mà bất kỳ máy đơn lẻ nào cũng phải chịu và cải thiện khả năng mở rộng tổng thể của mạng.
Vậy, sự đánh đổi của việc mở rộng theo chiều ngang là gì? Điều này dẫn đến hai điều: độ phức tạp của mạng và sự đồng thuận cũng như giao tiếp không đồng bộ giữa các máy hoặc phân đoạn.
Kết cục của khả năng mở rộng Ethereum
Không theo chiều ngang cũng như chiều dọc việc mở rộng được giới hạn ở các kiến trúc mô-đun hoặc nguyên khối. Đây là lý do tại sao khung chia tỷ lệ theo chiều ngang và chiều dọc cung cấp nhiều không gian hơn để khám phá các giải pháp mới và làm cho các chuỗi khối mô-đun có khả năng mở rộng cao hơn.
Ví dụ: một tùy chọn là mở rộng theo chiều dọc một lớp của ngăn xếp mô-đun. Một cách tiếp cận phổ biến là triển khai các máy ảo song song để tăng thông lượng thực thi. Như đã đề cập ở trên, Eclipse đang tận dụng SVM và Rollups khác, chẳng hạn như Starknet, để triển khai BlockSTM cho quá trình song song hóa.
Tuy nhiên, việc mở rộng theo chiều dọc luôn bị giới hạn bởi giới hạn của một chiếc máy duy nhất và chúng ta không thể phá vỡ các định luật vật lý.
Một giải pháp có thể là chọn chia tỷ lệ theo chiều ngang thông qua sharding.
Các thiết kế mô-đun hiện tại chỉ mới bắt đầu khai thác toàn bộ tiềm năng của khả năng mở rộng theo chiều ngang. Với sharding, chúng ta có thể tận dụng sức mạnh tính toán của số lượng máy bất kỳ (thay vì chỉ 2-3 máy chia sẻ nhiệm vụ).
Nói cách khác, nhiều máy có thể chạy song song cùng một loại tác vụ. Đây là điều mà Ethereum và Celestia hy vọng đạt được thông qua Danksharding và phân chia dữ liệu tương ứng. Tuy nhiên, sharding vốn không bị giới hạn ở lớp sẵn có của dữ liệu - nó cũng có thể được kết hợp với việc thực thi (như trong trường hợp =nil; L2).
Nếu chúng ta kết hợp khả năng chia tỷ lệ theo chiều ngang đạt được thông qua xếp chồng mô-đun với tỷ lệ chia tỷ lệ theo chiều ngang được cung cấp bởi sharding, chúng ta sẽ đạt được mức tăng đáng kể về sức mạnh tính toán sẵn có.
Nhưng chúng tôi có thể làm tốt hơn...
Blockchain có thể Mục tiêu cuối cùng khả năng mở rộng sẽhội tụ theo chiều ngang và chiều dọc, tạo ra một chuỗi khối phân mảnh với các máy ảo song song.
Tại =nil; Foundation, chúng tôi đang hướng tới thiết kế trạng thái cuối này một cách có hệ thống. =nil;'s L2 thực hiện lộ trình mở rộng quy mô linh hoạt bằng cách tận dụng kiến trúc mô-đun, có thể mở rộng theo chiều ngang (zkSharding) và triển khai trình xác thực có thể mở rộng theo chiều dọc (song song hóa nội bộ phân đoạn).
Do đó, =nil; được thiết kế để đạt được quy mô toàn cầu mà không làm mất đi trạng thái, tính thanh khoản hoặc sự phân mảnh của người dùng.
Nếu bạn tò mò về chia tỷ lệ theo chiều ngang và zkSharding, bạn có thể tham gia cuộc trò chuyện trên =nil; Discord của Foundation và X.