Lợi ích của công nghệ Lấy Mẫu Sẵn Dữ Liệu là gì? Tại sao chúng ta cần nó?
Ảnh bởi @testalizeme?utm_source=medium&utm_medium=referral">Testalize.me on Unsplash
Kiến thức tiên quyết:
Các nội dung sau sẽ được công bố dữ liệu được gọi là sẵn sàng dữ liệu, nhưng một số từ liên quan đến sẵn sàng dữ liệu, như DAS và DAC, sẽ giữ nguyên từ gốc để đọc giả không bị ngắt kết nối với văn bản tiếng Anh gốc. Để biết thêm về tên gọi Công bố Dữ liệu, vui lòng tham khảo:
This series of articles will introduce the operating mechanism of DAS through Danksharding, as well as the similarities and differences between Celestia, EigenDA, and AvailDA. The first article will introduce why we need DAS and the benefits that DAS brings.
Hiện tại, tình huống phổ biến nhất khi việc phát hành dữ liệu được thảo luận trong hệ sinh thái Ethereum là khi thảo luận về thiết kế của L2: L2 chính là một chuỗi, vì vậy nó cũng sẽ có các khối riêng và dữ liệu giao dịch của riêng mình, vậy dữ liệu này nên được đặt ở đâu? Bởi vì người dùng cần thông tin này để đảm bảo an toàn.
Để biết thêm thông tin về mối quan hệ giữa Rollup và việc phát hành dữ liệu, vui lòng tham khảo:
Nhưng thực tế, đó không chỉ là L2, mà chính chuỗi Ethereum cũng sẽ cần phải đối mặt với vấn đề phát hành dữ liệu, bởi vì các nút nhẹ sẽ không tải xuống dữ liệu khối hoàn chỉnh như các nút đầy đủ, vì vậy các nút nhẹ cần tin rằng “khi một khối mới xuất hiện Thì dữ liệu hoàn chỉnh của khối đã thực sự được phát hành.” Khi một nút nhẹ bị lừa tin rằng một khối “không hoàn chỉnh”, tác động là tương tự như khi nó bị lừa tin rằng một khối “bất hợp pháp” - nó được kết nối với một liên kết không được người khác sử dụng. Công nhận chuỗi bị phân nhánh.
Full nodes sẽ không tin tưởng vào các khối không hoàn chỉnh, nhưng light nodes sẽ
Vậy hiện tại Ethereum light node tin tưởng vào ai để đảm bảo rằng dữ liệu của một block mới được hoàn toàn phát hành? Câu trả lời là “Validators”. Khi một light node nhận được một block mới, nó sẽ không tải xuống toàn bộ dữ liệu block, nhưng nó sẽ xem xem có bao nhiêu validators bỏ phiếu cho block đó. Khi đủ số lượng validators bỏ phiếu cho block này, nó sẽ tin rằng thông tin hoàn chỉnh của block này đã thực sự được xuất bản. Điều này là một giả định thuộc về Đa số Trung thực, đó là niềm tin rằng hầu hết validators là những người tốt.
Khi đủ số lượng các nhà xác minh ký vào khối, nút nhẹ sẽ tin rằng khối đã được phát hành hoàn toàn.
Lưu ý: Hiện tại, các nút nhẹ Ethereum thực tế không thu thập phiếu bầu từ hàng trăm nghìn người xác minh để tính toán, vì số lượng quá lớn và tính toán quá tốn tài nguyên. Thay vào đó, một nhóm Sync Committee với số lượng nhỏ hơn nhiều được chỉ định, bao gồm Chữ ký của người xác minh bên trong được xem là một sự đảm bảo cho nút nhẹ. Đây được coi là một phương pháp chuyển tiếp, đang chờ một thiết kế hoàn chỉnh và chín chắn hơn để thay thế nó trong tương lai.
" Tin rằng hầu hết các nhà xác nhận là những người tốt" nghe có vẻ là một lựa chọn hợp lý và tốt, nhưng nếu chúng ta có thể làm tốt hơn thì sao? Nếu một ngày nào đó thực sự xảy ra rằng hầu hết các nhà xác nhận muốn hợp sức lừa dối chúng ta, nói rằng họ có dữ liệu khối hoàn chỉnh nhưng thực tế họ không có, nhưng miễn là có một vài người tốt trong mạng p2p, chúng ta có thể tránh bị lừa dối?"
Khả năng tuyệt vời như vậy chắc chắn không thể xuất hiện từ hư không. Để có khả năng này, bạn cần xây dựng một mạng p2p ổn định đủ lớn, có đủ người dùng, và thậm chí thêm các chức năng bảo mật vào lớp mạng. Khả năng này là trọng tâm của loạt bài viết này - Mẫu lấy dữ liệu có sẵn (DAS).
Trong một blockchain với DAS, các nút nhẹ sẽ không chỉ nhận dữ liệu khối mới một cách chủ động, mà sẽ cùng tham gia vào hoạt động của DAS: mỗi nút nhẹ phải đi đến mạng p2p cho mỗi khối. Trên đường đi, nó tìm kiếm và lưu trữ một số mảnh dữ liệu trên khối và chia sẻ nó với các nút khác khi họ yêu cầu dữ liệu. Giống như giao thức chia sẻ tệp phân tán BitTorrent, các nút trong mạng lưu trữ và chia sẻ dữ liệu họ quan tâm cùng nhau thay vì phụ thuộc vào một máy chủ tập trung.
Các nút nhẹ hoạt động cùng nhau để truy xuất và chia sẻ dữ liệu khối thông qua mạng p2p
Lưu ý: Trong tình huống lý tưởng, người dùng blockchain sẽ chạy tất cả các nút nhẹ, tham gia vào hoạt động của DAS và đảm bảo an ninh cùng nhau, thay vì hoàn toàn tin tưởng vào các nút khác như hiện nay.
Mỗi nút ánh sáng không thể tin rằng dữ liệu khối đã được phát hành hoàn toàn cho đến khi nó thành công trong việc nhận mọi phần dữ liệu mà nó yêu cầu. Tuy nhiên, khi mỗi phần dữ liệu mà nó yêu cầu được nhận, nó có thể an tâm rằng dữ liệu khối đã được phát hành. Thông tin đã được phát hành đầy đủ. Nhưng tại sao các nút ánh sáng có thể tin tưởng an toàn rằng dữ liệu khối hoàn chỉnh đã được phát hành mặc dù chúng chỉ có dữ liệu phân mảnh? Điều này bởi vì các nút ánh sáng khác trong mạng cũng sẽ lưu trữ dữ liệu phân mảnh riêng biệt, vì vậy khi cần thiết, mọi người sẽ có thể cùng nhau làm việc để ghép lại dữ liệu hoàn chỉnh từ dữ liệu phân mảnh của nhau, và một khả năng kỳ diệu khác của DAS là: Dữ liệu được lưu trữ bởi các nút ánh sáng không cần phải bao gồm dữ liệu khối hoàn chỉnh. Các nút ánh sáng có thể khôi phục 100% dữ liệu miễn là họ có được 50% dữ liệu.
Miễn là các nút nhẹ có hơn 50% dữ liệu mảnh vỡ, chúng có thể khôi phục dữ liệu khối hoàn chỉnh.
Lưu ý: Điều này không nhất thiết phải là 50%, có thể cao hơn, tùy thuộc vào cài đặt của DAS, nhưng chắc chắn sẽ ít hơn 100%.
Vì vậy, trong DAS, ngay cả khi hầu hết các máy xác minh bỏ phiếu cho một khối cụ thể, các nút nhẹ sẽ không tin tưởng dễ dàng vào khối đó. Nút nhẹ sẽ thực hiện việc lấy mẫu (Lấy mẫu), nghĩa là, yêu cầu dữ liệu mảnh vụn của khối. Khi tất cả các mảnh vụn được yêu cầu được nhận, sẽ tin rằng dữ liệu khối đã được công bố hoàn toàn.
So với Ethereum, hiện tại không có DAS, các nút nhẹ phải dựa vào “hầu hết các nhà xác thực là những người tốt”, đó là giả định của Đa số trung thực; sau khi Ethereum tham gia DAS, các nút nhẹ dựa vào “một số nút mà (sẽ mẫu và “Một người tốt giữ thông tin” là giả định của Một số ít trung thực.
Lưu ý: “Few” đề cập đến việc số lượng nút nhẹ cần được lấy mẫu và lưu trữ để khôi phục dữ liệu hoàn chỉnh tương đối nhỏ so với tất cả (rất nhiều) nút nhẹ trong mạng.
Như đã đề cập trước đó, khi một nút nhẹ nhận được tất cả dữ liệu đoạn mà nó yêu cầu, nó sẽ tin rằng dữ liệu khối đã được phát hành đầy đủ, và các nút nhẹ trong mạng có thể làm việc cùng nhau để mượn nó khi cần thiết. Dữ liệu hoàn chỉnh có thể được khôi phục từ dữ liệu đoạn, nhưng... điều gì sẽ xảy ra nếu người tạo ra khối là người có ý đồ xấu, và nó không phát hành đủ dữ liệu khối ban đầu? Điều gì sẽ xảy ra nếu nó nhắm vào một nút nhẹ cụ thể và không cung cấp bất kỳ dữ liệu nào sau khi cung cấp dữ liệu đoạn cần thiết cho nút nhẹ đó?
Alice đã thành công trong việc nhận được thông tin yêu cầu, vì vậy cô ấy tin rằng thông tin khối đã được hoàn toàn phát hành, và cuối cùng cô ấy sẽ nhặt lại khối đã bị các nút khác từ chối.
Sau đó, nút ánh sáng nghèo này sẽ phải bị lừa dối, và đây cũng là giới hạn và sự cân nhắc của DAS: sự đảm bảo về "việc phát hành hoàn toàn dữ liệu" được cung cấp bởi DAS là sự đảm bảo về khả năng, không phải là một đảm bảo 100% và rõ ràng, nhưng điều này vẫn tốt hơn so với việc phải hoàn toàn tin tưởng vào đa số các máy chủ xác thực. Nếu bạn cảm thấy sự đảm bảo về khả năng không đủ an toàn và muốn chắc chắn 100% liệu dữ liệu khối đã được phát hành hoàn toàn hay chưa, thì xin lỗi, bạn chỉ có thể chạy một nút đầy đủ mình để tải xuống dữ liệu khối hoàn chỉnh.
Lưu ý: Chương trình chạy nút nhẹ không thể biết mình đã bị lừa dối. Đối với chương trình, miễn là nó nhận được tất cả dữ liệu yêu cầu, nó sẽ tin rằng khối đã được công bố đầy đủ. Người dùng chỉ có thể biết thông qua các kênh mạng xã hội của họ rằng một khối cụ thể thực sự chưa được phát hành đầy đủ, và nhanh chóng chỉ đạo cho nút nhẹ của họ đánh dấu khối đó là dữ liệu không đầy đủ.
Nếu người tạo ra khối là người độc ác và muốn lừa dối một số nút nhẹ, thì không may, nó sẽ có thể lừa dối những nút nhẹ đó. Tuy nhiên, sẽ có một giới hạn trên số người lừa đảo. Cuối cùng, kẻ tấn công không thể phát hành quá nhiều khối để những nút nhẹ có thể thực sự làm việc cùng nhau để khôi phục dữ liệu hoàn chỉnh.
Tại thời điểm này, bạn có thể lo lắng, có thể bảo mật của bạn chỉ dựa trên "không có thù hằn với người tạo ra khối" hoặc "kẻ tấn công không biết tôi là ai, vì vậy anh ta sẽ không nhắm mục tiêu vào tôi"? Có, nhưng đây là lý do tại sao nó đã được đề cập trước đó rằng DAS cần chức năng riêng tư của lớp mạng, bởi vì nếu kẻ tấn công có thể biết "ai" đang yêu cầu dữ liệu phân mảnh hoặc biết rằng ba đoạn A, B và C là "cùng một "Cá nhân" đang tìm kiếm, thì nó có thể dễ dàng nhắm mục tiêu nạn nhân mục tiêu và cung cấp thông tin cho bên kia. Nếu lớp mạng ngày nay có chức năng bảo mật, thì kẻ tấn công sẽ không có cách nào để biết ai đang yêu cầu phần thông tin này. Đương nhiên, sẽ không có cách nào để đánh lừa mục tiêu, và hiệu quả tấn công của kẻ tấn công sẽ giảm đi rất nhiều: nó không có cách nào để xác định xem nạn nhân có bị lừa hay không, hoặc thậm chí là bất kỳ nút ánh sáng nào.
Nếu kẻ tấn công không biết người đang yêu cầu thông tin, việc lừa nút ánh sáng sẽ rất khó khăn.
Để DAS được an toàn, nó cần:
Vấn đề sẽ là gì nếu các khối không được mã hóa thông qua mã hóa xóa, mà là cho các nút nhẹ lấy mẫu trực tiếp nội dung khối gốc? Câu trả lời là: dữ liệu mảnh được lấy mẫu bởi các nút nhẹ phải đạt đến 100% phủ sóng để đảm bảo tính toàn vẹn của dữ liệu. Ngay cả khi các nút nhẹ làm việc cùng nhau để lấy mẫu 99% dữ liệu khối, khối này vẫn không hoàn chỉnh và không được công nhận.
Không có mã hóa xóa, miễn là thiếu một chút khối dữ liệu, điều đó có nghĩa là khối chưa được phát hành hoàn toàn.
Nếu khối được mã hóa bằng mã sửa lỗi, thì 100% dữ liệu có thể được khôi phục với, ví dụ, bất kỳ 50% dữ liệu nào. Điều này có nghĩa là các nút nhẹ có thể đảm bảo rằng họ có thể khôi phục dữ liệu miễn là dữ liệu mẫu cùng nhau đạt đến 50% phủ sóng. Thông tin khối hoàn chỉnh. So với việc phủ sóng 100%, yêu cầu về việc phủ sóng 50% đơn giản nhiều. Đối với những nhà sản xuất khối độc hại, việc che giấu một số thông tin để đánh lừa các nút nhẹ sẽ khó hơn nhiều.
Lưu ý: 50% chỉ là một ví dụ. Các nhu cầu khác sẽ cần % khác nhau để phục hồi.
Nếu nút nhẹ không lưu đủ dữ liệu mảnh vỡ, ngay cả khi dữ liệu khối được mã hóa thông qua mã hóa xóa, 100% dữ liệu không thể khôi phục được. Ví dụ, nếu các nút nhẹ chỉ lưu trữ 40% dữ liệu mảnh vỡ tổng cộng, và họ không thể khôi phục 100% dữ liệu cùng nhau, thì những nút này sẽ bị đánh lừa và tin rằng dữ liệu khối đã được phát hành đầy đủ.
Làm thế nào để đảm bảo các nút nhẹ lưu trữ đủ dữ liệu? Chúng ta cần có đủ nút nhẹ hoặc đủ mẫu cho mỗi nút nhẹ. Nếu có đủ nút nhẹ, số lần lấy mẫu cho mỗi nút nhẹ không cần phải cao; nhưng nếu không có đủ nút nhẹ, thì số lần lấy mẫu cho mỗi nút nhẹ phải đủ cao để đảm bảo rằng các nút nhẹ hoạt động cùng nhau để lưu trữ đủ dữ liệu.
Lưu ý: Nếu số lượng nút nhẹ tiếp tục tăng, kích thước dữ liệu mà chúng có thể lưu trữ cùng nhau thực sự có thể tăng nếu số lượng mẫu không thay đổi. Ví dụ, Celestia, sẽ được giới thiệu trong loạt bài viết này, có thể hỗ trợ các kích thước khối linh hoạt. Blockchain: Kích thước khối của Celestia có thể được điều chỉnh tùy theo số lượng nút nhẹ trong mạng.
Các nút nhẹ cần chia sẻ dữ liệu bị phân mảnh thông qua mạng p2p để dữ liệu khối hoàn chỉnh có thể được khôi phục khi cần thiết. Nếu mạng p2p không ổn định và không thể xử lý một lượng lớn các yêu cầu dữ liệu, các nút có thể không thể lấy được một số phần dữ liệu nhất định. Ngoài ra, cũng cần phải ngăn chặn tất cả các phần dữ liệu lưu thông trong cùng một mạng p2p, dẫn đến quá tải băng thông mạng. Lí tưởng, một nút nhẹ nên chỉ nhận được dữ liệu mà nó yêu cầu, thay vì tất cả các dữ liệu không liên quan khác. Dữ liệu chảy qua tay nó qua các mạng p2p.
Ngoài ra, lớp mạng cũng cần có các chức năng bảo mật, nếu không, nút nhẹ sẽ bị nhận diện bởi kẻ tấn công. Kẻ tấn công sẽ không công bố hơn 50% dữ liệu, nhưng sẽ cung cấp dữ liệu phân mảnh được yêu cầu bởi nút nhẹ mà nó khóa. Để đánh lừa nút nhẹ tin rằng dữ liệu khối đã được công bố hoàn toàn.
Các chi tiết của ba phần này sẽ được giới thiệu chi tiết hơn trong loạt bài viết này.
Lợi ích của công nghệ Lấy Mẫu Sẵn Dữ Liệu là gì? Tại sao chúng ta cần nó?
Ảnh bởi @testalizeme?utm_source=medium&utm_medium=referral">Testalize.me on Unsplash
Kiến thức tiên quyết:
Các nội dung sau sẽ được công bố dữ liệu được gọi là sẵn sàng dữ liệu, nhưng một số từ liên quan đến sẵn sàng dữ liệu, như DAS và DAC, sẽ giữ nguyên từ gốc để đọc giả không bị ngắt kết nối với văn bản tiếng Anh gốc. Để biết thêm về tên gọi Công bố Dữ liệu, vui lòng tham khảo:
This series of articles will introduce the operating mechanism of DAS through Danksharding, as well as the similarities and differences between Celestia, EigenDA, and AvailDA. The first article will introduce why we need DAS and the benefits that DAS brings.
Hiện tại, tình huống phổ biến nhất khi việc phát hành dữ liệu được thảo luận trong hệ sinh thái Ethereum là khi thảo luận về thiết kế của L2: L2 chính là một chuỗi, vì vậy nó cũng sẽ có các khối riêng và dữ liệu giao dịch của riêng mình, vậy dữ liệu này nên được đặt ở đâu? Bởi vì người dùng cần thông tin này để đảm bảo an toàn.
Để biết thêm thông tin về mối quan hệ giữa Rollup và việc phát hành dữ liệu, vui lòng tham khảo:
Nhưng thực tế, đó không chỉ là L2, mà chính chuỗi Ethereum cũng sẽ cần phải đối mặt với vấn đề phát hành dữ liệu, bởi vì các nút nhẹ sẽ không tải xuống dữ liệu khối hoàn chỉnh như các nút đầy đủ, vì vậy các nút nhẹ cần tin rằng “khi một khối mới xuất hiện Thì dữ liệu hoàn chỉnh của khối đã thực sự được phát hành.” Khi một nút nhẹ bị lừa tin rằng một khối “không hoàn chỉnh”, tác động là tương tự như khi nó bị lừa tin rằng một khối “bất hợp pháp” - nó được kết nối với một liên kết không được người khác sử dụng. Công nhận chuỗi bị phân nhánh.
Full nodes sẽ không tin tưởng vào các khối không hoàn chỉnh, nhưng light nodes sẽ
Vậy hiện tại Ethereum light node tin tưởng vào ai để đảm bảo rằng dữ liệu của một block mới được hoàn toàn phát hành? Câu trả lời là “Validators”. Khi một light node nhận được một block mới, nó sẽ không tải xuống toàn bộ dữ liệu block, nhưng nó sẽ xem xem có bao nhiêu validators bỏ phiếu cho block đó. Khi đủ số lượng validators bỏ phiếu cho block này, nó sẽ tin rằng thông tin hoàn chỉnh của block này đã thực sự được xuất bản. Điều này là một giả định thuộc về Đa số Trung thực, đó là niềm tin rằng hầu hết validators là những người tốt.
Khi đủ số lượng các nhà xác minh ký vào khối, nút nhẹ sẽ tin rằng khối đã được phát hành hoàn toàn.
Lưu ý: Hiện tại, các nút nhẹ Ethereum thực tế không thu thập phiếu bầu từ hàng trăm nghìn người xác minh để tính toán, vì số lượng quá lớn và tính toán quá tốn tài nguyên. Thay vào đó, một nhóm Sync Committee với số lượng nhỏ hơn nhiều được chỉ định, bao gồm Chữ ký của người xác minh bên trong được xem là một sự đảm bảo cho nút nhẹ. Đây được coi là một phương pháp chuyển tiếp, đang chờ một thiết kế hoàn chỉnh và chín chắn hơn để thay thế nó trong tương lai.
" Tin rằng hầu hết các nhà xác nhận là những người tốt" nghe có vẻ là một lựa chọn hợp lý và tốt, nhưng nếu chúng ta có thể làm tốt hơn thì sao? Nếu một ngày nào đó thực sự xảy ra rằng hầu hết các nhà xác nhận muốn hợp sức lừa dối chúng ta, nói rằng họ có dữ liệu khối hoàn chỉnh nhưng thực tế họ không có, nhưng miễn là có một vài người tốt trong mạng p2p, chúng ta có thể tránh bị lừa dối?"
Khả năng tuyệt vời như vậy chắc chắn không thể xuất hiện từ hư không. Để có khả năng này, bạn cần xây dựng một mạng p2p ổn định đủ lớn, có đủ người dùng, và thậm chí thêm các chức năng bảo mật vào lớp mạng. Khả năng này là trọng tâm của loạt bài viết này - Mẫu lấy dữ liệu có sẵn (DAS).
Trong một blockchain với DAS, các nút nhẹ sẽ không chỉ nhận dữ liệu khối mới một cách chủ động, mà sẽ cùng tham gia vào hoạt động của DAS: mỗi nút nhẹ phải đi đến mạng p2p cho mỗi khối. Trên đường đi, nó tìm kiếm và lưu trữ một số mảnh dữ liệu trên khối và chia sẻ nó với các nút khác khi họ yêu cầu dữ liệu. Giống như giao thức chia sẻ tệp phân tán BitTorrent, các nút trong mạng lưu trữ và chia sẻ dữ liệu họ quan tâm cùng nhau thay vì phụ thuộc vào một máy chủ tập trung.
Các nút nhẹ hoạt động cùng nhau để truy xuất và chia sẻ dữ liệu khối thông qua mạng p2p
Lưu ý: Trong tình huống lý tưởng, người dùng blockchain sẽ chạy tất cả các nút nhẹ, tham gia vào hoạt động của DAS và đảm bảo an ninh cùng nhau, thay vì hoàn toàn tin tưởng vào các nút khác như hiện nay.
Mỗi nút ánh sáng không thể tin rằng dữ liệu khối đã được phát hành hoàn toàn cho đến khi nó thành công trong việc nhận mọi phần dữ liệu mà nó yêu cầu. Tuy nhiên, khi mỗi phần dữ liệu mà nó yêu cầu được nhận, nó có thể an tâm rằng dữ liệu khối đã được phát hành. Thông tin đã được phát hành đầy đủ. Nhưng tại sao các nút ánh sáng có thể tin tưởng an toàn rằng dữ liệu khối hoàn chỉnh đã được phát hành mặc dù chúng chỉ có dữ liệu phân mảnh? Điều này bởi vì các nút ánh sáng khác trong mạng cũng sẽ lưu trữ dữ liệu phân mảnh riêng biệt, vì vậy khi cần thiết, mọi người sẽ có thể cùng nhau làm việc để ghép lại dữ liệu hoàn chỉnh từ dữ liệu phân mảnh của nhau, và một khả năng kỳ diệu khác của DAS là: Dữ liệu được lưu trữ bởi các nút ánh sáng không cần phải bao gồm dữ liệu khối hoàn chỉnh. Các nút ánh sáng có thể khôi phục 100% dữ liệu miễn là họ có được 50% dữ liệu.
Miễn là các nút nhẹ có hơn 50% dữ liệu mảnh vỡ, chúng có thể khôi phục dữ liệu khối hoàn chỉnh.
Lưu ý: Điều này không nhất thiết phải là 50%, có thể cao hơn, tùy thuộc vào cài đặt của DAS, nhưng chắc chắn sẽ ít hơn 100%.
Vì vậy, trong DAS, ngay cả khi hầu hết các máy xác minh bỏ phiếu cho một khối cụ thể, các nút nhẹ sẽ không tin tưởng dễ dàng vào khối đó. Nút nhẹ sẽ thực hiện việc lấy mẫu (Lấy mẫu), nghĩa là, yêu cầu dữ liệu mảnh vụn của khối. Khi tất cả các mảnh vụn được yêu cầu được nhận, sẽ tin rằng dữ liệu khối đã được công bố hoàn toàn.
So với Ethereum, hiện tại không có DAS, các nút nhẹ phải dựa vào “hầu hết các nhà xác thực là những người tốt”, đó là giả định của Đa số trung thực; sau khi Ethereum tham gia DAS, các nút nhẹ dựa vào “một số nút mà (sẽ mẫu và “Một người tốt giữ thông tin” là giả định của Một số ít trung thực.
Lưu ý: “Few” đề cập đến việc số lượng nút nhẹ cần được lấy mẫu và lưu trữ để khôi phục dữ liệu hoàn chỉnh tương đối nhỏ so với tất cả (rất nhiều) nút nhẹ trong mạng.
Như đã đề cập trước đó, khi một nút nhẹ nhận được tất cả dữ liệu đoạn mà nó yêu cầu, nó sẽ tin rằng dữ liệu khối đã được phát hành đầy đủ, và các nút nhẹ trong mạng có thể làm việc cùng nhau để mượn nó khi cần thiết. Dữ liệu hoàn chỉnh có thể được khôi phục từ dữ liệu đoạn, nhưng... điều gì sẽ xảy ra nếu người tạo ra khối là người có ý đồ xấu, và nó không phát hành đủ dữ liệu khối ban đầu? Điều gì sẽ xảy ra nếu nó nhắm vào một nút nhẹ cụ thể và không cung cấp bất kỳ dữ liệu nào sau khi cung cấp dữ liệu đoạn cần thiết cho nút nhẹ đó?
Alice đã thành công trong việc nhận được thông tin yêu cầu, vì vậy cô ấy tin rằng thông tin khối đã được hoàn toàn phát hành, và cuối cùng cô ấy sẽ nhặt lại khối đã bị các nút khác từ chối.
Sau đó, nút ánh sáng nghèo này sẽ phải bị lừa dối, và đây cũng là giới hạn và sự cân nhắc của DAS: sự đảm bảo về "việc phát hành hoàn toàn dữ liệu" được cung cấp bởi DAS là sự đảm bảo về khả năng, không phải là một đảm bảo 100% và rõ ràng, nhưng điều này vẫn tốt hơn so với việc phải hoàn toàn tin tưởng vào đa số các máy chủ xác thực. Nếu bạn cảm thấy sự đảm bảo về khả năng không đủ an toàn và muốn chắc chắn 100% liệu dữ liệu khối đã được phát hành hoàn toàn hay chưa, thì xin lỗi, bạn chỉ có thể chạy một nút đầy đủ mình để tải xuống dữ liệu khối hoàn chỉnh.
Lưu ý: Chương trình chạy nút nhẹ không thể biết mình đã bị lừa dối. Đối với chương trình, miễn là nó nhận được tất cả dữ liệu yêu cầu, nó sẽ tin rằng khối đã được công bố đầy đủ. Người dùng chỉ có thể biết thông qua các kênh mạng xã hội của họ rằng một khối cụ thể thực sự chưa được phát hành đầy đủ, và nhanh chóng chỉ đạo cho nút nhẹ của họ đánh dấu khối đó là dữ liệu không đầy đủ.
Nếu người tạo ra khối là người độc ác và muốn lừa dối một số nút nhẹ, thì không may, nó sẽ có thể lừa dối những nút nhẹ đó. Tuy nhiên, sẽ có một giới hạn trên số người lừa đảo. Cuối cùng, kẻ tấn công không thể phát hành quá nhiều khối để những nút nhẹ có thể thực sự làm việc cùng nhau để khôi phục dữ liệu hoàn chỉnh.
Tại thời điểm này, bạn có thể lo lắng, có thể bảo mật của bạn chỉ dựa trên "không có thù hằn với người tạo ra khối" hoặc "kẻ tấn công không biết tôi là ai, vì vậy anh ta sẽ không nhắm mục tiêu vào tôi"? Có, nhưng đây là lý do tại sao nó đã được đề cập trước đó rằng DAS cần chức năng riêng tư của lớp mạng, bởi vì nếu kẻ tấn công có thể biết "ai" đang yêu cầu dữ liệu phân mảnh hoặc biết rằng ba đoạn A, B và C là "cùng một "Cá nhân" đang tìm kiếm, thì nó có thể dễ dàng nhắm mục tiêu nạn nhân mục tiêu và cung cấp thông tin cho bên kia. Nếu lớp mạng ngày nay có chức năng bảo mật, thì kẻ tấn công sẽ không có cách nào để biết ai đang yêu cầu phần thông tin này. Đương nhiên, sẽ không có cách nào để đánh lừa mục tiêu, và hiệu quả tấn công của kẻ tấn công sẽ giảm đi rất nhiều: nó không có cách nào để xác định xem nạn nhân có bị lừa hay không, hoặc thậm chí là bất kỳ nút ánh sáng nào.
Nếu kẻ tấn công không biết người đang yêu cầu thông tin, việc lừa nút ánh sáng sẽ rất khó khăn.
Để DAS được an toàn, nó cần:
Vấn đề sẽ là gì nếu các khối không được mã hóa thông qua mã hóa xóa, mà là cho các nút nhẹ lấy mẫu trực tiếp nội dung khối gốc? Câu trả lời là: dữ liệu mảnh được lấy mẫu bởi các nút nhẹ phải đạt đến 100% phủ sóng để đảm bảo tính toàn vẹn của dữ liệu. Ngay cả khi các nút nhẹ làm việc cùng nhau để lấy mẫu 99% dữ liệu khối, khối này vẫn không hoàn chỉnh và không được công nhận.
Không có mã hóa xóa, miễn là thiếu một chút khối dữ liệu, điều đó có nghĩa là khối chưa được phát hành hoàn toàn.
Nếu khối được mã hóa bằng mã sửa lỗi, thì 100% dữ liệu có thể được khôi phục với, ví dụ, bất kỳ 50% dữ liệu nào. Điều này có nghĩa là các nút nhẹ có thể đảm bảo rằng họ có thể khôi phục dữ liệu miễn là dữ liệu mẫu cùng nhau đạt đến 50% phủ sóng. Thông tin khối hoàn chỉnh. So với việc phủ sóng 100%, yêu cầu về việc phủ sóng 50% đơn giản nhiều. Đối với những nhà sản xuất khối độc hại, việc che giấu một số thông tin để đánh lừa các nút nhẹ sẽ khó hơn nhiều.
Lưu ý: 50% chỉ là một ví dụ. Các nhu cầu khác sẽ cần % khác nhau để phục hồi.
Nếu nút nhẹ không lưu đủ dữ liệu mảnh vỡ, ngay cả khi dữ liệu khối được mã hóa thông qua mã hóa xóa, 100% dữ liệu không thể khôi phục được. Ví dụ, nếu các nút nhẹ chỉ lưu trữ 40% dữ liệu mảnh vỡ tổng cộng, và họ không thể khôi phục 100% dữ liệu cùng nhau, thì những nút này sẽ bị đánh lừa và tin rằng dữ liệu khối đã được phát hành đầy đủ.
Làm thế nào để đảm bảo các nút nhẹ lưu trữ đủ dữ liệu? Chúng ta cần có đủ nút nhẹ hoặc đủ mẫu cho mỗi nút nhẹ. Nếu có đủ nút nhẹ, số lần lấy mẫu cho mỗi nút nhẹ không cần phải cao; nhưng nếu không có đủ nút nhẹ, thì số lần lấy mẫu cho mỗi nút nhẹ phải đủ cao để đảm bảo rằng các nút nhẹ hoạt động cùng nhau để lưu trữ đủ dữ liệu.
Lưu ý: Nếu số lượng nút nhẹ tiếp tục tăng, kích thước dữ liệu mà chúng có thể lưu trữ cùng nhau thực sự có thể tăng nếu số lượng mẫu không thay đổi. Ví dụ, Celestia, sẽ được giới thiệu trong loạt bài viết này, có thể hỗ trợ các kích thước khối linh hoạt. Blockchain: Kích thước khối của Celestia có thể được điều chỉnh tùy theo số lượng nút nhẹ trong mạng.
Các nút nhẹ cần chia sẻ dữ liệu bị phân mảnh thông qua mạng p2p để dữ liệu khối hoàn chỉnh có thể được khôi phục khi cần thiết. Nếu mạng p2p không ổn định và không thể xử lý một lượng lớn các yêu cầu dữ liệu, các nút có thể không thể lấy được một số phần dữ liệu nhất định. Ngoài ra, cũng cần phải ngăn chặn tất cả các phần dữ liệu lưu thông trong cùng một mạng p2p, dẫn đến quá tải băng thông mạng. Lí tưởng, một nút nhẹ nên chỉ nhận được dữ liệu mà nó yêu cầu, thay vì tất cả các dữ liệu không liên quan khác. Dữ liệu chảy qua tay nó qua các mạng p2p.
Ngoài ra, lớp mạng cũng cần có các chức năng bảo mật, nếu không, nút nhẹ sẽ bị nhận diện bởi kẻ tấn công. Kẻ tấn công sẽ không công bố hơn 50% dữ liệu, nhưng sẽ cung cấp dữ liệu phân mảnh được yêu cầu bởi nút nhẹ mà nó khóa. Để đánh lừa nút nhẹ tin rằng dữ liệu khối đã được công bố hoàn toàn.
Các chi tiết của ba phần này sẽ được giới thiệu chi tiết hơn trong loạt bài viết này.