Ngay cả những người dùng kỳ cựu cũng có thể thấy khó hiểu khi nắm bắt một số thuật ngữ phức tạp hơn trong crypto. Đôi khi bạn chỉ cần gật đầu đồng ý khi ai đó nhắc đến blobs và Byzantine Fault Tolerance một cách bình thường trong câu chuyện của họ. Ngành công nghiệp bitcoin, nổi tiếng với sự phát minh nhanh chóng, đã tạo ra một từ vựng phức tạp đôi khi thử thách ngay cả những chuyên gia kỳ cựu. Hãy giải quyết vấn đề này một lần và mãi mãi.
Bài viết này phân tích bảy trong số các cụm từ phức tạp nhất và thường bị hiểu sai trong môi trường blockchain thành các đơn vị nhỏ hơn, từ đó đưa ra một cuộc điều tra kỹ lưỡng về ý nghĩa, cách sử dụng, và hậu quả tương lai của chúng đối với tiền kỹ thuật số.
Byzantine Fault Tolerance: Nền Tảng Của Bảo Mật Blockchain
Phần lớn hàng triệu người đam mê crypto có thể đã nghe qua một điều gì đó về Byzantine Fault Tolerance. Tuy nhiên, 99.9% trong số họ không thể định nghĩa một cách hợp lý nó là gì.
Thông thường, những người nghiên cứu lịch sử tạo ra Bitcoin và phát hiện ra rằng Satoshi Nakamoto đã sử dụng khai thác để giải quyết vấn đề Byzantine Fault Tolerance cũng thiếu một sự hiểu biết rõ ràng về nó là gì.
Có phải thông thường để coi rằng vấn đề này liên quan đến khai thác? Không, thật sự không.
Byzantine Fault Tolerance (BFT), một thuật ngữ xuất phát từ một vấn đề lý thuyết về khoa học máy tính được biết đến như Vấn Đề Các Tướng Byzantine, là rất quan trọng đối với công nghệ blockchain. Đầu tiên được trình bày vào năm 1982 bởi Leslie Lamport, Robert Shostak, và Marshall Pease, vấn đề này nêu bật những khó khăn trong việc đạt được đồng thuận trong một hệ thống phân tán nơi các thành viên có thể thù địch hoặc không đáng tin cậy.
Trong Vấn Đề Các Tướng Byzantine, nhiều tướng phải phối hợp để tấn công một thành phố. Chúng chỉ có thể tương tác thông qua các sứ giả; một số tướng có thể là kẻ phản bội cố gắng phá hoại chiến lược. Khó khăn là làm thế nào để đưa ra một chiến lược cho phép các tướng trung thành đồng thuận ngay cả khi có kẻ phản bội xung quanh.
Byzantine fault tolerance trong bối cảnh blockchain là khả năng của một hệ thống hoạt động theo dự định và đạt được đồng thuận ngay cả trong trường hợp một số thành phần của nó thất bại hoặc hành động độc hại. Điều này phụ thuộc vào việc duy trì tính toàn vẹn và bảo mật của các mạng phân tán.
Bằng cơ chế đồng thuận proof-of-work (PoW), Satoshi Nakamoto, tác giả ẩn danh của Bitcoin, về cơ bản đã giải quyết Vấn Đề Các Tướng Byzantine cho tiền kỹ thuật số. Các thợ mỏ trong PoW cạnh tranh để giải các vấn đề toán học đầy thách thức; người chiến thắng có cơ hội thêm khối tiếp theo vào blockchain. Vì phương pháp này đòi hỏi tài nguyên tính toán lớn, các thợ mỏ có động lực tài chính mạnh mẽ để hoạt động trung thực.
Giải pháp PoW hoạt động vì:
- Tham gia là tốn kém, làm nản lòng các hoạt động tốt hoặc xấu.
- Độ phức tạp của các câu đố đảm bảo rằng không có đơn vị nào có thể dễ dàng kiểm soát mạng.
- Quy tắc chuỗi dài nhất cung cấp một cách đơn giản để tìm phiên bản blockchain đúng.
Tuy nhiên, PoW không phải là câu trả lời duy nhất cho Vấn Đề Các Tướng Byzantine trên blockchain. Để giải quyết BFT một cách tiết kiệm năng lượng hơn, các hệ thống đồng thuận khác như proof-of-stake (PoS) và delegated proof-of-stake (DPoS) đã được tạo ra.
Ví dụ, Ethereum đã sử dụng một phương pháp đồng thuận BFT gọi là Gasper khi nó chuyển từ PoW sang PoS, đôi khi được gọi là "The Merge." Kết hợp Casper FFG (một hệ thống finality dựa trên PoS) với quy tắc lựa chọn fork LMD-GHOST, phương pháp này mang lại những đảm bảo mạnh mẽ về Byzantine Fault Tolerance, do đó giảm đáng kể tiêu thụ năng lượng.
Hiểu được các ý tưởng cơ bản đảm bảo tính đáng tin cậy và bảo mật của các hệ thống blockchain phụ thuộc vào việc nắm bắt BFT. Các phương pháp mới để giải quyết BFT liên tục xuất hiện khi công nghệ phát triển, do đó xác định hướng đi của các hệ thống phân tán.
Nonce: Mảnh Ghép Mật Mã
Nonce là một dạng vô nghĩa trong blockchain. Xin lỗi vì trò đùa đó. Trong khi những người khác có thể đã nghe một hoặc hai lần và đơn giản tin rằng nó là một phần của mã bảo mật, các thợ mỏ và nhà phát triển biết nó là gì. Vâng, đúng một phần.
Mặc dù có vẻ đơn giản, ý tưởng về nonce khá quan trọng trong công nghệ blockchain—đặc biệt trong các hệ thống proof-of-work như Bitcoin. "Nonce" là thuật ngữ cho "number only used once," và nó là một phần cơ bản trong quá trình khai thác đảm bảo và xác minh các giao dịch blockchain.
Trong khai thác Bitcoin, nonce là một trường 32-bit (4-byte) nằm trong phần đầu khối. Các thợ mỏ điều khiển số này nhằm tạo ra một hash của phần đầu khối đáp ứng các yêu cầu cụ thể—đặc biệt hơn là một hash nhỏ hơn giá trị mục tiêu được xác định bởi mức độ khó hiện tại của mạng.
Quá trình khai thác hoạt động như sau. Một thợ mỏ lắp ráp một khối các giao dịch đang chờ xử lý.
Phần đầu khối được tạo ra, bao gồm các yếu tố sau:
- Số phiên bản
- Hash của khối trước đó
- Merkle root (một hash đại diện cho tất cả các giao dịch trong khối)
- Dấu thời gian
- Mục tiêu khó khăn
- Nonce (ban đầu được đặt thành 0)
Thợ mỏ hash phần đầu khối bằng cách sử dụng thuật toán SHA-256. Nếu hash kết quả đáp ứng tiêu chí khó khăn, khối được coi là "đã giải quyết," và thợ mỏ phát sóng nó tới mạng. Nếu hash không đáp ứng tiêu chí, thợ mỏ tăng nonce và thử lại.
Việc tăng nonce và tái hash tiếp tục cho đến khi tìm ra hash hợp lệ hoặc không gian nonce—2^32, hoặc khoảng 4 tỷ khả năng—hết. Nếu không gian nonce hết mà không có hash đúng, các thợ mỏ có thể thay đổi các thành phần khác của phần đầu khối (như dấu thời gian) và bắt đầu lại.
Nonce thực hiện nhiều vai trò quan trọng.
Mạng có thể thay đổi độ khó của việc khai thác bằng cách yêu cầu các thợ mỏ xác định một nonce cụ thể tạo ra một hash đáp ứng các yêu cầu đã định. Điều này giữ thời gian khối—khoảng 10 phút cho Bitcoin—nhất quán bất kể biến động trong tổng hash power của mạng.
Nonce là biến số mà các thợ mỏ điều khiển để thực hiện "công việc" thực sự trong proof-of-work. Việc xác định nonce đúng cho thấy rằng một thợ mỏ đã sử dụng tài nguyên tính toán.
Việc điều khiển blockchain trở nên khá dễ dàng vì nonce giúp tìm khối hợp lệ là ngẫu nhiên. Để liên tục vượt qua các thợ mỏ trung thực, một kẻ tấn công sẽ phải kiểm soát hơn một nửa hash power của mạng.
Nonce mang lại sân chơi công bằng cho các thợ mỏ. Tìm thấy khối hợp lệ về cơ bản là ngẫu nhiên, tùy thuộc vào công suất xử lý mà thợ mỏ cung cấp.
Mặc dù ý tưởng về nonce được biết đến rộng rãi trong các hệ thống PoW, các phiên bản của nó được áp dụng trong các bối cảnh khác. Trong các giao dịch Ethereum, chẳng hạn, nonce được sử dụng để đảm bảo mỗi giao dịch chỉ được xử lý một lần và theo đúng thứ tự.
Vai trò của nonces có thể thay đổi khi công nghệ blockchain phát triển. Đối với các hệ thống proof-of-stake, ví dụ, ý tưởng về khai thác và nonces như ứng dụng trong PoW không tồn tại. Dù sao, trong nhiều hệ thống blockchain, ý tưởng cơ bản của việc sử dụng các số ngẫu nhiên, một lần để đảm bảo bảo mật và công bằng vẫn quan trọng.
Rollups: Hợp Lý Giao Dịch Lớp-2
Nếu bạn đang ở trong thế giới DeFi, chắc chắn bạn đã nghe về rollups. Tuy nhiên, rất có thể những gì bạn biết về nó liên quan ở mức độ nào đó đến các giải pháp lớp 2 trên blockchain lớp 1.
Vâng, đúng vậy, nhưng còn nhiều điều nữa.
Rollups đã trở thành một câu trả lời tiềm năng để tăng thông lượng giao dịch và giảm phí khi các hệ thống blockchain như Ethereum gặp khó khăn với khả năng mở rộng. Rollups là các phương pháp mở rộng lớp-2 đăng dữ liệu giao dịch trên lớp-1 trong khi thực hiện giao dịch ngoài blockchain chính (lớp-1).
Rollups về cơ bản là quá trình "gộp lại" nhiều giao dịch thành một batch để nộp lên chuỗi chính. Phương pháp này giảm đáng kể khối lượng dữ liệu xử lý cần thiết trên chuỗi chính, do đó thúc đẩy khả năng mở rộng cao hơn.
Rollups thường đến trong hai dạng:
Rollups lạc quan tiến hành tính toán thông qua một bằng chứng gian lận và giả định rằng các giao dịch là hợp lệ theo mặc định. Các đặc điểm quan trọng bao gồm:
- Rẻ hơn và nhanh hơn so với ZK-roll-ups cho tính toán chung.
- Dễ dàng chuyển các ứng dụng Ethereum hiện tại do tính tương thích với Ethereum Virtual Machine (EVM).
- Thường kéo dài một tuần, một giai đoạn thách thức cho phép bất kỳ ai thách thức kết quả giao dịch. Ví dụ là Arbitrum và Optimism.
Zero-knowledge (ZK) rollups tạo ra các bằng chứng mật mã—được gọi là bằng chứng hợp lệ—xác nhận tính chính xác của các giao dịch đã gộp. Một trong những đặc điểm chính là tốc độ hoàn thành nhanh hơn vì việc xác minh ngay lập tức của các bằng chứng hợp lệ trên chuỗi.
Tiềm năng mở rộng cao hơn lạc quan roll-ups; mật mã phức tạp hơn khiến chúng khó áp dụng hơn cho tính toán chung. Cụ thể, hai ví dụ là StarkNet và zkSync.
Rollups có nhiều lợi ích:
Rollups có thể tăng mạnh số lượng giao dịch mỗi giây (TPS) mà mạng có thể xử lý bằng việc xử lý ngoài chuỗi. Phí giao dịch được giảm vì ít dữ liệu cần được xử lý trên chuỗi chính. Rollups thừa hưởng bảo mật của chuỗi chính vì dữ liệu quan trọng vẫn được lưu trữ trên lớp-1. Đặc biệt với ZK-rollups, tính hoàn thành giao dịch có thể đạt được nhanh hơn nhiều so với trên chuỗi chính.
Tuy nhiên, rollups cũng có những thách thức:
Khó khăn kỹ thuật: Sử dụng rollups—đặc biệt là ZK-rolls—là khó khăn. Các nhà điều hành roll-up rất quan trọng và có thể gây ra một số mức độ tập trung hóa. Trong các roll-ups lạc quan, người dùng có thể trải qua sự chậm trễ khi rút tiền về chuỗi chính do giai đoạn thách thức.
Rollups có lẽ sẽ trở nên quan trọng hơn trong các giải pháp mở rộng khi hệ sinh thái blockchain phát triển. Các dự án như Ethereum 2.0 thể hiện tầm quan trọng của công nghệ này trong tương lai của blockchain bởi vì họ dự định bao gồm khả năng mở rộng tập trung vào roll-up như một thành phần chính trong lộ trình của họ.
Blobs: Các Khối Dữ Liệu Đang Thay Đổi Ethereum
Blobs hiện đang trở thành một yếu tố quan trọng trong Ethereum. Ethereum universe. Trong khi đó, nhiều người tiêu dùng không thực sự hiểu blobs là gì. Và cuối cùng từ này trở thành một trong những từ bạn mong muốn biết, nhưng không bao giờ là thời điểm tốt để khám phá các thông số kỹ thuật công nghệ.
Vậy thì hãy sửa nó thôi.
Đặc biệt liên quan đến nâng cấp Dencun sắp tới—sự kết hợp của nâng cấp Deneb và Cancun—blobs, viết tắt của Binary Large Objects (Đối tượng Lớn Nhị Phân), đánh dấu một sự thay đổi lớn trong lộ trình mở rộng của Ethereum.
Hiểu blobs yêu cầu khám phá các khía cạnh kỹ thuật của quản lý dữ liệu trên Ethereum và hành trình hướng tới khả năng mở rộng cao hơn.
Blobs trong ngữ cảnh Ethereum là những lượng dữ liệu lớn tách khỏi lớp thực thi—nơi các hợp đồng thông minh chạy—nhưng vẫn là một phần của hệ sinh thái Ethereum. Được thiết kế như tạm thời, chúng tồn tại trên mạng trong vòng mười tám đến hai mươi lăm ngày trước khi bị loại bỏ.
Các đặc điểm chính của blobs bao gồm:
- Kích thước: Mỗi blob có thể lên tới 128 KB về kích thước, lớn hơn đáng kể so với dữ liệu thường được bao gồm trong các giao dịch Ethereum.
- Mục đích: Blobs chủ yếu nhằm phục vụ các giải pháp lớp-2, đặc biệt là rollups, bằng cách cung cấp một cách chi phí hiệu quả hơn để đăng dữ liệu trên mạng chính Ethereum.
- Xác minh: Mặc dù blobs không được xử lý bởi Máy ảo Ethereum (EVM), tính toàn vẹn của chúng được xác minh bằng kỹ thuật mã hóa gọi là KZG commitments.
- Tính chất tạm thời: Không giống như dữ liệu blockchain truyền thống được lưu trữ vô thời hạn, blobs được thiết kế để là tạm thời, giảm yêu cầu lưu trữ dài hạn.
Blobs có liên quan mật thiết đến ý tưởng "proto-danksharding," giai đoạn trung gian hướng tới sharding đầy đủ trong Ethereum (chúng tôi sẽ thảo luận về điều này ngay bây giờ). Được đặt tên theo những người đề xuất là Protolambda và Dankrad Feist, protos-danksharding đưa ra một loại giao dịch mới (EIP-4844) cho phép chèn blob.
Đây là cách blobs hoạt động trong ngữ cảnh của proto-danksharding:
- Các giải pháp lớp-2 (như rollups) tạo ra dữ liệu giao dịch.
- Dữ liệu này được định dạng thành blobs.
- Blobs được gắn vào các giao dịch đặc biệt trên mạng chính Ethereum.
- Các trình xác thực và nút xác minh tính toàn vẹn của blobs bằng việc sử dụng KZG commitments, mà không cần phải xử lý toàn bộ dữ liệu blob.
- Dữ liệu blob có sẵn trong một thời gian giới hạn, cho phép bất kỳ ai tái tạo trạng thái lớp-2 nếu cần.
- Sau 18-25 ngày, dữ liệu blob bị loại bỏ, nhưng cam kết với dữ liệu vẫn còn trên chuỗi vô thời hạn.
Việc giới thiệu blobs mang đến nhiều lợi ích khác nhau:
- Giảm chi phí: Bằng cách cung cấp một cách hiệu quả hơn cho rollups để đăng dữ liệu trên Ethereum, các giao dịch blob có thể giảm đáng kể phí cho người dùng lớp-2.
- Tăng khả năng mở rộng: Blobs cho phép bao gồm nhiều dữ liệu hơn trong mỗi khối Ethereum mà không tăng tải xử lý của mạng.
- Cải thiện khả năng sẵn có dữ liệu: Mặc dù dữ liệu blob là tạm thời, nó đảm bảo rằng dữ liệu lớp-2 có sẵn trong các giai đoạn thử thách trong optimistics rollups hoặc cho người dùng cần tái tạo trạng thái lớp-2.
- Chuẩn bị cho Sharding: Proto-danksharding đóng vai trò là bước đệm hướng tới sharding toàn diện, cho phép hệ sinh thái Ethereum dần dần thích nghi với các mô hình quản lý dữ liệu mới.
Việc giới thiệu blobs, trong khi đó, cũng mang lại nhiều khó khăn:
- Yêu cầu băng thông và lưu trữ tăng: Các nút sẽ cần xử lý lượng dữ liệu lớn hơn, ngay cả khi tạm thời.
- Sự phức tạp: Việc bổ sung một loại giao dịch và cấu trúc dữ liệu mới tăng sự phức tạp tổng thể của giao thức Ethereum.
- Áp lực tập trung hóa tiềm tàng: Các yêu cầu về nguồn lực tăng có thể làm cho cá nhân vận hành nút đầy đủ gặp thách thức hơn.
Blobs và proto-danksharding là một thành phần chính trong việc cân bằng khả năng mở rộng, phi tập trung, và bảo mật khi Ethereum tiếp tục phát triển hướng tới Ethereum 2.0. Blobs cung cấp con đường cho một hệ sinh thái Ethereum có khả năng mở rộng hơn bằng cách cung cấp một lớp khả dụng dữ liệu hiệu quả hơn, đặc biệt là giúp các giải pháp lớp-2 ngày càng quan trọng trong cảnh blockchain.
Proto-danksharding: Bước Đệm của Ethereum tới Khả Năng Mở Rộng
Proto-danksharding đã được đề cập ở trên. Hãy tìm hiểu kỹ hơn về nó.
Đại diện cho một bước ngoặt quan trọng trong lộ trình mở rộng của Ethereum, đôi khi nó được biết đến là EIP-4844 (Đề xuất Cải tiến Ethereum 4844). Nhằm giảm đáng kể chi phí dữ liệu cho roll-ups và các giải pháp mở rộng lớp-2 khác, ý tưởng này—đặt tên theo những người đề xuất Protolambda và Dankrad Feist—đóng vai trò là bước trung gian hướng tới sharding thực sự.
Để hiểu proto-danksharding trước tiên phải hiểu sharding là gì.
Sharding là một phương pháp phân chia cơ sở dữ liệu theo đó một blockchain được chia nhỏ thành các shards nhỏ hơn, dễ quản lý hơn. Thông qua việc lưu trữ dữ liệu song song và xử lý giao dịch, mỗi shard có thể tăng công suất của mạng. Tuy nhiên, việc thực hiện sharding đầy đủ là một nhiệm vụ khó khăn đòi hỏi những thay đổi lớn đối với giao thức Ethereum.
Proto-danksharding đem lại nhiều ý tưởng quan trọng:
-
Giao dịch mang Blob: Một loại giao dịch mới có thể mang theo lượng dữ liệu lớn (blobs) tách biệt khỏi lớp thực thi.
-
Mẫu Kiểm Duyệt Dữ Liệu: Một kỹ thuật cho phép các nút xác minh sự sẵn có của dữ liệu blob mà không cần tải xuống toàn bộ blob.
-
KZG Commitments: Một phương pháp mã hóa dùng để tạo các bằng chứng ngắn gọn về nội dung blob, cho phép xác minh hiệu quả.
-
Lưu Trữ Dữ Liệu Tạm Thời: Dữ liệu blob chỉ được lưu trữ bởi mạng trong một thời gian giới hạn (18-25 ngày), sau đó có thể bị loại bỏ trong khi vẫn duy trì cam kết với dữ liệu trên chuỗi.
Proto-danksharding hoạt động như sau:
- Các giải pháp lớp-2 (như rollups) tạo ra dữ liệu giao dịch.
- Dữ liệu này được định dạng thành blobs (đối tượng lớn nhị phân).
- Các blobs được gắn vào các giao dịch đặc biệt trên mạng chính Ethereum.
- Các trình xác thực và nút xác minh tính toàn vẹn của blobs bằng việc sử dụng KZG commitments, mà không cần phải xử lý toàn bộ dữ liệu blob.
- Dữ liệu blob có sẵn trong một thời gian giới hạn, cho phép bất kỳ ai tái tạo trạng thái lớp-2 nếu cần.
- Sau thời gian giữ lại, dữ liệu blob bị loại bỏ, nhưng cam kết với dữ liệu vẫn còn trên chuỗi vô thời hạn.
Proto-danksharding có nhiều lợi ích quan trọng:
-
Giảm Chi Phí: Bằng cách cung cấp một cách hiệu quả hơn cho rollups để đăng dữ liệu trên Ethereum, các giao dịch blob có thể giảm đáng kể phí cho người dùng lớp-2. Điều này có thể tiềm năng giảm chi phí từ 10-100 lần.
-
Tăng Khả Năng Mở Rộng: Blobs cho phép bao gồm nhiều dữ liệu hơn trong mỗi khối Ethereum mà không tăng tải xử lý của mạng. Khả năng dữ liệu của Ethereum có thể tăng lên tới 100 lần.
-
Cải Thiện Khả Năng Sẵn Có Dữ Liệu: Mặc dù dữ liệu blob là tạm thời, nó đảm bảo rằng dữ liệu lớp-2 có sẵn trong các giai đoạn thử thách trong optimistics rollups hoặc cho người dùng cần tái tạo trạng thái lớp-2.
-
Tiến Hóa Giao Thức Dần Dần: Proto-danksharding cho phép hệ sinh thái Ethereum dần dần thích nghi với các mô hình quản lý dữ liệu mới, mở đường cho full sharding trong tương lai.
Tuy nhiên, việc thực hiện proto-danksharding cũng mang lại nhiều thách thức:
-
Tăng Sự Phức Tạp: Việc bổ sung một loại giao dịch và cấu trúc dữ liệu mới tăng sự phức tạp tổng thể của giao thức Ethereum.
-
Yêu cầu về Nút: Các nút sẽ cần xử lý lượng dữ liệu lớn hơn, ngay cả khi tạm thời, có thể tăng yêu cầu phần cứng.
-
Áp lực Tập Trung Hóa Tiềm Tàng: Các yêu cầu về nguồn lực tăng có thể làm cho cá nhân vận hành nút đầy đủ gặp thách thức hơn, tiềm năng dẫn đến một mức độ tập trung hóa nào đó.
-
Thích Nghi Hệ Sinh Thái: Các giải pháp lớp-2 và các công cụ khác của Ethereum sẽ cần được cập nhật để tận dụng đầy đủ lợi ích của proto-danksharding.
Một giai đoạn quan trọng trong sự phát triển của Ethereum, protos-danksharding cân bằng giữa nhu cầu mở rộng hơn và những khó khăn trong việc thực hiện các cập nhật giao thức phức tạp. Một môi trường Ethereum có khả năng mở rộng hơn được tạo ra bởi việc cung cấp một lớp khả dụng dữ liệu hiệu quả hơn.
Công Nghệ Trình Xác Thực Phân Tán (DVT): Tăng Cường Bảo Mật Proof-of-Stake
Công nghệ trình xác thực đã trở thành một điều quan trọng trong thế giới của Ethereum kể từ khi Hợp nhất vào năm 2022, khi giao thức Proof-of-Work bị thay thế bằng Proof-of-Stake.
Nhưng nhiều người vẫn chưa hiểu cách công nghệ này hoạt động.
Việc duy trì an ninh mạng và phân quyền phụ thuộc rất nhiều vào ý tưởng của Công Nghệ Trình Xác Thực Phân Tán (DVT). Đặc biệt trong mạng như Ethereum 2.0, DVT đánh dấu một sự thay đổi lớn trong cách các trình xác thực hoạt động trong các hệ thống proof-of-stake.
Về căn bản, DVT cho phép một trình xác thực chạy nhiều nút, do đó chia chia nhiệm vụ và rủi ro liên quan đến xác thực giữa nhiều người tham gia. Phương pháp này đối lập với cấu trúc trình xác thực truyền thống nơi một thực thể kiểm soát mọi khía cạnh của quá trình xác thực.
Các yếu tố cơ bản của DVT bao gồm:
- Khách Hàng Trình Xác Thực: Phần mềm chịu trách nhiệm đề xuất và xác nhận khối.
- Tạo Khóa Phân Tán (DKG): Một giao thức mã hóa cho phép nhiều bên cùng nhau tạo khóa riêng chia sẻ.
- Chữ ký Ngưỡng: Một kỹ thuật mã hóa cho phép một nhóm các bên cùng ký thông điệp, với một ngưỡng nhất định của những người tham gia cần thiết để tạo ra một chữ ký hợp lệ.
Thường thì, quy trình DVT diễn ra như sau:
- Một nhóm nhà vận hành tụ họp để tạo thành một trình xác thực phân tán.
- Họ sử dụng DKG để tạo khóa trình xác thực chia sẻ, với mỗi nhà vận hành giữ một phần của khóa.
- Khi trình xác thực cần thực hiện một hành động (ví dụ: đề xuất hoặc xác nhận một khối), một số nhất định nhà vận hành phải hợp tác để ký thông điệp.
- Chữ ký được tạo ra không phân biệt được với chữ ký của một trình xác thực đơn lẻ, duy trì khả năng tương thích với mạng rộng lớn hơn.
DVT mang lại nhiều lợi ích quan trọng:
-
Tăng Cường Bảo Mật: Bằng cách phân chia khóa trình xác thực giữa nhiều nhà vận hành, nguy cơ bị tấn công giả và tụt lùi giảm đáng kể.Điểm đơn độc thất bại (single point of failure) giảm đáng kể. Ngay cả khi một nhà vận hành bị xâm phạm hoặc bị ngừng hoạt động, trình xác thực vẫn có thể tiếp tục hoạt động.
-
Tăng Thời Gian Hoạt Động: Với nhiều nhà vận hành, khả năng trình xác thực có mặt để thực hiện các nhiệm vụ của nó mọi lúc được cải thiện đáng kể, có thể dẫn đến phần thưởng cao hơn và hiệu suất mạng tốt hơn.
-
Phi Tập Trung: DVT cho phép một mạng phi tập trung hơn bằng cách cho phép các nhà vận hành nhỏ hơn tham gia vào việc xác thực mà không phải chịu toàn bộ rủi ro và trách nhiệm của việc chạy một trình xác thực một cách độc lập.
-
Bảo Vệ Slashing: Trong các hệ thống proof-of-stake, các trình xác thực có thể bị phạt (slashed) vì hành vi sai trái. Bằng cách yêu cầu nhiều nhà vận hành đồng ý về các hoạt động, DVT có thể giúp tránh cắt giảm một cách vô ý.
Tuy nhiên, DVT cũng đưa ra một số thách thức nhất định:
-
Phức Tạp: Việc triển khai DVT đòi hỏi các giao thức mật mã phức tạp và sự phối hợp giữa nhiều bên, làm tăng độ phức tạp cho các hoạt động của trình xác thực.
-
Trễ: Nhu cầu phối hợp giữa nhiều nhà vận hành có thể dẫn đến độ trễ trong hành động của trình xác thực, mặc dù điều này có thể được giảm thiểu với việc triển khai hợp lý.
-
Giả Định Tin Cậy: Mặc dù DVT giảm thiểu các điểm thất bại đơn lẻ, nó lại tạo ra nhu cầu tin cậy giữa các nhà vận hành của trình xác thực phân tán.
-
Xem Xét Pháp Lý: Tính chất phân tán của DVT có thể đặt ra câu hỏi về tuân thủ pháp lý và trách nhiệm pháp lý ở một số khu vực pháp lý.
DVT có thể trở nên quan trọng hơn trong việc duy trì bảo mật và phi tập trung của chúng khi các mạng proof-of-stake phát triển. Trong khi các triển khai khác nhau hiện đang được phát triển hoặc thử nghiệm ban đầu, các dự án như Ethereum 2.0 đang tích cực xem xét đưa DVT vào.
Việc chấp nhận DVT có thể có những ảnh hưởng rộng lớn đến kiến trúc của các mạng proof-of-stake, cho phép các loại nhóm trình xác thực và ủy quyền mới cân bằng giữa bảo mật, phi tập trung và khả năng tiếp cận.
Phân Mảnh Động: Phân Vùng Chuỗi Khối Thích Ứng
Cuối cùng nhưng không kém phần quan trọng, hãy nói về phân mảnh động. Dựa trên ý tưởng của sharding nhưng thêm một lớp linh hoạt cho phép mạng phản ứng với những nhu cầu thay đổi trong thời gian thực, nó cung cấp một phương pháp mới cho khả năng mở rộng của chuỗi khối.
Thường được một số người đam mê chuỗi khối gọi là "chén thánh của sharding," công nghệ này hứa hẹn sẽ giải quyết một trong những vấn đề lâu đời nhất trong thiết kế chuỗi khối: cân bằng khả năng mạng với việc sử dụng tài nguyên. Nghe có vẻ rất phức tạp, phải không?
Hiểu được phân mảnh động đòi hỏi phải hiểu trước những điều cơ bản của sharding:
Sharding được thích nghi cho các hệ thống chuỗi khối, là một phương pháp phân vùng cơ sở dữ liệu. Nó bao gồm việc chia nhỏ chuỗi khối thành các phân đoạn nhỏ hơn, dễ quản lý hơn. Mỗi phân đoạn có thể lưu trữ dữ liệu song song và xử lý giao dịch, do đó về mặt lý thuyết tăng khả năng của mạng.
Phân mảnh động tiến xa hơn ý tưởng này bằng cách cho phép mạng thay đổi số lượng và cấu hình của các phân đoạn tùy thuộc vào trạng thái hiện tại của mạng.
Chiến lược linh hoạt này mang lại một số lợi ích tiềm năng.
Mạng có thể đảm bảo sử dụng hiệu quả tài nguyên mạng bằng cách tạo các phân đoạn mới trong giai đoạn nhu cầu cao và hợp nhất các phân đoạn không sử dụng trong giai đoạn nhu cầu thấp.
Phân mảnh động cho phép chuỗi khối mở rộng khả năng của mình mà không cần sử dụng hard fork hoặc cập nhật giao thức đáng kể khi việc sử dụng mạng tăng lên. Việc phân phối lại dữ liệu và giao dịch giữa các phân đoạn giúp mạng duy trì hiệu suất ổn định hơn trong toàn bộ chuỗi khối.
Phân mảnh động cũng có thể cho phép mạng thay đổi với những sự kiện không lường trước chẳng hạn như sự cố phân đoạn hoặc tăng vọt nhu cầu.
Quá trình phân mảnh động thường bao gồm một số thành phần chính.
Hệ thống giám sát liên tục phân tích các chỉ số mạng như khối lượng giao dịch, sử dụng phân đoạn và hiệu suất nút. Bộ máy quyết định sử dụng các thuật toán được xác định trước và có thể là các kỹ thuật học máy để xác định thời điểm và cách thức phân mảnh lại mạng. Giao thức phối hợp đảm bảo tất cả các nút trong mạng đồng ý về cấu hình phân đoạn mới và thực hiện quy trình phân mảnh lại một cách nhất quán. Khi các phân đoạn được chia tách hoặc kết hợp, an toàn di chuyển dữ liệu và thông tin trạng thái giữa chúng.
Đây là tóm tắt ngắn gọn về những ứng dụng tiềm năng của phân mảnh động:
-
Hệ thống giám sát phát hiện rằng một phân đoạn cụ thể đang xử lý gần mức dung lượng tối đa của nó.
-
Bộ máy quyết định cho rằng phân đoạn này nên được chia thành hai để cân bằng tải.
-
Giao thức phối hợp bắt đầu quá trình phân mảnh lại, đảm bảo tất cả các nút đều biết về sự thay đổi sắp tới.
-
Mạng thực hiện một quy trình cẩn thận để tạo phân đoạn mới, di chuyển dữ liệu liên quan và cập nhật thông tin định tuyến.
-
Khi hoàn tất, mạng hiện có thêm một phân đoạn để xử lý tải tăng.
Mặc dù phân mảnh động mang lại những khả năng thú vị, nhưng nó cũng đưa ra những thách thức kỹ thuật đáng kể.
Việc triển khai một hệ thống có thể phân mảnh lại an toàn và hiệu quả một mạng chuỗi khối trực tiếp rất phức tạp, yêu cầu các cơ chế đồng thuận và phối hợp tinh vi. Ngoài ra, việc đảm bảo rằng tất cả thông tin trạng thái liên quan được lưu trữ chính xác và dễ dàng truy cập khi dữ liệu di chuyển giữa các phân đoạn không phải là vấn đề nhỏ trong quản lý trạng thái.
Phân mảnh động phải xem xét các giao dịch giữa nhiều phân đoạn, phức tạp hơn tùy thuộc vào cấu hình phân đoạn. Tiếp đến là các vấn đề về bảo mật. Quy trình phân mảnh lại phải an toàn khỏi các cuộc tấn công nhắm vào việc thao túng mạng trong quá trình có thể dễ bị tổn thương này. Các quy trình giám sát và ra quyết định của phân mảnh động làm tăng thêm tải tính toán cho mạng.
Mặc dù có những khó khăn này, nhiều sáng kiến chuỗi khối đang tích cực xem xét và phát triển các kỹ thuật phân mảnh động. Ví dụ, Near Protocol đã thiết lập một hình thức phân mảnh động trên mainnet của mình để mạng có thể thay đổi số lượng phân đoạn tùy thuộc vào nhu cầu.
Phân mảnh động có thể trở nên ngày càng quan trọng khi công nghệ chuỗi khối phát triển trong việc xây dựng các mạng có khả năng mở rộng, linh hoạt để cho phép áp dụng rộng rãi các ứng dụng và dịch vụ phân tán.