Trong những ngày đầu, các chuỗi công khai yêu cầu các nút trên toàn mạng duy trì tính nhất quán của dữ liệu để đảm bảo an ninh 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ữ tiếp tục gia tăng, kéo theo xu hướng tập trung hóa các hoạt động của nút. Ở giai đoạn này, Layer 1 cần khẩn trương giải quyết bài toán chi phí lưu trữ do sự phát triển của TPS gây ra.
Trước vấn đề này, các nhà phát triển cần đề xuất một sơ đồ lưu trữ dữ liệu lịch sử mới trên tiền đề tính đến 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.
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 dự phòng dữ liệu và nâng cao hiệu quả xác minh dữ liệu.
Sơ đồ DA hiện tại được chia thành hai loại từ 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 dựa trên quan điểm thường xuyên làm sạch dữ liệu và phân mảnh lưu trữ dữ liệu để giảm áp lực lưu trữ lên các nút. Yêu cầu thiết kế DA của bên thứ ba được thiết kế để phục vụ lưu trữ và có giải pháp hợp lý cho lượng dữ liệu lớn. Do đó, chủ yếu là sự đánh đổi giữa khả năng tương thích chuỗi đơn và khả năng tương thích đa chuỗi, và ba giải pháp được đề xuất: DA chuyên dụng chuỗi chính, DA mô-đun và DA chuỗi công cộng lưu trữ.
Chuỗi công khai dựa trên thanh toán có yêu cầu cực kỳ cao về bảo mật dữ liệu lịch sử và phù hợp để sử dụng 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 một thời gian dài và một số lượng lớn các thợ đào đang chạy mạng, sẽ thích hợp hơn khi áp dụng DA của bên thứ ba không liên quan đến lớp đồng thuận và tính đến bảo mật. Chuỗi công khai toàn diện phù hợp hơn cho việc sử dụng lưu trữ DA dành riêng cho 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. Nhưng với nhu cầu về chuỗi chéo, DA mô-đun cũng là một lựa chọn tốt.
Nhìn chung, blockchain đang phát triển theo hướng giảm dư thừa dữ liệu và phân công lao động đa chuỗi.
1. nền
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 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 gốc của giao dịch), để đảm bảo tính chính xác của giao dịch, về nguyên tắc, blockchain nên lưu trữ tất cả 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 trung bình của mỗi khối được ước tính là 20 kb, tổng kích thước của khối Ethereum hiện tại đã đạt 370 GB và một nút đầy đủ phải ghi lại trạng thái và biên lai giao dịch ngoài chính khối. Tính phần này, tổng dung lượng lưu trữ của một nút đã vượt quá 1 TB, điều này làm cho hoạt động của nút tập trung vào 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. Chỉ số hiệu suất DA
2.1 Bảo mật
So với cơ sở dữ liệu hoặc cấu trúc lưu trữ danh sách được liên kết, tính bất biến của blockchain đến từ thực tế là dữ liệu mới được tạo ra có thể được xác minh 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ử của nó là yếu tố được xem xét đầu tiên trong lưu trữ lớp DA. Để đánh giá bảo mật dữ liệu của hệ thống blockchain, chúng tôi thường phân tích lượng dự phòng dữ liệu và phương pháp xác minh tính khả dụng của dữ liệu
Số lượng dự phòng: Đối với sự dư thừa của dữ liệu trong hệ thống blockchain, nó chủ yếu có thể đóng các vai trò sau: đầu tiên, nếu số lượng dự phòng trong mạng lớn hơn, khi trình xác thực cần kiểm tra trạng thái tài khoản trong một khối lịch sử để xác minh giao dịch hiện tại, nó có thể nhận được số lượng mẫu lớn nhất để tham khảo và chọn dữ liệu được ghi lại bởi phần lớn 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 node nhất định nên chi phí tấn công cực kỳ thấp để chỉ thay đổi dữ liệu lịch sử trên một node duy nhất, và về mặt lý thuyết, dữ liệu càng dư thừa thì dữ liệu càng đáng tin cậy. Đồng thời, càng nhiều nút được lưu trữ, dữ liệu càng ít có khả năng bị mất. Điều này cũng có thể được so sánh với các máy chủ tập trung lưu trữ các trò chơi Web2 và một khi tất cả các máy chủ phụ trợ bị tắt, sẽ ngừng hoạt động hoàn toàn. Tuy nhiên, nhiều hơn không phải là tốt hơn, bởi vì mỗi lần dự phòng sẽ mang lại không gian lưu trữ bổ sung, và dự phòng dữ liệu quá nhiều sẽ mang lại áp lực lưu trữ quá mức cho hệ thống, và một lớp DA tốt nên chọn một phương pháp dự phòng phù hợp để đạt được sự cân bằng giữa bảo mật và hiệu quả lưu trữ.
Kiểm tra tính khả dụng của dữ liệu: Việc dự phòng đảm bảo rằng có đủ bản ghi dữ liệu trong mạng, nhưng dữ liệu được sử dụng cũng cần được xác minh về tính chính xác và đầy đủ. Ở giai đoạn này, phương pháp xác minh thường được sử dụng trong blockchain 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 và cam kết này có được bằng cách trộn dữ liệu giao dịch. Để kiểm tra tính xác thực của một phần dữ liệu lịch sử, cần khôi phục lời hứa mật mã thông qua dữ liệu, kiểm tra xem lời hứa mật mã thu được từ việc khôi phục có phù hợp với hồ sơ của toàn bộ mạng hay không và nếu nó nhất quán, việc xác minh được thông qua. Các thuật toán xác minh mật khẩu thường được sử dụng là Merkle 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 rất ít 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 trữ
Trên tiền đề đảm bảo an ninh cơ bản, mục tiêu cốt lõi tiếp theo cần đạt được trong lớp DA là giảm chi phí và tăng hiệu quả. Đầu tiên là giảm chi phí lưu trữ, nghĩa là giảm dung lượng bộ nhớ do lưu trữ dữ liệu trên mỗi đơn vị kích thước, mà không xem xét sự khác biệt về hiệu suất phần cứng. Ở giai đoạn này, 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ữ có thưởng để đảm bảo rằng dữ liệu được lưu trữ hiệu quả và giảm số lượng 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ột mối quan hệ trò chơi giữa chi phí lưu trữ và bảo mật dữ liệu, và giảm chiếm dụng lưu trữ thường có nghĩa là giảm bảo mật. Do đó, một lớp DA tốt cần cân bằng giữa chi phí lưu trữ với 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, cũng cần giảm chi phí bằng cách giảm thiểu quá trình trao đổi dữ liệu trung gian và dữ liệu chỉ mục cần được để lại cho các lệnh gọi truy vấn tiếp theo trong mỗi quá trình chuyển tiếp, do đó quá trình gọi càng dài thì dữ liệu chỉ mục sẽ càng nhiều và chi phí lưu trữ sẽ tăng lên. Cuối cùng, chi phí lưu trữ dữ liệu liên quan trực tiếp đến độ bền của dữ liệu. Nhìn 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
Khi giảm chi phí, bước tiếp theo là tăng hiệu quả, đó là khả năng nhanh chóng gọi 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, thứ nhất 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 chuỗi công cộng chưa đạt được tính nhất quán dữ liệu của toàn bộ mạng, nếu chuỗi công cộng đã đạt được sự đồng bộ hóa dữ liệu của các nút của toàn bộ mạng, có thể bỏ qua việc tiêu thụ thời gian của quá trình này. Thứ hai, trong các hệ thống blockchain chính thống ở giai đoạn này, 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 là dữ liệu được ghi nhanh chóng được lưu trữ trong tệp loại memtable và khi memtable đầy, loại tệp được thay đổi từ memtable sang memtable bất biến. Cả hai loại tệp đều được lưu trữ trong bộ nhớ, nhưng tệp Immutable Memtable không còn có thể thay đổi được nữa và chỉ có thể đọc dữ liệu từ nó. 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 và nó có thể được đọc nhanh từ bộ nhớ khi nó được gọi, nhưng bộ nhớ di động của một nút thông thường thường ở mức gigabyte, dễ ghi chậm và khi nút gặp sự cố và các điều kiện bất thường khác, dữ liệu trong bộ nhớ sẽ bị mất vĩnh viễn. Nếu bạn muốn dữ liệu của mình được lưu trữ liên tục, bạn cần lưu trữ nó dưới dạng tệp SST vào ổ đĩa trạng thái rắn (SSD), nhưng trước tiên bạn cần đọc dữ liệu vào bộ nhớ, điều này làm chậ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 có lưu trữ phân đoạn, 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, điều này cũng sẽ làm chậ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 Điểm chung của lớp DA
Với sự phát triển của DeFi và các vấn đề của CEX, nhu cầu giao dịch xuyên chuỗi của các tài sản phi tập trung cũng ngày càng tăng. Cho dù đó là một cơ chế chuỗi chéo của khóa băm, công chứng viên hoặc chuỗi chuyển tiếp, không thể tránh khỏi việc xác định dữ liệu lịch sử trên hai chuỗi cùng một lúc. Mấu chốt của vấn đề này nằm ở việc tách dữ liệu trên hai chuỗi và giao tiếp trực tiếp không thể đạt được trong các hệ thống phi tập trung khác nhau. Do đó, ở giai đoạn này, một giải pháp được đề xuất bằng cách thay đổi chế độ lưu trữ của lớp DA, nơi 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 và chỉ cần gọi dữ liệu trên chuỗi công khai này khi xác minh. Điều này đòi hỏi lớp DA phải có khả năng thiết lập một phương thức giao tiếp an toàn với các loại chuỗi công khai khác nhau, tức là lớp DA có tính linh hoạt tốt.
3. Thăm dò công nghệ liên quan đến DA
3.1 Sharding
Trong một hệ thống phân tán truyền thống, một tệp không được lưu trữ ở dạng hoàn chỉnh trên một nút, nhưng 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. Và các khối có xu hướng không được lưu trữ trên chỉ một nút, mà có các bản sao lưu thích hợp trên các nút khác, thường được đặt thành 2 trong các hệ thống phân tán chính thống hiện có. Cơ chế sharding này có thể làm giảm áp lực lưu trữ trên 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 bảo tính bảo mật của lưu trữ thông qua dự phòng dữ liệu thích hợp. Cách tiếp cận sharding được thực hiện trong một blockchain tương tự nhau, nhưng có sự khác biệt trong các chi tiết cụ thể. Trước hết, vì mỗi nút trong blockchain không đáng tin cậy theo mặc định, nên cần một lượng dữ liệu đủ lớn để sao lưu cho tính xác thực dữ liệu tiếp theo trong quá trình triển khai Sharding, vì vậy số lượng bản sao lưu của nút này cần nhiều hơn 2. Lý tưởng nhất là trong một hệ thống blockchain có sơ đồ lưu trữ này, nếu tổng số trình xác thực 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à quy trình lưu trữ của Block, hệ thống phân tán truyền thống có ít node hơn, vì vậy nó thường là một node để thích ứng với nhiều khối dữ liệu, đầu tiên là ánh xạ dữ liệu đến vòng băm thông qua thuật toán băm nhất quán, và sau đó mỗi node lưu trữ một số khối dữ liệu trong một phạm vi nhất định, và có thể chấp nhận rằng một node không phân bổ một tác vụ lưu trữ trong một bộ lưu trữ nhất định. Trên blockchain, việc mỗi nút có được gán cho một khối hay không không còn là một sự kiện ngẫu nhiên mà là một sự kiện không thể tránh khỏi và mỗi nút sẽ chọn ngẫu nhiên một khối để lưu trữ, được hoàn thành bằng cách tính toán số lượng phân đoạn với kết quả băm dữ liệu với dữ liệu gốc của khối và thông tin riêng của nút. 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 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 đang phát triển và áp suất lưu trữ của nút.
Cách dữ liệu được lưu trữ sau Sharding, nguồn ảnh: Kernel Ventures
3.2 DAS (Lấy mẫu tính khả dụng của dữ liệu)
Công nghệ DAS dựa trên việc tối ưu hóa hơn nữa Sharding về phương pháp lưu trữ. Trong quá trình phân mảnh, do việc lưu trữ ngẫu nhiên các nút đơn giản, một khối nhất định có thể bị mất. Thứ hai, đối với dữ liệu được phân đoạn, làm thế nào để 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, cả hai vấn đề này đều được giải quyết thông qua mã Eraser và các cam kết đa thức KZG.
Mã tẩy: Xem xét số lượng trình xác thực khổng lồ trên Ethereum, xác suất một khối không được lưu trữ bởi bất kỳ nút nào gần như bằng không, 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 mát lưu trữ có thể xảy ra này, thay vì chia trực tiếp dữ liệu gốc thành các khối để lưu trữ, dữ liệu gốc được ánh xạ đến các hệ số của đa thức bậc n và sau đó 2n điểm được lấy trên đa thức và nút chọn ngẫu nhiên một trong số 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, do đó chỉ cần một nửa số khối cần được các nút chọn để 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 khôi phục dữ liệu của mạng được cải thiện.
Lời hứa đa thức KZG: Một phần rất quan trọng của 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ó nhiều cách khác nhau để xác thực quy trình, nhưng nếu mã Eraser ở trên được giới thiệu để cải thiện bảo mật dữ liệu, thì việc sử dụng các cam kết đa thức KZG sẽ phù hợp hơn. Đa thức KZG hứa hẹn sẽ xác minh trực tiếp nội dung của một khối dưới dạng đa thức, do đó loại bỏ nhu cầu khôi phục đa thức thành dữ liệu nhị phân và hình thức xác minh thường tương tự như Merkle Tree, nhưng không yêu cầu dữ liệu nút Đường dẫn cụ thể, chỉ cần dữ liệu gốc và khối KZG để xác minh tính xác thực của nó.
3.3 Chế độ xác minh dữ liệu lớp DA
Xác thực dữ liệu đảm bảo rằng dữ liệu được gọi từ nút không bị giả mạo và không bị mất. Để giảm lượng dữ liệu và chi phí tính toán cần thiết trong quá trình xác minh càng nhiều càng tốt, lớp DA hiện đang áp dụng cấu trúc cây làm phương pháp xác minh chính. Hình thức đơn giản nhất là sử dụng Merkle Tree để xác minh, được ghi lại dưới dạng cây nhị phân đầy đủ và chỉ cần giữ gốc Merkle và giá trị băm của cây con ở phía bên kia của đường dẫn nút cần được xác minh và độ phức tạp về thời gian của xác minh là mức O (logN) (logN mặc định là log2 (N) nếu số không dựa trên). Mặc dù quá trình xác thực đã được đơn giản hóa rất nhiều, lượng dữ liệu trong quá trình xác thực nói chung đã tăng lên cùng với sự gia tăng dữ liệu. Để giải quyết vấn đề tăng số lượng xác minh, một phương pháp xác minh khác, Verkle Tree, được đề xuất ở giai đoạn này. Ngoài việc lưu trữ giá trị, mỗi nút trong Verkle Tree cũng sẽ đi kèm với một Vector Commitment, thông qua giá trị của node gốc và bằng chứng cam kết này, bạn có thể nhanh chóng xác minh tính xác thực của dữ liệu, mà không cần gọi giá trị của các node chị em khác, điều này làm cho số lượng phép tính cho mỗi lần xác minh chỉ liên quan đến độ sâu của Verkle Tree, 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 đòi hỏi 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 dữ liệu lịch sử, được lưu trữ vĩnh viễn và không thể bị giả mạo, Verkle Tree cực kỳ phù hợp. Ngoài ra, cũng có các biến thể của Merkle Tree và Verkle Tree dưới dạng K-ary, và cơ chế thực hiện cụ thể của chúng là tương tự nhau, nhưng số lượng cây con dưới mỗi nút được thay đổi và so sánh hiệu suất cụ thể của chúng có thể được nhìn thấy trong bảng sau.
So sánh các phương pháp xác minh dữ liệu và hiệu suất thời gian, 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 số lượng các chuỗi công khai. Do những lợi thế và không thể thay thế của mỗi chuỗi công khai trong các lĩnh vực tương ứng của họ, chuỗi công khai Lớp 1 gần như không thể trở nên thống nhất trong một khoảng thời gian ngắn. Tuy nhiên, với sự phát triển của DeFi và các vấn đề của CEX, nhu cầu về tài sản giao dịch chuỗi chéo phi tập trung cũng ngày càng tăng. Do đó, 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 trao đổi dữ liệu chuỗi chéo, ngày càng nhận được nhiều sự chú ý. 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 một giao thức phi tập trung để lưu trữ và xác minh các luồng dữ liệu được tiêu chuẩn hóa, chẳng hạn như kvye, một phần mềm trung gian lưu trữ dựa trên Arweave, chủ động thu thập dữ liệu từ chuỗi và có thể lưu trữ tất cả dữ liệu trên chuỗi ở dạng chuẩn để Arweave 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, chuyên cung cấp 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ộ, giúp giảm chi phí tương tác và cải thiện bảo mật, nhưng có những hạn chế tương đối lớn và chỉ có thể cung cấp dịch vụ cho các chuỗi công khai cụ thể.
4. Sơ đồ lưu trữ cấp DA
4.1 Mainchain DA
4.1.1 lớp DankSharding
Không có tên xác định cho loại sơ đồ lưu trữ này và đại diện nổi bật nhất của loại sơ đồ lưu trữ này là DankSharding trên Ethereum, vì vậy sơ đồ giống như DankSharding được sử dụng trong bài viết này. Loại giải pháp này chủ yếu sử dụng hai công nghệ lưu trữ DA đã đề cập ở trên là Sharding và DAS. Đầu tiên, Sharding chia dữ liệu thành các phần thích hợp, sau đó cho phép 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 trên toàn bộ mạng, chúng ta có thể lấy số lượng phân đoạn N lớn hơn, để áp suất lưu trữ của mỗi nút chỉ bằng 1 / N so với ban đầu, để đạt được N lần mở rộng không gian lưu trữ tổng thể. Đồng thời, để đảm bảo rằng một khối không được lưu trữ trong bất kỳ khối nào trong trường hợp cực đoan, DankSharding mã hóa dữ liệu bằng Mã xóa và chỉ một nửa dữ liệu có thể được khôi phục hoàn toàn. Cuối cùng, quá trình xác thực dữ liệu sử dụng cấu trúc của cây Verkle và cam kết đa thức để đạt được xác thực nhanh.
4.1.2 Lưu trữ ngắn hạn
Một trong những cách đơn giản nhất để xử lý dữ liệu cho DA trên chuỗi chính là lưu trữ dữ liệu lịch sử trong một khoảng thời gian ngắn. Về bản chất, blockchain đóng vai trò của một sổ cái công khai, nhận ra những thay đổi đối với nội dung của sổ cái dưới tiền đề chứng kiến toàn bộ mạng, 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, các 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ử của từng thời điểm 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 thời điểm thay đổi tiếp theo. Đối với các dự án có nhu cầu dữ liệu đặc biệt trước khoảng thời gian này, họ có thể lưu trữ chúng trên các chuỗi công khai phi tập trung khác hoặc bởi các bên thứ ba đáng tin cậy. Điều này có nghĩa là những người có nhu cầu dữ liệu bổ sung cần phải trả tiền cho việc lưu trữ dữ liệu lịch sử.
4.2 DA của bên thứ ba
4.2.1 DA chuyên dụng Mainchain: EthStorage
DA cho chuỗi chính:D Điều quan trọng nhất trong lớp A là bảo mật truyền dữ liệu và an toàn nhất trong vấn đề này là DA của chuỗi chính. Tuy nhiên, lưu trữ chuỗi chính bị giới hạn bởi không gian lưu trữ và cạnh tranh về tài nguyên, vì vậy khi lượng dữ liệu mạng tăng nhanh, nếu bạn muốn đạt được khả năng lưu trữ dữ liệu lâu dài, DA của bên thứ ba sẽ là lựa chọn tốt hơn. 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ể nhận ra việc chia sẻ các nút và có tính bảo mật cao hơn trong quá trình trao đổi dữ liệu. Do đó, dưới tiền đề xem xét bảo mật, sẽ có những lợi thế rất lớn cho DA dành riêng cho chuỗi chính. Lấy Ethereum làm ví dụ, một trong những yêu cầu cơ bản của DA chuyên dụng chuỗi chính là nó có thể tương thích với EVM để đảm bảo khả năng tương tác với dữ liệu và hợp đồng Ethereum và các dự án đại diện bao gồm Topia, EthStorage, v.v. Trong số đó, EthStorage hiện đang phát triển 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á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 để đạt được khả năng tương thích ở cấp độ công cụ phát triển Ethereum.
**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 đó là 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 một lúc và EthStorage có thể được vận hành trực tiếp thông qua opcode trên Ethereum. Trong mô hình lưu trữ của EthStorage, chỉ giữ một lượng nhỏ siêu dữ liệu trên mạng chính Ethereum để lập chỉ mục, về cơ bản tạo ra một cơ sở dữ liệu phi tập trung cho Ethereum. Trong giải pháp hiện tại, EthStorage đã triển khai sự 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 gửi dữ liệu, nó cần gọi hàm put() trong hợp đồng và các tham số đầu vào là khóa hai biến byte, dữ liệu, trong đó dữ liệu đại diện cho dữ liệu cần gửi và khóa là nhận dạng của nó trong mạng Ethereum, có thể được xem là tương tự như sự tồn tại của CID trong IPFS. Sau khi cặp (khóa, dữ liệu) được lưu trữ thành công trong mạng EthStorage, EthStorage sẽ tạo một kvldx và trả về mạng chính Ethereum, tương ứng với khóa trên Ethereum và giá trị này tương ứng với địa chỉ lưu trữ của dữ liệu trên EthStorage, do đó vấn đề lưu trữ một lượng lớn dữ liệu hiện được thay đổi để lưu trữ một cặp (khóa, kvldx), giúp giảm đáng kể chi phí lưu trữ của mạng chính Ethereum. Nếu bạn cần thực hiện cuộc gọi đến dữ liệu được lưu trữ trước đó, bạn cần sử dụng hàm get() trong EthStorage và nhập tham số khóa và bạn có thể thực hiện tra cứu nhanh dữ liệu trên EthStorage thông qua kvldx được lưu trữ trên Ethereum.
Hợp đồng EthStorage, nguồn ảnh: Kernel Ventures
Về cách các nút lưu trữ dữ liệu, EthStorage vay mượn từ mô hình của Arweave. Trước hết, một số lượng lớn các cặp (k, v) từ ETH được phân mảnh và mỗi phân đoạn chứa một số cặp dữ liệu (k, v) cố định, trong đó cũng có giới hạn về kích thước cụ thể của mỗi cặp (k, v), để đảm bảo tính công bằng của kích thước khối lượng công việc trong quá trình lưu trữ phần thưởng cho thợ đào. Để phát hành phần thưởng, bạ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 chia một sharding (kích thước terabyte) thành một số lượng lớn các khối và giữ một gốc Merkle trên mạng chính Ethereum để xác thực. Tiếp theo, thợ đào cần cung cấp một nonce để tạo địa chỉ của một số khối thông qua một thuật toán ngẫu nhiên với hàm băm của khối trước đó trên EthStorage và 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ộ phân đoạn. Tuy nhiên, 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ượt qua xác minh, vì vậy nonce này phải làm cho đoạn được tạo đáp ứng các yêu cầu mạng sau khi trộn và băm, và chỉ nút đầu tiên gửi nonce và bằng chứng truy cập ngẫu nhiên mới có thể nhận được phần thưởng.
4.2.2 DA mô-đun: Celestia
**Mô-đun Blockchain **: Ở giai đoạn này, các giao dịch cần được thực hiện bởi chuỗi công khai Lớp 1 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 trình xác thực theo một cách nhất định, viết khối và phân phối phần thưởng cho người bảo trì mạng, (2) đóng gói và xử lý giao dịch và xuất bản các giao dịch liên quan, (3) xác minh các giao dịch sẽ được đưa vào chuỗi và xác định trạng thái cuối cùng, và (4) lưu trữ và duy trì dữ liệu lịch sử trên blockchain. Tùy thuộc vào các chức năng được thực hiện, 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 tính khả dụng của dữ liệu (lớp DA).
Thiết kế blockchain mô-đun: Trong một thời gian dài, bốn mô-đun này đã được tích hợp vào một chuỗi công khai và một blockchain như vậy được gọi là blockchain nguyên khối. Hình thức này ổn định hơn và dễ bảo trì, nhưng nó cũng gây nhiều áp lực lên một chuỗi công khai duy nhất. Trong thực tế, bốn mô-đun này hạn chế lẫn nhau và cạnh tranh cho các tài nguyên tính toán và lưu trữ 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ẽ gây áp lực lưu trữ nhiều hơn lên lớp tính khả dụng của dữ liệu và việc đảm bảo tính bảo mật của lớp thực thi sẽ đòi hỏi các cơ chế xác thực phức tạp hơn làm chậm quá trình xử lý giao dịch. Do đó, sự phát triển của các chuỗi công khai 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 cổ chai trong việc cải thiện hiệu suất của chuỗi công khai này, các nhà phát triển đã đề xuất một sơ đồ blockchain mô-đun. Ý tưởng cốt lõi của blockchain mô-đun là tách một hoặc một số trong bốn mô-đun trên và bàn giao chúng cho một triển khai chuỗi công khai riêng biệt. Bằng cách này, trên chuỗi công khai, bạn 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à vượt qua những hạn chế trước đó do hiệu ứng bảng ngắn đối với hiệu suất tổng thể của blockchain.
DA mô-đun: Cách tiếp cận phức tạp của việc tách lớp DA khỏi kinh doanh blockchain và bàn giao nó cho một chuỗi công khai duy nhất được coi là một 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 thăm dò trong lĩnh vực này vẫn đang trong giai đoạn đầu, với Celestia là dự án tiêu biểu nhất tại thời điểm này. Về phương pháp lưu trữ cụ thể, Celestia mượn từ phương pháp lưu trữ của Danksharding, đó là chia dữ liệu thành nhiều khối, trích xuất một phần của nó bởi mỗi nút để lưu trữ và xác minh tính toàn vẹn dữ liệu với cam kết đa thức KZG. Đồng thời, Celestia sử dụng mã hóa xóa 2D RS tiên tiến để viết lại dữ liệu gốc dưới dạng ma trận kk và cuối cùng chỉ có thể khôi phục 25% dữ liệu gốc. Tuy nhiên, lưu trữ phân mảnh dữ liệu về cơ bản chỉ nhân áp lực lưu trữ của các nút trên toàn bộ mạng với một yếu tố trên tổng khối lượng dữ liệu và áp lực lưu trữ và khối lượng dữ liệu của các nút vẫn duy trì 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 vẫn có thể đạt đến ngưỡng không thể chấp nhận được vào một ngày nào đó. Để giải quyết vấn đề này, thành phần IPLD đã được giới thiệu ở Celestia để xử lý. Đối với dữ liệu trong ma trận kk, nó không được lưu trữ trực tiếp trên Celestia, mà trong mạng LL-IPFS và chỉ mã CID của dữ liệu đó trên IPFS được giữ 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à sử dụng CID để gọi dữ liệu thô trên IPFS. Nếu dữ liệu tồn tại trên IPFS, nó được trả về thông qua các thành phần và nút IPLD, và nếu không, nó không thể được trả về.
Cách đọc dữ liệu Celestia, nguồn ảnh: Celestia Core
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ần nhận biết quá nhiều và cuối cùng theo kích thước của không gian lưu trữ, nút Rollup sẽ trả các token tia tương ứng cho Celestia dưới dạng phí lưu trữ. Việc lưu trữ trong Celstia tận dụng DAS và mã hóa xóa tương tự như trong EIP4844, nhưng mã hóa xóa đa thức trong EIP4844 được nâng cấp lên mã hóa xóa 2D RS và bảo mật lưu trữ được nâng cấp lại, chỉ yêu cầu 25% vết nứt để khôi phục toàn bộ dữ liệu giao dịch. Về cơ bản, nó chỉ là một chuỗi công khai POS chi phí thấp và nếu bạn muốn giải quyết vấn đề lưu trữ dữ liệu lịch sử của Ethereum, bạn cần nhiều mô-đun cụ thể khác để làm việc với Celestia. Ví dụ: về mặt tổng hợp, một trong những chế độ cập nhật được đề xuất nhiều nhất trên trang web chính thức của Celestia là Sovereign Rollup. Khác với các bản tổng hợp phổ biến trên Lớp 2, chỉ có giao dịch được tính toán và xác minh, nghĩa là 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, có thể tối đa hóa tính bảo mật của quá trình giao dịch tổng thể khi bảo mật tổng thể của Celestia yếu hơn Ethereum. Về mặt đảm bảo tính bảo mật của dữ liệu được Celestia gọi trên mạng chính Ethereum, giải pháp chủ đạo nhất 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ó tạo ra Merkle Root (Bằng chứng về tính sẵn có của dữ liệu) và vẫn nằm trên hợp đồng cầu hấp dẫn lượng tử trên mạng chính Ethereum và mỗi khi Ethereum gọi dữ liệu lịch sử trên Celestia, nó sẽ so sánh kết quả băm của nó với Merkle Root và nếu có, điều đó có nghĩa là nó thực sự là dữ liệu lịch sử thực sự.
4.2.3 Lưu trữ chuỗi công khai DA
Về nguyên tắc công nghệ DA của chuỗi chính, nhiều công nghệ tương tự như Sharding được mượn từ chuỗi công cộng lưu trữ. Trong số các DA của bên thứ ba, một số trong số họ đã hoàn thành một số tác vụ lưu trữ trực tiếp với sự trợ giúp của chuỗi công cộng lưu trữ, chẳng hạn như 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 một chuỗi công khai riêng biệt để giải quyết bài toán lưu trữ của Layer 1, một cách trực tiếp hơn là kết nối trực tiếp chuỗi công cộng lưu trữ với Layer 1 để lưu trữ dữ liệu lịch sử khổng lồ trên Layer 1. Đối với các blockchain hiệu suất cao, khối lượng dữ liệu lịch sử thậm chí còn lớn hơn và kích thước dữ liệu của chuỗi công khai hiệu suất cao Solana gần 4 PG khi chạy ở tốc độ tối đa, hoàn toàn nằm ngoài phạm vi lưu trữ của các nút thông thường. Giải pháp được lựa chọn của Solana là lưu trữ dữ liệu lịch sử trên Arweave, một mạng lưu trữ phi tập trung và chỉ giữ 2 ngày dữ liệu trên các nút trên mainnet để xác minh. Để đảm bảo tính bảo mật của quá trình được lưu trữ, Solana và chuỗi Arweave đã thiết kế một giao thức cầu nối lưu trữ, Solar Bridge. Dữ liệu được xác minh bởi nút Solana được đồng bộ hóa với Arweave và thẻ tương ứng được trả về. Với thẻ này, các nút Solana có thể xem dữ liệu lịch sử của blockchain Solana bất cứ lúc nào. Trên Arweave, các nút trên mạng không cần thiết 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 hoạt động của mạng, mà thay vào đó áp dụng phương pháp lưu trữ phần thưởng. 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 như một cấu trúc đồ thị. Trong Arweave, một khối mới không chỉ trỏ đến khối trước đó mà còn đến Khối thu hồi được tạo ngẫu nhiên. Vị trí chính xác của Khối thu hồi được xác định bởi hàm băm của khối trước đó và chiều cao khối của nó và vị trí của Khối thu hồi không được biết cho đến khi khối trước đó được khai thác. Tuy nhiên, trong quá trình tạo các khối mới, các nút được yêu cầu phải có dữ liệu của Khối thu hồi để sử dụng cơ chế POW để tính toán hàm băm của độ khó được chỉ định và chỉ những thợ đào đầu tiên tính toán hàm băm phù hợp với độ khó mới có thể được thưởng, khuyến khích các thợ đào lưu trữ càng nhiều dữ liệu lịch sử càng tốt. Đồng thời, càng ít người lưu trữ một khối lịch sử, nút sẽ càng có ít đối thủ cạnh tranh hơn khi tạo ra độ khó nonce, khuyến khích các thợ đào lưu trữ các khối có ít bản sao lưu hơn trong mạng. Cuối cùng, để đảm bảo rằng các nút có thể lưu trữ vĩnh viễn dữ liệu trong Arweave, cơ chế tính điểm nút của WildFire được giới thiệu. Các nút 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 có quyền truy cập vào dữ liệu khối và giao dịch mới nhất ngay từ đầu, vì vậy chúng không thể dẫn đầu trong cuộc cạnh tranh cho POW.
Các khối Arweave được xây dựng như thế nào, nguồn ảnh: Arweave Yellow-Paper
5. So sánh toàn diện
Tiếp theo, chúng tôi sẽ so sánh ưu và nhược điểm của từng kịch bản trong số năm kịch bản lưu trữ dựa trên bốn khía cạnh của chỉ số hiệu suất DA.
** Bảo mật **: Nguồn gốc lớn nhất của các vấn đề bảo mật dữ liệu là tổn thất do truyền dữ liệu và giả mạo độc hại từ các nút không trung thực và trong quá trình chuỗi chéo, do tính độc lập và trạng thái của hai chuỗi công khai không được chia sẻ, đây là lĩnh vực bị ảnh hưởng nặng nề nhất về bảo mật truyền dữ liệu. Ngoài ra, Layer 1 yêu cầu một lớp DA chuyên dụng ở giai đoạn này thường có một nhóm đồng thuận mạnh mẽ, và bảo mật riêng của nó sẽ cao hơn nhiều so với các chuỗi công cộng lưu trữ thông thường. Do đó, sơ đồ của chuỗi chính DA có bảo mật cao hơn. Sau khi đảm bảo tính bảo mật của việc truyền dữ liệu, bước tiếp theo là đảm bảo tính bảo mật của 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, cùng một dữ liệu được sao lưu bởi toàn bộ mạng trong mạng được lưu trữ tạm thời, trong khi số lượng sao lưu dữ liệu trung bình trong sơ đồ giống như DankSharding chỉ bằng 1/N số lượng nút trong toàn bộ mạng, dự phòng dữ liệu nhiều hơn có thể làm cho 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 để xác minh. Do đó, lưu trữ tạm thời sẽ có bảo mật dữ liệu cao hơn. Trong sơ đồ DA của bên thứ ba, DA chuyên dụng chuỗi chính sử dụng các nút chung 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 chuỗi chéo, do đó nó cũng sẽ có bảo mật tương đối cao hơn các giải pháp DA khác.
Chi phí lưu trữ: Đóng góp lớn nhất vào chi phí lưu trữ là lượng dự phòng dữ liệu. Trong giải pháp lưu trữ ngắn hạn của DA chuỗi chính, việc đồng bộ hóa dữ liệu của các nút của toàn bộ mạng được sử dụng để lưu trữ và mọi dữ liệu mới được lưu trữ đều cần được sao lưu bởi các nút của toàn bộ mạng, có chi phí lưu trữ cao nhất. Chi phí lưu trữ cao lần lượt 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 pháp lưu trữ Sharding, bao gồm Sharding trong chuỗi chính và Sharding trong DA của bên thứ ba. Vì chuỗi chính có xu hướng có nhiều nút hơn, nên sẽ có nhiều bản sao lưu hơn cho mỗi khối, do đó, 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à DA chuỗi công khai lưu trữ áp dụng phương pháp lưu trữ phần thưởng và lượng dự phòng dữ liệu trong sơ đồ này thường dao động xung quanh một hằng số cố định. Đồng thời, một cơ chế điều chỉnh động cũng đã được giới thiệu trong DA chuỗi công khai lưu trữ để thu hút các nút lưu trữ ít dữ liệu sao lưu hơn bằng cách tăng phần thưởng để đảm bảo bảo mật dữ liệu.
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ữ của dữ liệu trong không gian lưu trữ, đường dẫn chỉ mục dữ liệu và phân phối dữ liệu trong các nút. Trong số đó, nơi dữ liệu được lưu trữ trên nút có tác động lớn hơn đến tốc độ, bởi vì việc lưu trữ dữ liệu trong bộ nhớ hoặc SSD có thể khiến tốc độ đọc thay đổi hàng chục lần. DA chuỗi công cộng lưu trữ chủ yếu sử dụng lưu trữ SSD, vì tải trên chuỗi không chỉ bao gồm dữ liệu của lớp DA mà còn cả dữ liệu cá nhân có chiếm 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ữ, rất khó chịu được áp lực lưu trữ rất lớn và đáp ứng nhu cầu lưu trữ lâu dài. Thứ hai, đối với DA của bên thứ ba và DA chuỗi chính sử dụng dữ liệu lưu trữ trong bộ nhớ, DA của bên thứ ba trước tiên 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 sang DA của bên thứ ba trên chuỗi và trả về dữ liệu thông qua cầu lưu trữ. Ngược lại, các DA mainchain 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, bên trong DA chuỗi chính, phương thức Sharding cần gọi khối từ nhiều nút và khôi phục dữ liệu gốc. Do đó, lưu trữ ngắn hạn chậm hơn so với lưu trữ ngắn hạn mà không có phân mảnh.
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 không, vì không thể chuyển dữ liệu từ chuỗi công khai không đủ không gian lưu trữ sang một chuỗi công cộng khác không đủ không gian lưu trữ. Trong các 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 một chuỗi chính cụ thể là một cặp chỉ số mâu thuẫn. Ví dụ: trong sơ đồ DA dành riêng cho chuỗi chính được thiết kế cho một chuỗi chính nhất định, một số lượng lớn các 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, vì vậy những cải tiến này có thể là một trở ngại lớn khi giao tiếp với các chuỗi công cộng khác. Tuy nhiên, trong DA của bên thứ ba, so với DA mô-đun, DA chuỗi công cộng lưu trữ hoạt động tốt hơn về tính linh hoạt. Chuỗi công khai lưu trữ 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 tình hình của các chuỗi công khai khác nhau. Đồng thời, chuỗi công cộng lưu trữ DA thu thập dữ liệu tích cực hơn thông qua việc thu thập gói, thay vì thụ động nhận thông tin được truyền từ các chuỗi công cộng khác. Do đó, nó có thể mã hóa dữ liệu theo cách riêng của mình, thực hiện việc lưu trữ các 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à nâng cao hiệu quả lưu trữ.
So sánh hiệu suất giải pháp lưu trữ, nguồn ảnh: Kernel Ventures
6. tóm tắt
Blockchain ở giai đoạn này đang trải qua quá trình chuyển đổi từ Crypto sang Web3 toàn diện hơn, mang lại nhiều dự án hơn trên blockchain. Để phù hợp với rất nhiều dự án chạy cùng lúc trên Lớp 1, đồng thời đảm bảo trải nghiệm của các dự án Gamefi và Socialfi, Lớp 1, được đại diện bởi Ethereum, đã áp dụng các phương pháp như Rollups và Blobs để cải thiện TPS. Trong số các blockchain non trẻ, số lượng blockchain hiệu suất cao cũng đang tăng lên. Nhưng TPS cao hơn có nghĩa là không chỉ hiệu suất cao hơn mà còn áp lực lưu trữ lớn hơn trên mạng. Đối với dữ liệu lịch sử khổng lồ, một loạt các phương pháp DA dựa trên chuỗi chính và các bên thứ ba được đề xuất ở giai đoạn này để thích ứng với sự tăng trưởng của áp lực lưu trữ trên chuỗi. Có những ưu và nhược điểm đối với mỗi phương pháp cải tiến, và nó có khả năng ứng dụng khác nhau trong các bối cảnh khác nhau.
Các blockchain dựa trên thanh toán có yêu cầu cực kỳ cao về bảo mật 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ị, bạn có thể áp dụng phương pháp lưu trữ giống như DankSharding, có thể đạt được sự gia tăng lớn 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, đã được hình thành và có số lượng nút lớn, có rủi ro rất lớn trong việc thực hiện các cải tiến vội vàng ở lớp đồng thuận, vì vậy có thể áp dụng DA chuyên dụng cho chuỗi chính có bảo mật cao trong lưu trữ ngoài chuỗi để tính đến các vấn đề bảo mật và lưu trữ. Nhưng điều đáng chú ý là chức năng của blockchain không tĩnh mà luôn thay đổi. Ví dụ, trong những ngày đầu, các chức năng của Ethereum chủ yếu giới hạn ở thanh toán và sử dụng các hợp đồng thông minh để đơn giản là tự động hóa tài sản và giao dịch, nhưng với sự mở rộng liên tục của lãnh thổ blockchain, các dự án Socialfi và Defi khác nhau đã dần được thêm vào Ethereum, làm cho 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 dòng 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, 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 để giao dịch có thể được xử lý càng sớm càng tốt. Bây giờ, cộng đồng Bitcoin cần phải đánh đổi, cho dù chấp nhận phí cao và tốc độ giao dịch chậm, hoặc giảm an ninh mạng để tăng tốc độ giao dịch nhưng đi ngược lạ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ì sơ đồ lưu trữ tương ứng cũng sẽ cần phải được điều chỉnh khi đối mặt với áp lực dữ liệu ngày càng tăng.
Phí giao dịch mainnet Bitcoin biến động, nguồn ảnh: OKLINK
Đối với chuỗi công khai có chức năng toàn diện, nó có khả năng 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 và rất khó để thích ứng với sự phát triển nhanh chóng của TPS về lâu dài bằng cách áp dụng giải pháp giống như DankSharding. Do đó, sẽ thích hợp hơn khi 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ể thuận lợi hơn nếu chỉ xem xét vấn đề lưu trữ của một chuỗi công khai duy nhất. Tuy nhiên, trong chuỗi công khai Lớp 1 ngày nay, việc chuyển giao tài sản chuỗi chéo và tương tác dữ liệu cũng đã trở thành một mục tiêu chung của cộng đồng blockchain. Nếu chúng ta xem xét 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 trao đổi và xác minh dữ liệu, vì vậy cách DA mô-đun và lưu trữ DA chuỗi công khai có thể là lựa chọn tốt hơn. Dưới tiền đề phổ quát chặt chẽ, DA mô-đun tập trung vào việc cung cấp các dịch vụ của lớp DA của blockchain và 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 dữ liệu hợp lý của các chuỗi công khai khác nhau và có nhiều lợi thế hơn so với lưu trữ chuỗi công khai. Tuy nhiên, sơ đồ 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ó, điều này cực kỳ rủi ro và một khi có vấn đề, nó có thể dẫn đến các lỗ hổng hệ thống và làm cho chuỗi công khai mất đi sự đồng thuận của cộng đồng. Do đó, nếu đó là một giải pháp chuyển tiếp trong quá trình mở rộng quy mô blockchain, 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, các 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ế, nhưng nếu mục tiêu của chuỗi công cộng là phát triển hệ sinh thái của riêng mình và thu hút nhiều bên dự án và người tham gia, nó cũng có thể thích các dự án được hỗ trợ và tài trợ bởi nền tảng của chính nó. Ví dụ: trong trường hợp hiệu suất tổng thể tương đương hoặc thậm chí thấp hơn một chút so với sơ đồ lưu trữ chuỗi công khai lưu trữ, cộng đồng Ethereum cũng sẽ thích EthStorage như một dự án Lớp 2 được Ethereum Foundation hỗ trợ để tiếp tục phát triển hệ sinh thái Ethereum.
Nói chung, sự phức tạp ngày càng tăng của các blockchain ngày nay cũng mang lại cho chúng yêu cầu không gian lưu trữ lớn hơn. Nếu có đủ trình xác thực 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 và chỉ cần được sao lưu đến một số nhất định để đảm bảo tính bảo mật tương đối. Đồng thời, sự phân công lao động của các chuỗi công khai ngày càng trở nên chi tiết hơn, với Lớp 1 chịu trách nhiệm đồng thuận và thực hiện, Rollup chịu trách nhiệm tính toán và xác minh, sau đó sử dụng một blockchain riêng để lưu trữ dữ liệu. Mỗi phần có thể tập trung vào một chức năng mà không bị giới hạn bởi hiệu suất của các chức năng khác. Tuy nhiên, bao nhiêu hoặc bao nhiêu phần trăm các nút để lưu trữ dữ liệu lịch sử để đạt được sự cân bằng giữa bảo mật và hiệu quả, và làm thế nào để đảm bảo khả năng tương tác an toàn giữa các blockchain khác nhau, là một câu hỏi mà các nhà phát triển blockchain cần phải suy nghĩ và không ngừng cải thiện. Đối với các nhà đầu tư, họ có thể chú ý đến dự án DA chuyên dụng chuỗi chính trên Ethereum, bởi vì Ethereum đã có đủ người ủng hộ ở giai đoạn này nên nó 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 mình. Nhiều nhu cầu hơn là cải thiện và phát triển cộng đồng của riêng họ và thu hút nhiều dự án hơn để hạ cánh trong hệ sinh thái Ethereum. Tuy nhiên, đối với các chuỗi công cộng ở vị trí của những người theo đuổi, chẳng hạn như Solana và Aptos, bản thân chuỗi đơn lẻ không có một hệ sinh thái hoàn chỉnh như vậy, vì vậy nó có thể có xu hướng hợp nhất các lực lượng của 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 của nó. Do đó, đối với Lớp 1 mới nổi, các DA chung của bên thứ ba đáng được chú ý hơn.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Kernel Ventures: Một bài viết về DA và thiết kế lớp dữ liệu lịch sử
Viết bởi Jerry Luo, Kernel Ventures
TL;DR
Trong những ngày đầu, các chuỗi công khai yêu cầu các nút trên toàn mạng duy trì tính nhất quán của dữ liệu để đảm bảo an ninh 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ữ tiếp tục gia tăng, kéo theo xu hướng tập trung hóa các hoạt động của nút. Ở giai đoạn này, Layer 1 cần khẩn trương giải quyết bài toán chi phí lưu trữ do sự phát triển của TPS gây ra.
Trước vấn đề này, các nhà phát triển cần đề xuất một sơ đồ lưu trữ dữ liệu lịch sử mới trên tiền đề tính đến 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.
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 dự phòng dữ liệu và nâng cao hiệu quả xác minh dữ liệu.
Sơ đồ DA hiện tại được chia thành hai loại từ 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 dựa trên quan điểm thường xuyên làm sạch dữ liệu và phân mảnh lưu trữ dữ liệu để giảm áp lực lưu trữ lên các nút. Yêu cầu thiết kế DA của bên thứ ba được thiết kế để phục vụ lưu trữ và có giải pháp hợp lý cho lượng dữ liệu lớn. Do đó, chủ yếu là sự đánh đổi giữa khả năng tương thích chuỗi đơn và khả năng tương thích đa chuỗi, và ba giải pháp được đề xuất: DA chuyên dụng chuỗi chính, DA mô-đun và DA chuỗi công cộng lưu trữ.
Chuỗi công khai dựa trên thanh toán có yêu cầu cực kỳ cao về bảo mật dữ liệu lịch sử và phù hợp để sử dụng 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 một thời gian dài và một số lượng lớn các thợ đào đang chạy mạng, sẽ thích hợp hơn khi áp dụng DA của bên thứ ba không liên quan đến lớp đồng thuận và tính đến bảo mật. Chuỗi công khai toàn diện phù hợp hơn cho việc sử dụng lưu trữ DA dành riêng cho 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. Nhưng với nhu cầu về chuỗi chéo, DA mô-đun cũng là một lựa chọn tốt.
Nhìn chung, blockchain đang phát triển theo hướng giảm dư thừa dữ liệu và phân công lao động đa chuỗi.
1. nền
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 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 gốc của giao dịch), để đảm bảo tính chính xác của giao dịch, về nguyên tắc, blockchain nên lưu trữ tất cả 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 trung bình của mỗi khối được ước tính là 20 kb, tổng kích thước của khối Ethereum hiện tại đã đạt 370 GB và một nút đầy đủ phải ghi lại trạng thái và biên lai giao dịch ngoài chính khối. Tính phần này, tổng dung lượng lưu trữ của một nút đã vượt quá 1 TB, điều này làm cho hoạt động của nút tập trung vào 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. Chỉ số hiệu suất DA
2.1 Bảo mật
So với cơ sở dữ liệu hoặc cấu trúc lưu trữ danh sách được liên kết, tính bất biến của blockchain đến từ thực tế là dữ liệu mới được tạo ra có thể được xác minh 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ử của nó là yếu tố được xem xét đầu tiên trong lưu trữ lớp DA. Để đánh giá bảo mật dữ liệu của hệ thống blockchain, chúng tôi thường phân tích lượng dự phòng dữ liệu và phương pháp xác minh tính khả dụng của dữ liệu
Số lượng dự phòng: Đối với sự dư thừa của dữ liệu trong hệ thống blockchain, nó chủ yếu có thể đóng các vai trò sau: đầu tiên, nếu số lượng dự phòng trong mạng lớn hơn, khi trình xác thực cần kiểm tra trạng thái tài khoản trong một khối lịch sử để xác minh giao dịch hiện tại, nó có thể nhận được số lượng mẫu lớn nhất để tham khảo và chọn dữ liệu được ghi lại bởi phần lớn 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 node nhất định nên chi phí tấn công cực kỳ thấp để chỉ thay đổi dữ liệu lịch sử trên một node duy nhất, và về mặt lý thuyết, dữ liệu càng dư thừa thì dữ liệu càng đáng tin cậy. Đồng thời, càng nhiều nút được lưu trữ, dữ liệu càng ít có khả năng bị mất. Điều này cũng có thể được so sánh với các máy chủ tập trung lưu trữ các trò chơi Web2 và một khi tất cả các máy chủ phụ trợ bị tắt, sẽ ngừng hoạt động hoàn toàn. Tuy nhiên, nhiều hơn không phải là tốt hơn, bởi vì mỗi lần dự phòng sẽ mang lại không gian lưu trữ bổ sung, và dự phòng dữ liệu quá nhiều sẽ mang lại áp lực lưu trữ quá mức cho hệ thống, và một lớp DA tốt nên chọn một phương pháp dự phòng phù hợp để đạt được sự cân bằng giữa bảo mật và hiệu quả lưu trữ.
Kiểm tra tính khả dụng của dữ liệu: Việc dự phòng đảm bảo rằng có đủ bản ghi dữ liệu trong mạng, nhưng dữ liệu được sử dụng cũng cần được xác minh về tính chính xác và đầy đủ. Ở giai đoạn này, phương pháp xác minh thường được sử dụng trong blockchain 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 và cam kết này có được bằng cách trộn dữ liệu giao dịch. Để kiểm tra tính xác thực của một phần dữ liệu lịch sử, cần khôi phục lời hứa mật mã thông qua dữ liệu, kiểm tra xem lời hứa mật mã thu được từ việc khôi phục có phù hợp với hồ sơ của toàn bộ mạng hay không và nếu nó nhất quán, việc xác minh được thông qua. Các thuật toán xác minh mật khẩu thường được sử dụng là Merkle 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 rất ít 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 trữ
Trên tiền đề đảm bảo an ninh cơ bản, mục tiêu cốt lõi tiếp theo cần đạt được trong lớp DA là giảm chi phí và tăng hiệu quả. Đầu tiên là giảm chi phí lưu trữ, nghĩa là giảm dung lượng bộ nhớ do lưu trữ dữ liệu trên mỗi đơn vị kích thước, mà không xem xét sự khác biệt về hiệu suất phần cứng. Ở giai đoạn này, 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ữ có thưởng để đảm bảo rằng dữ liệu được lưu trữ hiệu quả và giảm số lượng 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ột mối quan hệ trò chơi giữa chi phí lưu trữ và bảo mật dữ liệu, và giảm chiếm dụng lưu trữ thường có nghĩa là giảm bảo mật. Do đó, một lớp DA tốt cần cân bằng giữa chi phí lưu trữ với 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, cũng cần giảm chi phí bằng cách giảm thiểu quá trình trao đổi dữ liệu trung gian và dữ liệu chỉ mục cần được để lại cho các lệnh gọi truy vấn tiếp theo trong mỗi quá trình chuyển tiếp, do đó quá trình gọi càng dài thì dữ liệu chỉ mục sẽ càng nhiều và chi phí lưu trữ sẽ tăng lên. Cuối cùng, chi phí lưu trữ dữ liệu liên quan trực tiếp đến độ bền của dữ liệu. Nhìn 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
Khi giảm chi phí, bước tiếp theo là tăng hiệu quả, đó là khả năng nhanh chóng gọi 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, thứ nhất 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 chuỗi công cộng chưa đạt được tính nhất quán dữ liệu của toàn bộ mạng, nếu chuỗi công cộng đã đạt được sự đồng bộ hóa dữ liệu của các nút của toàn bộ mạng, có thể bỏ qua việc tiêu thụ thời gian của quá trình này. Thứ hai, trong các hệ thống blockchain chính thống ở giai đoạn này, 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 là dữ liệu được ghi nhanh chóng được lưu trữ trong tệp loại memtable và khi memtable đầy, loại tệp được thay đổi từ memtable sang memtable bất biến. Cả hai loại tệp đều được lưu trữ trong bộ nhớ, nhưng tệp Immutable Memtable không còn có thể thay đổi được nữa và chỉ có thể đọc dữ liệu từ nó. 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 và nó có thể được đọc nhanh từ bộ nhớ khi nó được gọi, nhưng bộ nhớ di động của một nút thông thường thường ở mức gigabyte, dễ ghi chậm và khi nút gặp sự cố và các điều kiện bất thường khác, dữ liệu trong bộ nhớ sẽ bị mất vĩnh viễn. Nếu bạn muốn dữ liệu của mình được lưu trữ liên tục, bạn cần lưu trữ nó dưới dạng tệp SST vào ổ đĩa trạng thái rắn (SSD), nhưng trước tiên bạn cần đọc dữ liệu vào bộ nhớ, điều này làm chậ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 có lưu trữ phân đoạn, 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, điều này cũng sẽ làm chậ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 Điểm chung của lớp DA
Với sự phát triển của DeFi và các vấn đề của CEX, nhu cầu giao dịch xuyên chuỗi của các tài sản phi tập trung cũng ngày càng tăng. Cho dù đó là một cơ chế chuỗi chéo của khóa băm, công chứng viên hoặc chuỗi chuyển tiếp, không thể tránh khỏi việc xác định dữ liệu lịch sử trên hai chuỗi cùng một lúc. Mấu chốt của vấn đề này nằm ở việc tách dữ liệu trên hai chuỗi và giao tiếp trực tiếp không thể đạt được trong các hệ thống phi tập trung khác nhau. Do đó, ở giai đoạn này, một giải pháp được đề xuất bằng cách thay đổi chế độ lưu trữ của lớp DA, nơi 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 và chỉ cần gọi dữ liệu trên chuỗi công khai này khi xác minh. Điều này đòi hỏi lớp DA phải có khả năng thiết lập một phương thức giao tiếp an toàn với các loại chuỗi công khai khác nhau, tức là lớp DA có tính linh hoạt tốt.
3. Thăm dò công nghệ liên quan đến DA
3.1 Sharding
Cách dữ liệu được lưu trữ sau Sharding, nguồn ảnh: Kernel Ventures
3.2 DAS (Lấy mẫu tính khả dụng của dữ liệu)
Công nghệ DAS dựa trên việc tối ưu hóa hơn nữa Sharding về phương pháp lưu trữ. Trong quá trình phân mảnh, do việc lưu trữ ngẫu nhiên các nút đơn giản, một khối nhất định có thể bị mất. Thứ hai, đối với dữ liệu được phân đoạn, làm thế nào để 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, cả hai vấn đề này đều được giải quyết thông qua mã Eraser và các cam kết đa thức KZG.
Mã tẩy: Xem xét số lượng trình xác thực khổng lồ trên Ethereum, xác suất một khối không được lưu trữ bởi bất kỳ nút nào gần như bằng không, 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 mát lưu trữ có thể xảy ra này, thay vì chia trực tiếp dữ liệu gốc thành các khối để lưu trữ, dữ liệu gốc được ánh xạ đến các hệ số của đa thức bậc n và sau đó 2n điểm được lấy trên đa thức và nút chọn ngẫu nhiên một trong số 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, do đó chỉ cần một nửa số khối cần được các nút chọn để 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 khôi phục dữ liệu của mạng được cải thiện.
Lời hứa đa thức KZG: Một phần rất quan trọng của 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ó nhiều cách khác nhau để xác thực quy trình, nhưng nếu mã Eraser ở trên được giới thiệu để cải thiện bảo mật dữ liệu, thì việc sử dụng các cam kết đa thức KZG sẽ phù hợp hơn. Đa thức KZG hứa hẹn sẽ xác minh trực tiếp nội dung của một khối dưới dạng đa thức, do đó loại bỏ nhu cầu khôi phục đa thức thành dữ liệu nhị phân và hình thức xác minh thường tương tự như Merkle Tree, nhưng không yêu cầu dữ liệu nút Đường dẫn cụ thể, chỉ cần dữ liệu gốc và khối KZG để xác minh tính xác thực của nó.
3.3 Chế độ xác minh dữ liệu lớp DA
Xác thực dữ liệu đảm bảo rằng dữ liệu được gọi từ nút không bị giả mạo và không bị mất. Để giảm lượng dữ liệu và chi phí tính toán cần thiết trong quá trình xác minh càng nhiều càng tốt, lớp DA hiện đang áp dụng cấu trúc cây làm phương pháp xác minh chính. Hình thức đơn giản nhất là sử dụng Merkle Tree để xác minh, được ghi lại dưới dạng cây nhị phân đầy đủ và chỉ cần giữ gốc Merkle và giá trị băm của cây con ở phía bên kia của đường dẫn nút cần được xác minh và độ phức tạp về thời gian của xác minh là mức O (logN) (logN mặc định là log2 (N) nếu số không dựa trên). Mặc dù quá trình xác thực đã được đơn giản hóa rất nhiều, lượng dữ liệu trong quá trình xác thực nói chung đã tăng lên cùng với sự gia tăng dữ liệu. Để giải quyết vấn đề tăng số lượng xác minh, một phương pháp xác minh khác, Verkle Tree, được đề xuất ở giai đoạn này. Ngoài việc lưu trữ giá trị, mỗi nút trong Verkle Tree cũng sẽ đi kèm với một Vector Commitment, thông qua giá trị của node gốc và bằng chứng cam kết này, bạn có thể nhanh chóng xác minh tính xác thực của dữ liệu, mà không cần gọi giá trị của các node chị em khác, điều này làm cho số lượng phép tính cho mỗi lần xác minh chỉ liên quan đến độ sâu của Verkle Tree, 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 đòi hỏi 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 dữ liệu lịch sử, được lưu trữ vĩnh viễn và không thể bị giả mạo, Verkle Tree cực kỳ phù hợp. Ngoài ra, cũng có các biến thể của Merkle Tree và Verkle Tree dưới dạng K-ary, và cơ chế thực hiện cụ thể của chúng là tương tự nhau, nhưng số lượng cây con dưới mỗi nút được thay đổi và so sánh hiệu suất cụ thể của chúng có thể được nhìn thấy trong bảng sau.
So sánh các phương pháp xác minh dữ liệu và hiệu suất thời gian, 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 số lượng các chuỗi công khai. Do những lợi thế và không thể thay thế của mỗi chuỗi công khai trong các lĩnh vực tương ứng của họ, chuỗi công khai Lớp 1 gần như không thể trở nên thống nhất trong một khoảng thời gian ngắn. Tuy nhiên, với sự phát triển của DeFi và các vấn đề của CEX, nhu cầu về tài sản giao dịch chuỗi chéo phi tập trung cũng ngày càng tăng. Do đó, 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 trao đổi dữ liệu chuỗi chéo, ngày càng nhận được nhiều sự chú ý. 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 một giao thức phi tập trung để lưu trữ và xác minh các luồng dữ liệu được tiêu chuẩn hóa, chẳng hạn như kvye, một phần mềm trung gian lưu trữ dựa trên Arweave, chủ động thu thập dữ liệu từ chuỗi và có thể lưu trữ tất cả dữ liệu trên chuỗi ở dạng chuẩn để Arweave 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, chuyên cung cấp 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ộ, giúp giảm chi phí tương tác và cải thiện bảo mật, nhưng có những hạn chế tương đối lớn và chỉ có thể cung cấp dịch vụ cho các chuỗi công khai cụ thể.
4. Sơ đồ lưu trữ cấp DA
4.1 Mainchain DA
4.1.1 lớp DankSharding
Không có tên xác định cho loại sơ đồ lưu trữ này và đại diện nổi bật nhất của loại sơ đồ lưu trữ này là DankSharding trên Ethereum, vì vậy sơ đồ giống như DankSharding được sử dụng trong bài viết này. Loại giải pháp này chủ yếu sử dụng hai công nghệ lưu trữ DA đã đề cập ở trên là Sharding và DAS. Đầu tiên, Sharding chia dữ liệu thành các phần thích hợp, sau đó cho phép 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 trên toàn bộ mạng, chúng ta có thể lấy số lượng phân đoạn N lớn hơn, để áp suất lưu trữ của mỗi nút chỉ bằng 1 / N so với ban đầu, để đạt được N lần mở rộng không gian lưu trữ tổng thể. Đồng thời, để đảm bảo rằng một khối không được lưu trữ trong bất kỳ khối nào trong trường hợp cực đoan, DankSharding mã hóa dữ liệu bằng Mã xóa và chỉ một nửa dữ liệu có thể được khôi phục hoàn toàn. Cuối cùng, quá trình xác thực dữ liệu sử dụng cấu trúc của cây Verkle và cam kết đa thức để đạt được xác thực nhanh.
4.1.2 Lưu trữ ngắn hạn
Một trong những cách đơn giản nhất để xử lý dữ liệu cho DA trên chuỗi chính là lưu trữ dữ liệu lịch sử trong một khoảng thời gian ngắn. Về bản chất, blockchain đóng vai trò của một sổ cái công khai, nhận ra những thay đổi đối với nội dung của sổ cái dưới tiền đề chứng kiến toàn bộ mạng, 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, các 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ử của từng thời điểm 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 thời điểm thay đổi tiếp theo. Đối với các dự án có nhu cầu dữ liệu đặc biệt trước khoảng thời gian này, họ có thể lưu trữ chúng trên các chuỗi công khai phi tập trung khác hoặc bởi các bên thứ ba đáng tin cậy. Điều này có nghĩa là những người có nhu cầu dữ liệu bổ sung cần phải trả tiền cho việc lưu trữ dữ liệu lịch sử.
4.2 DA của bên thứ ba
4.2.1 DA chuyên dụng Mainchain: EthStorage
DA cho chuỗi chính:D Điều quan trọng nhất trong lớp A là bảo mật truyền dữ liệu và an toàn nhất trong vấn đề này là DA của chuỗi chính. Tuy nhiên, lưu trữ chuỗi chính bị giới hạn bởi không gian lưu trữ và cạnh tranh về tài nguyên, vì vậy khi lượng dữ liệu mạng tăng nhanh, nếu bạn muốn đạt được khả năng lưu trữ dữ liệu lâu dài, DA của bên thứ ba sẽ là lựa chọn tốt hơn. 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ể nhận ra việc chia sẻ các nút và có tính bảo mật cao hơn trong quá trình trao đổi dữ liệu. Do đó, dưới tiền đề xem xét bảo mật, sẽ có những lợi thế rất lớn cho DA dành riêng cho chuỗi chính. Lấy Ethereum làm ví dụ, một trong những yêu cầu cơ bản của DA chuyên dụng chuỗi chính là nó có thể tương thích với EVM để đảm bảo khả năng tương tác với dữ liệu và hợp đồng Ethereum và các dự án đại diện bao gồm Topia, EthStorage, v.v. Trong số đó, EthStorage hiện đang phát triển 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á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 để đạt được khả năng tương thích ở cấp độ công cụ phát triển Ethereum.
**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 đó là 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 một lúc và EthStorage có thể được vận hành trực tiếp thông qua opcode trên Ethereum. Trong mô hình lưu trữ của EthStorage, chỉ giữ một lượng nhỏ siêu dữ liệu trên mạng chính Ethereum để lập chỉ mục, về cơ bản tạo ra một cơ sở dữ liệu phi tập trung cho Ethereum. Trong giải pháp hiện tại, EthStorage đã triển khai sự 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 gửi dữ liệu, nó cần gọi hàm put() trong hợp đồng và các tham số đầu vào là khóa hai biến byte, dữ liệu, trong đó dữ liệu đại diện cho dữ liệu cần gửi và khóa là nhận dạng của nó trong mạng Ethereum, có thể được xem là tương tự như sự tồn tại của CID trong IPFS. Sau khi cặp (khóa, dữ liệu) được lưu trữ thành công trong mạng EthStorage, EthStorage sẽ tạo một kvldx và trả về mạng chính Ethereum, tương ứng với khóa trên Ethereum và giá trị này tương ứng với địa chỉ lưu trữ của dữ liệu trên EthStorage, do đó vấn đề lưu trữ một lượng lớn dữ liệu hiện được thay đổi để lưu trữ một cặp (khóa, kvldx), giúp giảm đáng kể chi phí lưu trữ của mạng chính Ethereum. Nếu bạn cần thực hiện cuộc gọi đến dữ liệu được lưu trữ trước đó, bạn cần sử dụng hàm get() trong EthStorage và nhập tham số khóa và bạn có thể thực hiện tra cứu nhanh dữ liệu trên EthStorage thông qua kvldx được lưu trữ trên Ethereum.
Hợp đồng EthStorage, nguồn ảnh: Kernel Ventures
Về cách các nút lưu trữ dữ liệu, EthStorage vay mượn từ mô hình của Arweave. Trước hết, một số lượng lớn các cặp (k, v) từ ETH được phân mảnh và mỗi phân đoạn chứa một số cặp dữ liệu (k, v) cố định, trong đó cũng có giới hạn về kích thước cụ thể của mỗi cặp (k, v), để đảm bảo tính công bằng của kích thước khối lượng công việc trong quá trình lưu trữ phần thưởng cho thợ đào. Để phát hành phần thưởng, bạ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 chia một sharding (kích thước terabyte) thành một số lượng lớn các khối và giữ một gốc Merkle trên mạng chính Ethereum để xác thực. Tiếp theo, thợ đào cần cung cấp một nonce để tạo địa chỉ của một số khối thông qua một thuật toán ngẫu nhiên với hàm băm của khối trước đó trên EthStorage và 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ộ phân đoạn. Tuy nhiên, 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ượt qua xác minh, vì vậy nonce này phải làm cho đoạn được tạo đáp ứng các yêu cầu mạng sau khi trộn và băm, và chỉ nút đầu tiên gửi nonce và bằng chứng truy cập ngẫu nhiên mới có thể nhận được phần thưởng.
4.2.2 DA mô-đun: Celestia
**Mô-đun Blockchain **: Ở giai đoạn này, các giao dịch cần được thực hiện bởi chuỗi công khai Lớp 1 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 trình xác thực theo một cách nhất định, viết khối và phân phối phần thưởng cho người bảo trì mạng, (2) đóng gói và xử lý giao dịch và xuất bản các giao dịch liên quan, (3) xác minh các giao dịch sẽ được đưa vào chuỗi và xác định trạng thái cuối cùng, và (4) lưu trữ và duy trì dữ liệu lịch sử trên blockchain. Tùy thuộc vào các chức năng được thực hiện, 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 tính khả dụng của dữ liệu (lớp DA).
Thiết kế blockchain mô-đun: Trong một thời gian dài, bốn mô-đun này đã được tích hợp vào một chuỗi công khai và một blockchain như vậy được gọi là blockchain nguyên khối. Hình thức này ổn định hơn và dễ bảo trì, nhưng nó cũng gây nhiều áp lực lên một chuỗi công khai duy nhất. Trong thực tế, bốn mô-đun này hạn chế lẫn nhau và cạnh tranh cho các tài nguyên tính toán và lưu trữ 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ẽ gây áp lực lưu trữ nhiều hơn lên lớp tính khả dụng của dữ liệu và việc đảm bảo tính bảo mật của lớp thực thi sẽ đòi hỏi các cơ chế xác thực phức tạp hơn làm chậm quá trình xử lý giao dịch. Do đó, sự phát triển của các chuỗi công khai 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 cổ chai trong việc cải thiện hiệu suất của chuỗi công khai này, các nhà phát triển đã đề xuất một sơ đồ blockchain mô-đun. Ý tưởng cốt lõi của blockchain mô-đun là tách một hoặc một số trong bốn mô-đun trên và bàn giao chúng cho một triển khai chuỗi công khai riêng biệt. Bằng cách này, trên chuỗi công khai, bạn 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à vượt qua những hạn chế trước đó do hiệu ứng bảng ngắn đối với hiệu suất tổng thể của blockchain.
DA mô-đun: Cách tiếp cận phức tạp của việc tách lớp DA khỏi kinh doanh blockchain và bàn giao nó cho một chuỗi công khai duy nhất được coi là một 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 thăm dò trong lĩnh vực này vẫn đang trong giai đoạn đầu, với Celestia là dự án tiêu biểu nhất tại thời điểm này. Về phương pháp lưu trữ cụ thể, Celestia mượn từ phương pháp lưu trữ của Danksharding, đó là chia dữ liệu thành nhiều khối, trích xuất một phần của nó bởi mỗi nút để lưu trữ và xác minh tính toàn vẹn dữ liệu với cam kết đa thức KZG. Đồng thời, Celestia sử dụng mã hóa xóa 2D RS tiên tiến để viết lại dữ liệu gốc dưới dạng ma trận kk và cuối cùng chỉ có thể khôi phục 25% dữ liệu gốc. Tuy nhiên, lưu trữ phân mảnh dữ liệu về cơ bản chỉ nhân áp lực lưu trữ của các nút trên toàn bộ mạng với một yếu tố trên tổng khối lượng dữ liệu và áp lực lưu trữ và khối lượng dữ liệu của các nút vẫn duy trì 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 vẫn có thể đạt đến ngưỡng không thể chấp nhận được vào một ngày nào đó. Để giải quyết vấn đề này, thành phần IPLD đã được giới thiệu ở Celestia để xử lý. Đối với dữ liệu trong ma trận kk, nó không được lưu trữ trực tiếp trên Celestia, mà trong mạng LL-IPFS và chỉ mã CID của dữ liệu đó trên IPFS được giữ 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à sử dụng CID để gọi dữ liệu thô trên IPFS. Nếu dữ liệu tồn tại trên IPFS, nó được trả về thông qua các thành phần và nút IPLD, và nếu không, nó không thể được trả về.
Cách đọc dữ liệu Celestia, nguồn ảnh: Celestia Core
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ần nhận biết quá nhiều và cuối cùng theo kích thước của không gian lưu trữ, nút Rollup sẽ trả các token tia tương ứng cho Celestia dưới dạng phí lưu trữ. Việc lưu trữ trong Celstia tận dụng DAS và mã hóa xóa tương tự như trong EIP4844, nhưng mã hóa xóa đa thức trong EIP4844 được nâng cấp lên mã hóa xóa 2D RS và bảo mật lưu trữ được nâng cấp lại, chỉ yêu cầu 25% vết nứt để khôi phục toàn bộ dữ liệu giao dịch. Về cơ bản, nó chỉ là một chuỗi công khai POS chi phí thấp và nếu bạn muốn giải quyết vấn đề lưu trữ dữ liệu lịch sử của Ethereum, bạn cần nhiều mô-đun cụ thể khác để làm việc với Celestia. Ví dụ: về mặt tổng hợp, một trong những chế độ cập nhật được đề xuất nhiều nhất trên trang web chính thức của Celestia là Sovereign Rollup. Khác với các bản tổng hợp phổ biến trên Lớp 2, chỉ có giao dịch được tính toán và xác minh, nghĩa là 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, có thể tối đa hóa tính bảo mật của quá trình giao dịch tổng thể khi bảo mật tổng thể của Celestia yếu hơn Ethereum. Về mặt đảm bảo tính bảo mật của dữ liệu được Celestia gọi trên mạng chính Ethereum, giải pháp chủ đạo nhất 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ó tạo ra Merkle Root (Bằng chứng về tính sẵn có của dữ liệu) và vẫn nằm trên hợp đồng cầu hấp dẫn lượng tử trên mạng chính Ethereum và mỗi khi Ethereum gọi dữ liệu lịch sử trên Celestia, nó sẽ so sánh kết quả băm của nó với Merkle Root và nếu có, điều đó có nghĩa là nó thực sự là dữ liệu lịch sử thực sự.
4.2.3 Lưu trữ chuỗi công khai DA
Về nguyên tắc công nghệ DA của chuỗi chính, nhiều công nghệ tương tự như Sharding được mượn từ chuỗi công cộng lưu trữ. Trong số các DA của bên thứ ba, một số trong số họ đã hoàn thành một số tác vụ lưu trữ trực tiếp với sự trợ giúp của chuỗi công cộng lưu trữ, chẳng hạn như 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 một chuỗi công khai riêng biệt để giải quyết bài toán lưu trữ của Layer 1, một cách trực tiếp hơn là kết nối trực tiếp chuỗi công cộng lưu trữ với Layer 1 để lưu trữ dữ liệu lịch sử khổng lồ trên Layer 1. Đối với các blockchain hiệu suất cao, khối lượng dữ liệu lịch sử thậm chí còn lớn hơn và kích thước dữ liệu của chuỗi công khai hiệu suất cao Solana gần 4 PG khi chạy ở tốc độ tối đa, hoàn toàn nằm ngoài phạm vi lưu trữ của các nút thông thường. Giải pháp được lựa chọn của Solana là lưu trữ dữ liệu lịch sử trên Arweave, một mạng lưu trữ phi tập trung và chỉ giữ 2 ngày dữ liệu trên các nút trên mainnet để xác minh. Để đảm bảo tính bảo mật của quá trình được lưu trữ, Solana và chuỗi Arweave đã thiết kế một giao thức cầu nối lưu trữ, Solar Bridge. Dữ liệu được xác minh bởi nút Solana được đồng bộ hóa với Arweave và thẻ tương ứng được trả về. Với thẻ này, các nút Solana có thể xem dữ liệu lịch sử của blockchain Solana bất cứ lúc nào. Trên Arweave, các nút trên mạng không cần thiết 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 hoạt động của mạng, mà thay vào đó áp dụng phương pháp lưu trữ phần thưởng. 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 như một cấu trúc đồ thị. Trong Arweave, một khối mới không chỉ trỏ đến khối trước đó mà còn đến Khối thu hồi được tạo ngẫu nhiên. Vị trí chính xác của Khối thu hồi được xác định bởi hàm băm của khối trước đó và chiều cao khối của nó và vị trí của Khối thu hồi không được biết cho đến khi khối trước đó được khai thác. Tuy nhiên, trong quá trình tạo các khối mới, các nút được yêu cầu phải có dữ liệu của Khối thu hồi để sử dụng cơ chế POW để tính toán hàm băm của độ khó được chỉ định và chỉ những thợ đào đầu tiên tính toán hàm băm phù hợp với độ khó mới có thể được thưởng, khuyến khích các thợ đào lưu trữ càng nhiều dữ liệu lịch sử càng tốt. Đồng thời, càng ít người lưu trữ một khối lịch sử, nút sẽ càng có ít đối thủ cạnh tranh hơn khi tạo ra độ khó nonce, khuyến khích các thợ đào lưu trữ các khối có ít bản sao lưu hơn trong mạng. Cuối cùng, để đảm bảo rằng các nút có thể lưu trữ vĩnh viễn dữ liệu trong Arweave, cơ chế tính điểm nút của WildFire được giới thiệu. Các nút 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 có quyền truy cập vào dữ liệu khối và giao dịch mới nhất ngay từ đầu, vì vậy chúng không thể dẫn đầu trong cuộc cạnh tranh cho POW.
Các khối Arweave được xây dựng như thế nào, nguồn ảnh: Arweave Yellow-Paper
5. So sánh toàn diện
Tiếp theo, chúng tôi sẽ so sánh ưu và nhược điểm của từng kịch bản trong số năm kịch bản lưu trữ dựa trên bốn khía cạnh của chỉ số hiệu suất DA.
** Bảo mật **: Nguồn gốc lớn nhất của các vấn đề bảo mật dữ liệu là tổn thất do truyền dữ liệu và giả mạo độc hại từ các nút không trung thực và trong quá trình chuỗi chéo, do tính độc lập và trạng thái của hai chuỗi công khai không được chia sẻ, đây là lĩnh vực bị ảnh hưởng nặng nề nhất về bảo mật truyền dữ liệu. Ngoài ra, Layer 1 yêu cầu một lớp DA chuyên dụng ở giai đoạn này thường có một nhóm đồng thuận mạnh mẽ, và bảo mật riêng của nó sẽ cao hơn nhiều so với các chuỗi công cộng lưu trữ thông thường. Do đó, sơ đồ của chuỗi chính DA có bảo mật cao hơn. Sau khi đảm bảo tính bảo mật của việc truyền dữ liệu, bước tiếp theo là đảm bảo tính bảo mật của 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, cùng một dữ liệu được sao lưu bởi toàn bộ mạng trong mạng được lưu trữ tạm thời, trong khi số lượng sao lưu dữ liệu trung bình trong sơ đồ giống như DankSharding chỉ bằng 1/N số lượng nút trong toàn bộ mạng, dự phòng dữ liệu nhiều hơn có thể làm cho 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 để xác minh. Do đó, lưu trữ tạm thời sẽ có bảo mật dữ liệu cao hơn. Trong sơ đồ DA của bên thứ ba, DA chuyên dụng chuỗi chính sử dụng các nút chung 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 chuỗi chéo, do đó nó cũng sẽ có bảo mật tương đối cao hơn các giải pháp DA khác.
Chi phí lưu trữ: Đóng góp lớn nhất vào chi phí lưu trữ là lượng dự phòng dữ liệu. Trong giải pháp lưu trữ ngắn hạn của DA chuỗi chính, việc đồng bộ hóa dữ liệu của các nút của toàn bộ mạng được sử dụng để lưu trữ và mọi dữ liệu mới được lưu trữ đều cần được sao lưu bởi các nút của toàn bộ mạng, có chi phí lưu trữ cao nhất. Chi phí lưu trữ cao lần lượt 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 pháp lưu trữ Sharding, bao gồm Sharding trong chuỗi chính và Sharding trong DA của bên thứ ba. Vì chuỗi chính có xu hướng có nhiều nút hơn, nên sẽ có nhiều bản sao lưu hơn cho mỗi khối, do đó, 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à DA chuỗi công khai lưu trữ áp dụng phương pháp lưu trữ phần thưởng và lượng dự phòng dữ liệu trong sơ đồ này thường dao động xung quanh một hằng số cố định. Đồng thời, một cơ chế điều chỉnh động cũng đã được giới thiệu trong DA chuỗi công khai lưu trữ để thu hút các nút lưu trữ ít dữ liệu sao lưu hơn bằng cách tăng phần thưởng để đảm bảo bảo mật dữ liệu.
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ữ của dữ liệu trong không gian lưu trữ, đường dẫn chỉ mục dữ liệu và phân phối dữ liệu trong các nút. Trong số đó, nơi dữ liệu được lưu trữ trên nút có tác động lớn hơn đến tốc độ, bởi vì việc lưu trữ dữ liệu trong bộ nhớ hoặc SSD có thể khiến tốc độ đọc thay đổi hàng chục lần. DA chuỗi công cộng lưu trữ chủ yếu sử dụng lưu trữ SSD, vì tải trên chuỗi không chỉ bao gồm dữ liệu của lớp DA mà còn cả dữ liệu cá nhân có chiếm 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ữ, rất khó chịu được áp lực lưu trữ rất lớn và đáp ứng nhu cầu lưu trữ lâu dài. Thứ hai, đối với DA của bên thứ ba và DA chuỗi chính sử dụng dữ liệu lưu trữ trong bộ nhớ, DA của bên thứ ba trước tiên 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 sang DA của bên thứ ba trên chuỗi và trả về dữ liệu thông qua cầu lưu trữ. Ngược lại, các DA mainchain 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, bên trong DA chuỗi chính, phương thức Sharding cần gọi khối từ nhiều nút và khôi phục dữ liệu gốc. Do đó, lưu trữ ngắn hạn chậm hơn so với lưu trữ ngắn hạn mà không có phân mảnh.
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 không, vì không thể chuyển dữ liệu từ chuỗi công khai không đủ không gian lưu trữ sang một chuỗi công cộng khác không đủ không gian lưu trữ. Trong các 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 một chuỗi chính cụ thể là một cặp chỉ số mâu thuẫn. Ví dụ: trong sơ đồ DA dành riêng cho chuỗi chính được thiết kế cho một chuỗi chính nhất định, một số lượng lớn các 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, vì vậy những cải tiến này có thể là một trở ngại lớn khi giao tiếp với các chuỗi công cộng khác. Tuy nhiên, trong DA của bên thứ ba, so với DA mô-đun, DA chuỗi công cộng lưu trữ hoạt động tốt hơn về tính linh hoạt. Chuỗi công khai lưu trữ 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 tình hình của các chuỗi công khai khác nhau. Đồng thời, chuỗi công cộng lưu trữ DA thu thập dữ liệu tích cực hơn thông qua việc thu thập gói, thay vì thụ động nhận thông tin được truyền từ các chuỗi công cộng khác. Do đó, nó có thể mã hóa dữ liệu theo cách riêng của mình, thực hiện việc lưu trữ các 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à nâng cao hiệu quả lưu trữ.
So sánh hiệu suất giải pháp lưu trữ, nguồn ảnh: Kernel Ventures
6. tóm tắt
Blockchain ở giai đoạn này đang trải qua quá trình chuyển đổi từ Crypto sang Web3 toàn diện hơn, mang lại nhiều dự án hơn trên blockchain. Để phù hợp với rất nhiều dự án chạy cùng lúc trên Lớp 1, đồng thời đảm bảo trải nghiệm của các dự án Gamefi và Socialfi, Lớp 1, được đại diện bởi Ethereum, đã áp dụng các phương pháp như Rollups và Blobs để cải thiện TPS. Trong số các blockchain non trẻ, số lượng blockchain hiệu suất cao cũng đang tăng lên. Nhưng TPS cao hơn có nghĩa là không chỉ hiệu suất cao hơn mà còn áp lực lưu trữ lớn hơn trên mạng. Đối với dữ liệu lịch sử khổng lồ, một loạt các phương pháp DA dựa trên chuỗi chính và các bên thứ ba được đề xuất ở giai đoạn này để thích ứng với sự tăng trưởng của áp lực lưu trữ trên chuỗi. Có những ưu và nhược điểm đối với mỗi phương pháp cải tiến, và nó có khả năng ứng dụng khác nhau trong các bối cảnh khác nhau.
Các blockchain dựa trên thanh toán có yêu cầu cực kỳ cao về bảo mật 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ị, bạn có thể áp dụng phương pháp lưu trữ giống như DankSharding, có thể đạt được sự gia tăng lớn 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, đã được hình thành và có số lượng nút lớn, có rủi ro rất lớn trong việc thực hiện các cải tiến vội vàng ở lớp đồng thuận, vì vậy có thể áp dụng DA chuyên dụng cho chuỗi chính có bảo mật cao trong lưu trữ ngoài chuỗi để tính đến các vấn đề bảo mật và lưu trữ. Nhưng điều đáng chú ý là chức năng của blockchain không tĩnh mà luôn thay đổi. Ví dụ, trong những ngày đầu, các chức năng của Ethereum chủ yếu giới hạn ở thanh toán và sử dụng các hợp đồng thông minh để đơn giản là tự động hóa tài sản và giao dịch, nhưng với sự mở rộng liên tục của lãnh thổ blockchain, các dự án Socialfi và Defi khác nhau đã dần được thêm vào Ethereum, làm cho 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 dòng 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, 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 để giao dịch có thể được xử lý càng sớm càng tốt. Bây giờ, cộng đồng Bitcoin cần phải đánh đổi, cho dù chấp nhận phí cao và tốc độ giao dịch chậm, hoặc giảm an ninh mạng để tăng tốc độ giao dịch nhưng đi ngược lạ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ì sơ đồ lưu trữ tương ứng cũng sẽ cần phải được điều chỉnh khi đối mặt với áp lực dữ liệu ngày càng tăng.
Phí giao dịch mainnet Bitcoin biến động, nguồn ảnh: OKLINK
Đối với chuỗi công khai có chức năng toàn diện, nó có khả năng 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 và rất khó để thích ứng với sự phát triển nhanh chóng của TPS về lâu dài bằng cách áp dụng giải pháp giống như DankSharding. Do đó, sẽ thích hợp hơn khi 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ể thuận lợi hơn nếu chỉ xem xét vấn đề lưu trữ của một chuỗi công khai duy nhất. Tuy nhiên, trong chuỗi công khai Lớp 1 ngày nay, việc chuyển giao tài sản chuỗi chéo và tương tác dữ liệu cũng đã trở thành một mục tiêu chung của cộng đồng blockchain. Nếu chúng ta xem xét 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 trao đổi và xác minh dữ liệu, vì vậy cách DA mô-đun và lưu trữ DA chuỗi công khai có thể là lựa chọn tốt hơn. Dưới tiền đề phổ quát chặt chẽ, DA mô-đun tập trung vào việc cung cấp các dịch vụ của lớp DA của blockchain và 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 dữ liệu hợp lý của các chuỗi công khai khác nhau và có nhiều lợi thế hơn so với lưu trữ chuỗi công khai. Tuy nhiên, sơ đồ 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ó, điều này cực kỳ rủi ro và một khi có vấn đề, nó có thể dẫn đến các lỗ hổng hệ thống và làm cho chuỗi công khai mất đi sự đồng thuận của cộng đồng. Do đó, nếu đó là một giải pháp chuyển tiếp trong quá trình mở rộng quy mô blockchain, 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, các 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ế, nhưng nếu mục tiêu của chuỗi công cộng là phát triển hệ sinh thái của riêng mình và thu hút nhiều bên dự án và người tham gia, nó cũng có thể thích các dự án được hỗ trợ và tài trợ bởi nền tảng của chính nó. Ví dụ: trong trường hợp hiệu suất tổng thể tương đương hoặc thậm chí thấp hơn một chút so với sơ đồ lưu trữ chuỗi công khai lưu trữ, cộng đồng Ethereum cũng sẽ thích EthStorage như một dự án Lớp 2 được Ethereum Foundation hỗ trợ để tiếp tục phát triển hệ sinh thái Ethereum.
Nói chung, sự phức tạp ngày càng tăng của các blockchain ngày nay cũng mang lại cho chúng yêu cầu không gian lưu trữ lớn hơn. Nếu có đủ trình xác thực 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 và chỉ cần được sao lưu đến một số nhất định để đảm bảo tính bảo mật tương đối. Đồng thời, sự phân công lao động của các chuỗi công khai ngày càng trở nên chi tiết hơn, với Lớp 1 chịu trách nhiệm đồng thuận và thực hiện, Rollup chịu trách nhiệm tính toán và xác minh, sau đó sử dụng một blockchain riêng để lưu trữ dữ liệu. Mỗi phần có thể tập trung vào một chức năng mà không bị giới hạn bởi hiệu suất của các chức năng khác. Tuy nhiên, bao nhiêu hoặc bao nhiêu phần trăm các nút để lưu trữ dữ liệu lịch sử để đạt được sự cân bằng giữa bảo mật và hiệu quả, và làm thế nào để đảm bảo khả năng tương tác an toàn giữa các blockchain khác nhau, là một câu hỏi mà các nhà phát triển blockchain cần phải suy nghĩ và không ngừng cải thiện. Đối với các nhà đầu tư, họ có thể chú ý đến dự án DA chuyên dụng chuỗi chính trên Ethereum, bởi vì Ethereum đã có đủ người ủng hộ ở giai đoạn này nên nó 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 mình. Nhiều nhu cầu hơn là cải thiện và phát triển cộng đồng của riêng họ và thu hút nhiều dự án hơn để hạ cánh trong hệ sinh thái Ethereum. Tuy nhiên, đối với các chuỗi công cộng ở vị trí của những người theo đuổi, chẳng hạn như Solana và Aptos, bản thân chuỗi đơn lẻ không có một hệ sinh thái hoàn chỉnh như vậy, vì vậy nó có thể có xu hướng hợp nhất các lực lượng của 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 của nó. Do đó, đối với Lớp 1 mới nổi, các DA chung của bên thứ ba đáng được chú ý hơn.