Trong những năm qua, lý thuyết chuỗi ứng dụng đã được triển khai theo nhiều cách khác nhau. Nhu cầu về tính mô-đun đã tăng lên theo thời gian, khi các nhà phát triển blockchain nhận ra rằng nền tảng của họ có thể được mở rộng quy mô hiệu quả hơn bằng cách thuê ngoài một số công việc liên quan đến việc chạy dApps.

Ban đầu chỉ dành riêng cho các chuỗi có chủ quyền, thường được xây dựng bằng cách sử dụng Interchain Stack, sự phát triển của chuỗi ứng dụng hiện bao gồm các chuỗi tiêu dùng cho thuê bảo mật từ Cosmos Hub, cũng như các chuỗi cuộn dựa vào chuỗi lớp 1 để thực hiện một số công việc giải quyết và bắc cầu, như rực rỡ . Những thay đổi này mang đến những giả định và vấn đề bảo mật khác nhau cần được giải quyết. Celestia nhằm mục đích giải quyết một vấn đề đặc biệt gọi là tính khả dụng của dữ liệu, nhưng trước khi chúng tôi giải thích vấn đề này liên quan đến dự án của bạn như thế nào, hãy cố gắng hiểu từ thông dụng mới nhất trong Web3: tính mô-đun.

Công việc được thực hiện bởi các chuỗi lớp 1 đơn, bao gồm chuỗi Ethereum và chuỗi #Cosmos có chủ quyền, có thể được chia đại khái thành 4 lớp:

  • Lớp thực thi xử lý các giao dịch và chịu trách nhiệm cập nhật trạng thái trên chuỗi. Ví dụ: cập nhật số dư ví của bạn khi một người bạn gửi mã thông báo cho bạn.

  • Lớp cầu nối thanh toán có trách nhiệm hoàn thành giao dịch, hay nói đúng hơn là xác nhận rằng giao dịch đó hợp lệ. Điều này đặc biệt áp dụng cho việc tóm tắt mà chúng tôi sẽ đề cập sau. Gần đây, lớp thanh toán thường được xem như một lớp cầu nối, cung cấp cách để Rollups giao tiếp với mạng blockchain rộng hơn, trong khi bản thân việc thanh toán đã trở thành một chủ đề gây tranh cãi hơn. Trên các mạng thông thường như Chuỗi ứng dụng Cosmos, việc thanh toán là miễn phí vì lớp đồng thuận xác thực hiệu quả từng giao dịch trước khi nó đến lớp thực thi.

  • Lớp đồng thuận là nơi nhiều bên đồng ý về nội dung của một khối và cách thức sắp xếp các giao dịch của họ.

  • Lớp sẵn có của dữ liệu chịu trách nhiệm đảm bảo rằng mọi người đều có quyền truy cập vào các giao dịch chính xác đã được gửi lên mạng. Như chúng tôi sẽ giải thích sau, lớp thanh toán cần quyền truy cập vào các giao dịch này để xác minh rằng lớp thực thi là trung thực.

Trong bối cảnh chuỗi dựa trên Cosmos SDK (có bộ trình xác thực riêng và hoạt động như một chuỗi ứng dụng có chủ quyền), về cơ bản, lớp đồng thuận chịu trách nhiệm về tính sẵn có của dữ liệu và giải quyết giao dịch cuối cùng. Tuy nhiên, việc khởi chạy chuỗi có chủ quyền yêu cầu bạn phải có một bộ trình xác thực và mã thông báo bằng chứng cổ phần, trừ khi bạn chọn giải pháp bảo mật chung như Interchain Security. Ngoài sự phức tạp về mặt pháp lý và vận hành khi khởi chạy chuỗi bằng mã thông báo, còn có những cân nhắc về khả năng mở rộng cần lưu ý.

Mở rộng quy mô hiệu quả thông qua tổng hợp

Khi web phát triển, bộ ba bất khả thi về khả năng mở rộng trở nên rõ ràng hơn. Thoạt nhìn, có vẻ như blockchain phải hy sinh về mặt bảo mật mạng, mức độ phân cấp hoặc số lượng giao dịch mà nó có thể xử lý mỗi giây. Đối với các chuỗi nói chung, việc cải thiện một chuỗi theo truyền thống thường gây thiệt hại cho chuỗi kia. Tuy nhiên, thông qua công việc được thực hiện trên các giao thức mô-đun, chúng ta có thể thấy rằng một số thành phần của bộ ba bất khả thi này dành riêng cho từng lớp trong ngăn xếp mô-đun.

Ví dụ: một lớp thực thi chấp nhận các giao dịch và xử lý chúng theo các thay đổi trạng thái đòi hỏi thông lượng nhanh. Việc nó có được phân cấp và an toàn hay không được cho là không liên quan miễn là có đủ các lớp giải quyết, đồng thuận và sẵn có dữ liệu phi tập trung và an toàn để đảm bảo và xác minh rằng các giao dịch chính xác đang được thực hiện. Mức độ phân cấp nhất định ở lớp thực thi góp phần tạo nên sự sống động của mạng nhưng không quan trọng trong việc ngăn chặn bất kỳ hình thức hành vi sai trái nào. Nói cách khác, nó không ảnh hưởng đến bất kỳ giả định tin cậy nào về mạng.

Với ngăn xếp chuỗi khối mô-đun, các nhà phát triển có thể thuê ngoài phần lớn công việc cần thiết để vận hành chuỗi khối. Các nhà phát triển ứng dụng hoàn toàn chịu trách nhiệm về lớp thực thi, giúp tăng khả năng mở rộng và giảm đáng kể thời gian phát triển. Đây thực chất là lý do tại sao tính năng tổng hợp hiện nay rất hiệu quả và phổ biến. Rollup, thường được gọi là Lớp 2, cho phép một hoặc nhiều máy chủ thực hiện các giao dịch ngoài chuỗi mà không cần chờ thuật toán đồng thuận chậm để thống nhất nội dung của một khối. Điều này có vẻ không an toàn, nhưng họ có thể làm điều đó mà không gặp rủi ro đáng kể bằng cách cung cấp bằng chứng tính hợp lệ tốn kém về mặt tính toán trong trường hợp được gọi là tổng hợp không có kiến ​​thức (ZK) hoặc bằng cách cung cấp một khoảng thời gian trong đó các nút Nơi người vận hành có thể gửi bằng chứng thất bại làm bằng chứng cho thấy ai đó đã hành động không phù hợp, như trường hợp tổng hợp lạc quan. Tuy nhiên, trong khuôn khổ này, một vấn đề mới nảy sinh: vấn đề về tính sẵn có của dữ liệu.

Vấn đề về tính sẵn có của dữ liệu là gì?

Khi người dùng gửi một giao dịch trong danh sách tổng hợp, thông báo sẽ được gửi trực tiếp đến trình sắp xếp thứ tự, thường chỉ là một máy tính rất nhanh có nhiệm vụ gộp các giao dịch này lại với nhau thông qua quy trình ngoài chuỗi. Sau khi nén nó xuống kích thước nhỏ hơn, lô sẽ được gửi đến lớp thanh toán như Ethereum. Do nhu cầu cao về không gian khối trên các mạng này, đây là giải pháp rẻ hơn nhiều so với việc xuất bản các giao dịch riêng lẻ trực tiếp lên lớp thanh toán. Hiện tại, hầu hết các tập hợp đều sử dụng một trình sắp xếp chuỗi duy nhất (tức là một thực thể thực hiện việc sắp xếp), mặc dù các trình sắp xếp chung đang được khám phá. Điều này nói chung là an toàn vì người dùng có thể đảm bảo rằng việc thực hiện giao dịch là hợp lệ thông qua bằng chứng hợp lệ hoặc bằng chứng về lỗi có thể được kiểm tra ở lớp giải quyết. Tuy nhiên, việc tổng hợp không đảm bảo rằng trình sắp xếp thứ tự trung thực về các giao dịch đã gửi và đang gửi cùng một dữ liệu cho mọi người.

Đây là bản chất của vấn đề về tính sẵn có của dữ liệu. Lớp giải quyết hoặc bất kỳ nút đầy đủ nào quan sát mạng, có nhiệm vụ kiểm tra công việc đang được thực hiện bởi tập hợp và cần có dữ liệu giao dịch để thực hiện việc này. Theo mặc định, việc tổng hợp không thể chứng minh một cách dễ dàng và rẻ tiền rằng trình sắp xếp thứ tự đã xử lý tất cả các giao dịch đến thành một khối hoặc tất cả các giao dịch đã được thêm vào khối đều thuộc phạm vi công cộng. Do đó, trình sắp xếp thứ tự có thể kiểm duyệt dữ liệu giao dịch do người dùng gửi hoặc tệ hơn là ngăn không cho lớp giải quyết xác minh dữ liệu đó.

Mặc dù về mặt kỹ thuật, kiểu kiểm duyệt này cũng có thể xảy ra trên một blockchain thông thường, nhưng thực tế là không thể thực hiện được do số lượng lớn người xác thực trong mạng bằng chứng cổ phần và thực tế là chỉ một trong số họ cần phải trung thực. Nhưng quan trọng hơn, lớp thanh toán không yêu cầu dữ liệu để xác minh vì giao dịch đã được giải quyết thông qua quy trình đồng thuận.

#Celestia Làm thế nào để giải quyết vấn đề này?

#Celestia là chuỗi khối lớp 1 được xây dựng bằng SDK Cosmos, cung cấp tính khả dụng của dữ liệu dưới dạng dịch vụ tổng hợp. Thông thường nhất, mạng Celestia nhận tất cả các giao dịch của người dùng đến từ trình sắp xếp thứ tự, mặc dù đây cũng có thể là người nhận đầu tiên của các giao dịch này trước khi chúng đưa vào danh sách tổng hợp để thực thi, tùy thuộc vào cấu hình của tổng hợp. Hãy sử dụng một ví dụ để giải thích nó từ góc độ giao dịch. Chúng tôi sẽ giả định một mạng hư cấu có tên là Roll Protocol, được xây dựng dưới dạng một bản tổng hợp lạc quan dựa trên Cosmos SDK.

  • Giả sử bạn đang sử dụng Keplr để gửi một số mã thông báo $ROLL cho bạn bè của mình thông qua Giao thức cuộn. Sau khi gửi, giao dịch gửi trước tiên sẽ được truyền đến trình sắp xếp thứ tự của Roll Protocol.

  • Trình sắp xếp thứ tự là một máy tính chạy quy trình ngoài chuỗi của giao thức Roll, hiện xem xét tất cả các giao dịch và kiểm tra chúng theo trạng thái hiện tại của giao thức Roll để xem chúng có thực sự hợp lệ hay không. Đối với tin nhắn bạn gửi, nó sẽ kiểm tra xem nó có chứa địa chỉ người nhận hợp lệ hay không, liệu bạn có đủ mã thông báo $ROLL để gửi cho bạn bè hay không, v.v.

  • Các giao dịch hợp lệ sau đó được thu thập thành một khối và được thực thi bởi trình sắp xếp thứ tự, điều đó có nghĩa là các thay đổi được thực hiện đối với bộ lưu trữ của nó. Số dư ví của bạn và bạn bè của bạn sẽ cập nhật để phản ánh số tiền được trao đổi.

  • Khối chứa các giao dịch này sau đó được trình sắp xếp thứ tự chia sẻ với Celestia và được đặt trong không gian tên “Giao thức cuộn”, đây thực sự chỉ là một nhãn giúp dễ dàng phân tách dữ liệu. Sau đó, những người xác thực trên mạng Celestia sẽ đồng ý về nội dung khối, được hoàn thiện trên mạng và phân phối đến tất cả các nút.

  • Đồng thời, tất cả các giao dịch thành công là một phần của khối đều được trình sắp xếp chuỗi chuyển đổi thành lô và gửi đến lớp thanh toán, thường chỉ là một hợp đồng thông minh trên chuỗi lớp 1 như Ethereum. Lớp giải quyết là blockchain mà bằng chứng về sự thất bại sẽ được gửi tới nếu ai đó phát hiện ra rằng một giao dịch cụ thể không hợp lệ (ví dụ: bạn thực sự không có tiền để gửi một số xu cho bạn bè của mình). Nhưng ai đang làm công việc này?

Các nút đầy đủ khác được điều hành bởi các dApp riêng biệt (chẳng hạn như DEX) cũng sẽ thực hiện các giao dịch cùng lúc với trình tuần tự thực thi. Ví dụ: điều này cho phép họ cập nhật và cung cấp cho bạn thông tin cập nhật về số dư của bạn. Hơn nữa, họ có thể kiểm tra trước xem có giao dịch nào không hợp lệ hay không. Nếu vậy, bằng chứng về sự thất bại sẽ được gửi đến lớp giải quyết.

  • Bạn có thể nhớ lại rằng sự tổng hợp lạc quan có một khoảng thời gian trước khi giao dịch được thực hiện. Miễn là bạn tin tưởng vào thực thể vận hành nút đầy đủ, việc kiểm tra trước tính hợp lệ của các nút đầy đủ đó có thể giúp người dùng xem các giao dịch là "cuối cùng" trước khi cửa sổ lạc quan đóng lại. Chúng tôi gọi hệ thống này là "sự tin cậy tối thiểu" vì bạn chỉ cần thực sự tin tưởng rằng mạng chứa ít nhất một trong nhiều nút trung thực để bỏ qua khoảng thời gian lạc quan.

  • Để kiểm tra xem trình sắp xếp chuỗi có hoạt động sai hay không, các nút đầy đủ cũng như lớp thanh toán sẽ cần truy cập vào một số dữ liệu được xuất bản lên Celestia vì trình sắp xếp chuỗi có thể đã thực hiện các giao dịch không hợp lệ. May mắn thay, mạng Celestia đã xuất bản một khối chứa tất cả các giao dịch đến Giao thức cuộn trước đây đã được đưa vào lô, vì vậy chúng tôi tự tin rằng chúng tôi có thông tin cần thiết để chứng minh tính toàn vẹn của người đặt hàng nếu cần.

Điều đáng chú ý là Celestia không quan tâm mỗi giao dịch chứa gì. Trên thực tế, nó thậm chí không thể hiểu được các giao dịch này vì không có môi trường thực thi nào trên Celestia sử dụng cùng ngôn ngữ. Bằng cách tách biệt những mối quan tâm này thông qua ngăn xếp mô-đun này, người đặt hàng có thể tập trung vào việc thực hiện các giao dịch một cách nhanh chóng, lớp thanh toán có thể tập trung vào bảo mật và cung cấp khả năng bắc cầu, còn lớp đồng thuận và sẵn có dữ liệu có thể tập trung vào phân cấp. Điều này cải thiện đáng kể khả năng mở rộng và tối ưu hóa bằng cách đảm bảo rằng mỗi thành phần phụ chịu trách nhiệm vận hành mạng đều có tính chuyên môn cao.

Mặc dù ví dụ của chúng tôi sử dụng các bản tổng hợp dựa trên SDK Cosmos, nhưng các bản tổng hợp tương thích với EVM không bị loại trừ. Celestia cũng hoạt động như một lớp sẵn có dữ liệu cho hệ sinh thái EVM và được cho là rẻ hơn nhiều so với các lựa chọn thay thế như EIP-4844 (còn được gọi là Danksharding) trên Ethereum.

So sánh chuỗi tổng hợp và chuỗi có chủ quyền

Có rất nhiều lợi ích khi xây dựng Rollups và sử dụng mạng Celestia. Nếu bạn đang phát triển interchain, bạn có thể tiếp tục sử dụng các công cụ và phần mềm quen thuộc trong khi tăng thông lượng của giao thức, loại bỏ nhu cầu về trình xác thực trên mạng và thậm chí có thể khởi chạy mà không cần mã thông báo nếu cần. Hãy xem xét một số điểm khác biệt giữa việc xây dựng bản tổng hợp và chuỗi ứng dụng có chủ quyền:

  • Khả năng mở rộng và hiệu quả: Các bản tổng hợp sử dụng Celestia thường mang lại khả năng mở rộng và hiệu quả cao hơn so với chuỗi Cosmos SDK có chủ quyền. Điều này là do việc tổng hợp chuyển phần lớn quá trình xử lý giao dịch sang Lớp 2, cho phép nhiều giao dịch được xử lý nhanh hơn, trong khi các chuỗi có chủ quyền bị tắc nghẽn bởi thuật toán đồng thuận. Nếu ứng dụng của bạn yêu cầu số lượng giao dịch lớn, thì chuỗi tổng hợp có thể phù hợp hơn chuỗi có chủ quyền. Trong trường hợp này, ứng dụng của bạn sẽ cần sử dụng mã thông báo trên lớp thanh toán, việc này có thể tốn kém tùy thuộc vào chuỗi bạn chọn, mặc dù Celestia giảm lượng dữ liệu được xuất bản.

  • Tính sống động và phân quyền: Các bản tổng hợp thường chạy bằng một trình sắp xếp thứ tự duy nhất. Nghiên cứu đang được tiến hành để xây dựng các trình sắp xếp được chia sẻ hiệu quả, nhưng công việc này vẫn còn đi trước bước tiến và có thể làm giảm hiệu quả của việc tổng hợp. Hiện tại, sự phân cấp ở cấp độ thực thi không thực sự tồn tại. Do đó, nếu trình sắp xếp thứ tự ngoại tuyến, sẽ có nguy cơ lớn hơn là tính dư thừa và tính trực tiếp của quá trình tổng hợp sẽ bị ảnh hưởng. Các cơ chế dự phòng có thể được thiết kế, nhưng các nhà phát triển tổng hợp thừa hưởng sự phức tạp của cơ sở hạ tầng thường được chia sẻ bởi những người xác thực trên một chuỗi khối có chủ quyền.

  • Bảo mật: Rollups sử dụng tính bảo mật của lớp thanh toán cơ bản, trong khi chuỗi có chủ quyền cần đảm bảo tính bảo mật cho mạng của chính nó. Nếu bạn chọn sử dụng chuỗi SDK Cosmos có chủ quyền, bạn sẽ muốn đảm bảo rằng bạn có một bộ trình xác thực lớn và đa dạng để bảo mật mạng của mình, cũng như vốn hóa thị trường đủ lớn (trong trường hợp bạn sử dụng bằng chứng) để đặt cược mã thông báo. Bản tổng hợp cho phép bạn kế thừa tính bảo mật của lớp giải quyết, điều này có thể hữu ích nếu việc triển khai một số yêu cầu của chuỗi ứng dụng của bạn gặp khó khăn.

  • Độ phức tạp: Việc xây dựng hệ thống Tổng hợp có thể phức tạp hơn việc tạo chuỗi có chủ quyền bằng SDK Cosmos. Điều này là do nhu cầu quản lý các tương tác giữa rollup, Celestia và lớp thanh toán. Nếu nhóm của bạn không có kinh nghiệm tổng hợp hoặc không muốn giải quyết vấn đề phức tạp hơn thì chuỗi có chủ quyền có thể là lựa chọn tốt hơn. Tuy nhiên, việc sử dụng khung Rollkit giúp quá trình phát triển dễ dàng hơn nhiều, cho phép bạn xây dựng các bản tổng hợp một cách tương đối dễ dàng.

  • Khả năng tương tác: Chuỗi Cosmos SDK được hưởng lợi từ giao thức Truyền thông liên chuỗi khối (IBC), cho phép các chuỗi khác nhau tương tác với nhau. Mặc dù các bản tổng hợp có thể tương tác với các chuỗi khác, nhưng chi tiết sẽ phụ thuộc vào việc triển khai cụ thể và có thể phức tạp hơn. Trong hầu hết các trường hợp, việc tổng hợp sử dụng lớp giải quyết làm trung tâm bắc cầu.