Văn bản gốc: " Sidechains so với Rollups: Phá vỡ sự khác biệt để phát triển dapp " của Emmanuel Awosika
Biên soạn bởi: TechFlow TechFlow
Sidechain và Rollups là hai giải pháp cho vấn đề mở rộng chuỗi khối . Ý tưởng cốt lõi của cả hai giải pháp là chuyển hoạt động tính toán từ một chuỗi khối hạn chế về tài nguyên, chẳng hạn như Ethereum, sang một chuỗi khối độc lập được tối ưu hóa theo quy mô. Phương pháp này mang lại một số lợi ích, chẳng hạn như chi phí mỗi giao dịch thấp hơn, giảm độ trễ và cải thiện thông lượng tổng thể. Nhưng những điểm tương đồng kết thúc ở đó.
Sidechain và Rollups về cơ bản khác nhau về phương pháp mở rộng và cũng khác nhau về quyết định thiết kế và sự đánh đổi. Đối với các nhà phát triển đang tìm cách xây dựng các dapp mở rộng bằng cả hai giải pháp, điều quan trọng là phải hiểu được sự khác biệt của chúng.
Bài viết này cung cấp thông tin tổng quan về Rollups và sidechain, đồng thời khám phá sự khác biệt của chúng về kiến trúc, đảm bảo bảo mật, hiệu suất mở rộng, v.v.
Sidechain là gì?
Sidechain là một mạng chuỗi khối chạy song song với một chuỗi khối khác (được gọi là “Chuỗi chính”). Thông thường, sidechain được kết nối với Chuỗi chính thông qua cầu nối xuyên chuỗi hai chiều, cho phép chuyển tài sản giữa hai mạng, cũng như dữ liệu có thể tùy ý như trạng thái hợp đồng, bằng chứng Merkle và kết quả của giao dịch cụ thể.
Hầu hết sidechain đều có cơ chế đồng thuận và trình xác nhận riêng, tách biệt với Chuỗi chính. Điều này cho phép sidechain giải quyết và hoàn thành giao dịch mà không cần dựa vào chuỗi khối khác. Tuy nhiên, điều này cũng có nghĩa là tính bảo mật của các khoản tiền được kết nối với sidechain phụ thuộc vào sự tồn tại của các khuyến khích crypto mạnh mẽ để ngăn chặn hành vi độc hại giữa những người xác thực.
Loại sidechain
Sidechain tương thích với EVM và không phải EVM: Sidechain tương thích với EVM sử dụng cách triển khai tùy chỉnh của Máy ảo Ethereum, đây là môi trường thực thi để triển khai các hợp đồng thông minh trên Ethereum. Trên thực tế, hầu hết chuỗi khối này ban đầu được fork từ go-ethereum (còn được gọi là Geth, cách triển khai giao thức Ethereum phổ biến nhất).
Mặc dù vẫn giữ lại hầu hết các tính năng của thiết kế Ethereum(chẳng hạn như hỗ trợ hợp đồng thông minh), sidechain tương thích với EVM được tối ưu hóa ở các khía cạnh khác, đặc biệt là cơ chế đồng thuận, để cải thiện hiệu quả thực thi và thông lượng. Ngày nay, sidechain tương thích với EVM chạy hầu hết các hợp đồng thông minh được viết bằng ngôn ngữ EVM như Solidity, đồng thời giảm chi phí và độ trễ phi tập trung.
Sidechain không phải EVM triển khai một kiến trúc máy ảo khác và không thể chạy các dapp gốc Ethereum nếu không tái cấu trúc mã lượng lớn . Các nhà phát triển xây dựng on-chain không thể sử dụng các công cụ và môi trường phát triển EVM quen thuộc (chẳng hạn như Truffle, Remix, Hardhat) và có thể cần học các ngôn ngữ khác (chẳng hạn như Rust hoặc Golang) để tạo dapp.
Lưu ý: Avalanche, Fantom, CELO và Palm là những ví dụ về sidechain tương thích với EVM. NEAR, Solana và Algorand là những ví dụ về sidechain không phải EVM.
Chuỗi cam kết và sidechain lạc quan : Không phải mọi sidechain đều dựa hoàn toàn vào bảo mật của chính nó; một số sidechain, đặc biệt là Chuỗi cam kết và Chuỗi lạc quan, dựa vào Chuỗi chính để cung cấp những đảm bảo an ninh nhất định. Chuỗi cam kết gửi định kì các cam kết crypto(chẳng hạn như Block Header ) tới một chuỗi khối khác để cập nhật trạng thái mới nhất của nó. Chuỗi chính không thể xác minh các bằng chứng trạng thái này vì nó không có quyền truy cập vào trạng thái của sidechain, nhưng nó đảm bảo rằng những người tham gia trung thực có thể thách thức Block Header không hợp lệ trước khi chúng được xác nhận.
Thông thường, điều này được thực hiện bằng cách triển khai hợp đồng thông minh on-chain để xử lý phần thưởng, thế chấp , luân chuyển và hình phạt cho người xác thực sidechain . Nếu người xác thực vi phạm có thể chứng minh được (chẳng hạn như ký hai khối ở cùng độ cao), bất kỳ ai cũng có thể gửi bằng chứng cho hợp đồng thông minh và bị cắt thế chấp của người xác nhận đó.
Chuỗi Optimistic hoạt động tương tự, yêu cầu người xác nhận định kì gửi Block Header cho các hợp đồng thông minh on-chain. Tuy nhiên, Chuỗi Optimistic không có cơ chế đồng thuận riêng biệt - Block Header đơn giản được coi là hợp lệ cho đến khi bị thách thức bởi hoạt động ngăn chặn gian lận. Do đó, Chuỗi Optimistic chỉ có thể hoạt động với một trình xác thực (trung thực), trong khi sidechain yêu cầu nhiều trình xác thực để hoạt động bình thường.
Trong cả hai trường hợp, những người tham gia trung thực có thể chứng minh cho chuỗi khối gốc rằng hành vi nguy hiểm đã xảy ra trên sidechain. Bằng cách này, ngay cả khi hầu hết những người xác nhận sidechain đều xấu, người dùng vẫn có thể nhận được những đảm bảo an ninh nhất định.
Tuy nhiên, cần lưu ý rằng những người tham gia trung thực không thể chứng minh hành vi nguy hiểm nếu không có quyền truy cập vào dữ liệu trạng thái được lưu trữ trong khối. Tuy nhiên, vì Chuỗi chính chỉ nhận Block Header (không phải nội dung khối) đến từ sidechain nên nó không thể đảm bảo tính sẵn có của các khối. Điều này cho phép những người đề xuất khối không trung thực có hành vi không trung thực, chẳng hạn như ăn cắp tiền từ cầu nối xuyên chuỗi, bằng cách ẩn dữ liệu khối.
Vấn đề này được gọi là vấn đề về tính khả dụng của dữ liệu và nó là trọng tâm của sự khác biệt về đặc tính bảo mật của tất cả sidechain(không chỉ Chuỗi cam kết, sidechain lạc quan và tổng hợp).
Tổng hợp là gì?
Rollup cải thiện mở rộng của chuỗi khối cơ bản bằng cách xử lý giao dịch trong một môi trường thực thi riêng biệt. Tương tự như sidechain , Rollup có cầu nối xuyên chuỗi để chuyển tài sản giữa chuỗi khối gốc và Rollup. Họ cũng thực hiện các biện pháp tối ưu hóa để tăng tốc độ tính toán và tiết kiệm chi phí cho người dùng.
Tuy nhiên, Rollup định kì gửi các khối vào Chuỗi chính, từ đó kế thừa các tính năng bảo mật và phi tập trung của Chuỗi chính. Điều này có nghĩa là chuỗi khối gốc cung cấp cho Rollup sự đảm bảo về các thuộc tính bảo mật sau:
- Tính khả dụng : Tính khả dụng của các khối Rollup được đảm bảo vì dữ liệu được lưu trữ trên mạng gốc, phi tập trung . Ví dụ: người dùng luôn có thể chứng minh chi tiết về trạng thái Tổng hợp (chẳng hạn như sở hữu một token nhất định) cho hợp đồng cầu nối xuyên chuỗi và rút tiền trong khi dữ liệu giao dịch bị ẩn khỏi trình xác thực Tổng hợp.
- Hiệu lực : Chỉ các khối Tổng hợp đáp ứng các điều kiện hợp lệ được thực thi bởi Chuỗi gốc mới có thể được hoàn tất.
- Khả năng sống sót : Vì dữ liệu Tổng hợp được lưu trữ trên lớp cơ sở nên bất kỳ ai cũng có thể xây dựng lại trạng thái Hợp lệ cuối cùng của Tổng hợp và tạo các khối mới. Ngoài ra, người dùng có thể buộc đưa giao dịch vào Rollup bằng cách gửi nó tới hợp đồng thông minh on-chain của Rollup.
Loại cuộn lên
Rollup có hai dạng: Lạc quan và không có kiến thức. Tổng hợp không có kiến thức (còn được gọi là tổng hợp hợp lệ) gửi các khối đến Chuỗi gốc cùng với bằng chứng để xác nhận việc thực hiện chính xác giao dịch off-chain . Nếu bằng chứng được xác minh trên on-chain thì khối sẽ được hoàn thiện ở lớp cơ sở.
Các khối do Optimistic Rollup gửi không có bất kỳ bằng chứng nào chứng minh tính hợp lệ của các tính toán off-chain. Các khối đơn giản được coi là hợp lệ trừ khi một bên khác thách thức kết quả của giao dịch thông qua "bằng chứng gian lận". Bằng chứng gian lận có dạng trò chơi xác minh, với sự can thiệp của Chuỗi mẹ, hai bên tranh chấp một phép tính nhất định cho đến khi phát hiện ra bên không trung thực.
Tổng hợp lạc quan được đặt tên theo giả định của Lạc quan rằng các chuyển đổi trạng thái hầu hết là hợp lệ. Tuy nhiên, giả định lạc quan này kết hợp với các ưu đãi crypto đảm bảo rằng trừ khi một khối không hợp lệ không bị thách thức trong một thời gian dài, nếu không nó sẽ không bao giờ được hoàn thiện bởi Chuỗi chính.
Lưu ý: Arbitrum và Optimism là những ví dụ về Tổng hợp lạc quan.
Khả năng tương thích EVM là một điểm khác biệt đáng chú ý khác giữa Optimistic và Zero-Knowledge Rollup. Mặc dù các bản tổng hợp Optimistic tuân thủ EVM, nhưng các bản tổng hợp không có kiến thức khác nhau về khả năng tương thích EVM. Bởi vì việc chứng minh các lệnh EVM gốc trong mạch chứng minh rất phức tạp và tốn nhiều tài nguyên nên một số bản tổng hợp hiệu quả sử dụng các bộ lệnh máy ảo tùy chỉnh được tối ưu hóa để chứng minh hiệu quả hơn.
Đối với ZK-Rollup tương thích với EVM, chúng tôi mô tả môi trường thực thi của nó là "EVM không có kiến thức" (ZK-EVM). ZK-EVM có thể thực hiện các hợp đồng thông minh Ethereum off-chain và chứng minh rằng tất cả các phần tính toán đều được thực hiện chính xác. Do đó, ZK-Rollup được coi là an toàn hơn so với loại Rollup lạc quan dựa trên các khuyến khích kinh tế crypto và các giả định về tính trung thực để ngăn chặn việc thực thi không hợp lệ.
Linea là một ví dụ về tổng hợp hiệu lực lớp thứ hai với sự hỗ trợ EVM đầy đủ, cho phép các nhà phát triển sử dụng lại cơ sở hạ tầng và công cụ Ethereum để xây dựng dapp. Ngược lại, việc triển khai trên ZK-Rollup không phải EVM (như StarkNet) yêu cầu (a) xây dựng hợp đồng thông minh bằng cách sử dụng một ngăn xếp khác hoặc (b) sửa đổi cơ sở mã để chạy trong máy ảo StarkNet.
Sự khác biệt giữa sidechain và rollup là gì?
Thông lượng : Khả năng xử lý giao dịch trung bình của sidechain thường cao hơn so với chuỗi cuộn vì chúng không dựa vào sự đồng thuận và tính sẵn có của dữ liệu của Chuỗi chính. Ví dụ: sidechain có thể đạt được kích thước khối lớn hơn và thời gian khối cực nhanh để có thông lượng cao hơn, điều mà Rollup không thể làm được.
Rollup phải tránh xử lý quá nhiều giao dịch đến mức lô giao dịch không thể vừa với một khối Chuỗi chính duy nhất. Nếu không, điều này sẽ gây ra tắc nghẽn ở lớp cơ sở và gây khó khăn cho việc theo kịp các khối do Rollup tạo ra. Do đó, băng thông dữ liệu Chuỗi gốc của Rollup áp đặt một giới hạn hiệu quả đối với thông lượng của nó.
Ngay cả sidechain phụ thuộc một phần vào tính bảo mật của Chuỗi chính (chẳng hạn như Chuỗi gửi và Chuỗi Lạc quan) vẫn có thông lượng tốt hơn Rollup.
Chi phí : Người dùng có thể trả ít tiền hơn cho giao dịch trên sidechain so với Rollup. Giống như những khác biệt khác giữa sidechain và rollup, điểm khác biệt này liên quan đến sự phụ thuộc của Rollup vào Chuỗi gốc để giải quyết và hoàn thiện. Sau đây là một số chi phí vận hành do Rollup phát sinh (những chi phí này do người dùng chịu):
- Lưu trữ dữ liệu : Việc gửi khối Tổng hợp đến lớp cơ sở sẽ phát sinh chi phí cố định (chi phí bao gồm giao dịch trong khối) và chi phí biến đổi (dựa trên kích thước của khối Tổng hợp). Do đó, Rollup tính phí tính toán và dữ liệu của người dùng, với giao dịch có khối lượng dữ liệu lớn hơn sẽ phải trả nhiều tiền hơn và ngược lại.
- Tạo bằng chứng và xác minh : Tổng hợp không có kiến thức yêu cầu tạo bằng chứng hợp lệ để xác minh lớp cơ sở, điều này sẽ phát sinh thêm chi phí. Việc xác minh bằng chứng xác thực tiêu tốn lượng lớn tài nguyên, ví dụ chi phí hiện tại trên Ethereum là khoảng 500.000 Gas.
Sidechain thuần túy không phát sinh các chi phí trên nên sử dụng chúng sẽ rẻ hơn. Chuỗi cam kết hoặc sidechain lạc quan có thể phải chịu một số chi phí bổ sung, chẳng hạn như cam kết Block Header , nhưng những chi phí này không đáng kể. Ngoài ra, chi phí có thể giảm bằng cách tích lũy nhiều Block Header trong một giao dịch .
Tính cuối cùng : Sidechain chịu trách nhiệm hoàn toàn về tính bảo mật của nó sẽ có tính hữu hạn ngay lập tức và sau khi được đa số người xác thực chấp thuận, các khối sẽ không thể bị thu hồi. Tuy nhiên, Chuỗi cam kết hoặc sidechain lạc quan không áp dụng cho quy tắc này vì chúng phải tính đến những thách thức có thể trì hoãn việc hoàn thiện Block Header.
Thông thường, các chuỗi tổng hợp có thời gian hoàn thiện dài hơn so với sidechain thuần túy vì nhiều lý do khác nhau. Ví dụ: Optimistic Rollup trì hoãn việc xác nhận giao dịch để đảm bảo rằng những người tham gia trung thực có đủ thời gian để phản đối các cập nhật trạng thái không hợp lệ.
Tổng hợp hiệu lực có tính hữu hạn ngay lập tức (sau khi được xác minh), nhưng tính hữu hạn của nó mất nhiều thời gian hơn so với sidechain thuần túy. Do chi phí tạo và xác minh bằng chứng hợp lệ cao hơn, các nhà xê-ri hóa thích tích lũy lượng lớn giao dịch trước khi tạo và gửi một loạt bằng chứng hợp lệ.
Bảo mật : Tính bảo mật của Rollup (Lạc quan hoặc không có kiến thức) được đảm bảo bởi chuỗi khối cơ bản, làm giảm giả định về tín nhiệm của người dùng. Như đã giải thích trước đó, Rollup dựa vào Chuỗi chính (an toàn về mặt kinh tế) để có được sự đồng thuận và tính khả dụng dữ liệu(không giống như sidechain ). Điều này làm giảm rủi ro kiểm duyệt, đóng băng đóng băng , thực thi không hợp lệ, v.v.
Sidechain thuần túy chịu trách nhiệm về tính bảo mật của chúng. Tuy nhiên, việc khởi chạy các trình xác nhận đa dạng và đáng tin cậy có thể khó khăn, đó là lý do tại sao sidechain được coi là kém an toàn hơn Rollups.
Chuỗi cam kết và sidechain lạc quan an toàn hơn một chút so với sidechain thuần túy, nhưng người dùng phải tín nhiệm người xác nhận và người đề xuất về tính khả dụng của dữ liệu. Nếu các cuộc tấn công ẩn dữ liệu được thực hiện mà không bị phạt, Chuỗi gửi và sidechain lạc quan sẽ không có bất kỳ đảm bảo an ninh nào.
Cầu nối xuyên chuỗi : Rollup và sidechain (trong hầu hết các trường hợp) sử dụng cùng một sơ đồ bắc cầu tài sản: khóa token X trong hợp đồng thông minh on-chain và đúc token X cho người dùng on-chain . Chúng khác nhau về cách bảo đảm số tiền ký quỹ trong hợp đồng bắc cầu.
Bởi vì Rollup được dành riêng cho một chuỗi khối lớp cơ sở cụ thể nên thường có các "cầu nối chuẩn" kết nối cả hai. Số tiền gửi vào cầu Rollup được đảm bảo bởi Chuỗi gốc:
- Số tiền được gửi vào Tổng hợp hiệu lực chỉ có thể rút sau khi xác minh rằng bằng chứng liên quan đến lô chứa giao dịch thoát đã được xác minh trên on-chain .
- Đối với Optimistic Rollup , người dùng chỉ có thể rút tiền nếu khối chứa giao dịch rút tiền của người dùng không bị thử thách sau khi thời hạn tranh chấp kết thúc (khoảng 1-2 tuần).
Thay vào đó, tính an toàn của số tiền gửi vào cầu sidechain phụ thuộc vào thiết kế của nó. Ví dụ: nếu sidechain có một cầu nối xuyên chuỗi chuẩn với một chuỗi khối khác thì tính bảo mật của quỹ cầu nối có liên quan đến tính trung thực của người xác nhận. Một câu hỏi khác là liệu cây cầu được xác minh bởi toàn bộ trình xác thực (ví dụ: cầu Polygon PoS) hay một nhóm nhỏ các trình xác thực bên ngoài (ví dụ: cầu Avalanche-Ethereum).
Sự khác biệt về thời gian cuối cùng giữa kết nối rollup và cầu nối sidechain cũng giải thích sự khác biệt giữa chúng. Ví dụ: người dùng Optimistic Rollup sẽ gặp nhiều sự chậm trễ hơn khi chuyển tiền trở lại Chuỗi chính do phải chờ thời gian tranh chấp. Bằng cách sử dụng sidechain , người dùng có thể rút tiền từ hợp đồng cầu nối xuyên chuỗi sau khi nhận được Block Header cuối cùng (và bằng chứng Merkle hợp lệ nếu cần).
Chọn giữa Rollup và Sidechain
Khi triển khai hợp đồng thông minh, việc chọn sử dụng Rollup hay sidechain tùy thuộc vào mục tiêu của bạn, phản hồi của người dùng và nhu cầu của dự án. Dưới đây là những lợi ích của việc sử dụng rollup, sidechain hoặc cả hai trong các tình huống khác nhau.
Khi nào nên sử dụng Rollup :
- Người dùng của bạn mong đợi mức độ bảo mật cao nhất.
- Người dùng của bạn có thể chấp nhận chi phí cao hơn một chút và độ trễ/kết quả cuối cùng tăng lên. Rollup rẻ hơn và nhanh hơn nhiều (theo mức độ lớn) so với Ethereum, nhưng không thể cạnh tranh với sidechain về các số liệu này.
- Bạn (hoặc người dùng của bạn) muốn có mối quan hệ chặt chẽ hơn với hệ sinh thái Chuỗi gốc (ví dụ: Ethereum).
- Bạn dự định cải thiện trải nghiệm người dùng cho người dùng DApp trên Rollup. Điều này có thể có nghĩa là sử dụng nhà cung cấp thanh khoản để giảm độ trễ trong rút tiền từ Optimistic rollup hoặc triển khai tối ưu hóa mã để giảm dữ liệu giao dịch được tạo khi người dùng tương tác với hợp đồng thông minh của bạn.
- Bạn muốn sử dụng các công cụ và cơ sở hạ tầng EVM khi xây dựng DApp. Hầu hết các bản tổng hợp đều tương thích với EVM và sử dụng cùng các công cụ, phần mềm máy trạm và API nút như Ethereum .
Khi nào nên sử dụng sidechain :
- Người dùng của bạn muốn giao dịch với mức phí thấp nhất.
- Người dùng của bạn mong muốn giao dịch được xử lý nhanh chóng, đặc biệt là khi chuyển tiền.
- Người dùng của bạn có thể chấp nhận các giả định về tín nhiệm ngày càng tăng và mức độ đảm bảo bảo mật thấp hơn.
- Bạn (hoặc người dùng của bạn) không coi mối quan hệ chặt chẽ với hệ sinh thái Chuỗi chính là ưu tiên hàng đầu.
- Bạn có thể học cách sử dụng một bộ ngôn ngữ lập trình, công cụ và cơ sở hạ tầng mới để xây dựng DApps (nếu sử dụng sidechain không phải EVM).
Khi nào nên sử dụng sidechain và rollups cùng nhau :
- Dự án của bạn đã xây dựng hiệu ứng mạng mạnh mẽ trên một chuỗi khối và sẵn sàng mở rộng đồng thời sang nhiều hệ sinh thái (ví dụ: để tận dụng thanh khoản ).
- Bạn muốn phục vụ nhiều loại người dùng khác nhau và tránh xa lánh một phía của thị trường.
- Dự án của bạn có đủ tài nguyên để xử lý mở rộng Chuỗi chéo . Điều này có thể có nghĩa là có đội ngũ khác nhau chịu trách nhiệm triển khai DApp của bạn trên các nền tảng chuỗi khối khác nhau.