Kernel Ventures: Tính sẵn có của dữ liệu và thiết kế lớp dữ liệu lịch sử

Trung cấp1/11/2024, 8:41:07 AM
Bài viết này khám phá và giải thích các chỉ số hiệu suất DA, các công nghệ liên quan đến DA và giải pháp lưu trữ lớp DA.
  1. Trong giai đoạn đầu của blockchain, việc duy trì tính nhất quán của dữ liệu được coi là cực kỳ quan trọng để đảm bảo tính bảo mật và phân cấp. Tuy nhiên, với sự phát triển của hệ sinh thái blockchain, áp lực lưu trữ cũng ngày càng tăng, dẫn đến xu hướng tập trung hóa trong hoạt động của nút. Trong trường hợp đó, vấn đề chi phí lưu trữ do sự tăng trưởng TPS ở Lớp 1 mang lại cần được giải quyết khẩn cấp.
  2. Đối mặt với vấn đề này, các nhà phát triển nên đề xuất một giải pháp tính đến tính bảo mật, chi phí lưu trữ, tốc độ đọc dữ liệu và tính linh hoạt của lớp DA.
  3. Trong quá trình giải quyết vấn đề này, nhiều công nghệ và ý tưởng mới đã xuất hiện, bao gồm Sharding, DAS, Verkle Tree, các thành phần trung gian DA, v.v. Họ cố gắng tối ưu hóa sơ đồ lưu trữ của lớp DA bằng cách giảm sự dư thừa dữ liệu và cải thiện hiệu quả xác thực dữ liệu.
  4. Các giải pháp DA được phân loại rộng rãi thành hai loại dựa trên góc độ vị trí lưu trữ dữ liệu, đó là DA chuỗi chính và DA của bên thứ ba. DA chuỗi chính được thiết kế từ quan điểm làm sạch dữ liệu thường xuyên và lưu trữ dữ liệu được cắt lát để giảm áp lực lưu trữ lên các nút, trong khi DA của bên thứ ba được thiết kế để phục vụ nhu cầu lưu trữ và có giải pháp hợp lý cho lượng lớn dữ liệu. Do đó, chúng tôi chủ yếu cân bằng giữa khả năng tương thích chuỗi đơn và khả năng tương thích đa chuỗi trong DA của bên thứ ba, đồng thời đề xuất ba loại giải pháp: DA dành riêng cho chuỗi chính, DA được mô-đun hóa và DA chuỗi công cộng lưu trữ.
  5. Chuỗi công khai kiểu thanh toán có yêu cầu rất cao về bảo mật dữ liệu lịch sử và do đó phù hợp để sử dụng trong chuỗi chính làm lớp DA. Tuy nhiên, đối với các chuỗi công khai đã hoạt động trong thời gian dài và có số lượng lớn người khai thác đang chạy mạng, sẽ phù hợp hơn khi áp dụng DA của bên thứ ba không liên quan đến thay đổi lớp đồng thuận với độ bảo mật tương đối cao. Đối với các chuỗi công cộng toàn diện, việc sử dụng bộ lưu trữ DA chuyên dụng của chuỗi chính với dung lượng dữ liệu lớn hơn, chi phí thấp hơn và bảo mật sẽ phù hợp hơn. Tuy nhiên, xem xét nhu cầu về chuỗi chéo, DA mô-đun cũng là một lựa chọn tốt.
  6. Nhìn chung, blockchain đang hướng tới việc giảm sự dư thừa dữ liệu cũng như phân công lao động đa chuỗi.

1. Bối cảnh

Là một sổ cái phân tán, blockchain cần lưu trữ dữ liệu lịch sử trên tất cả các nút để đảm bảo tính bảo mật và phân cấp đầy đủ cho việc lưu trữ dữ liệu. Vì tính chính xác của mỗi thay đổi trạng thái có liên quan đến trạng thái trước đó (nguồn giao dịch), để đảm bảo tính chính xác của giao dịch, về nguyên tắc, blockchain phải lưu trữ tất cả hồ sơ lịch sử từ giao dịch đầu tiên đến giao dịch hiện tại. Lấy Ethereum làm ví dụ, ngay cả khi kích thước khối trung bình được ước tính là 20 kb thì tổng kích thước khối Ethereum hiện tại đã lên tới 370 GB. Ngoài bản thân khối, một nút đầy đủ cũng cần ghi lại trạng thái và biên lai giao dịch. Tính phần này thì tổng dung lượng lưu trữ của một nút đã vượt quá 1 TB, tập trung hoạt động của nút cho một số ít người.

Chiều cao khối mới nhất của Ethereum, nguồn hình ảnh: Etherscan

2. Các chỉ số hoạt động DA

2.1 An toàn

So với cơ sở dữ liệu hoặc cấu trúc lưu trữ danh sách liên kết, tính không thể so sánh của blockchain xuất phát từ khả năng xác minh dữ liệu mới được tạo thông qua dữ liệu lịch sử. Vì vậy, việc đảm bảo tính bảo mật của dữ liệu lịch sử là vấn đề đầu tiên cần được quan tâm trong việc lưu trữ lớp DA. Khi đánh giá tính bảo mật dữ liệu của hệ thống blockchain, chúng tôi thường phân tích nó từ lượng dữ liệu dư thừa và phương pháp xác minh tính khả dụng của dữ liệu.

  1. Lượng dự phòng: Về mức độ dư thừa dữ liệu trong hệ thống blockchain, nó chủ yếu có thể đóng các vai trò sau: Thứ nhất, nếu số lượng dữ liệu dư thừa trong mạng lớn hơn, khi người xác minh cần xem trạng thái tài khoản trong một khối lịch sử nhất định để xác minh Khi một giao dịch đang được xác minh, nó có thể lấy nhiều mẫu nhất để tham khảo và chọn dữ liệu được ghi lại bởi hầu hết các nút. Trong cơ sở dữ liệu truyền thống, do dữ liệu chỉ được lưu trữ dưới dạng cặp khóa-giá trị trên một nút nhất định nên các thay đổi đối với dữ liệu lịch sử chỉ có thể được thực hiện trên một nút duy nhất và chi phí tấn công là cực kỳ thấp. Về lý thuyết, số lượng dư thừa càng lớn thì dữ liệu càng ít có khả năng xảy ra. Mức độ tin cậy càng cao. Đồng thời, càng lưu trữ nhiều nút thì khả năng mất dữ liệu càng ít. Điều này cũng có thể được so sánh với máy chủ tập trung lưu trữ các trò chơi Web2. Khi tất cả các máy chủ phụ trợ bị tắt, máy chủ sẽ bị tắt hoàn toàn. Tuy nhiên, càng nhiều càng tốt, vì mỗi phần dư thừa sẽ mang lại thêm không gian lưu trữ. Việc dư thừa dữ liệu quá mức sẽ mang lại áp lực lưu trữ quá lớn cho hệ thống. Lớp DA tốt nên chọn lớp DA phù hợp. Cách tiếp cận dự phòng giúp cân bằng tính bảo mật và hiệu quả lưu trữ.
  2. Xác minh tính sẵn có của dữ liệu: Số lượng dự phòng đảm bảo có đủ bản ghi dữ liệu trong mạng, nhưng phải xác minh tính chính xác và đầy đủ của dữ liệu được sử dụng. Phương thức xác minh thường được sử dụng trong chuỗi khối hiện tại là thuật toán cam kết mật mã, giữ lại một cam kết mật mã nhỏ để toàn bộ mạng ghi lại. Cam kết này có được bằng cách trộn dữ liệu giao dịch. Khi bạn muốn kiểm tra tính xác thực của một phần dữ liệu lịch sử nhất định, bạn cần khôi phục cam kết mật mã thông qua dữ liệu và kiểm tra xem cam kết mật mã thu được từ quá trình khôi phục này có nhất quán với bản ghi của toàn bộ mạng hay không. Nếu nó nhất quán, quá trình xác minh sẽ được thông qua. Các thuật toán xác minh mật mã thường được sử dụng bao gồm Verkle Root và Verkle Root. Thuật toán xác minh tính khả dụng của dữ liệu bảo mật cao chỉ yêu cầu một lượng nhỏ dữ liệu xác minh và có thể nhanh chóng xác minh dữ liệu lịch sử.

2.2 Chi phí lưu kho

Trên tiền đề đảm bảo an ninh cơ bản, mục tiêu cốt lõi tiếp theo mà lớp DA cần đạt được là giảm chi phí và tăng hiệu quả. Đầu tiên là giảm chi phí lưu trữ, bất kể sự khác biệt về hiệu suất phần cứng, nghĩa là giảm mức sử dụng bộ nhớ do lưu trữ dữ liệu có kích thước đơn vị. Ở giai đoạn này, các cách chính để giảm chi phí lưu trữ trong blockchain là áp dụng công nghệ sharding và sử dụng lưu trữ dựa trên phần thưởng để đảm bảo dữ liệu được lưu trữ hiệu quả và giảm số lượng bản sao lưu dữ liệu. Tuy nhiên, không khó để nhận thấy từ các phương pháp cải tiến trên rằng có mối quan hệ trò chơi giữa chi phí lưu trữ và bảo mật dữ liệu. Giảm dung lượng lưu trữ thường đồng nghĩa với việc giảm tính bảo mật. Do đó, một lớp DA xuất sắc cần đạt được sự cân bằng giữa chi phí lưu trữ và bảo mật dữ liệu. Ngoài ra, nếu lớp DA là một chuỗi công khai riêng biệt, nó cần giảm chi phí bằng cách giảm thiểu quá trình trao đổi dữ liệu trung gian. Trong mỗi quá trình truyền, dữ liệu chỉ mục cần được để lại cho các lệnh gọi truy vấn tiếp theo. Do đó, quá trình gọi càng dài thì càng để lại nhiều dữ liệu chỉ mục và chi phí lưu trữ sẽ tăng lên. Cuối cùng, chi phí lưu trữ dữ liệu có liên quan trực tiếp đến độ bền của dữ liệu. Nói chung, chi phí lưu trữ dữ liệu càng cao thì chuỗi công khai càng khó lưu trữ dữ liệu liên tục.

2.3 Tốc độ đọc dữ liệu

Sau khi đạt được mức giảm chi phí, bước tiếp theo là tăng hiệu quả, đó là khả năng gọi nhanh dữ liệu ra khỏi lớp DA khi cần sử dụng. Quá trình này bao gồm hai bước. Đầu tiên là tìm kiếm các nút lưu trữ dữ liệu. Quá trình này chủ yếu dành cho các chuỗi công khai chưa đạt được tính nhất quán dữ liệu trên toàn bộ mạng. Nếu chuỗi công khai đạt được sự đồng bộ hóa dữ liệu cho các nút trên toàn bộ mạng thì điều này có thể bị bỏ qua. Thời gian tiêu thụ của một quá trình. Thứ hai, trong các hệ thống blockchain chính thống hiện nay, bao gồm Bitcoin, Ethereum và Filecoin, phương thức lưu trữ nút là cơ sở dữ liệu Leveldb. Trong Leveldb, dữ liệu được lưu trữ theo ba cách. Đầu tiên, dữ liệu được ghi ngay lập tức sẽ được lưu trữ trong các tệp loại Memtable. Khi bộ nhớ Memtable đầy, loại file sẽ được thay đổi từ Memtable thành Immutable Memtable. Cả hai loại tệp đều được lưu trữ trong bộ nhớ, nhưng tệp Immutable Memtable không thể thay đổi được nữa mà chỉ có thể đọc dữ liệu từ chúng. Bộ lưu trữ nóng được sử dụng trong mạng IPFS lưu trữ dữ liệu trong phần này. Khi nó được gọi, nó có thể được đọc nhanh chóng từ bộ nhớ. Tuy nhiên, bộ nhớ di động của một nút thông thường thường ở mức GB và rất dễ ghi chậm. Khi một nút gặp sự cố hoặc xảy ra tình huống bất thường khác, dữ liệu trong bộ nhớ sẽ bị mất vĩnh viễn. Nếu muốn dữ liệu được lưu trữ liên tục, bạn cần lưu trữ dưới dạng tệp SST trên ổ cứng thể rắn (SSD). Tuy nhiên, khi đọc dữ liệu bạn cần đọc dữ liệu vào bộ nhớ trước, điều này làm giảm đáng kể tốc độ lập chỉ mục dữ liệu. Cuối cùng, đối với các hệ thống sử dụng bộ nhớ dùng chung, việc khôi phục dữ liệu yêu cầu gửi yêu cầu dữ liệu đến nhiều nút và khôi phục chúng. Quá trình này cũng sẽ làm giảm tốc độ đọc dữ liệu.

Phương pháp lưu trữ dữ liệu Leveldb, nguồn ảnh: Leveldb-handbook

2.4 Khái quát hóa DA

Với sự phát triển của DeFi và nhiều vấn đề khác nhau với CEX, yêu cầu của người dùng đối với các giao dịch xuyên chuỗi đối với các tài sản phi tập trung cũng ngày càng tăng. Bất kể cơ chế chuỗi chéo như khóa băm, công chứng công khai hay chuỗi chuyển tiếp, việc xác định đồng thời dữ liệu lịch sử trên cả hai chuỗi đều không thể tránh khỏi. Chìa khóa của vấn đề này nằm ở việc tách dữ liệu trên hai chuỗi và không thể đạt được giao tiếp trực tiếp trong các hệ thống phi tập trung khác nhau. Do đó, một giải pháp được đề xuất ở giai đoạn này bằng cách thay đổi phương thức lưu trữ lớp DA, phương thức này không chỉ lưu trữ dữ liệu lịch sử của nhiều chuỗi công khai trên cùng một chuỗi công khai đáng tin cậy mà chỉ cần gọi dữ liệu trên chuỗi công khai này trong quá trình xác minh. Có thể. Điều này đòi hỏi lớp DA có thể thiết lập các phương thức liên lạc an toàn với các loại chuỗi công khai khác nhau, điều đó có nghĩa là lớp DA có tính linh hoạt tốt.

3. Kỹ thuật liên quan đến DA

3.1 Phân mảnh

  1. Trong hệ thống phân tán truyền thống, tệp không được lưu trữ ở dạng hoàn chỉnh trên một nút nhất định. Thay vào đó, dữ liệu gốc được chia thành nhiều Khối và một Khối được lưu trữ trong mỗi nút. Các khối thường không chỉ được lưu trữ trên một nút mà sẽ để lại các bản sao lưu thích hợp trên các nút khác. Trong các hệ thống phân tán chính thống hiện có, số lượng bản sao lưu này thường được đặt thành 2. Cơ chế Sharding này có thể giảm áp lực lưu trữ của một nút duy nhất, mở rộng tổng dung lượng của hệ thống lên tổng dung lượng lưu trữ của mỗi nút và ở mức tối đa. đồng thời đảm bảo tính bảo mật của việc lưu trữ thông qua việc dự phòng dữ liệu phù hợp. Sơ đồ Sharding được áp dụng trong blockchain nhìn chung tương tự nhau, nhưng các chi tiết cụ thể sẽ khác nhau. Trước hết, do mặc định mỗi nút trong blockchain không đáng tin cậy nên quá trình triển khai Sharding yêu cầu một lượng dữ liệu sao lưu đủ lớn để đánh giá tính xác thực của dữ liệu sau này, do đó số lượng bản sao lưu cho nút này cần phải nhiều hơn 2 Lý tưởng nhất là trong hệ thống blockchain sử dụng sơ đồ lưu trữ này, nếu tổng số nút xác minh là T và số lượng phân đoạn là N thì số lượng bản sao lưu phải là T/N. Thứ hai là quá trình lưu trữ của Block. Có ít nút hơn trong các hệ thống phân tán truyền thống, vì vậy một nút thường thích ứng với nhiều khối dữ liệu. Đầu tiên, dữ liệu được ánh xạ tới vòng băm thông qua thuật toán băm nhất quán, sau đó mỗi nút Lưu trữ các khối dữ liệu được đánh số trong một phạm vi nhất định và có thể chấp nhận rằng một nút không phân bổ các tác vụ lưu trữ trong quá trình lưu trữ nhất định. Trên blockchain, việc mỗi nút được gán một Khối không còn là sự kiện ngẫu nhiên mà là sự kiện tất yếu. Mỗi nút sẽ chọn ngẫu nhiên một Khối để lưu trữ. Quá trình này kết hợp dữ liệu gốc với thông tin của khối và nút. Kết quả của việc băm dữ liệu được hoàn thành bằng cách lấy mô đun số lượng phân đoạn. Giả sử rằng mỗi phần dữ liệu được chia thành N Khối, kích thước lưu trữ thực tế của mỗi nút chỉ bằng 1/N so với kích thước lưu trữ ban đầu. Bằng cách đặt N một cách thích hợp, có thể đạt được sự cân bằng giữa TPS ngày càng tăng và áp lực lưu trữ nút.

Phương pháp lưu trữ dữ liệu sau Sharding, nguồn ảnh: Kernel Ventures

3.2 DAS(Lấy mẫu dữ liệu sẵn có)

Công nghệ DAS dựa trên việc tối ưu hóa hơn nữa các phương pháp lưu trữ Sharding. Trong quá trình Sharding, do việc lưu trữ ngẫu nhiên các nút đơn giản nên một Khối nhất định có thể bị mất. Thứ hai, đối với dữ liệu bị phân mảnh, việc xác nhận tính xác thực và tính toàn vẹn của dữ liệu trong quá trình khôi phục cũng rất quan trọng. Trong DAS, hai vấn đề này được giải quyết thông qua mã Eraser và cam kết đa thức KZG.

  1. Mã tẩy: Xem xét số lượng lớn các nút xác minh trong Ethereum, xác suất một Khối nhất định không được lưu trữ bởi bất kỳ nút nào là gần như bằng 0, nhưng về mặt lý thuyết vẫn có khả năng xảy ra tình huống cực đoan như vậy. Để giảm thiểu mối đe dọa mất bộ nhớ có thể xảy ra này, theo sơ đồ này, dữ liệu gốc thường không được chia trực tiếp thành các Khối để lưu trữ. Thay vào đó, dữ liệu gốc trước tiên được ánh xạ tới các hệ số của đa thức bậc n, sau đó 2n được lấy từ đa thức. điểm và để nút chọn ngẫu nhiên một điểm từ chúng để lưu trữ. Đối với đa thức bậc n này, chỉ cần n+1 điểm để khôi phục nó. Do đó, chỉ một nửa số Khối cần được các nút chọn và chúng tôi có thể khôi phục dữ liệu gốc. Thông qua mã Eraser, tính bảo mật của việc lưu trữ dữ liệu và khả năng phục hồi dữ liệu của mạng được nâng cao.
  2. Một khía cạnh rất quan trọng của việc lưu trữ dữ liệu là xác minh tính xác thực của dữ liệu. Trong các mạng không sử dụng mã Eraser, có thể sử dụng nhiều phương pháp khác nhau để xác minh, nhưng nếu mã Eraser ở trên được đưa vào để cải thiện bảo mật dữ liệu thì sẽ phù hợp hơn khi sử dụng cam kết đa thức KZG, có thể xác minh nội dung của một mạng duy nhất. chặn trực tiếp dưới dạng đa thức, do đó loại bỏ sự cần thiết phải giảm đa thức thành dữ liệu nhị phân. Cam kết đa thức KZG có thể xác minh trực tiếp nội dung của một khối duy nhất dưới dạng đa thức, do đó loại bỏ nhu cầu giảm đa thức thành dữ liệu nhị phân và hình thức xác minh tổng thể tương tự như Merkle Tree, nhưng không yêu cầu cụ thể Dữ liệu nút đường dẫn và chỉ yêu cầu dữ liệu khối và gốc KZG để xác minh tính xác thực của khối.

3.3 Phương pháp xác thực dữ liệu trong DA

Xác thực dữ liệu đảm bảo rằng dữ liệu được gọi từ một nút là chính xác và đầy đủ. Để giảm thiểu lượng dữ liệu và chi phí tính toán cần thiết trong quá trình xác thực, lớp DA hiện sử dụng cấu trúc cây làm phương pháp xác thực chính. Hình thức đơn giản nhất là sử dụng Merkle Tree để xác minh, sử dụng dạng bản ghi cây nhị phân hoàn chỉnh, chỉ cần giữ Merkle Root và giá trị băm của cây con ở phía bên kia đường dẫn của nút là có thể được xác minh, độ phức tạp về thời gian của việc xác minh là mức O(logN) (logN là log2(N) mặc định). Mặc dù quy trình xác thực đã được đơn giản hóa rất nhiều nhưng lượng dữ liệu cho quá trình xác thực nói chung vẫn tăng lên cùng với sự gia tăng của dữ liệu. Để giải quyết vấn đề tăng khối lượng xác thực, một phương pháp xác thực khác, Verkle Tree, được đề xuất ở giai đoạn này, trong đó mỗi nút trong Verkle Tree không chỉ lưu trữ giá trị mà còn đính kèm Cam kết Vector, có thể nhanh chóng xác thực tính xác thực của dữ liệu bằng cách sử dụng giá trị của nút gốc và bằng chứng cam kết mà không cần gọi giá trị của các nút chị em khác, điều này giúp việc tính toán từng xác thực trở nên dễ dàng và nhanh hơn. Điều này khiến số lượng tính toán cho mỗi lần xác minh chỉ liên quan đến độ sâu của Cây Verkle, là một hằng số cố định, do đó tăng tốc đáng kể tốc độ xác minh. Tuy nhiên, việc tính toán Cam kết Vector yêu cầu sự tham gia của tất cả các nút chị em trong cùng một lớp, điều này làm tăng đáng kể chi phí ghi và thay đổi dữ liệu. Tuy nhiên, đối với những dữ liệu như dữ liệu lịch sử, được lưu trữ vĩnh viễn và không thể bị giả mạo, chỉ đọc được chứ không thể ghi thì Verkle Tree cực kỳ phù hợp. Ngoài ra, bản thân Merkle Tree và Verkle Tree có dạng biến thể K-ary, cách triển khai cụ thể của cơ chế là tương tự nhau, chỉ cần thay đổi số lượng cây con dưới mỗi nút, bạn có thể xem so sánh hiệu suất cụ thể trong bảng sau.

So sánh hiệu suất thời gian của các phương pháp xác minh dữ liệu, nguồn ảnh: Verkle Trees

3.4 Phần mềm trung gian DA chung

Sự mở rộng liên tục của hệ sinh thái blockchain đã mang lại sự gia tăng liên tục về số lượng chuỗi công khai. Do những ưu điểm và tính không thể thay thế của từng chuỗi công khai trong các lĩnh vực tương ứng của chúng, nên các chuỗi công khai Lớp 1 gần như không thể thống nhất trong thời gian ngắn. Tuy nhiên, với sự phát triển của DeFi và nhiều vấn đề khác nhau với CEX, yêu cầu của người dùng đối với tài sản giao dịch chuỗi chéo phi tập trung cũng ngày càng tăng. Do đó, việc lưu trữ dữ liệu đa chuỗi lớp DA có thể loại bỏ các vấn đề bảo mật trong tương tác dữ liệu chuỗi chéo ngày càng nhận được nhiều sự chú ý hơn. Tuy nhiên, để chấp nhận dữ liệu lịch sử từ các chuỗi công khai khác nhau, lớp DA cần cung cấp giao thức phi tập trung để lưu trữ và xác minh luồng dữ liệu được tiêu chuẩn hóa. Ví dụ: kvye, phần mềm trung gian lưu trữ dựa trên Arweave, chủ động lấy dữ liệu từ chuỗi và tất cả Dữ liệu trên chuỗi được lưu trữ trong Arweave ở dạng chuẩn để giảm thiểu sự khác biệt trong quá trình truyền dữ liệu. Nói một cách tương đối, Layer2, đặc biệt cung cấp khả năng lưu trữ dữ liệu lớp DA cho một chuỗi công khai nhất định, tương tác với dữ liệu thông qua các nút chia sẻ nội bộ. Mặc dù nó làm giảm chi phí tương tác và cải thiện tính bảo mật nhưng nó có những hạn chế tương đối lớn và chỉ có thể cung cấp dữ liệu cho các chuỗi công khai cụ thể cung cấp dịch vụ.

4. Phương pháp bảo quản DA

4.1 Chuỗi chính DA

4.1.1 DankSharding-like

Loại giải pháp lưu trữ này chưa có tên xác định và đại diện nổi bật nhất là DankSharding trên Ethereum nên bài viết này sử dụng lớp DankSharding để chỉ loại giải pháp này. Loại giải pháp này chủ yếu sử dụng hai công nghệ lưu trữ DA nêu trên là Sharding và DAS. Đầu tiên, dữ liệu được chia thành các phần chia sẻ thích hợp thông qua Sharding, sau đó mỗi nút trích xuất một khối dữ liệu dưới dạng DAS để lưu trữ. Nếu có đủ nút trong toàn bộ mạng, chúng ta có thể chọn số lượng phân đoạn N lớn hơn, sao cho áp suất lưu trữ của mỗi nút chỉ bằng 1/N so với nút ban đầu, từ đó đạt được khả năng mở rộng N lần của không gian lưu trữ tổng thể. Đồng thời, để ngăn chặn tình trạng cực đoan là một Khối nhất định không được lưu trữ trong bất kỳ khối nào, DankSharding mã hóa dữ liệu bằng Mã tẩy và chỉ một nửa dữ liệu có thể được khôi phục hoàn toàn. Bước cuối cùng là quy trình xác minh dữ liệu, sử dụng cấu trúc cây Verkle và cam kết đa thức để đạt được xác minh nhanh chóng.

4.1.2 Lưu trữ tạm thời

Đối với DA của chuỗi chính, một trong những phương pháp xử lý dữ liệu đơn giản nhất là lưu trữ dữ liệu lịch sử trong thời gian ngắn. Về bản chất, blockchain đóng vai trò là một sổ cái công khai, cho phép toàn bộ mạng lưới chứng kiến những thay đổi đối với nội dung sổ cái mà không cần lưu trữ vĩnh viễn. Lấy Solana làm ví dụ, mặc dù dữ liệu lịch sử của nó được đồng bộ hóa với Arweave nhưng nút mạng chính chỉ giữ lại dữ liệu giao dịch trong hai ngày qua. Trên chuỗi công khai dựa trên hồ sơ tài khoản, dữ liệu lịch sử tại mỗi thời điểm sẽ giữ lại trạng thái cuối cùng của tài khoản trên blockchain, đủ để cung cấp cơ sở xác minh cho các thay đổi ở thời điểm tiếp theo. Đối với các dự án có nhu cầu đặc biệt về dữ liệu trước giai đoạn này, họ có thể tự lưu trữ dữ liệu đó trên các chuỗi công khai phi tập trung khác hoặc bởi một bên thứ ba đáng tin cậy. Nói cách khác, những người có nhu cầu bổ sung dữ liệu cần phải trả tiền cho việc lưu trữ dữ liệu lịch sử.

4.2 DA bên thứ ba

4.2.1 DA cụ thể cho chuỗi chính: EthStorage

  1. DA dành riêng cho chuỗi chính: Điều quan trọng nhất của lớp DA là tính bảo mật khi truyền dữ liệu. An toàn nhất tại thời điểm này là DA của chuỗi chính. Tuy nhiên, việc lưu trữ chuỗi chính phải chịu những hạn chế về không gian lưu trữ và sự cạnh tranh về tài nguyên. Do đó, khi lượng dữ liệu mạng tăng lên nhanh chóng, DA của bên thứ ba sẽ là lựa chọn tốt hơn nếu muốn đạt được khả năng lưu trữ dữ liệu lâu dài. Nếu DA của bên thứ ba có khả năng tương thích cao hơn với mạng chính, nó có thể thực hiện việc chia sẻ các nút và nó cũng sẽ có độ bảo mật cao hơn trong quá trình tương tác dữ liệu. Do đó, với tiền đề xem xét tính bảo mật, DA dành riêng cho chuỗi chính sẽ có những lợi thế rất lớn. Lấy Ethereum làm ví dụ, yêu cầu cơ bản đối với DA dành riêng cho chuỗi chính là phải tương thích với EVM và đảm bảo khả năng tương tác với dữ liệu và hợp đồng Ethereum. Các dự án tiêu biểu bao gồm Topia, EthStorage, v.v. Trong số đó, EthStorage hiện được phát triển tốt nhất về khả năng tương thích, vì ngoài khả năng tương thích ở cấp EVM, nó còn thiết lập đặc biệt các giao diện liên quan để kết nối với các công cụ phát triển Ethereum như Remix và Hardhat nhằm đạt được khả năng tương thích ở cấp độ EVM. Cấp độ công cụ phát triển Ethereum.
  2. EthStorage: EthStorage là một chuỗi công khai độc lập với Ethereum, nhưng các nút chạy trên nó vượt trội hơn các nút Ethereum. Nghĩa là, các nút chạy EthStorage cũng có thể chạy Ethereum cùng lúc. Thông qua mã hoạt động trên Ethereum, bạn có thể truy cập trực tiếp vào EthStorage. EthStorage thực hiện các hoạt động. Trong mô hình lưu trữ của EthStorage, chỉ một lượng nhỏ siêu dữ liệu được giữ lại trên mạng chính Ethereum để lập chỉ mục, về cơ bản là tạo ra cơ sở dữ liệu phi tập trung cho Ethereum. Trong giải pháp hiện tại, EthStorage thực hiện tương tác giữa mạng chính Ethereum và EthStorage bằng cách triển khai Hợp đồng EthStorage trên mạng chính Ethereum. Nếu Ethereum muốn lưu trữ dữ liệu, nó cần gọi hàm put() trong hợp đồng. Các tham số đầu vào là khóa và dữ liệu biến hai byte, trong đó dữ liệu đại diện cho dữ liệu sẽ được lưu trữ và khóa là vị trí của nó trong mạng Ethereum. Việc nhận dạng có thể được coi là tương tự như sự tồn tại của CID trong IPFS. Sau khi cặp dữ liệu (khóa, dữ liệu) được lưu trữ thành công trong mạng EthStorage, EthStorage sẽ tạo kvldx và gửi nó trở lại mạng chính Ethereum và tương ứng với khóa trên Ethereum. Giá trị này tương ứng với địa chỉ lưu trữ dữ liệu trên EthStorage nên ban đầu có thể thực hiện được. Vấn đề cần lưu trữ lượng lớn dữ liệu giờ trở thành lưu trữ một cặp (key, kvldx), do đó giảm đáng kể chi phí lưu trữ của mạng chính Ethereum . Nếu cần gọi dữ liệu đã lưu trữ trước đó, bạn cần sử dụng hàm get() trong EthStorage và nhập tham số key. Bạn có thể nhanh chóng tìm kiếm dữ liệu trên EthStorage thông qua kvldx được lưu trữ trong Ethereum.

Hợp đồng EthStorage, nguồn ảnh: Kernel Ventures

  1. Về cách các nút lưu trữ dữ liệu cụ thể, EthStorage dựa trên mô hình Arweave. Đầu tiên, một số lượng lớn các cặp (k, v) từ ETH được phân chia. Mỗi Sharding chứa một số cặp dữ liệu (k, v) cố định. Ngoài ra còn có giới hạn về kích thước cụ thể của từng cặp (k, v). Bằng cách này, tính công bằng của khối lượng công việc tiếp theo dành cho người khai thác trong quy trình thưởng lưu trữ được đảm bảo. Để phát hành phần thưởng, trước tiên cần xác minh xem nút có lưu trữ dữ liệu hay không. Trong quá trình này, EthStorage sẽ chia Sharding (kích thước cấp TB) thành nhiều phần và giữ lại gốc Verkle trên mạng chính Ethereum để xác minh. Sau đó, người khai thác trước tiên cần cung cấp một nonce để tạo địa chỉ của một số khối thông qua thuật toán ngẫu nhiên với hàm băm của khối trước đó trên EthStorage. Người khai thác cần cung cấp dữ liệu của các khối này để chứng minh rằng nó thực sự lưu trữ toàn bộ Sharding. Nhưng nonce này không thể được chọn tùy ý, nếu không, nút sẽ chọn một nonce phù hợp chỉ tương ứng với đoạn được lưu trữ của nó và vượt qua quá trình xác minh. Do đó, nonce này phải sao cho giá trị độ khó của đoạn được tạo có thể đáp ứng các yêu cầu của mạng sau khi trộn và băm, và Chỉ nút đầu tiên gửi bằng chứng truy cập ngẫu nhiên và nonce mới có thể nhận được phần thưởng.

4.2.2 Mô đun hóa DA: Celestia

  1. Mô-đun chuỗi khối: Ở giai đoạn này, các giao dịch được yêu cầu thực hiện bởi chuỗi công khai Layer1 chủ yếu được chia thành bốn phần sau: (1) Thiết kế logic cơ bản của mạng, chọn các nút xác minh theo cách nhất định, viết khối và phân bổ phần thưởng cho người bảo trì mạng; (2) Đóng gói, xử lý giao dịch và công bố các giao dịch liên quan; (3) Xác minh các giao dịch sẽ được tải lên chuỗi và xác định trạng thái cuối cùng; (4) Lưu trữ và duy trì dữ liệu lịch sử trên blockchain. Theo các chức năng khác nhau đã hoàn thành, chúng ta có thể chia blockchain thành bốn mô-đun, đó là lớp đồng thuận, lớp thực thi, lớp giải quyết và lớp sẵn có của dữ liệu (lớp DA).
  2. Thiết kế chuỗi khối mô-đun: Trong một thời gian dài, bốn mô-đun này đã được tích hợp vào chuỗi công khai. Một blockchain như vậy được gọi là một blockchain đơn. Hình thức này ổn định hơn và dễ bảo trì hơn, nhưng nó cũng gây áp lực rất lớn lên một chuỗi công khai. Trong quá trình hoạt động thực tế, bốn mô-đun này ràng buộc lẫn nhau và cạnh tranh để giành lấy tài nguyên lưu trữ và tính toán hạn chế của chuỗi công cộng. Ví dụ: việc tăng tốc độ xử lý của lớp xử lý sẽ mang lại áp lực lưu trữ lớn hơn cho lớp sẵn có của dữ liệu; để đảm bảo tính bảo mật của lớp thực thi, cần có cơ chế xác minh phức tạp hơn nhưng lại làm chậm tốc độ xử lý giao dịch. Do đó, việc phát triển chuỗi công cộng thường phải đối mặt với sự đánh đổi giữa bốn mô-đun này. Để vượt qua nút thắt trong việc cải thiện hiệu suất chuỗi công cộng, các nhà phát triển đã đề xuất một giải pháp chuỗi khối mô-đun. Ý tưởng cốt lõi của blockchain mô-đun là tách một hoặc nhiều trong số bốn mô-đun được đề cập ở trên và triển khai chúng trên một chuỗi công khai riêng biệt. Bằng cách này, chuỗi công khai chỉ có thể tập trung vào việc cải thiện tốc độ giao dịch hoặc dung lượng lưu trữ, vượt qua những hạn chế trước đây về hiệu suất tổng thể của chuỗi khối do thiếu sót.
  3. DA mô-đun: Phương pháp phức tạp nhằm tách lớp DA khỏi hoạt động kinh doanh blockchain và chuyển nó sang chuỗi công khai được coi là giải pháp khả thi cho dữ liệu lịch sử ngày càng tăng của Lớp 1. Việc khám phá trong lĩnh vực này vẫn đang ở giai đoạn đầu ở giai đoạn này , và dự án tiêu biểu nhất hiện nay là Celestia. Về phương pháp lưu trữ cụ thể, Celestia dựa trên phương pháp lưu trữ của Danksharding, phương pháp này cũng chia dữ liệu thành nhiều khối và mỗi nút trích xuất một phần để lưu trữ và sử dụng cam kết đa thức KZG để xác minh tính toàn vẹn của dữ liệu. Đồng thời, Celestia sử dụng mã xóa RS hai chiều tiên tiến, dữ liệu gốc được viết lại dưới dạng ma trận ak và chỉ có thể khôi phục được 25% dữ liệu gốc. Tuy nhiên, việc lưu trữ phân chia dữ liệu về cơ bản chỉ nhân áp lực lưu trữ của toàn bộ nút mạng với một hệ số trên tổng khối lượng dữ liệu. Áp lực lưu trữ của nút và khối lượng dữ liệu vẫn duy trì mức tăng trưởng tuyến tính. Khi Lớp 1 tiếp tục cải thiện tốc độ giao dịch, áp lực lưu trữ của các nút một ngày nào đó vẫn có thể đạt đến mức tới hạn không thể chấp nhận được. Để giải quyết vấn đề này, thành phần IPLD được giới thiệu trong Celestia để xử lý. đối với kDữ liệu trong ma trận k không được lưu trữ trực tiếp trên Celestia mà được lưu trữ trong mạng LL-IPFS và chỉ mã CID của dữ liệu trên IPFS được giữ lại trong nút. Khi người dùng yêu cầu một phần dữ liệu lịch sử, nút sẽ gửi CID tương ứng đến thành phần IPLD và dữ liệu gốc sẽ được gọi trên IPFS thông qua CID này. Nếu dữ liệu tồn tại trên IPFS, nó sẽ được trả về thông qua thành phần và nút IPLD; nếu nó không tồn tại, dữ liệu không thể được trả lại.

Phương pháp đọc dữ liệu Celestia, nguồn hình ảnh: Celestia Core

  1. Celestia: Lấy Celestia làm ví dụ, chúng ta có thể có cái nhìn thoáng qua về ứng dụng của blockchain mô-đun trong việc giải quyết vấn đề lưu trữ của Ethereum. Nút Rollup sẽ gửi dữ liệu giao dịch được đóng gói và xác minh đến Celestia và lưu trữ dữ liệu trên Celestia. Trong quá trình này, Celestia chỉ lưu trữ dữ liệu mà không có nhận thức quá mức. Cuối cùng, nút Rollup sẽ được cuộn theo kích thước của không gian lưu trữ. Các tia tia tương ứng sẽ được trả cho Celestia dưới dạng phí lưu trữ. Bộ lưu trữ trong Celstia sử dụng DAS và mã xóa tương tự như trong EIP4844, nhưng mã xóa đa thức trong EIP4844 được nâng cấp và mã xóa RS hai chiều được sử dụng để nâng cấp lại bảo mật lưu trữ. Chỉ 25% số vết gãy có thể khôi phục lại toàn bộ dữ liệu giao dịch. Về cơ bản nó chỉ là một chuỗi POS công khai với chi phí lưu trữ thấp. Nếu nó được sử dụng để giải quyết vấn đề lưu trữ dữ liệu lịch sử của Ethereum thì cần có nhiều mô-đun cụ thể khác để hợp tác với Celestia. Ví dụ: về mặt tổng hợp, chế độ tổng hợp được khuyến khích cao trên trang web chính thức của Celestia là Sovereign Rollup. Khác với Rollup thông thường ở Lớp 2, các giao dịch chỉ được tính toán và xác minh, tức là các hoạt động của lớp thực thi được hoàn thành. Sovereign Rollup bao gồm toàn bộ quá trình thực hiện và thanh toán, giúp giảm thiểu việc xử lý các giao dịch trên Celestia. Khi tính bảo mật tổng thể của Celestia yếu hơn Ethereum, biện pháp này có thể tối đa hóa tính bảo mật của quá trình giao dịch tổng thể. Về mặt đảm bảo tính bảo mật của dữ liệu được gọi bởi Celestia, mạng chính của Ethereum, giải pháp chủ đạo nhất hiện nay là hợp đồng thông minh cầu trọng lực lượng tử. Đối với dữ liệu được lưu trữ trên Celestia, nó sẽ tạo ra Verkle Root (bằng chứng về tính khả dụng của dữ liệu) và giữ nó trên hợp đồng cầu trọng lực lượng tử của mạng chính Ethereum. Mỗi khi Ethereum gọi dữ liệu lịch sử trên Celestia, kết quả băm của nó sẽ được so sánh với Verkle Root được sử dụng để so sánh và nếu khớp, điều đó có nghĩa rằng đó thực sự là dữ liệu lịch sử thực.

4.2.3 Chuỗi lưu trữ DA

Về nguyên tắc kỹ thuật DA chuỗi chính, nhiều công nghệ tương tự như Sharding được mượn từ chuỗi lưu trữ công cộng. Trong số các DA của bên thứ ba, một số DA trực tiếp sử dụng chuỗi lưu trữ công khai để hoàn thành một số nhiệm vụ lưu trữ. Ví dụ: dữ liệu giao dịch cụ thể trong Celestia được đặt trên mạng LL-IPFS. Trong giải pháp DA của bên thứ ba, ngoài việc xây dựng chuỗi công khai riêng để giải quyết vấn đề lưu trữ của Layer1, một cách trực tiếp hơn là kết nối trực tiếp chuỗi lưu trữ công khai với Layer1 để lưu trữ dữ liệu lịch sử khổng lồ trên Layer1. Đối với các chuỗi khối hiệu suất cao, khối lượng dữ liệu lịch sử thậm chí còn lớn hơn. Khi chạy ở tốc độ tối đa, khối lượng dữ liệu của chuỗi công khai hiệu suất cao Solana gần bằng 4 PG, hoàn toàn vượt quá phạm vi lưu trữ của các nút thông thường. Giải pháp mà Solana chọn là lưu trữ dữ liệu lịch sử trên mạng lưu trữ phi tập trung Arweave và chỉ giữ lại 2 ngày dữ liệu trên các nút mạng chính để xác minh. Để đảm bảo tính bảo mật của quy trình được lưu trữ, Solana và Arweave Chain đã thiết kế đặc biệt một giao thức cầu lưu trữ, Solar Bridge. Dữ liệu được nút Solana xác minh sẽ được đồng bộ hóa với Arweave và thẻ tương ứng sẽ được trả về. Chỉ thông qua thẻ này, nút Solana mới có thể xem dữ liệu lịch sử của chuỗi khối Solana bất kỳ lúc nào. Trên Arweave, không cần tất cả các nút mạng phải duy trì tính nhất quán của dữ liệu và sử dụng điều này làm ngưỡng để tham gia vào các hoạt động mạng. Thay vào đó, việc lưu trữ phần thưởng được thông qua. Trước hết, Arweave không sử dụng cấu trúc chuỗi truyền thống để xây dựng các khối mà giống với cấu trúc biểu đồ hơn. Trong Arweave, một khối mới sẽ không chỉ trỏ đến khối trước đó mà còn trỏ ngẫu nhiên đến Khối thu hồi khối được tạo. Vị trí cụ thể của Khối thu hồi được xác định bởi kết quả băm của khối trước đó và chiều cao khối của nó. Vị trí của Khối thu hồi không được xác định cho đến khi khối trước đó được khai thác. Tuy nhiên, trong quá trình tạo khối mới, nút cần có dữ liệu Khối thu hồi để sử dụng cơ chế POW nhằm tính toán hàm băm của độ khó được chỉ định. Chỉ người khai thác đầu tiên tính toán hàm băm đáp ứng độ khó mới có thể nhận được phần thưởng, điều này khuyến khích người khai thác lưu trữ càng nhiều càng tốt. dữ liệu lịch sử. Đồng thời, càng ít người lưu trữ một khối lịch sử nhất định thì các nút sẽ có ít đối thủ cạnh tranh hơn khi tạo ra các nonce gặp khó khăn, khuyến khích các thợ đào lưu trữ ít khối hơn trong mạng. Cuối cùng, để đảm bảo rằng các nút lưu trữ dữ liệu vĩnh viễn trong Arweave, nó giới thiệu cơ chế chấm điểm nút của WildFire. Các nút sẽ có xu hướng giao tiếp với các nút có thể cung cấp nhiều dữ liệu lịch sử nhanh hơn, trong khi các nút có xếp hạng thấp hơn thường không thể nhận được dữ liệu giao dịch và khối mới nhất càng sớm càng tốt và do đó không thể tận dụng sự cạnh tranh của POW…

Phương pháp thi công khối Arweave, nguồn ảnh: Arweave Yellow-Paper

5. So sánh tổng hợp

Tiếp theo, chúng tôi sẽ so sánh ưu điểm và nhược điểm của năm giải pháp lưu trữ dựa trên bốn khía cạnh của chỉ số hiệu suất DA.

  1. Bảo mật: Nguồn gốc lớn nhất của vấn đề bảo mật dữ liệu là sự mất mát trong quá trình truyền dữ liệu và sự giả mạo độc hại từ các nút không trung thực. Trong quy trình xuyên chuỗi, do tính độc lập và trạng thái của hai chuỗi công khai, bảo mật truyền dữ liệu là một trong những lĩnh vực bị ảnh hưởng nặng nề nhất. Ngoài ra, Lớp 1, hiện yêu cầu lớp DA chuyên dụng, thường có một nhóm đồng thuận mạnh mẽ và tính bảo mật của nó sẽ cao hơn nhiều so với các chuỗi công khai lưu trữ thông thường. Do đó, giải pháp DA chuỗi chính có tính bảo mật cao hơn. Sau khi đảm bảo an toàn cho việc truyền dữ liệu, bước tiếp theo là đảm bảo an toàn cho dữ liệu cuộc gọi. Nếu chỉ xem xét dữ liệu lịch sử ngắn hạn được sử dụng để xác minh giao dịch, thì dữ liệu tương tự sẽ được toàn bộ mạng sao lưu trong mạng lưu trữ tạm thời. Trong giải pháp giống như DankSharding, số lượng bản sao lưu dữ liệu trung bình chỉ bằng 1/N số nút trong toàn bộ mạng. , dự phòng dữ liệu nhiều hơn có thể khiến dữ liệu ít có khả năng bị mất hơn và cũng có thể cung cấp nhiều mẫu tham chiếu hơn trong quá trình xác minh. Vì vậy, việc lưu trữ tạm thời sẽ tương đối có tính bảo mật dữ liệu cao hơn. Trong giải pháp DA của bên thứ ba, DA dành riêng cho chuỗi chính sử dụng các nút công khai với chuỗi chính và dữ liệu có thể được truyền trực tiếp qua các nút chuyển tiếp này trong quá trình xuyên chuỗi nên sẽ có độ bảo mật tương đối cao hơn các giải pháp DA khác .
  2. Chi phí lưu trữ: Yếu tố lớn nhất ảnh hưởng đến chi phí lưu trữ là lượng dữ liệu dư thừa. Trong giải pháp lưu trữ ngắn hạn của chuỗi chính DA, nó được lưu trữ dưới dạng đồng bộ hóa dữ liệu của toàn bộ nút mạng. Mọi dữ liệu mới được lưu trữ cần phải được sao lưu trong toàn bộ nút mạng, nơi có chi phí lưu trữ cao nhất. Chi phí lưu trữ cao xác định rằng phương pháp này chỉ phù hợp để lưu trữ tạm thời trong các mạng TPS cao. Thứ hai là phương thức lưu trữ của Sharding, bao gồm Sharding trong chuỗi chính và Sharding trong DA của bên thứ ba. Do chuỗi chính thường có nhiều nút hơn nên một Block tương ứng cũng sẽ có nhiều bản sao lưu hơn nên giải pháp Sharding chuỗi chính sẽ có chi phí cao hơn. Chi phí lưu trữ thấp nhất là chuỗi lưu trữ công cộng DA áp dụng phương thức lưu trữ phần thưởng. Theo sơ đồ này, lượng dữ liệu dư thừa thường dao động xung quanh một hằng số cố định. Đồng thời, cơ chế điều chỉnh động cũng được giới thiệu trong chuỗi lưu trữ công cộng DA để thu hút các nút lưu trữ dữ liệu ít sao lưu hơn bằng cách tăng phần thưởng để đảm bảo an toàn dữ liệu.
  3. Tốc độ đọc dữ liệu: Tốc độ lưu trữ dữ liệu chủ yếu bị ảnh hưởng bởi vị trí lưu trữ dữ liệu trong không gian lưu trữ, đường dẫn chỉ mục dữ liệu và sự phân phối dữ liệu trong các nút. Trong số đó, vị trí lưu trữ dữ liệu trên nút có tác động lớn hơn đến tốc độ, vì việc lưu trữ dữ liệu trong bộ nhớ hoặc SSD có thể khiến tốc độ đọc chênh lệch hàng chục lần. Việc lưu trữ của chuỗi công khai DA chủ yếu sử dụng bộ lưu trữ SSD, vì tải trên chuỗi này không chỉ bao gồm dữ liệu của lớp DA mà còn bao gồm dữ liệu cá nhân có mức sử dụng bộ nhớ cao như video và hình ảnh do người dùng tải lên. Nếu mạng không sử dụng SSD làm không gian lưu trữ thì sẽ khó chịu được áp lực lưu trữ lớn và đáp ứng nhu cầu lưu trữ lâu dài. Thứ hai, đối với DA bên thứ ba và DA chuỗi chính sử dụng trạng thái bộ nhớ để lưu trữ dữ liệu, trước tiên DA của bên thứ ba cần tìm kiếm dữ liệu chỉ mục tương ứng trong chuỗi chính, sau đó chuyển dữ liệu chỉ mục qua chuỗi sang chuỗi thứ ba. -party DA và trả lại thông qua dữ liệu cầu lưu trữ. Ngược lại, DA chuỗi chính có thể truy vấn dữ liệu trực tiếp từ các nút và do đó có tốc độ truy xuất dữ liệu nhanh hơn. Cuối cùng, trong DA chuỗi chính, phương thức Sharding yêu cầu gọi Block từ nhiều nút và khôi phục dữ liệu gốc. Vì vậy, so với việc lưu trữ ngắn hạn không có lưu trữ phân mảnh thì tốc độ sẽ chậm hơn.
  4. Tính phổ quát của lớp DA: Tính phổ quát DA của chuỗi chính gần bằng 0 vì không thể chuyển dữ liệu trên chuỗi công khai không đủ dung lượng lưu trữ sang chuỗi công khai khác không đủ dung lượng lưu trữ. Trong DA của bên thứ ba, tính linh hoạt của giải pháp và khả năng tương thích của nó với chuỗi chính cụ thể là những chỉ số trái ngược nhau. Ví dụ: trong giải pháp DA dành riêng cho chuỗi chính được thiết kế cho một chuỗi chính nhất định, rất nhiều cải tiến đã được thực hiện ở loại nút và mức độ đồng thuận mạng để thích ứng với chuỗi công khai. Do đó, những cải tiến này sẽ đóng một vai trò nào đó khi giao tiếp với các chuỗi công khai khác. một trở ngại rất lớn. Trong DA của bên thứ ba, chuỗi lưu trữ công cộng DA hoạt động tốt hơn về tính linh hoạt so với DA mô-đun. Chuỗi lưu trữ công khai DA có cộng đồng nhà phát triển lớn hơn và nhiều cơ sở mở rộng hơn, có thể thích ứng với các điều kiện của các chuỗi công khai khác nhau. Đồng thời, chuỗi lưu trữ công cộng DA thu thập dữ liệu tích cực hơn thông qua việc chụp gói, thay vì nhận thông tin thụ động được truyền từ các chuỗi công khai khác. Do đó, nó có thể mã hóa dữ liệu theo cách của mình, đạt được khả năng lưu trữ luồng dữ liệu được tiêu chuẩn hóa, tạo điều kiện thuận lợi cho việc quản lý thông tin dữ liệu từ các chuỗi chính khác nhau và cải thiện hiệu quả lưu trữ.

So sánh hiệu suất giải pháp lưu trữ, nguồn hình ảnh: Kernel Ventures

6. Tóm tắt

Chuỗi khối hiện tại đang trải qua quá trình chuyển đổi từ Tiền điện tử sang Web3 toàn diện hơn. Quá trình này không chỉ mang lại sự phong phú cho các dự án trên blockchain. Để đáp ứng hoạt động đồng thời của rất nhiều dự án trên Layer1 đồng thời đảm bảo trải nghiệm của các dự án Gamefi và Socialfi, Layer1 do Ethereum đại diện đã áp dụng các phương pháp như Rollup và Blobs để cải thiện TPS. Trong số các blockchain mới, số lượng blockchain hiệu suất cao cũng đang tăng lên. Nhưng TPS cao hơn không chỉ có nghĩa là hiệu suất cao hơn mà còn có áp lực lưu trữ trên mạng lớn hơn. Đối với dữ liệu lịch sử khổng lồ, các phương pháp DA khác nhau dựa trên chuỗi chính và bên thứ ba hiện đang được đề xuất để thích ứng với sự gia tăng áp lực lưu trữ trên chuỗi. Mỗi phương pháp cải tiến đều có ưu điểm, nhược điểm và có khả năng ứng dụng khác nhau trong các tình huống khác nhau.

Các chuỗi khối tập trung vào thanh toán có yêu cầu cực kỳ cao về tính bảo mật của dữ liệu lịch sử và không theo đuổi TPS đặc biệt cao. Nếu loại chuỗi công khai này vẫn đang trong giai đoạn chuẩn bị, phương pháp lưu trữ giống như DankSharding có thể được áp dụng, phương pháp này có thể đạt được sự gia tăng đáng kể về dung lượng lưu trữ trong khi vẫn đảm bảo an ninh. Tuy nhiên, nếu đó là một chuỗi công khai như Bitcoin đã hình thành và có số lượng nút lớn, thì sẽ có rủi ro rất lớn trong việc cải tiến vội vàng ở lớp đồng thuận. Do đó, DA chuyên dụng cho chuỗi chính có độ bảo mật cao hơn trong lưu trữ ngoài chuỗi có thể được sử dụng để cân bằng các vấn đề về bảo mật và lưu trữ… Tuy nhiên, điều đáng chú ý là các chức năng của blockchain không tĩnh mà liên tục thay đổi. Ví dụ: các chức năng ban đầu của Ethereum chủ yếu giới hạn ở thanh toán và xử lý tài sản và giao dịch tự động đơn giản bằng hợp đồng thông minh. Tuy nhiên, khi bối cảnh blockchain tiếp tục mở rộng, nhiều dự án Socialfi và Defi khác nhau đã dần được thêm vào Ethereum. Giúp Ethereum phát triển theo hướng toàn diện hơn. Gần đây, với sự bùng nổ của hệ sinh thái khắc chữ trên Bitcoin, phí giao dịch của mạng Bitcoin đã tăng gần 20 lần kể từ tháng 8. Điều này phản ánh tốc độ giao dịch của mạng Bitcoin ở giai đoạn này không thể đáp ứng nhu cầu giao dịch và các nhà giao dịch chỉ có thể Tăng phí để giao dịch được xử lý nhanh nhất có thể. Giờ đây, cộng đồng Bitcoin cần phải đánh đổi, chấp nhận phí cao và tốc độ giao dịch chậm hay giảm an ninh mạng để tăng tốc độ giao dịch nhưng làm thất bại mục đích ban đầu của hệ thống thanh toán. Nếu cộng đồng Bitcoin chọn cái sau, thì trước áp lực dữ liệu ngày càng tăng, giải pháp lưu trữ tương ứng cũng sẽ cần phải được điều chỉnh.

Phí giao dịch mạng chính Bitcoin biến động, nguồn hình ảnh: OKLINK

Các chuỗi công khai có chức năng toàn diện có nhu cầu theo đuổi TPS cao hơn và sự phát triển của dữ liệu lịch sử thậm chí còn lớn hơn. Rất khó để thích ứng với sự phát triển nhanh chóng của TPS trong thời gian dài bằng cách áp dụng giải pháp giống như DankSharding. Do đó, cách thích hợp hơn là di chuyển dữ liệu sang DA của bên thứ ba để lưu trữ. Trong số đó, DA dành riêng cho chuỗi chính có khả năng tương thích cao nhất và có thể có nhiều lợi thế hơn nếu chỉ xem xét các vấn đề lưu trữ của một chuỗi công khai duy nhất. Nhưng ngày nay, khi các chuỗi công khai Lớp 1 đang phát triển mạnh mẽ, việc chuyển giao tài sản xuyên chuỗi và tương tác dữ liệu đã trở thành mục tiêu chung của cộng đồng blockchain. Nếu tính đến sự phát triển lâu dài của toàn bộ hệ sinh thái blockchain, việc lưu trữ dữ liệu lịch sử của các chuỗi công khai khác nhau trên cùng một chuỗi công khai có thể loại bỏ nhiều vấn đề bảo mật trong quá trình xác minh và trao đổi dữ liệu. Do đó, sự khác biệt giữa DA mô-đun và cách DA chuỗi lưu trữ công cộng có thể là lựa chọn tốt hơn. Với tiền đề là tính linh hoạt chặt chẽ, DA mô-đun tập trung vào việc cung cấp các dịch vụ lớp DA blockchain, giới thiệu dữ liệu lịch sử quản lý dữ liệu chỉ mục tinh tế hơn, có thể phân loại hợp lý các dữ liệu chuỗi công khai khác nhau và lưu trữ dữ liệu chuỗi công khai. Có nhiều ưu điểm hơn. Tuy nhiên, giải pháp trên không tính đến chi phí điều chỉnh lớp đồng thuận trên chuỗi công khai hiện có. Quá trình này cực kỳ rủi ro. Một khi sự cố xảy ra, nó có thể dẫn đến các lỗ hổng hệ thống và khiến chuỗi công khai mất đi sự đồng thuận của cộng đồng. Do đó, nếu đó là giải pháp chuyển tiếp trong quá trình mở rộng blockchain, thì việc lưu trữ tạm thời đơn giản nhất của chuỗi chính có thể phù hợp hơn. Cuối cùng, cuộc thảo luận ở trên dựa trên hiệu suất trong quá trình hoạt động thực tế. Tuy nhiên, nếu mục tiêu của một chuỗi công khai nhất định là phát triển hệ sinh thái của nó và thu hút nhiều bên dự án và người tham gia hơn, thì nó cũng có thể ưu tiên các dự án được hỗ trợ và tài trợ bởi nền tảng của nó… Ví dụ: khi hiệu suất tổng thể tương đương hoặc thậm chí một chút Thấp hơn so với các giải pháp lưu trữ chuỗi công cộng, cộng đồng Ethereum cũng sẽ có xu hướng hướng đến các dự án Lớp 2 được Ethereum Foundation hỗ trợ như EthStorage để tiếp tục phát triển hệ sinh thái Ethereum.

Nhìn chung, các chức năng của blockchain ngày nay ngày càng trở nên phức tạp hơn, điều này cũng mang đến yêu cầu về không gian lưu trữ lớn hơn. Khi có đủ nút xác minh Lớp 1, dữ liệu lịch sử không cần phải được sao lưu bởi tất cả các nút trong toàn bộ mạng. Chỉ khi số lượng bản sao lưu đạt đến một giá trị nhất định thì tính bảo mật tương đối mới được đảm bảo.. đồng thời, Sự phân công lao động trong các chuỗi công cộng cũng ngày càng trở nên chi tiết hơn., Lớp 1 chịu trách nhiệm về sự đồng thuận và thực thi, Rollup chịu trách nhiệm tính toán và xác minh và một blockchain riêng biệt được sử dụng để lưu trữ dữ liệu. Mỗi bộ phận có thể tập trung vào một chức năng nhất định mà không bị giới hạn bởi hoạt động của các bộ phận khác. Tuy nhiên, dung lượng lưu trữ cụ thể hoặc tỷ lệ nút được phép lưu trữ dữ liệu lịch sử có thể đạt được sự cân bằng giữa bảo mật và hiệu quả cũng như cách đảm bảo khả năng tương tác an toàn giữa các chuỗi khối khác nhau, đây là vấn đề đòi hỏi các nhà phát triển chuỗi khối phải suy nghĩ. và không ngừng cải tiến. Các nhà đầu tư vẫn chú ý đến dự án DA dành riêng cho chuỗi chính trên Ethereum, vì Ethereum đã có đủ người ủng hộ ở giai đoạn này và không cần phải dựa vào các cộng đồng khác để mở rộng ảnh hưởng của nó. Điều cần thiết hơn là cải thiện và phát triển cộng đồng của bạn và thu hút nhiều dự án hơn vào hệ sinh thái Ethereum. Tuy nhiên, đối với các chuỗi công cộng ở vị trí bắt kịp, chẳng hạn như Solana và Aptos, bản thân chuỗi đơn không có hệ sinh thái hoàn chỉnh như vậy, do đó, nó có thể có xu hướng hợp tác với các cộng đồng khác để xây dựng một hệ sinh thái chuỗi chéo khổng lồ. để mở rộng ảnh hưởng. Do đó, Layer1 mới nổi, DA của bên thứ ba nói chung đáng được chú ý hơn.


Kernel Ventures là quỹ đầu tư mạo hiểm tiền điện tử được thúc đẩy bởi cộng đồng nghiên cứu và phát triển với hơn 70 khoản đầu tư giai đoạn đầu tập trung vào cơ sở hạ tầng, phần mềm trung gian, dApps, đặc biệt là ZK, Rollup, DEX, chuỗi khối mô-đun và giới thiệu các khu vực dọc cho hàng tỷ người dùng tiền điện tử ở tương lai, chẳng hạn như trừu tượng hóa tài khoản, tính sẵn có của dữ liệu, khả năng mở rộng, v.v. Trong bảy năm qua, chúng tôi đã cam kết hỗ trợ sự phát triển của các cộng đồng phát triển cốt lõi và các hiệp hội blockchain đại học trên toàn thế giới.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [mirror]. Mọi bản quyền thuộc về tác giả gốc [Kernel Ventures Jerry Luo]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn , họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.

Kernel Ventures: Tính sẵn có của dữ liệu và thiết kế lớp dữ liệu lịch sử

Trung cấp1/11/2024, 8:41:07 AM
Bài viết này khám phá và giải thích các chỉ số hiệu suất DA, các công nghệ liên quan đến DA và giải pháp lưu trữ lớp DA.
  1. Trong giai đoạn đầu của blockchain, việc duy trì tính nhất quán của dữ liệu được coi là cực kỳ quan trọng để đảm bảo tính bảo mật và phân cấp. Tuy nhiên, với sự phát triển của hệ sinh thái blockchain, áp lực lưu trữ cũng ngày càng tăng, dẫn đến xu hướng tập trung hóa trong hoạt động của nút. Trong trường hợp đó, vấn đề chi phí lưu trữ do sự tăng trưởng TPS ở Lớp 1 mang lại cần được giải quyết khẩn cấp.
  2. Đối mặt với vấn đề này, các nhà phát triển nên đề xuất một giải pháp tính đến tính bảo mật, chi phí lưu trữ, tốc độ đọc dữ liệu và tính linh hoạt của lớp DA.
  3. Trong quá trình giải quyết vấn đề này, nhiều công nghệ và ý tưởng mới đã xuất hiện, bao gồm Sharding, DAS, Verkle Tree, các thành phần trung gian DA, v.v. Họ cố gắng tối ưu hóa sơ đồ lưu trữ của lớp DA bằng cách giảm sự dư thừa dữ liệu và cải thiện hiệu quả xác thực dữ liệu.
  4. Các giải pháp DA được phân loại rộng rãi thành hai loại dựa trên góc độ vị trí lưu trữ dữ liệu, đó là DA chuỗi chính và DA của bên thứ ba. DA chuỗi chính được thiết kế từ quan điểm làm sạch dữ liệu thường xuyên và lưu trữ dữ liệu được cắt lát để giảm áp lực lưu trữ lên các nút, trong khi DA của bên thứ ba được thiết kế để phục vụ nhu cầu lưu trữ và có giải pháp hợp lý cho lượng lớn dữ liệu. Do đó, chúng tôi chủ yếu cân bằng giữa khả năng tương thích chuỗi đơn và khả năng tương thích đa chuỗi trong DA của bên thứ ba, đồng thời đề xuất ba loại giải pháp: DA dành riêng cho chuỗi chính, DA được mô-đun hóa và DA chuỗi công cộng lưu trữ.
  5. Chuỗi công khai kiểu thanh toán có yêu cầu rất cao về bảo mật dữ liệu lịch sử và do đó phù hợp để sử dụng trong chuỗi chính làm lớp DA. Tuy nhiên, đối với các chuỗi công khai đã hoạt động trong thời gian dài và có số lượng lớn người khai thác đang chạy mạng, sẽ phù hợp hơn khi áp dụng DA của bên thứ ba không liên quan đến thay đổi lớp đồng thuận với độ bảo mật tương đối cao. Đối với các chuỗi công cộng toàn diện, việc sử dụng bộ lưu trữ DA chuyên dụng của chuỗi chính với dung lượng dữ liệu lớn hơn, chi phí thấp hơn và bảo mật sẽ phù hợp hơn. Tuy nhiên, xem xét nhu cầu về chuỗi chéo, DA mô-đun cũng là một lựa chọn tốt.
  6. Nhìn chung, blockchain đang hướng tới việc giảm sự dư thừa dữ liệu cũng như phân công lao động đa chuỗi.

1. Bối cảnh

Là một sổ cái phân tán, blockchain cần lưu trữ dữ liệu lịch sử trên tất cả các nút để đảm bảo tính bảo mật và phân cấp đầy đủ cho việc lưu trữ dữ liệu. Vì tính chính xác của mỗi thay đổi trạng thái có liên quan đến trạng thái trước đó (nguồn giao dịch), để đảm bảo tính chính xác của giao dịch, về nguyên tắc, blockchain phải lưu trữ tất cả hồ sơ lịch sử từ giao dịch đầu tiên đến giao dịch hiện tại. Lấy Ethereum làm ví dụ, ngay cả khi kích thước khối trung bình được ước tính là 20 kb thì tổng kích thước khối Ethereum hiện tại đã lên tới 370 GB. Ngoài bản thân khối, một nút đầy đủ cũng cần ghi lại trạng thái và biên lai giao dịch. Tính phần này thì tổng dung lượng lưu trữ của một nút đã vượt quá 1 TB, tập trung hoạt động của nút cho một số ít người.

Chiều cao khối mới nhất của Ethereum, nguồn hình ảnh: Etherscan

2. Các chỉ số hoạt động DA

2.1 An toàn

So với cơ sở dữ liệu hoặc cấu trúc lưu trữ danh sách liên kết, tính không thể so sánh của blockchain xuất phát từ khả năng xác minh dữ liệu mới được tạo thông qua dữ liệu lịch sử. Vì vậy, việc đảm bảo tính bảo mật của dữ liệu lịch sử là vấn đề đầu tiên cần được quan tâm trong việc lưu trữ lớp DA. Khi đánh giá tính bảo mật dữ liệu của hệ thống blockchain, chúng tôi thường phân tích nó từ lượng dữ liệu dư thừa và phương pháp xác minh tính khả dụng của dữ liệu.

  1. Lượng dự phòng: Về mức độ dư thừa dữ liệu trong hệ thống blockchain, nó chủ yếu có thể đóng các vai trò sau: Thứ nhất, nếu số lượng dữ liệu dư thừa trong mạng lớn hơn, khi người xác minh cần xem trạng thái tài khoản trong một khối lịch sử nhất định để xác minh Khi một giao dịch đang được xác minh, nó có thể lấy nhiều mẫu nhất để tham khảo và chọn dữ liệu được ghi lại bởi hầu hết các nút. Trong cơ sở dữ liệu truyền thống, do dữ liệu chỉ được lưu trữ dưới dạng cặp khóa-giá trị trên một nút nhất định nên các thay đổi đối với dữ liệu lịch sử chỉ có thể được thực hiện trên một nút duy nhất và chi phí tấn công là cực kỳ thấp. Về lý thuyết, số lượng dư thừa càng lớn thì dữ liệu càng ít có khả năng xảy ra. Mức độ tin cậy càng cao. Đồng thời, càng lưu trữ nhiều nút thì khả năng mất dữ liệu càng ít. Điều này cũng có thể được so sánh với máy chủ tập trung lưu trữ các trò chơi Web2. Khi tất cả các máy chủ phụ trợ bị tắt, máy chủ sẽ bị tắt hoàn toàn. Tuy nhiên, càng nhiều càng tốt, vì mỗi phần dư thừa sẽ mang lại thêm không gian lưu trữ. Việc dư thừa dữ liệu quá mức sẽ mang lại áp lực lưu trữ quá lớn cho hệ thống. Lớp DA tốt nên chọn lớp DA phù hợp. Cách tiếp cận dự phòng giúp cân bằng tính bảo mật và hiệu quả lưu trữ.
  2. Xác minh tính sẵn có của dữ liệu: Số lượng dự phòng đảm bảo có đủ bản ghi dữ liệu trong mạng, nhưng phải xác minh tính chính xác và đầy đủ của dữ liệu được sử dụng. Phương thức xác minh thường được sử dụng trong chuỗi khối hiện tại là thuật toán cam kết mật mã, giữ lại một cam kết mật mã nhỏ để toàn bộ mạng ghi lại. Cam kết này có được bằng cách trộn dữ liệu giao dịch. Khi bạn muốn kiểm tra tính xác thực của một phần dữ liệu lịch sử nhất định, bạn cần khôi phục cam kết mật mã thông qua dữ liệu và kiểm tra xem cam kết mật mã thu được từ quá trình khôi phục này có nhất quán với bản ghi của toàn bộ mạng hay không. Nếu nó nhất quán, quá trình xác minh sẽ được thông qua. Các thuật toán xác minh mật mã thường được sử dụng bao gồm Verkle Root và Verkle Root. Thuật toán xác minh tính khả dụng của dữ liệu bảo mật cao chỉ yêu cầu một lượng nhỏ dữ liệu xác minh và có thể nhanh chóng xác minh dữ liệu lịch sử.

2.2 Chi phí lưu kho

Trên tiền đề đảm bảo an ninh cơ bản, mục tiêu cốt lõi tiếp theo mà lớp DA cần đạt được là giảm chi phí và tăng hiệu quả. Đầu tiên là giảm chi phí lưu trữ, bất kể sự khác biệt về hiệu suất phần cứng, nghĩa là giảm mức sử dụng bộ nhớ do lưu trữ dữ liệu có kích thước đơn vị. Ở giai đoạn này, các cách chính để giảm chi phí lưu trữ trong blockchain là áp dụng công nghệ sharding và sử dụng lưu trữ dựa trên phần thưởng để đảm bảo dữ liệu được lưu trữ hiệu quả và giảm số lượng bản sao lưu dữ liệu. Tuy nhiên, không khó để nhận thấy từ các phương pháp cải tiến trên rằng có mối quan hệ trò chơi giữa chi phí lưu trữ và bảo mật dữ liệu. Giảm dung lượng lưu trữ thường đồng nghĩa với việc giảm tính bảo mật. Do đó, một lớp DA xuất sắc cần đạt được sự cân bằng giữa chi phí lưu trữ và bảo mật dữ liệu. Ngoài ra, nếu lớp DA là một chuỗi công khai riêng biệt, nó cần giảm chi phí bằng cách giảm thiểu quá trình trao đổi dữ liệu trung gian. Trong mỗi quá trình truyền, dữ liệu chỉ mục cần được để lại cho các lệnh gọi truy vấn tiếp theo. Do đó, quá trình gọi càng dài thì càng để lại nhiều dữ liệu chỉ mục và chi phí lưu trữ sẽ tăng lên. Cuối cùng, chi phí lưu trữ dữ liệu có liên quan trực tiếp đến độ bền của dữ liệu. Nói chung, chi phí lưu trữ dữ liệu càng cao thì chuỗi công khai càng khó lưu trữ dữ liệu liên tục.

2.3 Tốc độ đọc dữ liệu

Sau khi đạt được mức giảm chi phí, bước tiếp theo là tăng hiệu quả, đó là khả năng gọi nhanh dữ liệu ra khỏi lớp DA khi cần sử dụng. Quá trình này bao gồm hai bước. Đầu tiên là tìm kiếm các nút lưu trữ dữ liệu. Quá trình này chủ yếu dành cho các chuỗi công khai chưa đạt được tính nhất quán dữ liệu trên toàn bộ mạng. Nếu chuỗi công khai đạt được sự đồng bộ hóa dữ liệu cho các nút trên toàn bộ mạng thì điều này có thể bị bỏ qua. Thời gian tiêu thụ của một quá trình. Thứ hai, trong các hệ thống blockchain chính thống hiện nay, bao gồm Bitcoin, Ethereum và Filecoin, phương thức lưu trữ nút là cơ sở dữ liệu Leveldb. Trong Leveldb, dữ liệu được lưu trữ theo ba cách. Đầu tiên, dữ liệu được ghi ngay lập tức sẽ được lưu trữ trong các tệp loại Memtable. Khi bộ nhớ Memtable đầy, loại file sẽ được thay đổi từ Memtable thành Immutable Memtable. Cả hai loại tệp đều được lưu trữ trong bộ nhớ, nhưng tệp Immutable Memtable không thể thay đổi được nữa mà chỉ có thể đọc dữ liệu từ chúng. Bộ lưu trữ nóng được sử dụng trong mạng IPFS lưu trữ dữ liệu trong phần này. Khi nó được gọi, nó có thể được đọc nhanh chóng từ bộ nhớ. Tuy nhiên, bộ nhớ di động của một nút thông thường thường ở mức GB và rất dễ ghi chậm. Khi một nút gặp sự cố hoặc xảy ra tình huống bất thường khác, dữ liệu trong bộ nhớ sẽ bị mất vĩnh viễn. Nếu muốn dữ liệu được lưu trữ liên tục, bạn cần lưu trữ dưới dạng tệp SST trên ổ cứng thể rắn (SSD). Tuy nhiên, khi đọc dữ liệu bạn cần đọc dữ liệu vào bộ nhớ trước, điều này làm giảm đáng kể tốc độ lập chỉ mục dữ liệu. Cuối cùng, đối với các hệ thống sử dụng bộ nhớ dùng chung, việc khôi phục dữ liệu yêu cầu gửi yêu cầu dữ liệu đến nhiều nút và khôi phục chúng. Quá trình này cũng sẽ làm giảm tốc độ đọc dữ liệu.

Phương pháp lưu trữ dữ liệu Leveldb, nguồn ảnh: Leveldb-handbook

2.4 Khái quát hóa DA

Với sự phát triển của DeFi và nhiều vấn đề khác nhau với CEX, yêu cầu của người dùng đối với các giao dịch xuyên chuỗi đối với các tài sản phi tập trung cũng ngày càng tăng. Bất kể cơ chế chuỗi chéo như khóa băm, công chứng công khai hay chuỗi chuyển tiếp, việc xác định đồng thời dữ liệu lịch sử trên cả hai chuỗi đều không thể tránh khỏi. Chìa khóa của vấn đề này nằm ở việc tách dữ liệu trên hai chuỗi và không thể đạt được giao tiếp trực tiếp trong các hệ thống phi tập trung khác nhau. Do đó, một giải pháp được đề xuất ở giai đoạn này bằng cách thay đổi phương thức lưu trữ lớp DA, phương thức này không chỉ lưu trữ dữ liệu lịch sử của nhiều chuỗi công khai trên cùng một chuỗi công khai đáng tin cậy mà chỉ cần gọi dữ liệu trên chuỗi công khai này trong quá trình xác minh. Có thể. Điều này đòi hỏi lớp DA có thể thiết lập các phương thức liên lạc an toàn với các loại chuỗi công khai khác nhau, điều đó có nghĩa là lớp DA có tính linh hoạt tốt.

3. Kỹ thuật liên quan đến DA

3.1 Phân mảnh

  1. Trong hệ thống phân tán truyền thống, tệp không được lưu trữ ở dạng hoàn chỉnh trên một nút nhất định. Thay vào đó, dữ liệu gốc được chia thành nhiều Khối và một Khối được lưu trữ trong mỗi nút. Các khối thường không chỉ được lưu trữ trên một nút mà sẽ để lại các bản sao lưu thích hợp trên các nút khác. Trong các hệ thống phân tán chính thống hiện có, số lượng bản sao lưu này thường được đặt thành 2. Cơ chế Sharding này có thể giảm áp lực lưu trữ của một nút duy nhất, mở rộng tổng dung lượng của hệ thống lên tổng dung lượng lưu trữ của mỗi nút và ở mức tối đa. đồng thời đảm bảo tính bảo mật của việc lưu trữ thông qua việc dự phòng dữ liệu phù hợp. Sơ đồ Sharding được áp dụng trong blockchain nhìn chung tương tự nhau, nhưng các chi tiết cụ thể sẽ khác nhau. Trước hết, do mặc định mỗi nút trong blockchain không đáng tin cậy nên quá trình triển khai Sharding yêu cầu một lượng dữ liệu sao lưu đủ lớn để đánh giá tính xác thực của dữ liệu sau này, do đó số lượng bản sao lưu cho nút này cần phải nhiều hơn 2 Lý tưởng nhất là trong hệ thống blockchain sử dụng sơ đồ lưu trữ này, nếu tổng số nút xác minh là T và số lượng phân đoạn là N thì số lượng bản sao lưu phải là T/N. Thứ hai là quá trình lưu trữ của Block. Có ít nút hơn trong các hệ thống phân tán truyền thống, vì vậy một nút thường thích ứng với nhiều khối dữ liệu. Đầu tiên, dữ liệu được ánh xạ tới vòng băm thông qua thuật toán băm nhất quán, sau đó mỗi nút Lưu trữ các khối dữ liệu được đánh số trong một phạm vi nhất định và có thể chấp nhận rằng một nút không phân bổ các tác vụ lưu trữ trong quá trình lưu trữ nhất định. Trên blockchain, việc mỗi nút được gán một Khối không còn là sự kiện ngẫu nhiên mà là sự kiện tất yếu. Mỗi nút sẽ chọn ngẫu nhiên một Khối để lưu trữ. Quá trình này kết hợp dữ liệu gốc với thông tin của khối và nút. Kết quả của việc băm dữ liệu được hoàn thành bằng cách lấy mô đun số lượng phân đoạn. Giả sử rằng mỗi phần dữ liệu được chia thành N Khối, kích thước lưu trữ thực tế của mỗi nút chỉ bằng 1/N so với kích thước lưu trữ ban đầu. Bằng cách đặt N một cách thích hợp, có thể đạt được sự cân bằng giữa TPS ngày càng tăng và áp lực lưu trữ nút.

Phương pháp lưu trữ dữ liệu sau Sharding, nguồn ảnh: Kernel Ventures

3.2 DAS(Lấy mẫu dữ liệu sẵn có)

Công nghệ DAS dựa trên việc tối ưu hóa hơn nữa các phương pháp lưu trữ Sharding. Trong quá trình Sharding, do việc lưu trữ ngẫu nhiên các nút đơn giản nên một Khối nhất định có thể bị mất. Thứ hai, đối với dữ liệu bị phân mảnh, việc xác nhận tính xác thực và tính toàn vẹn của dữ liệu trong quá trình khôi phục cũng rất quan trọng. Trong DAS, hai vấn đề này được giải quyết thông qua mã Eraser và cam kết đa thức KZG.

  1. Mã tẩy: Xem xét số lượng lớn các nút xác minh trong Ethereum, xác suất một Khối nhất định không được lưu trữ bởi bất kỳ nút nào là gần như bằng 0, nhưng về mặt lý thuyết vẫn có khả năng xảy ra tình huống cực đoan như vậy. Để giảm thiểu mối đe dọa mất bộ nhớ có thể xảy ra này, theo sơ đồ này, dữ liệu gốc thường không được chia trực tiếp thành các Khối để lưu trữ. Thay vào đó, dữ liệu gốc trước tiên được ánh xạ tới các hệ số của đa thức bậc n, sau đó 2n được lấy từ đa thức. điểm và để nút chọn ngẫu nhiên một điểm từ chúng để lưu trữ. Đối với đa thức bậc n này, chỉ cần n+1 điểm để khôi phục nó. Do đó, chỉ một nửa số Khối cần được các nút chọn và chúng tôi có thể khôi phục dữ liệu gốc. Thông qua mã Eraser, tính bảo mật của việc lưu trữ dữ liệu và khả năng phục hồi dữ liệu của mạng được nâng cao.
  2. Một khía cạnh rất quan trọng của việc lưu trữ dữ liệu là xác minh tính xác thực của dữ liệu. Trong các mạng không sử dụng mã Eraser, có thể sử dụng nhiều phương pháp khác nhau để xác minh, nhưng nếu mã Eraser ở trên được đưa vào để cải thiện bảo mật dữ liệu thì sẽ phù hợp hơn khi sử dụng cam kết đa thức KZG, có thể xác minh nội dung của một mạng duy nhất. chặn trực tiếp dưới dạng đa thức, do đó loại bỏ sự cần thiết phải giảm đa thức thành dữ liệu nhị phân. Cam kết đa thức KZG có thể xác minh trực tiếp nội dung của một khối duy nhất dưới dạng đa thức, do đó loại bỏ nhu cầu giảm đa thức thành dữ liệu nhị phân và hình thức xác minh tổng thể tương tự như Merkle Tree, nhưng không yêu cầu cụ thể Dữ liệu nút đường dẫn và chỉ yêu cầu dữ liệu khối và gốc KZG để xác minh tính xác thực của khối.

3.3 Phương pháp xác thực dữ liệu trong DA

Xác thực dữ liệu đảm bảo rằng dữ liệu được gọi từ một nút là chính xác và đầy đủ. Để giảm thiểu lượng dữ liệu và chi phí tính toán cần thiết trong quá trình xác thực, lớp DA hiện sử dụng cấu trúc cây làm phương pháp xác thực chính. Hình thức đơn giản nhất là sử dụng Merkle Tree để xác minh, sử dụng dạng bản ghi cây nhị phân hoàn chỉnh, chỉ cần giữ Merkle Root và giá trị băm của cây con ở phía bên kia đường dẫn của nút là có thể được xác minh, độ phức tạp về thời gian của việc xác minh là mức O(logN) (logN là log2(N) mặc định). Mặc dù quy trình xác thực đã được đơn giản hóa rất nhiều nhưng lượng dữ liệu cho quá trình xác thực nói chung vẫn tăng lên cùng với sự gia tăng của dữ liệu. Để giải quyết vấn đề tăng khối lượng xác thực, một phương pháp xác thực khác, Verkle Tree, được đề xuất ở giai đoạn này, trong đó mỗi nút trong Verkle Tree không chỉ lưu trữ giá trị mà còn đính kèm Cam kết Vector, có thể nhanh chóng xác thực tính xác thực của dữ liệu bằng cách sử dụng giá trị của nút gốc và bằng chứng cam kết mà không cần gọi giá trị của các nút chị em khác, điều này giúp việc tính toán từng xác thực trở nên dễ dàng và nhanh hơn. Điều này khiến số lượng tính toán cho mỗi lần xác minh chỉ liên quan đến độ sâu của Cây Verkle, là một hằng số cố định, do đó tăng tốc đáng kể tốc độ xác minh. Tuy nhiên, việc tính toán Cam kết Vector yêu cầu sự tham gia của tất cả các nút chị em trong cùng một lớp, điều này làm tăng đáng kể chi phí ghi và thay đổi dữ liệu. Tuy nhiên, đối với những dữ liệu như dữ liệu lịch sử, được lưu trữ vĩnh viễn và không thể bị giả mạo, chỉ đọc được chứ không thể ghi thì Verkle Tree cực kỳ phù hợp. Ngoài ra, bản thân Merkle Tree và Verkle Tree có dạng biến thể K-ary, cách triển khai cụ thể của cơ chế là tương tự nhau, chỉ cần thay đổi số lượng cây con dưới mỗi nút, bạn có thể xem so sánh hiệu suất cụ thể trong bảng sau.

So sánh hiệu suất thời gian của các phương pháp xác minh dữ liệu, nguồn ảnh: Verkle Trees

3.4 Phần mềm trung gian DA chung

Sự mở rộng liên tục của hệ sinh thái blockchain đã mang lại sự gia tăng liên tục về số lượng chuỗi công khai. Do những ưu điểm và tính không thể thay thế của từng chuỗi công khai trong các lĩnh vực tương ứng của chúng, nên các chuỗi công khai Lớp 1 gần như không thể thống nhất trong thời gian ngắn. Tuy nhiên, với sự phát triển của DeFi và nhiều vấn đề khác nhau với CEX, yêu cầu của người dùng đối với tài sản giao dịch chuỗi chéo phi tập trung cũng ngày càng tăng. Do đó, việc lưu trữ dữ liệu đa chuỗi lớp DA có thể loại bỏ các vấn đề bảo mật trong tương tác dữ liệu chuỗi chéo ngày càng nhận được nhiều sự chú ý hơn. Tuy nhiên, để chấp nhận dữ liệu lịch sử từ các chuỗi công khai khác nhau, lớp DA cần cung cấp giao thức phi tập trung để lưu trữ và xác minh luồng dữ liệu được tiêu chuẩn hóa. Ví dụ: kvye, phần mềm trung gian lưu trữ dựa trên Arweave, chủ động lấy dữ liệu từ chuỗi và tất cả Dữ liệu trên chuỗi được lưu trữ trong Arweave ở dạng chuẩn để giảm thiểu sự khác biệt trong quá trình truyền dữ liệu. Nói một cách tương đối, Layer2, đặc biệt cung cấp khả năng lưu trữ dữ liệu lớp DA cho một chuỗi công khai nhất định, tương tác với dữ liệu thông qua các nút chia sẻ nội bộ. Mặc dù nó làm giảm chi phí tương tác và cải thiện tính bảo mật nhưng nó có những hạn chế tương đối lớn và chỉ có thể cung cấp dữ liệu cho các chuỗi công khai cụ thể cung cấp dịch vụ.

4. Phương pháp bảo quản DA

4.1 Chuỗi chính DA

4.1.1 DankSharding-like

Loại giải pháp lưu trữ này chưa có tên xác định và đại diện nổi bật nhất là DankSharding trên Ethereum nên bài viết này sử dụng lớp DankSharding để chỉ loại giải pháp này. Loại giải pháp này chủ yếu sử dụng hai công nghệ lưu trữ DA nêu trên là Sharding và DAS. Đầu tiên, dữ liệu được chia thành các phần chia sẻ thích hợp thông qua Sharding, sau đó mỗi nút trích xuất một khối dữ liệu dưới dạng DAS để lưu trữ. Nếu có đủ nút trong toàn bộ mạng, chúng ta có thể chọn số lượng phân đoạn N lớn hơn, sao cho áp suất lưu trữ của mỗi nút chỉ bằng 1/N so với nút ban đầu, từ đó đạt được khả năng mở rộng N lần của không gian lưu trữ tổng thể. Đồng thời, để ngăn chặn tình trạng cực đoan là một Khối nhất định không được lưu trữ trong bất kỳ khối nào, DankSharding mã hóa dữ liệu bằng Mã tẩy và chỉ một nửa dữ liệu có thể được khôi phục hoàn toàn. Bước cuối cùng là quy trình xác minh dữ liệu, sử dụng cấu trúc cây Verkle và cam kết đa thức để đạt được xác minh nhanh chóng.

4.1.2 Lưu trữ tạm thời

Đối với DA của chuỗi chính, một trong những phương pháp xử lý dữ liệu đơn giản nhất là lưu trữ dữ liệu lịch sử trong thời gian ngắn. Về bản chất, blockchain đóng vai trò là một sổ cái công khai, cho phép toàn bộ mạng lưới chứng kiến những thay đổi đối với nội dung sổ cái mà không cần lưu trữ vĩnh viễn. Lấy Solana làm ví dụ, mặc dù dữ liệu lịch sử của nó được đồng bộ hóa với Arweave nhưng nút mạng chính chỉ giữ lại dữ liệu giao dịch trong hai ngày qua. Trên chuỗi công khai dựa trên hồ sơ tài khoản, dữ liệu lịch sử tại mỗi thời điểm sẽ giữ lại trạng thái cuối cùng của tài khoản trên blockchain, đủ để cung cấp cơ sở xác minh cho các thay đổi ở thời điểm tiếp theo. Đối với các dự án có nhu cầu đặc biệt về dữ liệu trước giai đoạn này, họ có thể tự lưu trữ dữ liệu đó trên các chuỗi công khai phi tập trung khác hoặc bởi một bên thứ ba đáng tin cậy. Nói cách khác, những người có nhu cầu bổ sung dữ liệu cần phải trả tiền cho việc lưu trữ dữ liệu lịch sử.

4.2 DA bên thứ ba

4.2.1 DA cụ thể cho chuỗi chính: EthStorage

  1. DA dành riêng cho chuỗi chính: Điều quan trọng nhất của lớp DA là tính bảo mật khi truyền dữ liệu. An toàn nhất tại thời điểm này là DA của chuỗi chính. Tuy nhiên, việc lưu trữ chuỗi chính phải chịu những hạn chế về không gian lưu trữ và sự cạnh tranh về tài nguyên. Do đó, khi lượng dữ liệu mạng tăng lên nhanh chóng, DA của bên thứ ba sẽ là lựa chọn tốt hơn nếu muốn đạt được khả năng lưu trữ dữ liệu lâu dài. Nếu DA của bên thứ ba có khả năng tương thích cao hơn với mạng chính, nó có thể thực hiện việc chia sẻ các nút và nó cũng sẽ có độ bảo mật cao hơn trong quá trình tương tác dữ liệu. Do đó, với tiền đề xem xét tính bảo mật, DA dành riêng cho chuỗi chính sẽ có những lợi thế rất lớn. Lấy Ethereum làm ví dụ, yêu cầu cơ bản đối với DA dành riêng cho chuỗi chính là phải tương thích với EVM và đảm bảo khả năng tương tác với dữ liệu và hợp đồng Ethereum. Các dự án tiêu biểu bao gồm Topia, EthStorage, v.v. Trong số đó, EthStorage hiện được phát triển tốt nhất về khả năng tương thích, vì ngoài khả năng tương thích ở cấp EVM, nó còn thiết lập đặc biệt các giao diện liên quan để kết nối với các công cụ phát triển Ethereum như Remix và Hardhat nhằm đạt được khả năng tương thích ở cấp độ EVM. Cấp độ công cụ phát triển Ethereum.
  2. EthStorage: EthStorage là một chuỗi công khai độc lập với Ethereum, nhưng các nút chạy trên nó vượt trội hơn các nút Ethereum. Nghĩa là, các nút chạy EthStorage cũng có thể chạy Ethereum cùng lúc. Thông qua mã hoạt động trên Ethereum, bạn có thể truy cập trực tiếp vào EthStorage. EthStorage thực hiện các hoạt động. Trong mô hình lưu trữ của EthStorage, chỉ một lượng nhỏ siêu dữ liệu được giữ lại trên mạng chính Ethereum để lập chỉ mục, về cơ bản là tạo ra cơ sở dữ liệu phi tập trung cho Ethereum. Trong giải pháp hiện tại, EthStorage thực hiện tương tác giữa mạng chính Ethereum và EthStorage bằng cách triển khai Hợp đồng EthStorage trên mạng chính Ethereum. Nếu Ethereum muốn lưu trữ dữ liệu, nó cần gọi hàm put() trong hợp đồng. Các tham số đầu vào là khóa và dữ liệu biến hai byte, trong đó dữ liệu đại diện cho dữ liệu sẽ được lưu trữ và khóa là vị trí của nó trong mạng Ethereum. Việc nhận dạng có thể được coi là tương tự như sự tồn tại của CID trong IPFS. Sau khi cặp dữ liệu (khóa, dữ liệu) được lưu trữ thành công trong mạng EthStorage, EthStorage sẽ tạo kvldx và gửi nó trở lại mạng chính Ethereum và tương ứng với khóa trên Ethereum. Giá trị này tương ứng với địa chỉ lưu trữ dữ liệu trên EthStorage nên ban đầu có thể thực hiện được. Vấn đề cần lưu trữ lượng lớn dữ liệu giờ trở thành lưu trữ một cặp (key, kvldx), do đó giảm đáng kể chi phí lưu trữ của mạng chính Ethereum . Nếu cần gọi dữ liệu đã lưu trữ trước đó, bạn cần sử dụng hàm get() trong EthStorage và nhập tham số key. Bạn có thể nhanh chóng tìm kiếm dữ liệu trên EthStorage thông qua kvldx được lưu trữ trong Ethereum.

Hợp đồng EthStorage, nguồn ảnh: Kernel Ventures

  1. Về cách các nút lưu trữ dữ liệu cụ thể, EthStorage dựa trên mô hình Arweave. Đầu tiên, một số lượng lớn các cặp (k, v) từ ETH được phân chia. Mỗi Sharding chứa một số cặp dữ liệu (k, v) cố định. Ngoài ra còn có giới hạn về kích thước cụ thể của từng cặp (k, v). Bằng cách này, tính công bằng của khối lượng công việc tiếp theo dành cho người khai thác trong quy trình thưởng lưu trữ được đảm bảo. Để phát hành phần thưởng, trước tiên cần xác minh xem nút có lưu trữ dữ liệu hay không. Trong quá trình này, EthStorage sẽ chia Sharding (kích thước cấp TB) thành nhiều phần và giữ lại gốc Verkle trên mạng chính Ethereum để xác minh. Sau đó, người khai thác trước tiên cần cung cấp một nonce để tạo địa chỉ của một số khối thông qua thuật toán ngẫu nhiên với hàm băm của khối trước đó trên EthStorage. Người khai thác cần cung cấp dữ liệu của các khối này để chứng minh rằng nó thực sự lưu trữ toàn bộ Sharding. Nhưng nonce này không thể được chọn tùy ý, nếu không, nút sẽ chọn một nonce phù hợp chỉ tương ứng với đoạn được lưu trữ của nó và vượt qua quá trình xác minh. Do đó, nonce này phải sao cho giá trị độ khó của đoạn được tạo có thể đáp ứng các yêu cầu của mạng sau khi trộn và băm, và Chỉ nút đầu tiên gửi bằng chứng truy cập ngẫu nhiên và nonce mới có thể nhận được phần thưởng.

4.2.2 Mô đun hóa DA: Celestia

  1. Mô-đun chuỗi khối: Ở giai đoạn này, các giao dịch được yêu cầu thực hiện bởi chuỗi công khai Layer1 chủ yếu được chia thành bốn phần sau: (1) Thiết kế logic cơ bản của mạng, chọn các nút xác minh theo cách nhất định, viết khối và phân bổ phần thưởng cho người bảo trì mạng; (2) Đóng gói, xử lý giao dịch và công bố các giao dịch liên quan; (3) Xác minh các giao dịch sẽ được tải lên chuỗi và xác định trạng thái cuối cùng; (4) Lưu trữ và duy trì dữ liệu lịch sử trên blockchain. Theo các chức năng khác nhau đã hoàn thành, chúng ta có thể chia blockchain thành bốn mô-đun, đó là lớp đồng thuận, lớp thực thi, lớp giải quyết và lớp sẵn có của dữ liệu (lớp DA).
  2. Thiết kế chuỗi khối mô-đun: Trong một thời gian dài, bốn mô-đun này đã được tích hợp vào chuỗi công khai. Một blockchain như vậy được gọi là một blockchain đơn. Hình thức này ổn định hơn và dễ bảo trì hơn, nhưng nó cũng gây áp lực rất lớn lên một chuỗi công khai. Trong quá trình hoạt động thực tế, bốn mô-đun này ràng buộc lẫn nhau và cạnh tranh để giành lấy tài nguyên lưu trữ và tính toán hạn chế của chuỗi công cộng. Ví dụ: việc tăng tốc độ xử lý của lớp xử lý sẽ mang lại áp lực lưu trữ lớn hơn cho lớp sẵn có của dữ liệu; để đảm bảo tính bảo mật của lớp thực thi, cần có cơ chế xác minh phức tạp hơn nhưng lại làm chậm tốc độ xử lý giao dịch. Do đó, việc phát triển chuỗi công cộng thường phải đối mặt với sự đánh đổi giữa bốn mô-đun này. Để vượt qua nút thắt trong việc cải thiện hiệu suất chuỗi công cộng, các nhà phát triển đã đề xuất một giải pháp chuỗi khối mô-đun. Ý tưởng cốt lõi của blockchain mô-đun là tách một hoặc nhiều trong số bốn mô-đun được đề cập ở trên và triển khai chúng trên một chuỗi công khai riêng biệt. Bằng cách này, chuỗi công khai chỉ có thể tập trung vào việc cải thiện tốc độ giao dịch hoặc dung lượng lưu trữ, vượt qua những hạn chế trước đây về hiệu suất tổng thể của chuỗi khối do thiếu sót.
  3. DA mô-đun: Phương pháp phức tạp nhằm tách lớp DA khỏi hoạt động kinh doanh blockchain và chuyển nó sang chuỗi công khai được coi là giải pháp khả thi cho dữ liệu lịch sử ngày càng tăng của Lớp 1. Việc khám phá trong lĩnh vực này vẫn đang ở giai đoạn đầu ở giai đoạn này , và dự án tiêu biểu nhất hiện nay là Celestia. Về phương pháp lưu trữ cụ thể, Celestia dựa trên phương pháp lưu trữ của Danksharding, phương pháp này cũng chia dữ liệu thành nhiều khối và mỗi nút trích xuất một phần để lưu trữ và sử dụng cam kết đa thức KZG để xác minh tính toàn vẹn của dữ liệu. Đồng thời, Celestia sử dụng mã xóa RS hai chiều tiên tiến, dữ liệu gốc được viết lại dưới dạng ma trận ak và chỉ có thể khôi phục được 25% dữ liệu gốc. Tuy nhiên, việc lưu trữ phân chia dữ liệu về cơ bản chỉ nhân áp lực lưu trữ của toàn bộ nút mạng với một hệ số trên tổng khối lượng dữ liệu. Áp lực lưu trữ của nút và khối lượng dữ liệu vẫn duy trì mức tăng trưởng tuyến tính. Khi Lớp 1 tiếp tục cải thiện tốc độ giao dịch, áp lực lưu trữ của các nút một ngày nào đó vẫn có thể đạt đến mức tới hạn không thể chấp nhận được. Để giải quyết vấn đề này, thành phần IPLD được giới thiệu trong Celestia để xử lý. đối với kDữ liệu trong ma trận k không được lưu trữ trực tiếp trên Celestia mà được lưu trữ trong mạng LL-IPFS và chỉ mã CID của dữ liệu trên IPFS được giữ lại trong nút. Khi người dùng yêu cầu một phần dữ liệu lịch sử, nút sẽ gửi CID tương ứng đến thành phần IPLD và dữ liệu gốc sẽ được gọi trên IPFS thông qua CID này. Nếu dữ liệu tồn tại trên IPFS, nó sẽ được trả về thông qua thành phần và nút IPLD; nếu nó không tồn tại, dữ liệu không thể được trả lại.

Phương pháp đọc dữ liệu Celestia, nguồn hình ảnh: Celestia Core

  1. Celestia: Lấy Celestia làm ví dụ, chúng ta có thể có cái nhìn thoáng qua về ứng dụng của blockchain mô-đun trong việc giải quyết vấn đề lưu trữ của Ethereum. Nút Rollup sẽ gửi dữ liệu giao dịch được đóng gói và xác minh đến Celestia và lưu trữ dữ liệu trên Celestia. Trong quá trình này, Celestia chỉ lưu trữ dữ liệu mà không có nhận thức quá mức. Cuối cùng, nút Rollup sẽ được cuộn theo kích thước của không gian lưu trữ. Các tia tia tương ứng sẽ được trả cho Celestia dưới dạng phí lưu trữ. Bộ lưu trữ trong Celstia sử dụng DAS và mã xóa tương tự như trong EIP4844, nhưng mã xóa đa thức trong EIP4844 được nâng cấp và mã xóa RS hai chiều được sử dụng để nâng cấp lại bảo mật lưu trữ. Chỉ 25% số vết gãy có thể khôi phục lại toàn bộ dữ liệu giao dịch. Về cơ bản nó chỉ là một chuỗi POS công khai với chi phí lưu trữ thấp. Nếu nó được sử dụng để giải quyết vấn đề lưu trữ dữ liệu lịch sử của Ethereum thì cần có nhiều mô-đun cụ thể khác để hợp tác với Celestia. Ví dụ: về mặt tổng hợp, chế độ tổng hợp được khuyến khích cao trên trang web chính thức của Celestia là Sovereign Rollup. Khác với Rollup thông thường ở Lớp 2, các giao dịch chỉ được tính toán và xác minh, tức là các hoạt động của lớp thực thi được hoàn thành. Sovereign Rollup bao gồm toàn bộ quá trình thực hiện và thanh toán, giúp giảm thiểu việc xử lý các giao dịch trên Celestia. Khi tính bảo mật tổng thể của Celestia yếu hơn Ethereum, biện pháp này có thể tối đa hóa tính bảo mật của quá trình giao dịch tổng thể. Về mặt đảm bảo tính bảo mật của dữ liệu được gọi bởi Celestia, mạng chính của Ethereum, giải pháp chủ đạo nhất hiện nay là hợp đồng thông minh cầu trọng lực lượng tử. Đối với dữ liệu được lưu trữ trên Celestia, nó sẽ tạo ra Verkle Root (bằng chứng về tính khả dụng của dữ liệu) và giữ nó trên hợp đồng cầu trọng lực lượng tử của mạng chính Ethereum. Mỗi khi Ethereum gọi dữ liệu lịch sử trên Celestia, kết quả băm của nó sẽ được so sánh với Verkle Root được sử dụng để so sánh và nếu khớp, điều đó có nghĩa rằng đó thực sự là dữ liệu lịch sử thực.

4.2.3 Chuỗi lưu trữ DA

Về nguyên tắc kỹ thuật DA chuỗi chính, nhiều công nghệ tương tự như Sharding được mượn từ chuỗi lưu trữ công cộng. Trong số các DA của bên thứ ba, một số DA trực tiếp sử dụng chuỗi lưu trữ công khai để hoàn thành một số nhiệm vụ lưu trữ. Ví dụ: dữ liệu giao dịch cụ thể trong Celestia được đặt trên mạng LL-IPFS. Trong giải pháp DA của bên thứ ba, ngoài việc xây dựng chuỗi công khai riêng để giải quyết vấn đề lưu trữ của Layer1, một cách trực tiếp hơn là kết nối trực tiếp chuỗi lưu trữ công khai với Layer1 để lưu trữ dữ liệu lịch sử khổng lồ trên Layer1. Đối với các chuỗi khối hiệu suất cao, khối lượng dữ liệu lịch sử thậm chí còn lớn hơn. Khi chạy ở tốc độ tối đa, khối lượng dữ liệu của chuỗi công khai hiệu suất cao Solana gần bằng 4 PG, hoàn toàn vượt quá phạm vi lưu trữ của các nút thông thường. Giải pháp mà Solana chọn là lưu trữ dữ liệu lịch sử trên mạng lưu trữ phi tập trung Arweave và chỉ giữ lại 2 ngày dữ liệu trên các nút mạng chính để xác minh. Để đảm bảo tính bảo mật của quy trình được lưu trữ, Solana và Arweave Chain đã thiết kế đặc biệt một giao thức cầu lưu trữ, Solar Bridge. Dữ liệu được nút Solana xác minh sẽ được đồng bộ hóa với Arweave và thẻ tương ứng sẽ được trả về. Chỉ thông qua thẻ này, nút Solana mới có thể xem dữ liệu lịch sử của chuỗi khối Solana bất kỳ lúc nào. Trên Arweave, không cần tất cả các nút mạng phải duy trì tính nhất quán của dữ liệu và sử dụng điều này làm ngưỡng để tham gia vào các hoạt động mạng. Thay vào đó, việc lưu trữ phần thưởng được thông qua. Trước hết, Arweave không sử dụng cấu trúc chuỗi truyền thống để xây dựng các khối mà giống với cấu trúc biểu đồ hơn. Trong Arweave, một khối mới sẽ không chỉ trỏ đến khối trước đó mà còn trỏ ngẫu nhiên đến Khối thu hồi khối được tạo. Vị trí cụ thể của Khối thu hồi được xác định bởi kết quả băm của khối trước đó và chiều cao khối của nó. Vị trí của Khối thu hồi không được xác định cho đến khi khối trước đó được khai thác. Tuy nhiên, trong quá trình tạo khối mới, nút cần có dữ liệu Khối thu hồi để sử dụng cơ chế POW nhằm tính toán hàm băm của độ khó được chỉ định. Chỉ người khai thác đầu tiên tính toán hàm băm đáp ứng độ khó mới có thể nhận được phần thưởng, điều này khuyến khích người khai thác lưu trữ càng nhiều càng tốt. dữ liệu lịch sử. Đồng thời, càng ít người lưu trữ một khối lịch sử nhất định thì các nút sẽ có ít đối thủ cạnh tranh hơn khi tạo ra các nonce gặp khó khăn, khuyến khích các thợ đào lưu trữ ít khối hơn trong mạng. Cuối cùng, để đảm bảo rằng các nút lưu trữ dữ liệu vĩnh viễn trong Arweave, nó giới thiệu cơ chế chấm điểm nút của WildFire. Các nút sẽ có xu hướng giao tiếp với các nút có thể cung cấp nhiều dữ liệu lịch sử nhanh hơn, trong khi các nút có xếp hạng thấp hơn thường không thể nhận được dữ liệu giao dịch và khối mới nhất càng sớm càng tốt và do đó không thể tận dụng sự cạnh tranh của POW…

Phương pháp thi công khối Arweave, nguồn ảnh: Arweave Yellow-Paper

5. So sánh tổng hợp

Tiếp theo, chúng tôi sẽ so sánh ưu điểm và nhược điểm của năm giải pháp lưu trữ dựa trên bốn khía cạnh của chỉ số hiệu suất DA.

  1. Bảo mật: Nguồn gốc lớn nhất của vấn đề bảo mật dữ liệu là sự mất mát trong quá trình truyền dữ liệu và sự giả mạo độc hại từ các nút không trung thực. Trong quy trình xuyên chuỗi, do tính độc lập và trạng thái của hai chuỗi công khai, bảo mật truyền dữ liệu là một trong những lĩnh vực bị ảnh hưởng nặng nề nhất. Ngoài ra, Lớp 1, hiện yêu cầu lớp DA chuyên dụng, thường có một nhóm đồng thuận mạnh mẽ và tính bảo mật của nó sẽ cao hơn nhiều so với các chuỗi công khai lưu trữ thông thường. Do đó, giải pháp DA chuỗi chính có tính bảo mật cao hơn. Sau khi đảm bảo an toàn cho việc truyền dữ liệu, bước tiếp theo là đảm bảo an toàn cho dữ liệu cuộc gọi. Nếu chỉ xem xét dữ liệu lịch sử ngắn hạn được sử dụng để xác minh giao dịch, thì dữ liệu tương tự sẽ được toàn bộ mạng sao lưu trong mạng lưu trữ tạm thời. Trong giải pháp giống như DankSharding, số lượng bản sao lưu dữ liệu trung bình chỉ bằng 1/N số nút trong toàn bộ mạng. , dự phòng dữ liệu nhiều hơn có thể khiến dữ liệu ít có khả năng bị mất hơn và cũng có thể cung cấp nhiều mẫu tham chiếu hơn trong quá trình xác minh. Vì vậy, việc lưu trữ tạm thời sẽ tương đối có tính bảo mật dữ liệu cao hơn. Trong giải pháp DA của bên thứ ba, DA dành riêng cho chuỗi chính sử dụng các nút công khai với chuỗi chính và dữ liệu có thể được truyền trực tiếp qua các nút chuyển tiếp này trong quá trình xuyên chuỗi nên sẽ có độ bảo mật tương đối cao hơn các giải pháp DA khác .
  2. Chi phí lưu trữ: Yếu tố lớn nhất ảnh hưởng đến chi phí lưu trữ là lượng dữ liệu dư thừa. Trong giải pháp lưu trữ ngắn hạn của chuỗi chính DA, nó được lưu trữ dưới dạng đồng bộ hóa dữ liệu của toàn bộ nút mạng. Mọi dữ liệu mới được lưu trữ cần phải được sao lưu trong toàn bộ nút mạng, nơi có chi phí lưu trữ cao nhất. Chi phí lưu trữ cao xác định rằng phương pháp này chỉ phù hợp để lưu trữ tạm thời trong các mạng TPS cao. Thứ hai là phương thức lưu trữ của Sharding, bao gồm Sharding trong chuỗi chính và Sharding trong DA của bên thứ ba. Do chuỗi chính thường có nhiều nút hơn nên một Block tương ứng cũng sẽ có nhiều bản sao lưu hơn nên giải pháp Sharding chuỗi chính sẽ có chi phí cao hơn. Chi phí lưu trữ thấp nhất là chuỗi lưu trữ công cộng DA áp dụng phương thức lưu trữ phần thưởng. Theo sơ đồ này, lượng dữ liệu dư thừa thường dao động xung quanh một hằng số cố định. Đồng thời, cơ chế điều chỉnh động cũng được giới thiệu trong chuỗi lưu trữ công cộng DA để thu hút các nút lưu trữ dữ liệu ít sao lưu hơn bằng cách tăng phần thưởng để đảm bảo an toàn dữ liệu.
  3. Tốc độ đọc dữ liệu: Tốc độ lưu trữ dữ liệu chủ yếu bị ảnh hưởng bởi vị trí lưu trữ dữ liệu trong không gian lưu trữ, đường dẫn chỉ mục dữ liệu và sự phân phối dữ liệu trong các nút. Trong số đó, vị trí lưu trữ dữ liệu trên nút có tác động lớn hơn đến tốc độ, vì việc lưu trữ dữ liệu trong bộ nhớ hoặc SSD có thể khiến tốc độ đọc chênh lệch hàng chục lần. Việc lưu trữ của chuỗi công khai DA chủ yếu sử dụng bộ lưu trữ SSD, vì tải trên chuỗi này không chỉ bao gồm dữ liệu của lớp DA mà còn bao gồm dữ liệu cá nhân có mức sử dụng bộ nhớ cao như video và hình ảnh do người dùng tải lên. Nếu mạng không sử dụng SSD làm không gian lưu trữ thì sẽ khó chịu được áp lực lưu trữ lớn và đáp ứng nhu cầu lưu trữ lâu dài. Thứ hai, đối với DA bên thứ ba và DA chuỗi chính sử dụng trạng thái bộ nhớ để lưu trữ dữ liệu, trước tiên DA của bên thứ ba cần tìm kiếm dữ liệu chỉ mục tương ứng trong chuỗi chính, sau đó chuyển dữ liệu chỉ mục qua chuỗi sang chuỗi thứ ba. -party DA và trả lại thông qua dữ liệu cầu lưu trữ. Ngược lại, DA chuỗi chính có thể truy vấn dữ liệu trực tiếp từ các nút và do đó có tốc độ truy xuất dữ liệu nhanh hơn. Cuối cùng, trong DA chuỗi chính, phương thức Sharding yêu cầu gọi Block từ nhiều nút và khôi phục dữ liệu gốc. Vì vậy, so với việc lưu trữ ngắn hạn không có lưu trữ phân mảnh thì tốc độ sẽ chậm hơn.
  4. Tính phổ quát của lớp DA: Tính phổ quát DA của chuỗi chính gần bằng 0 vì không thể chuyển dữ liệu trên chuỗi công khai không đủ dung lượng lưu trữ sang chuỗi công khai khác không đủ dung lượng lưu trữ. Trong DA của bên thứ ba, tính linh hoạt của giải pháp và khả năng tương thích của nó với chuỗi chính cụ thể là những chỉ số trái ngược nhau. Ví dụ: trong giải pháp DA dành riêng cho chuỗi chính được thiết kế cho một chuỗi chính nhất định, rất nhiều cải tiến đã được thực hiện ở loại nút và mức độ đồng thuận mạng để thích ứng với chuỗi công khai. Do đó, những cải tiến này sẽ đóng một vai trò nào đó khi giao tiếp với các chuỗi công khai khác. một trở ngại rất lớn. Trong DA của bên thứ ba, chuỗi lưu trữ công cộng DA hoạt động tốt hơn về tính linh hoạt so với DA mô-đun. Chuỗi lưu trữ công khai DA có cộng đồng nhà phát triển lớn hơn và nhiều cơ sở mở rộng hơn, có thể thích ứng với các điều kiện của các chuỗi công khai khác nhau. Đồng thời, chuỗi lưu trữ công cộng DA thu thập dữ liệu tích cực hơn thông qua việc chụp gói, thay vì nhận thông tin thụ động được truyền từ các chuỗi công khai khác. Do đó, nó có thể mã hóa dữ liệu theo cách của mình, đạt được khả năng lưu trữ luồng dữ liệu được tiêu chuẩn hóa, tạo điều kiện thuận lợi cho việc quản lý thông tin dữ liệu từ các chuỗi chính khác nhau và cải thiện hiệu quả lưu trữ.

So sánh hiệu suất giải pháp lưu trữ, nguồn hình ảnh: Kernel Ventures

6. Tóm tắt

Chuỗi khối hiện tại đang trải qua quá trình chuyển đổi từ Tiền điện tử sang Web3 toàn diện hơn. Quá trình này không chỉ mang lại sự phong phú cho các dự án trên blockchain. Để đáp ứng hoạt động đồng thời của rất nhiều dự án trên Layer1 đồng thời đảm bảo trải nghiệm của các dự án Gamefi và Socialfi, Layer1 do Ethereum đại diện đã áp dụng các phương pháp như Rollup và Blobs để cải thiện TPS. Trong số các blockchain mới, số lượng blockchain hiệu suất cao cũng đang tăng lên. Nhưng TPS cao hơn không chỉ có nghĩa là hiệu suất cao hơn mà còn có áp lực lưu trữ trên mạng lớn hơn. Đối với dữ liệu lịch sử khổng lồ, các phương pháp DA khác nhau dựa trên chuỗi chính và bên thứ ba hiện đang được đề xuất để thích ứng với sự gia tăng áp lực lưu trữ trên chuỗi. Mỗi phương pháp cải tiến đều có ưu điểm, nhược điểm và có khả năng ứng dụng khác nhau trong các tình huống khác nhau.

Các chuỗi khối tập trung vào thanh toán có yêu cầu cực kỳ cao về tính bảo mật của dữ liệu lịch sử và không theo đuổi TPS đặc biệt cao. Nếu loại chuỗi công khai này vẫn đang trong giai đoạn chuẩn bị, phương pháp lưu trữ giống như DankSharding có thể được áp dụng, phương pháp này có thể đạt được sự gia tăng đáng kể về dung lượng lưu trữ trong khi vẫn đảm bảo an ninh. Tuy nhiên, nếu đó là một chuỗi công khai như Bitcoin đã hình thành và có số lượng nút lớn, thì sẽ có rủi ro rất lớn trong việc cải tiến vội vàng ở lớp đồng thuận. Do đó, DA chuyên dụng cho chuỗi chính có độ bảo mật cao hơn trong lưu trữ ngoài chuỗi có thể được sử dụng để cân bằng các vấn đề về bảo mật và lưu trữ… Tuy nhiên, điều đáng chú ý là các chức năng của blockchain không tĩnh mà liên tục thay đổi. Ví dụ: các chức năng ban đầu của Ethereum chủ yếu giới hạn ở thanh toán và xử lý tài sản và giao dịch tự động đơn giản bằng hợp đồng thông minh. Tuy nhiên, khi bối cảnh blockchain tiếp tục mở rộng, nhiều dự án Socialfi và Defi khác nhau đã dần được thêm vào Ethereum. Giúp Ethereum phát triển theo hướng toàn diện hơn. Gần đây, với sự bùng nổ của hệ sinh thái khắc chữ trên Bitcoin, phí giao dịch của mạng Bitcoin đã tăng gần 20 lần kể từ tháng 8. Điều này phản ánh tốc độ giao dịch của mạng Bitcoin ở giai đoạn này không thể đáp ứng nhu cầu giao dịch và các nhà giao dịch chỉ có thể Tăng phí để giao dịch được xử lý nhanh nhất có thể. Giờ đây, cộng đồng Bitcoin cần phải đánh đổi, chấp nhận phí cao và tốc độ giao dịch chậm hay giảm an ninh mạng để tăng tốc độ giao dịch nhưng làm thất bại mục đích ban đầu của hệ thống thanh toán. Nếu cộng đồng Bitcoin chọn cái sau, thì trước áp lực dữ liệu ngày càng tăng, giải pháp lưu trữ tương ứng cũng sẽ cần phải được điều chỉnh.

Phí giao dịch mạng chính Bitcoin biến động, nguồn hình ảnh: OKLINK

Các chuỗi công khai có chức năng toàn diện có nhu cầu theo đuổi TPS cao hơn và sự phát triển của dữ liệu lịch sử thậm chí còn lớn hơn. Rất khó để thích ứng với sự phát triển nhanh chóng của TPS trong thời gian dài bằng cách áp dụng giải pháp giống như DankSharding. Do đó, cách thích hợp hơn là di chuyển dữ liệu sang DA của bên thứ ba để lưu trữ. Trong số đó, DA dành riêng cho chuỗi chính có khả năng tương thích cao nhất và có thể có nhiều lợi thế hơn nếu chỉ xem xét các vấn đề lưu trữ của một chuỗi công khai duy nhất. Nhưng ngày nay, khi các chuỗi công khai Lớp 1 đang phát triển mạnh mẽ, việc chuyển giao tài sản xuyên chuỗi và tương tác dữ liệu đã trở thành mục tiêu chung của cộng đồng blockchain. Nếu tính đến sự phát triển lâu dài của toàn bộ hệ sinh thái blockchain, việc lưu trữ dữ liệu lịch sử của các chuỗi công khai khác nhau trên cùng một chuỗi công khai có thể loại bỏ nhiều vấn đề bảo mật trong quá trình xác minh và trao đổi dữ liệu. Do đó, sự khác biệt giữa DA mô-đun và cách DA chuỗi lưu trữ công cộng có thể là lựa chọn tốt hơn. Với tiền đề là tính linh hoạt chặt chẽ, DA mô-đun tập trung vào việc cung cấp các dịch vụ lớp DA blockchain, giới thiệu dữ liệu lịch sử quản lý dữ liệu chỉ mục tinh tế hơn, có thể phân loại hợp lý các dữ liệu chuỗi công khai khác nhau và lưu trữ dữ liệu chuỗi công khai. Có nhiều ưu điểm hơn. Tuy nhiên, giải pháp trên không tính đến chi phí điều chỉnh lớp đồng thuận trên chuỗi công khai hiện có. Quá trình này cực kỳ rủi ro. Một khi sự cố xảy ra, nó có thể dẫn đến các lỗ hổng hệ thống và khiến chuỗi công khai mất đi sự đồng thuận của cộng đồng. Do đó, nếu đó là giải pháp chuyển tiếp trong quá trình mở rộng blockchain, thì việc lưu trữ tạm thời đơn giản nhất của chuỗi chính có thể phù hợp hơn. Cuối cùng, cuộc thảo luận ở trên dựa trên hiệu suất trong quá trình hoạt động thực tế. Tuy nhiên, nếu mục tiêu của một chuỗi công khai nhất định là phát triển hệ sinh thái của nó và thu hút nhiều bên dự án và người tham gia hơn, thì nó cũng có thể ưu tiên các dự án được hỗ trợ và tài trợ bởi nền tảng của nó… Ví dụ: khi hiệu suất tổng thể tương đương hoặc thậm chí một chút Thấp hơn so với các giải pháp lưu trữ chuỗi công cộng, cộng đồng Ethereum cũng sẽ có xu hướng hướng đến các dự án Lớp 2 được Ethereum Foundation hỗ trợ như EthStorage để tiếp tục phát triển hệ sinh thái Ethereum.

Nhìn chung, các chức năng của blockchain ngày nay ngày càng trở nên phức tạp hơn, điều này cũng mang đến yêu cầu về không gian lưu trữ lớn hơn. Khi có đủ nút xác minh Lớp 1, dữ liệu lịch sử không cần phải được sao lưu bởi tất cả các nút trong toàn bộ mạng. Chỉ khi số lượng bản sao lưu đạt đến một giá trị nhất định thì tính bảo mật tương đối mới được đảm bảo.. đồng thời, Sự phân công lao động trong các chuỗi công cộng cũng ngày càng trở nên chi tiết hơn., Lớp 1 chịu trách nhiệm về sự đồng thuận và thực thi, Rollup chịu trách nhiệm tính toán và xác minh và một blockchain riêng biệt được sử dụng để lưu trữ dữ liệu. Mỗi bộ phận có thể tập trung vào một chức năng nhất định mà không bị giới hạn bởi hoạt động của các bộ phận khác. Tuy nhiên, dung lượng lưu trữ cụ thể hoặc tỷ lệ nút được phép lưu trữ dữ liệu lịch sử có thể đạt được sự cân bằng giữa bảo mật và hiệu quả cũng như cách đảm bảo khả năng tương tác an toàn giữa các chuỗi khối khác nhau, đây là vấn đề đòi hỏi các nhà phát triển chuỗi khối phải suy nghĩ. và không ngừng cải tiến. Các nhà đầu tư vẫn chú ý đến dự án DA dành riêng cho chuỗi chính trên Ethereum, vì Ethereum đã có đủ người ủng hộ ở giai đoạn này và không cần phải dựa vào các cộng đồng khác để mở rộng ảnh hưởng của nó. Điều cần thiết hơn là cải thiện và phát triển cộng đồng của bạn và thu hút nhiều dự án hơn vào hệ sinh thái Ethereum. Tuy nhiên, đối với các chuỗi công cộng ở vị trí bắt kịp, chẳng hạn như Solana và Aptos, bản thân chuỗi đơn không có hệ sinh thái hoàn chỉnh như vậy, do đó, nó có thể có xu hướng hợp tác với các cộng đồng khác để xây dựng một hệ sinh thái chuỗi chéo khổng lồ. để mở rộng ảnh hưởng. Do đó, Layer1 mới nổi, DA của bên thứ ba nói chung đáng được chú ý hơn.


Kernel Ventures là quỹ đầu tư mạo hiểm tiền điện tử được thúc đẩy bởi cộng đồng nghiên cứu và phát triển với hơn 70 khoản đầu tư giai đoạn đầu tập trung vào cơ sở hạ tầng, phần mềm trung gian, dApps, đặc biệt là ZK, Rollup, DEX, chuỗi khối mô-đun và giới thiệu các khu vực dọc cho hàng tỷ người dùng tiền điện tử ở tương lai, chẳng hạn như trừu tượng hóa tài khoản, tính sẵn có của dữ liệu, khả năng mở rộng, v.v. Trong bảy năm qua, chúng tôi đã cam kết hỗ trợ sự phát triển của các cộng đồng phát triển cốt lõi và các hiệp hội blockchain đại học trên toàn thế giới.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [mirror]. Mọi bản quyền thuộc về tác giả gốc [Kernel Ventures Jerry Luo]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn , họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.
ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!