Ngay cả những người dùng có kinh nghiệm đôi khi cũng thấy khó khăn khi nắm bắt một số thuật ngữ tiền điện tử phức tạp. Đôi khi, bạn chỉ cần gật đầu trong khi ai đó đang nhắc đến các blob và Byzantine Fault Tolerance trong câu chuyện của họ. Được biết đến với tốc độ phát triển nhanh chóng, ngành công nghiệp Bitcoin đã tạo ra một ngữ vựng phức tạp mà đôi khi khiến ngay cả những chuyên gia cũng phải thử thách. Hãy cùng 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 sâu vào bảy cụm từ phức tạp nhất và thường bị hiểu lầm trong môi trường blockchain, từ đó cung cấp một cuộc điều tra kỹ lưỡng về ý nghĩa, cách sử dụng, và những 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 trong số hàng triệu người đam mê tiền điện tử có thể đã nghe về Byzantine Fault Tolerance. Tuy nhiên, 99,9% trong số họ không thể định nghĩa rõ ràng 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 rằng Satoshi Nakamoto đã sử dụng khai thác mỏ chính xác để giải quyết vấn đề Byzantine Fault Tolerance cũng thiếu hiểu biết rõ ràng về nó.
Có phải là thông thường khi coi rằng vấn đề liên quan đến khai thác mỏ không? Không, thực sự không.
Byzantine Fault Tolerance (BFT), một thuật ngữ xuất phát từ một vấn đề lý thuyết trong khoa học máy tính được gọi là Vấn đề của các tướng Byzantine, là rất quan trọng đối với công nghệ blockchain. Được giới thiệu lần đầu vào năm 1982 bởi Leslie Lamport, Robert Shostak, và Marshall Pease, vấn đề này làm nổi bật những khó khăn trong việc đạt được sự đồng thuận trong một hệ thống phân tán mà các thành viên có thể thù địch hoặc không đáng tin cậy.
Trong Vấn đề của các tướng Byzantine, nhiều tướng lĩnh cần phối hợp tấn công một thành phố. Chỉ có các sứ giả để họ tương tác; một số tướng có thể là kẻ phản bội đang cố gắng làm hỏng chiến lược. Khó khăn là tìm ra một chiến lược cho phép các tướng trung thành đồng ý ngay cả khi có kẻ phản bội.
Byzantine fault tolerance trong ngữ cảnh của blockchain là khả năng của một hệ thống hoạt động như dự kiến và đạt được sự đồng thuận ngay cả khi một số thành phần của nó bị hỏng hoặc hành động ác ý. Duy trì tính toàn vẹn và bảo mật của các mạng phân tán phụ thuộc vào điều này.
Thông qua cơ chế đồng thuận proof-of-work (PoW), Satoshi Nakamoto, tác giả ẩn danh của Bitcoin, đã cơ bản giải quyết Vấn đề của các tướng Byzantine cho tiền tệ kỹ thuật số. Trong PoW, các thợ mỏ cạnh tranh để giải quyết các vấn đề toán học thách thức; người chiến thắng có cơ hội gắn kết khối blockchain sắp tới. Vì phương pháp này tốn kém về tính toán, các thợ mỏ có động cơ tài chính lớn để hành động chân thực.
Giải pháp PoW hoạt động vì:
- Tham gia vào đó khá tốn kém, điều này ngăn chặn cả hoạt động thiện chí và hoạt động tiêu cực.
- Độ phức tạp của các câu đố đảm bảo rằng không thể có bất kỳ thực thể nào dễ dàng kiểm soát mạng.
- Quy tắc chuỗi dài nhất cung cấp một phương pháp đơn giản để tìm phiên bản blockchain chính xác.
PoW không phải là câu trả lời duy nhất cho Vấn đề của 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ư delegated proof-of-stake (DPoS) và proof-of-stake (PoS) đã được tạo ra.
Ví dụ, Ethereum đã sử dụng một phương pháp đồng thuận BFT có tên Gasper khi chuyển đổi từ PoW sang PoS, đôi khi được gọi là "The Merge". Bằng cách kết hợp Casper FFG (một hệ thống finality dựa trên PoS) với quy tắc fork-choice LMD-GHOST, nó đảm bảo được các cam kết mạnh mẽ về Byzantine Fault Tolerance, do đó giảm tiêu thụ năng lượng đáng kể.
Sự hiểu biết về BFT giúp nắm bắt các ý tưởng cơ bản đảm bảo sự đáng tin cậy và bảo mật của các hệ thống blockchain. Các phương pháp mới cho BFT tiếp tục xuất hiện khi công nghệ phát triển, do đó quyết đị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 từ vô nghĩa của blockchain. Xin lỗi cho trò đùa đó. Trong khi người khác có thể đã nghe tới nó một hoặc hai lần và chỉ đơn giản tin rằng đó 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ì. À thì, nó đúng, ở một mức độ nào đó.
Dù có vẻ đơn giản, nhưng ý tưởng về nonce khá quan trọng trong công nghệ blockchain—đặc biệt là trong các hệ thống proof-of-work như Bitcoin. "Nonce" là từ viết tắt của "number only used once" và là một phần cơ bản của quá trình khai thác mỏ đảm bảo và xác minh các giao dịch blockchain.
Trong quá trình khai thác mỏ Bitcoin, một nonce là một trường 32-bit (4-byte) nằm trong phần đầu khối. Các thợ mỏ điều chỉnh số này để tạo ra một hàm băm của phần đầu khối mà đáp ứng các yêu cầu cụ thể— đặc biệt, một hàm băm nhỏ hơn một 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 một số yếu tố:
- Số phiên bản
- Hàm băm của khối trước
- Merkle root (một hàm băm đạ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 là 0)
Người khai thác băm phần đầu khối bằng thuật toán SHA-256. Nếu hàm băm kết quả đáp ứng các tiêu chí khó khăn, khối được coi là "đã giải quyết", và người khai thác phát sóng nó tới mạng. Nếu hàm băm không đáp ứng tiêu chí, người khai thác tăng nonce và thử lại.
Quá trình tăng nonce và băm lại tiếp tục cho đến khi tìm được hàm băm hợp lệ hoặc không gian nonce—2^32, khoảng 4 tỷ khả năng—đã hết. Nếu không gian nonce đã hết mà không có hàm băm chính xác, người khai thác có thể thay đổi các thành phần khác của phần đầu khối (chẳng hạn như dấu thời gian) và bắt đầu lại.
Nonce phục vụ nhiều vai trò quan trọng.
Mạng có thể thay đổi độ khó của khai thác bằng cách yêu cầu người khai thác xác định một nonce cụ thể tạo ra hàm băm đáp ứng các yêu cầu được xác định. Điều này giữ thời gian khối—khoảng 10 phút cho Bitcoin—nhất quán mà không phụ thuộc vào biến đổi trong tổng sức mạnh băm của mạng.
Nonce là biến số mà người khai thác đ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 một người khai thác đã sử dụng tài nguyên tính toán.
Việc điều khiển blockchain trở nên khá khó khăn vì nonce giải quyết một khối là không thể đoán trước. Để thường xuyên vượt qua các thợ mỏ trung thực, kẻ tấn công sẽ phải kiểm soát hơn một nửa sức mạnh băm của mạng.
Nonce cung cấp một sân chơi công bằng cho các thợ mỏ. Việc tìm kiếm một khối hợp lệ về cơ bản là ngẫu nhiên, phụ thuộc vào khả năng xử lý mà một người khai thác cung cấp.
Dù ý tưởng về nonce rất phổ biến trong các hệ thống PoW, các phiên bản của nó được áp dụng trong các cài đặt 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 được xử lý chỉ một lần và theo đúng thứ tự.
Chức năng 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, chẳng hạn, ý tưởng về khai thác và nonces như áp dụng trong PoW là không tồn tại. Tuy nhiên, trên nhiều hệ thống blockchain cơ bản, việc sử dụng các con số ngẫu nhiên chỉ dùng một lần để đảm bảo an ninh và công bằng vẫn giữ tầm quan trọng.
Rollups: Tinh giản các giao dịch Layer-2
Nếu bạn đang ở thế giới DeFi, bạn phải nghe đến rollups. Tuy nhiên, có khả năng những gì bạn biết về nó có liên quan đến các giải pháp layer 2 nằm trên blockchain layer 1.
À thì, đúng vậy, nhưng còn nhiều hơn thế nữa.
Rollups đã trở thành một giải pháp 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 đối mặt với vấn đề mở rộng. Rollups là phương thức mở rộng layer-2, đăng dữ liệu giao dịch trên layer-1 trong khi thực hiện giao dịch ngoài blockchain chính (layer-1).
Rollups cơ bản là quá trình "cuộn lên" nhiều giao dịch thành một hàng loạt để 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 cần xử lý trên chuỗi chính, do đó thúc đẩy mở rộng cao hơn.
Các rollovers thường đến trong hai loại:
Các rollups Optimistic tiến hành tính toán, thông qua một bằng chứng gian lận, trong trường hợp có một thử thách và mặc định coi giao dịch là hợp lệ. Những đặc điểm quan trọng bao gồm:
- Rẻ hơn và nhanh hơn rollups ZK cho tính toán tổng quát.
- Việc cổng các ứng dụng Ethereum hiện tại dễ dàng hơn nhờ tương thích với Máy ảo Ethereum (EVM).
- Thường kéo dài một tuần, một khoảng thời gian thử thách cho phép ai đó đặt vấn đề với kết quả giao dịch. Những ví dụ là Arbitrum và Optimism.
Các rollups Zero-knowledge (ZK) tạo ra các bằng chứng mật mã—được gọi là bằng chứng hiệu lực—xác nhận độ chính xác của các giao dịch cuộn tắt. Một trong những đặc điểm chính là nhanh chóng đạt được tính cuối, như xác nhận tức thời các bằng chứng hiệu lực trên chuỗi đảm bảo.
Có khả năng mở rộng cao hơn các roll-ups dự kiến; mật mã phức tạp hơn khiến chúng khó áp dụng cho tính toán tổng quát. Đặc biệt, hai ví dụ là StarkNet và zkSync.
Roll-ups có các lợi ích khác nhau:
Roll-ups có thể nâng số giao dịch mỗi giây (TPS) mà mạng có thể xử lý bằng cách di chuyển xử lý ra khỏi chuỗi. Phí giao dịch được giảm do ít dữ liệu cần xử lý trên chuỗi chính. Rollups thừa hưởng an ninh của chuỗi chính vì dữ liệu quan trọng vẫn được lưu trên layer-1. Với ZK-rollups đặc biệt, tính cuối của giao dịch có thể được thực hiện nhanh hơn nhiều so với trên chuỗi chính.
Tuy nhiên, rollups cũng cung cấp các thách thức:
Độ khó kỹ thuật: Sử dụng roll-ups—đặc biệt là ZK-rolls—có độ khó cao. Các nhà hoạt động roll-up khá quan trọng và có thể gây ra một mức độ tập trung hóa nào đó. Trong các roll-ups Optimistic, 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ử thách.
Roll-ups 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 cho thấy tầm quan trọng của công nghệ này trong tương lai của blockchain khi chúng có ý định bao gồm khả năng mở rộng tập trung vào roll-up như là một thành phần chính trong lộ trình của họ.
Blobs: Các mảnh dữ liệu tái định hình Ethereum
Blobs hiện là một khái niệm trong Content: Vũ trụ Ethereum. Trong khi đó, nhiều người tiêu dùng không thể thực sự hiểu blob là gì. Và cuối cùng, từ đó trở thành một trong những từ mà bạn muốn biết, nhưng không bao giờ là thời điểm tốt để khám phá các đặc điểm kỹ thuật công nghệ.
Hãy sửa nó nhé.
Đặc biệt liên quan đến bản nâng cấp Dencun sắp tới—sự kết hợp của các bản nâng cấp Deneb và Cancun—blob, viết tắt của Binary Large Objects, đánh dấu một bước chuyển lớn trong lộ trình mở rộng của Ethereum.
Hiểu blob đòi hỏi khám phá các khía cạnh kỹ thuật của quản lý dữ liệu Ethereum và con đường hướng tới khả năng mở rộng cao hơn.
Blob trong bối cảnh Ethereum là lượng lớn dữ liệu ngoài lớp thực thi—nơi chạy các hợp đồng thông minh—nhưng vẫn là một phần của hệ sinh thái Ethereum. Được thiết kế là các dữ liệu chuyển tiếp, chúng tồn tại trên mạng trong 18-25 ngày trước khi bị loại bỏ.
Các đặc điểm chính của blob bao gồm:
- Kích thước: Mỗi blob có thể lớn tới 128 KB, lớn hơn đáng kể so với dữ liệu thường được đưa vào giao dịch Ethereum.
- Mục đích: Blob chủ yếu nhằm phục vụ các giải pháp layer-2, đặc biệt là rollups, bằng cách cung cấp một cách hiệu quả hơn về chi phí để đăng dữ liệu trên mạng chính Ethereum.
- Xác minh: Mặc dù blob 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ật mã gọi là cam kết KZG.
- 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, blob được thiết kế để tạm thời, giảm yêu cầu lưu trữ dài hạn.
Blob liên quan mật thiết đến ý tưởng "proto-danksharding," một giai đoạn trung gian hướng tới chia sẻ hoàn toàn trong Ethereum (chúng ta sẽ thảo luận điều này ở chốc lát). Được đặt tên theo các đề xuất Protolambda và Dankrad Feist, protos-danksharding giới thiệu một loại giao dịch mới (EIP-4844) cho phép chèn bl blob.
Đây là cách hoạt động của blob trong bối cảnh proto-danksharding:
- Các giải pháp layer-2 (như rollups) tạo ra dữ liệu giao dịch.
- Dữ liệu này được định dạng thành blob.
- Các blob được đính kèm 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à node xác minh tính toàn vẹn của blob bằng các cam kết KZG, không cần phải xử lý toàn bộ dữ liệu blob.
- Dữ liệu blob có sẵn trong thời gian giới hạn, cho phép bất kỳ ai tái cấu trúc trạng thái layer-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 tồn tại trên chuỗi vô thời hạn.
Giới thiệu blob có nhiều lợi ích:
- 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, giao dịch blob có thể giảm đáng kể phí cho người dùng layer-2.
- Tăng khả năng mở rộng: Blob cho phép nhiều dữ liệu hơn được bao gồm trong mỗi khối Ethereum mà không tăng tải tính toán trên mạng.
- Cải thiện khả năng truy cập dữ liệu: Trong khi dữ liệu blob là tạm thời, nó đảm bảo rằng dữ liệu layer-2 có sẵn trong các giai đoạn thử thách trong optimistic rollups hoặc cho người dùng cần tái cấu trúc trạng thái layer-2.
- Chuẩn bị cho Sharding: Proto-danksharding là một bước đệm hướng tới sharding hoàn chỉnh, cho phép hệ sinh thái Ethereum dần dần thích ứng với các kiểu quản lý dữ liệu mới.
Việc giới thiệu blob, đồng thời, cũng mang lại khó khăn:
- Tăng yêu cầu băng thông và lưu trữ: Node sẽ cần xử lý lượng dữ liệu lớn hơn, dù chỉ tạm thời.
- Độ 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 làm tăng độ phức tạp chung của giao thức Ethereum.
- Áp lực trung tâm hóa tiềm tàng: Các yêu cầu tài nguyên gia tăng có thể khiến cho việc cá nhân chạy các node đầy đủ trở nên khó khăn hơn.
Blob và proto-danksharding là thành phần chủ chốt trong việc cân bằng khả năng mở rộng, phân cấp và bảo mật khi Ethereum tiếp tục phát triển hướng tới Ethereum 2.0. Blob cung cấp con đường cho một hệ sinh thái Ethereum mở rộng hơn bằng cách cung cấp một lớp khả năng truy cập dữ liệu hiệu quả hơn, đặc biệt giúp các giải pháp layer-2 ngày càng trở nên quan trọng trong bối cảnh blockchain.
Proto-danksharding: Bước Đệm Cho Khả Năng Mở Rộng Của Ethereum
Proto-danksharding đã được nhắc đến ở trên. Hãy khám phá nó một cách chi tiết hơn.
Đại diện cho điểm ngoặt lớn trong kế hoạch mở rộng của Ethereum, nó đôi khi được gọi là EIP-4844 (Đề xuất Cải thiện Ethereum 4844). Nhằm mục đích giảm bớt đáng kể chi phí dữ liệu cho roll-up và các giải pháp mở rộng layer-2 khác, ý tưởng này—được đặt tên theo những người đề xuất Protolambda và Dankrad Feist—phục vụ như một cầu nối để tiến tới sharding thực sự.
Đầu tiên người ta cần hiểu về sharding trước khi nắm bắt proto-danksharding.
Sharding là một phương pháp phân vùng cơ sở dữ liệu mà một blockchain bị chia thành các mảnh nhỏ hơn, dễ kiểm soát hơn. Thông qua việc lưu trữ dữ liệu và xử lý giao dịch song song, mỗi mảnh có thể về lý thuyết tăng khả năng của mạng. Tuy nhiên, thực hiện sharding hoàn chỉnh là một nhiệm vụ khó khăn đòi hỏi sửa đổi lớn trong giao thức Ethereum.
Proto-danksharding đưa ra nhiều ý tưởng quan trọng:
- Giao dịch chứa Blob: Một loại giao dịch mới có thể chứa lượng lớn dữ liệu (blob) tách biệt với lớp thực thi.
- Lấy mẫu khả dụng dữ liệu: Một kỹ thuật cho phép các node xác minh khả dụng của dữ liệu blob mà không cần tải xuống toàn bộ blob.
- Cam kết KZG: Một phương pháp mật mã được sử dụng để tạo ra các chứng minh 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 mạng lưu trữ trong khoảng thời gian giới hạn (18-25 ngày), sau đó có thể bị loại bỏ trong khi vẫn giữ được 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 layer-2 (như rollups) tạo ra dữ liệu giao dịch.
- Dữ liệu này được định dạng thành blob (nhóm dữ liệu lớn nhị phân).
- Các blob được đính kèm 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à node xác minh tính toàn vẹn của blob thông qua các cam kết KZG, không cần xử lý toàn bộ dữ liệu blob.
- Dữ liệu blob có sẵn trong thời gian giới hạn, cho phép bất cứ ai có thể tái cấu trúc trạng thái layer-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 tồn tại 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, giao dịch blob có thể giảm đáng kể phí cho người dùng layer-2. Điều này có thể tiềm năng giảm chi phí lên tới từ 10-100 lần.
- Tăng khả năng mở rộng: Blob 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 tính toán trên mạng. Khả năng dữ liệu của Ethereum có thể tăng lên đến 100 lần.
- Cải thiện khả năng truy cập dữ liệu: Mặc dù dữ liệu blob là tạm thời, nó đảm bảo rằng dữ liệu layer-2 có sẵn cho các giai đoạn thách thức trong optimistic rollups hoặc cho người dùng cần tái cấu trúc trạng thái layer-2.
- Tiến hóa giao thức dần dần: Proto-danksharding cho phép hệ sinh thái Ethereum thích ứng với các kiểu quản lý dữ liệu mới một cách dần dần, trải đường cho sharding đầy đủ trong tương lai.
Tuy nhiên, việc thực hiện proto-danksharding cũng đặt ra thách thức:
- Tăng độ 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 làm tăng độ phức tạp chung của giao thức Ethereum.
- Yêu cầu Node: Node sẽ cần xử lý lượng dữ liệu lớn hơn, mặc dù chỉ tạm thời, dẫn đến yêu cầu phần cứng tăng.
- Áp lực trung tâm hóa tiềm ẩn: Nhu cầu tài nguyên gia tăng có thể gây khó khăn hơn cho cá nhân trong việc chạy các node đầy đủ, có khả năng dẫn đến một số mức độ trung tâm hóa.
- Thích ứng hệ sinh thái: Các giải pháp layer-2 và các công cụ Ethereum khác sẽ cần được cập nhật để khai thác đầ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, proto-danksharding cân bằng nhu cầu mở rộng hơn với khó khăn trong việc thực hiện các cập nhật phức tạp giao thức. Một môi trường Ethereum mở rộng hơn là được tạo ra nhờ cung cấp một lớp khả năng truy cập 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 Chứng Minh Cổ Phần
Công nghệ trình xác thực đã trở thành một điều trong thế giới Ethereum kể từ khi Hợp nhất vào năm 2022, khi giao thức Chứng minh Công việc bị hủy bỏ để ủng hộ Chứng minh Cổ phần.
Nhưng nhiều người vẫn không hiểu công nghệ này hoạt động như thế nào.
Việc duy trì bảo mật và phân cấp mạng phụ thuộc quan trọng vào ý tưởng của Công nghệ Trình Xác Thực Phân Tán (DVT). Đặc biệt trong các mạng như Ethereum 2.0, DVT đánh dấu một thay đổi mạnh mẽ trong cách các trình xác thực hoạt động bên trong các hệ thống chứng minh cổ phần.
Về cơ bản, DVT cho phép một trình xác thực chạy nhiều node, do đó phân chia các nhiệm vụ và nguy cơ liên quan đến xác nhận giữa nhiều người tham gia. Phương pháp này tương phản với cấu hình trình xác thực thông thường, trong đó một thực thể giám sát tất cả các khía cạnh của quy trình xác nhận.
Các yếu tố cơ bản của DVT bao gồm:
- Khách hàng Xác thực: Phần mềm chịu trách nhiệm đề xuất và chứng thực cho các khối.
- Tạo khóa phân tán (DKG): Một giao thức mật mã cho phép nhiều bên cùng nhau tạo ra một khóa cá nhân chia sẻ.
- Chữ ký ngưỡng: Một kỹ thuật mật mã cho phép một nhóm các bên cùng nhau ký thông điệp, với một ngưỡng nhất định của người tham gia cần thiết để tạo chữ ký hợp lệ.
Thông thường, quy trình DVT diễn ra như sau:
- Một nhóm các nhà điều hành đến với nhau để tạo thành một trình xác thực phân tán.
- Họ sử dụng DKG để tạo ra một khóa xác thực chia sẻ, với mỗi nhà điều 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 chứng thực cho một khối), thì cần một số lượng ngưỡng của nhà điều hành cùng hợp tác để ký thông điệp.
- Chữ ký kết quả không thể phân biệt được với một chữ ký được tạo bởi 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 hơn.
DVT có nhiều lợi ích quan trọng:
- Tăng cường an ninh: Bằng cách phân phối khóa xác thực giữa nhiều nhà điều hành, nguy cơ ...Certainly! Here is the English content translated into Vietnamese with markdown links left unchanged:
Giảm điểm thất bại đơn lẻ: Khả năng bị giảm đáng kể. Ngay cả khi một nhà điều hành bị xâm phạm hoặc mất kết nối, 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à điều hành, khả năng trình xác thực có mặt để thực hiện các nhiệm vụ vào mọi lúc đều đượ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 hóa: DVT cho phép mạng lưới phi tập trung hơn bằng cách cho phép các nhà điều hành nhỏ hơn tham gia xác thực mà không phải gánh lấy toàn bộ rủi ro và trách nhiệm của việc vận hành một trình xác thực độc lập.
Bảo vệ khỏi phạt: Trong các hệ thống proof-of-stake (bằng chứng cổ phần), các trình xác thực có thể bị phạt (chặt giảm) vì hành vi sai trái. Bằng cách yêu cầu nhiều nhà điều hành cùng thống nhất các hoạt động, DVT có thể giúp tránh việc chặt giảm không mong muốn.
Tuy nhiên, DVT cũng đặt ra một số thách thức:
Sự phức tạp: Triển khai DVT cần các giao thức mã hóa phức tạp và sự phối hợp giữa nhiều bên, làm tăng sự phức tạp cho các hoạt động của trình xác thực.
Độ trễ: Cần phải có sự phối hợp giữa nhiều nhà điều hành có thể dẫn đến độ trễ trong các hành động của trình xác thực, mặc dù việc này có thể giảm thiểu thông qua triển khai thích hợp.
Giả định tin cậy: Trong khi DVT giảm thiểu điểm thất bại đơn lẻ, nó lại đưa ra yêu cầu tin cậy giữa các nhà điều hành của một trình xác thực phân tán.
Các yếu tố pháp lý: Thiết kế phân phối của DVT có thể dấy lên các câu hỏi về tuân thủ pháp luật và trách nhiệm pháp lý trong một số khu vực pháp lý.
DVT có thể sẽ trở nên quan trọng hơn trong việc duy trì an ninh và phi tập trung hóa 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 trong quá trình phát triển hoặc triển khai sớm, các dự án như Ethereum 2.0 đang tích cực điều tra việc bao gồm DVT.
Việc chấp nhận DVT có thể có ảnh hưởng rộng rãi đến kiến trúc của các mạng proof-of-stake, cho phép các loại hồ bơi trình xác thực và ủy quyền mới đạt được sự cân bằng giữa an ninh, phi tập trung hóa và khả năng tiếp cận.
Resharding động: Phân chia chuỗi blockchain linh hoạt
Cuối cùng nhưng không kém phần quan trọng, hãy nói về resharding động. Dựa trên ý tưởng sharding nhưng thêm một lớp linh hoạt cho phép mạng phản ứng với 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 blockchain.
Thường được gọi là "chén thánh của sharding" bởi một số người đam mê blockchain, công nghệ này hứa hẹn giải quyết một trong những vấn đề dai dẳng nhất trong thiết kế blockchain: cân bằng giữa dung lượng mạng và việc sử dụng tài nguyên. Nghe có vẻ rất phức tạp, đúng không?
Hiểu biết về resharding động đòi hỏi trước tiên phải có sự hiểu biết về các nguyên tắc cơ bản của sharding:
Áp dụng cho các hệ thống blockchain, sharding là một phương pháp phân chia cơ sở dữ liệu. Nó bao gồm phá vỡ chuỗi blockchain thành các phần nhỏ hơn và dễ quản lý hơn. Mỗi shard có thể lưu trữ dữ liệu song song và xử lý giao dịch, do đó lý thuyết là tăng dung lượng của mạng.
Resharding độ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ách sắp xếp các shard dựa vào trạng thái hiện tại của mạng.
Chiến lược linh hoạt này mang đến một số lợi ích tiềm năng.
Mạng có thể đảm bảo sử dụng hiệu quả các tài nguyên bằng cách xây dựng các shard mới trong các giai đoạn có nhu cầu cao và hợp nhất các shard không được sử dụng trong giai đoạn có nhu cầu thấp.
Resharding động cho phép blockchain mở rộng dung lượng của mình mà không cần fork cứng hoặc cập nhật giao thức lớn khi 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 shard giúp mạng duy trì hiệu suất ổn định hơn trong suốt blockchain.
Resharding động cũng có thể cho phép mạng thay đổi với các sự kiện không lường trước như sự cố shard hoặc tăng đột biến nhu cầu.
Quá trình resharding độ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, việc sử dụng shard và hiệu suất các nút. Động cơ quyết định sử dụng các thuật toán định sẵn và có thể là kỹ thuật học máy để quyết định khi nào và làm thế nào để reshard 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 shard mới và thực hiện quá trình reshard một cách nhất quán. Khi các shard được tách ra hoặc kết hợp, dữ liệu và thông tin trạng thái được di chuyển một cách an toàn giữa chúng.
Dưới đây là một tóm tắt ngắn gọn về các ứng dụng có thể có của resharding động:
-
Hệ thống giám sát phát hiện một shard cụ thể liên tục xử lý gần đến dung lượng tối đa của nó.
-
Động cơ quyết định xác định rằng shard này nên được tách thành hai để cân bằng tải.
-
Giao thức phối hợp khởi động quá trình reshard, đả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 quá trình tổ chức cẩn thận để tạo ra shard 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 thành, mạng có thêm một shard để xử lý tải tăng.
Mặc dù resharding động mang lại nhiều khả năng thú vị, nó cũng đặt ra các thách thức kỹ thuật đáng kể.
Triển khai một hệ thống có thể reshard một mạng blockchain đang hoạt động một cách an toàn và hiệu quả là vô cùng phức tạp, đòi hỏi các cơ chế đồng thuận và phối hợp tinh vi. Cũng như đảm bảo rằng tất cả thông tin trạng thái quan trọng được lưu trữ chính xác và dễ dàng tiếp cận khi dữ liệu chảy qua các shard là một vấn đề không tầm thường trong quản lý trạng thái.
Resharding động cần phải xem xét các giao dịch qua nhiều shard, điều này có thể trở nên phức tạp hơn dựa vào cách sắp xếp shard. Rồi những vấn đề an ninh. Quá trình resharding tự bản thân phải an toàn trước 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ể đang bị tổn thương này. Các quy trình giám sát và quyết định của resharding động gia tăng gánh nặng tính toán cho mạng.
Bất chấp các khó khăn này, các sáng kiến blockchain khác nhau đang tích cực tìm kiếm và tạo ra các kỹ thuật resharding động. Giao thức Near chẳng hạn, đã thiết lập một dạng resharding động trong mạng chính của nó để mạng có thể thay đổi số lượng shard tùy thuộc vào nhu cầu.
Resharding động có thể trở nên ngày càng quan trọng khi công nghệ blockchain phát triển trong việc xây dựng các mạng mở rộng, linh hoạt có khả năng cho phép áp dụng rộng rãi các ứng dụng và dịch vụ phân tán.