

Tác giả gốc: Beam
Tuyên bố miễn trừ trách nhiệm: Bài viết này chỉ được sử dụng như một cuộc thảo luận nghiên cứu về ngành và không đại diện cho bất kỳ lời khuyên đầu tư nào.
Ngày 15/09/2022, Ethereum hợp nhất (Merge). Đây là một thời khắc lịch sử. Ethereum đã chuẩn bị cho nó trong 5 năm và trì hoãn 6 lần. Do nhiều lần sửa lỗi và phát triển lâu dài, và hiệu ứng hào quang rất được mong đợi, nhiều người lầm tưởng rằng việc sáp nhập sẽ tự nhiên mang lại Khả năng mở rộng cao hơn, bảo mật và tính bền vững thực ra không phải—chúng tôi vẫn sử dụng phép ẩn dụ về hai đoàn tàu, quá trình chuyển đổi từ PoW (bằng chứng công việc) sang PoS (bằng chứng công bằng) chỉ thay thế đường ray và bánh xe, nó sẽ không trực tiếp mang lại tốc độ nhanh hơn, lớn hơn công suất và phí vé thấp hơn.Điều thực sự có thể đạt được ba điểm trên là một bộ giải pháp hoàn chỉnh: mạng chính với khả năng phân mảnh và Lớp 2 với giải pháp khả năng mở rộng nâng cao.
Mô tả hình ảnh
Hình 1 Logic đơn giản của sharding
tiêu đề cấp đầu tiên
1. Về "sharding"
Nói một cách đơn giản, xem xét các ràng buộc của Tam giác bất khả thi, bắt đầu từ Ethereum là nguồn gốc của hệ tọa độ (0,0), theo hai ý tưởng "dọc" và "ngang", chúng tôi chia các phương pháp mở rộng chuỗi khối hiện tại thành hai loại:
Mở rộng theo chiều dọc: Nó được thực hiện bằng cách cải thiện hiệu suất của phần cứng hiện có của hệ thống. Xây dựng một mạng phi tập trung trong đó mọi nút trong mạng đều có sức mạnh siêu máy tính, tức là mọi nút đều cần phần cứng "tốt hơn" - đây là cách đơn giản và hiệu quả để đạt được những cải tiến ban đầu về thông lượng, đặc biệt là phù hợp với giao dịch tần suất cao, trò chơi và các kịch bản ứng dụng khác nhạy cảm với sự chậm trễ. Tuy nhiên, phương pháp mở rộng này sẽ hạn chế mức độ phân cấp của mạng, bởi vì chi phí chạy một nút xác minh hoặc một nút đầy đủ trở nên cao hơn. Việc duy trì mức độ phân cấp bị hạn chế bởi tốc độ tăng trưởng gần đúng của hiệu suất phần cứng máy tính (đây là cái gọi là "Định luật Moore": số lượng bóng bán dẫn trên chip sẽ tăng gấp đôi sau mỗi hai năm và chi phí máy tính sẽ giảm một nửa) .
Chia tỷ lệ theo chiều ngang: Nói chung có một số ý tưởng cho việc mở rộng theo chiều ngang. Một là phân tán số lượng tính toán giao dịch trong một hệ sinh thái nhất định thành nhiều chuỗi khối độc lập trong bối cảnh chuỗi khối và mỗi chuỗi có nhà sản xuất khối và khả năng thực thi riêng. Lớp thực thi của mỗi chuỗi có thể được tùy chỉnh hoàn toàn, chẳng hạn như yêu cầu phần cứng nút , tính năng bảo mật, phí gas, máy ảo và cài đặt quyền. Một giải pháp mở rộng theo chiều ngang khác là chuỗi khối mô-đun, phân chia cơ sở hạ tầng chuỗi khối thành lớp thực thi, lớp khả dụng dữ liệu (DA) và lớp đồng thuận. Cơ chế mô đun hóa chuỗi khối chính thống nhất là rollup. Một cách khác là chia một chuỗi khối thành nhiều phần và thực hiện chúng song song. Mỗi phân đoạn có thể được coi là một chuỗi khối, có nghĩa là nhiều chuỗi khối có thể được thực thi song song. Ngoài ra, thường có một chuỗi chính có nhiệm vụ duy nhất là giữ cho tất cả các phân đoạn được đồng bộ hóa.
Cần chỉ ra rằng không có ý tưởng mở rộng nào ở trên tồn tại biệt lập. Mỗi giải pháp là tìm ra điểm đánh đổi trong tam giác bất khả thi, hợp tác với việc thiết kế cơ chế khuyến khích do các lực lượng kinh tế trong hệ thống tạo ra và đạt được hiệu quả tầm vĩ mô và vi mô.sự cân đối.
Để thảo luận về "sharding", chúng ta cần bắt đầu lại từ đầu.
Vẫn giả định một kịch bản như vậy, thanh toán khi mua sắm tại Walmart, để cải thiện hiệu quả thanh toán và giảm thời gian chờ đợi của khách hàng, chúng tôi đã mở rộng từ một kênh thanh toán duy nhất thành 10 cửa sổ thanh toán. Để tránh lỗi tài khoản, chúng tôi cần xây dựng các quy tắc thống nhất tại thời điểm này :
Đầu tiên, nếu chúng ta có 10 nhân viên thu ngân, làm cách nào để chỉ định họ làm việc ở cửa sổ nào?
Thứ hai, nếu chúng ta có 1000 khách hàng đang xếp hàng chờ đợi, làm thế nào để chúng ta quyết định mỗi khách hàng sẽ đến cửa sổ nào để thanh toán?
Thứ ba, làm thế nào để tổng hợp 10 sổ cái riêng biệt tương ứng với 10 cửa sổ này?
Thứ tư, làm thế nào để bạn ngăn cản nhân viên thu ngân mắc lỗi để tránh nhầm lẫn tài khoản?
Những câu hỏi này thực sự tương ứng với một số câu hỏi chính trong sharding, cụ thể là:
Làm cách nào để xác định các nút/trình xác thực của toàn bộ mạng thuộc về phân đoạn nào? Đó là: cách thực hiện phân mảnh mạng (NetworkSharding);
Làm cách nào để xác định phân đoạn nào mà mỗi giao dịch được chỉ định? Đó là: cách thức thực hiện bảo vệ giao dịch (Transaction Sharding);
Dữ liệu chuỗi khối được lưu trữ trong các phân đoạn khác nhau như thế nào? Đó là: cách thức thực hiện phân đoạn trạng thái (State Sharding);
tiêu đề phụ
01 Chia sẻ mạng
Nếu chúng ta hiểu đơn giản blockchain là một sổ cái phi tập trung, cho dù đó là cơ chế đồng thuận PoS hay PoW, thì nó cho phép mỗi nút cạnh tranh để giành quyền ghi sổ theo các quy tắc đã được thiết lập nhất định và để đảm bảo tính chính xác của sổ cái trong quá trình. Và phân đoạn mạng có nghĩa là cần có một quy tắc được thiết lập khác để phân tách mạng chuỗi khối.Với tiền đề giảm thiểu giao tiếp lẫn nhau, mỗi phân đoạn xử lý các giao dịch trên chuỗi và cạnh tranh để giành quyền ghi sổ—tức là quy tắc nhóm của nút.
Vấn đề gặp phải trong quá trình này là khi các nút bên trong của chuỗi khối được chia thành các phần khác nhau, độ khó và chi phí của kẻ tấn công sẽ giảm mạnh. Chúng ta có thể suy luận, giả sử rằng các quy tắc và kết quả của quá trình nhóm này là cố định và có thể dự đoán được, thì kẻ tấn công muốn kiểm soát toàn bộ mạng blockchain chỉ cần kiểm soát một trong các phân đoạn theo cách có mục tiêu và mua một số nút trong phân đoạn đó. .
Mô tả hình ảnh
Hình 2 Khó khăn khi tấn công một mảnh giảm đi rất nhiều
Mô tả hình ảnh
Hình 3 Vòng quay trình xác thực như được hình dung trong Ethereum 2.0
Nói một cách đơn giản, các nút được nhóm ngẫu nhiên và sau đó công việc được giao cho từng nhóm nút để xác minh độc lập.
tiêu đề phụ
02 Chia sẻ giao dịch
Phân đoạn giao dịch đề cập đến việc xây dựng các quy tắc về "giao dịch nào sẽ được chỉ định cho phân đoạn nào", điều này không chỉ đạt được mục đích xử lý song song mà còn tránh xảy ra sự cố chi tiêu gấp đôi. Sự khác biệt trong mô hình sổ cái của chuỗi khối sẽ ảnh hưởng đến sự phát triển của phân đoạn giao dịch.
Hiện tại, có hai loại phương pháp ghi sổ trong mạng blockchain, đó là mô hình UTXO (Đầu ra giao dịch chưa sử dụng, đầu ra giao dịch chưa sử dụng) và mô hình tài khoản/số dư, đại diện tiêu biểu của loại trước là BTC và loại sau giống như ETH .
Mô tả hình ảnh
Hình 4 Một ý tưởng bảo vệ giao dịch khả thi cho UTXO
Để đảm bảo rằng các mục nhập được đặt vào đúng phân đoạn một cách nhất quán, tất cả các giá trị được đưa vào hàm băm phải đến từ cùng một cột. Cột này được gọi là Shard Key. Sau đó, tất cả các giao dịch có giá trị là 1 được chia thành phân đoạn 1 và giao dịch có giá trị 2 được chia thành phân đoạn 2. Nhược điểm của phương pháp này là các phân đoạn phải giao tiếp để tránh các cuộc tấn công chi tiêu gấp đôi. Việc hạn chế giao dịch giữa các phân đoạn sẽ hạn chế khả năng sử dụng của nền tảng, trong khi việc cho phép giao dịch giữa các phân đoạn sẽ phải cân nhắc giữa chi phí liên lạc giữa các phân đoạn và lợi ích của việc cải thiện hiệu suất.
tiêu đề phụ
03 Phân đoạn trạng thái (State Sharding)
Phân đoạn trạng thái đề cập đến cách dữ liệu chuỗi khối được phân phối và lưu trữ trong các phân đoạn khác nhau.
Vẫn sử dụng ví dụ xếp hàng Walmart của chúng tôi, mỗi cửa sổ có một tài khoản, tài khoản của họ được ghi lại như thế nào? Nếu: Khách hàng đến hàng đợi nào thì tài khoản đó sẽ được ghi nhận, ví dụ khách hàng A vào cửa sổ A thì ngày hôm sau khách hàng chuyển sang cửa sổ thanh toán khác như cửa sổ B, cửa sổ B không có của khách hàng thông tin tài khoản trước đây (chẳng hạn như Nó liên quan đến các phương thức thanh toán như thẻ giá trị được lưu trữ), tôi nên làm gì? Gọi thông tin tài khoản của khách hàng đến cửa sổ A?
Sharding trạng thái là vấn đề lớn nhất của sharding, khó khăn hơn so với sharding mạng và sharding giao dịch đã đề cập ở trên. Bởi vì theo cơ chế sharding, giao dịch sẽ được xử lý trong các phân đoạn khác nhau tùy theo phân bổ địa chỉ, nghĩa là trạng thái sẽ chỉ được lưu trữ trong phân đoạn chứa địa chỉ. giao dịch sẽ không chỉ trong một phân đoạn, nó thường liên quan đến phân đoạn chéo (Cross-Sharding).
Xem xét tình huống chuyển tiền, tài khoản A chuyển 10U sang tài khoản B và địa chỉ của A được phân bổ trong phân đoạn 1 và hồ sơ giao dịch cũng sẽ được lưu trữ trong phân đoạn 1. Địa chỉ của B được phân bổ trong phân đoạn 2 và các bản ghi giao dịch sẽ được lưu trữ trong phân đoạn 2.
Khi A muốn chuyển tiền cho B, một giao dịch giữa các phân đoạn sẽ được hình thành và phân đoạn 2 sẽ gọi các bản ghi giao dịch trong quá khứ đến phân đoạn 1 để xác nhận tính hợp lệ của giao dịch. phải liên tục tương tác với shard 1, và hiệu quả xử lý các giao dịch sẽ giảm đi. Tuy nhiên, nếu không tải xuống và xác minh toàn bộ lịch sử của một phân đoạn cụ thể, người tham gia không nhất thiết phải chắc chắn rằng trạng thái tương tác của họ giữa chúng là kết quả của một số chuỗi khối hợp lệ và chuỗi khối đó thực sự là chuỗi chuẩn trong mảnh vỡ.
Do đó, so với một chuỗi duy nhất không có sharding, một thách thức mới đối với hệ thống sharding là người dùng không thể xác minh trực tiếp và đầy đủ tính hợp lệ và tính khả dụng của bất kỳ chuỗi cụ thể nào vì có quá nhiều dữ liệu. Phải có một cách gián tiếp thực tế và không tin cậy tối đa để người dùng xác minh chuỗi nào hoàn toàn khả dụng và hợp lệ để họ có thể xác định chuỗi nào là chuỗi chính tắc. Trên thực tế, các nhà phát triển chuỗi khối có thể sử dụng các kỹ thuật như ủy ban, SNARK/STARK, cơ chế ngư dân và bằng chứng gian lận và tính sẵn có của dữ liệu để giải quyết một số vấn đề trong quá trình xác minh.
Có hai cách để giải quyết vấn đề này, một là phân đoạn chéo đồng bộ (Synchronous), tức là liên kết chặt chẽ (Tight Coupling), bất cứ khi nào cần thực hiện giao dịch chéo phân đoạn, các khối liên quan chứa chuyển đổi trạng thái sẽ xảy ra đồng thời và mỗi nút trên chip phân đoạn cộng tác để thực hiện các giao dịch. Tự nhiên để xem và tốt nhất để sử dụng, thiết kế nổi tiếng nhất của mô hình được gọi là Khối hợp nhất, nhưng đạt được điều này trong thực tế là phức tạp. Để thực hiện những điều trên, trình xác thực giữa các phân đoạn cần giao tiếp với nhau một cách đồng bộ. Nếu nhu cầu về giao dịch giữa các phân đoạn đủ cao, thì hiệu suất có thể giảm xuống do nhiều nhân viên phân đoạn phải cộng tác với nhau để xử lý các giao dịch giữa các phân đoạn.
Một cách khác là cross-sharding không đồng bộ (Asynchronous), tức là ghép lỏng lẻo (Loosely Coupling). Ý tưởng này được áp dụng rộng rãi hơn, chẳng hạn như NEAR, Ethereum, Cosmos, Kadena, v.v. Trong quá trình này, điều thách thức nhất là tính nguyên tử của giao dịch. Theo Jordan Clifford, đồng sáng lập của Scalar Capital, nếu chúng ta tưởng tượng khái niệm biên nhận (Receipt), người nhận chứng minh rằng họ sẽ nhận được Token từ shard bên ngoài bằng cách cung cấp đường dẫn Merkle của giao dịch trong shard nguồn. Phân đoạn đích sử dụng biên lai và ghi có vào tài khoản của người nhận. Điều này phải được thực hiện nguyên tử. Tài khoản của người gửi và người nhận có được sửa đổi cùng nhau hay không. Nếu có khoảng trống hoặc một đầu bị lỗi, người gửi có thể lừa người nhận tin rằng họ đã nhận được số tiền mà họ sẽ không bao giờ nhận được.
tiêu đề cấp đầu tiên
2. Thăm dò và cố gắng phân mảnh
Hãy xem lại một số vấn đề chính được đề cập ở trên trong cuộc thảo luận về sharding:
Một là cách thực hiện phân đoạn trạng thái, nghĩa là cách dữ liệu chuỗi khối được phân bổ và lưu trữ trong các phân đoạn khác nhau và cách đảm bảo cân bằng lợi ích khi cần có giao tiếp giữa các phân đoạn.
Thứ hai là làm thế nào để xử lý tính nguyên tử của các giao dịch, một phân đoạn cần kịp thời cho phân đoạn kia biết về việc sửa đổi trạng thái truy cập chung, nếu không sẽ dễ dàng xảy ra rối loạn trạng thái.
tiêu đề phụ
01 Bảo vệ tính toán
Zilliqa là một trong những nền tảng hợp đồng thông minh sớm nhất thử sharding và đây là một nỗ lực rất có lợi và hiệu quả của công nghệ sharding.
Được thành lập vào năm 2017, nó được điều hành bởi một nhóm gồm các nhà nghiên cứu và học giả tận tâm liên kết với Đại học Quốc gia Singapore. Mục tiêu chính của nó là giải quyết vấn đề về khả năng mở rộng và nó được xây dựng có mục đích cho các tác vụ tính toán chuyên sâu. Mạng Zilliqa có thể xử lý các giao dịch thông lượng cao trên toàn mạng của mình thông qua một quy trình song song hóa được gọi là phân đoạn tính toán. Trên mạng chuỗi khối phân mảnh, nhiệm vụ tính toán các giao dịch được phân phối trên các phân đoạn của mạng.
Từ quá trình sharding, Zilliqa chia nó thành hai phần. Đầu tiên, các nút ủy ban dịch vụ thư mục (DS) được chọn, sau đó quá trình phân đoạn được bắt đầu và các nút được gán cho từng phân đoạn. Sau khi một giao dịch được xác minh trong một phân đoạn, nó có thể được toàn bộ mạng xác minh thành trạng thái toàn cầu kết hợp các giao dịch từ tất cả các phân đoạn thành một nguồn xác thực duy nhất có thể kiểm chứng trên chuỗi khối Zilliqa.
Nói một cách đơn giản, có ba chức năng chính cho các nút trong chuỗi khối:
- Xử lý giao dịch
- Đóng gói giao dịch và quảng bá đến các nút khác
- Lưu trữ sổ cái lịch sử của toàn bộ mạng
tiêu đề phụ
02 Bảo vệ trạng thái tĩnh
Một cách tiếp cận tổng quát hơn để phân đoạn là chia không gian địa chỉ của tài khoản thành nhiều vùng có kích thước cố định được gọi là phân đoạn và chỉ định các nút trong mạng cho các phân đoạn khác nhau. Điều này được gọi là sharding trạng thái. Các nền tảng như Near, Elrond và Harmony đang áp dụng phương pháp này. Mặc dù ethereum ban đầu có kế hoạch triển khai phân đoạn trạng thái, nhưng cách tiếp cận mới chỉ phân đoạn dữ liệu để tăng khả năng truy cập.
2.1 Ý tưởng phân mảnh dữ liệu của Ethereum
Trong ngữ cảnh của Ethereum, sharding sẽ hoạt động song song với Lớp 2 bằng cách giảm tải gánh nặng xử lý lượng lớn dữ liệu cần thiết để tổng hợp trên mạng. Điều này sẽ tiếp tục giảm tắc nghẽn mạng và tăng giao dịch mỗi giây.
Cần lưu ý rằng các kế hoạch sharding của Ethereum không ngừng phát triển khi các lộ trình mở rộng quy mô hiệu quả hơn được phát triển. Một trong những kế hoạch của Ethereum về sharding trong tương lai là dựa trên sharding "dữ liệu sẵn có". xác nhận rằng tất cả dữ liệu đều có sẵn.
Phiên bản giải pháp khác liên quan đến việc thêm các chức năng bổ sung cho từng phân đoạn trên cơ sở giải pháp 1, làm cho mỗi phân đoạn giống với mạng chính Ethereum ngày nay hơn, cho phép các phân đoạn lưu trữ và thực thi mã cũng như xử lý giao dịch, bởi vì mỗi phân đoạn sẽ chứa một bộ hợp đồng thông minh duy nhất và số dư tài khoản và giao tiếp giữa các phân đoạn sẽ cho phép giao dịch giữa các phân đoạn. Tuy nhiên, sơ đồ này vẫn đang được tranh luận trong cộng đồng, vì dữ liệu sẵn có của sơ đồ 1 và sự phối hợp của Lớp 2 đã có thể cung cấp đủ khả năng mở rộng cho Ethereum, vì vậy cộng đồng vẫn đang đánh giá chi phí kinh tế và giá trị lợi ích của phiên bản 2.
2.2 Harmony
Harmony là mạng sharding dựa trên PoS áp dụng cách tiếp cận tiêu chuẩn hơn đối với sharding, ý tưởng là có nhiều chuỗi khối nhỏ được gọi là phân đoạn, mỗi chuỗi chịu trách nhiệm cho một phần của trạng thái và chuỗi khối điều phối chúng, được gọi là Chuỗi Beacon trong Harmony. Hãy theo dõi phần thảo luận trước và xem cách Harmony giải quyết các vấn đề về bảo vệ mạng, bảo vệ giao dịch và bảo vệ trạng thái từ dưới lên trên.
Phân đoạn mạng: Harmony chia mạng trình xác thực thành các phân đoạn, mỗi phân đoạn chứa một bộ trình xác thực khác nhau được kết nối chặt chẽ với nhau và chạy sự đồng thuận giữa chúng.
Phân đoạn giao dịch: Các giao dịch của Harmony được xử lý và xử lý bởi một phân đoạn duy nhất. Điều này cho phép các phân đoạn xử lý đồng thời các giao dịch, tăng khả năng giao dịch tổng thể của chuỗi khối. Đối với các giao dịch, người dùng chỉ cần chỉ định trường shard_id trong giao dịch đã ký, cho biết phân đoạn mà giao dịch đó thuộc về.
Phân đoạn trạng thái: Trong Harmony, trình xác thực cho mỗi phân đoạn cần lưu trữ 1/N trạng thái toàn cầu, vì chúng duy trì cơ sở dữ liệu trạng thái và chuỗi khối của riêng mình (N=số lượng phân đoạn). Điều này làm giảm bớt những lo ngại của người xác thực về tính khả dụng của dữ liệu. Ngoài ra, phân đoạn chéo cải thiện hơn nữa tính nhất quán trạng thái giữa các phân đoạn.
Mạng chính Harmony hỗ trợ hàng nghìn nút trên nhiều phân đoạn, tạo ra các khối trong vài giây với tính hữu hạn tức thì. Việc tập trung hóa được giảm bớt thông qua việc sắp xếp cơ chế cam kết, đồng thời hỗ trợ ủy quyền cam kết, gộp phần thưởng và giảm chữ ký kép. Sử dụng cơ chế thế chấp hiệu quả của EPoS (Bằng chứng cổ phần hiệu quả) và công nghệ bảo vệ ngẫu nhiên an toàn (Sharding ngẫu nhiên), dựa trên các điều khoản của thỏa thuận để chia các mã thông báo được thế chấp bởi các hộ gia đình lớn thành nhiều phần nhỏ và phân phối ngẫu nhiên chúng thành nhiều Theo cách này, không ai có thể tập trung các mã thông báo đã thế chấp của mình vào một phân đoạn duy nhất, do đó anh ta không thể tấn công một phân đoạn duy nhất.
Và đối với các phân đoạn chéo, trong trường hợp giao dịch giữa các phân đoạn và đồng bộ hóa chuỗi đèn hiệu, trình xác thực từ các phân đoạn khác nhau sẽ gửi tin nhắn giữa các phân đoạn thông qua một mạng được kết nối toàn cầu. Theo các tài liệu chính thức của Harmony, "công nghệ định tuyến giữa các phân đoạn Kademlia" được áp dụng để kiểm soát chi phí mạng của giao tiếp giữa các phân đoạn và "mã xóa" được sử dụng để tối ưu hóa quy trình phát khối, do đó áp lực mạng của đài truyền hình ít hơn và tránh vấn đề tắc nghẽn mạng của người gửi, để đạt được sự mở rộng sharding theo chiều ngang hiệu quả. Đã được trang bị để trở thành chuỗi khối phân mảnh đầu tiên thực hiện việc nhắn tin giữa các phân đoạn. Với giao thức nhắn tin giữa các phân đoạn hiệu quả và thiết kế toàn lưới, các phân đoạn sẽ có thể giao tiếp liền mạch với nhau và khi nhóm tích cực làm việc hướng tới mục tiêu này, người dùng và nhà phát triển có thể mong đợi bản phát hành trên Harmony vào cuối năm nay .Giao thức nhắn tin chéo.
Đây là một bước đột phá lớn đối với các nhà xây dựng và nhà phát triển trên Harmony, vì họ có thể xây dựng bằng cách đối chiếu các tính năng và sử dụng dữ liệu nằm trên các phân đoạn khác nhau. Ngoài ra, tính nhất quán của dữ liệu giữa các phân đoạn cũng rất quan trọng. Hai mục tiêu theo đuổi này sẽ quyết định tính bền vững của khả năng mở rộng vô hạn này.
2.3 Elrond
Elrond là một chuỗi khối công khai thông lượng cao được thiết kế để cung cấp bảo mật, hiệu quả, khả năng mở rộng và khả năng tương tác. Hai tính năng quan trọng nhất làm nên sự khác biệt của Elrond là bảo vệ trạng thái thích ứng và cơ chế đồng thuận bằng chứng cổ phần an toàn.
Elrond sử dụng tất cả các cấp độ bảo vệ trạng thái thích ứng cho các giao dịch, dữ liệu và kết nối mạng. Cơ chế phân đoạn thích ứng động sẽ thực hiện hợp nhất phân đoạn và phân tách phân đoạn, có tính đến số lượng trình xác thực có sẵn và mức sử dụng mạng. Vẫn có khả năng phục hồi cao trước các cuộc tấn công nguy hiểm do việc xáo trộn nút định kỳ trên các phân đoạn. Mỗi kỷ nguyên, tối đa 1/3 số nút trong mỗi phân đoạn được chia sẻ lại thành các phân đoạn khác để ngăn chặn sự thông đồng. Về tính ngẫu nhiên, nguồn ngẫu nhiên được bảo mật bằng cách sử dụng chữ ký BLS, điều này làm cho nó không thiên vị và không thể đoán trước.
Đối với hợp đồng thông minh trên kiến trúc trạng thái phân đoạn, quy trình thực thi giữa các phân đoạn được sử dụng và tải phân đoạn được cân bằng. Cân bằng các hợp đồng thông minh trên các phân đoạn cho phép Elrond chạy song song nhiều hợp đồng thông minh.
Đồng thời, đối với các phân đoạn chéo, Elrond áp dụng một thiết kế mà họ gọi là Meta Chain, có thể nhanh chóng xác định các giao dịch giữa các phân đoạn (Finality) trong vòng vài giây. Bằng cách nghiên cứu sách trắng kỹ thuật của nó, chúng tôi đơn giản hóa quy trình của nó như sau: Giả sử rằng mạng Elrond chỉ có hai phân đoạn và siêu chuỗi. Giả sử rằng một người dùng tạo giao dịch từ ví của mình có địa chỉ ở phân đoạn 0 và muốn gửi EGLD cho một người dùng khác có địa chỉ ví ở phân đoạn 1, thì cần thực hiện các bước trong hình bên dưới để xử lý giao dịch giữa các phân đoạn.
Cấu trúc của một khối được biểu thị bằng tiêu đề khối chứa thông tin về khối (khối nonce, vòng, đề xuất, dấu thời gian của trình xác thực, v.v.) và danh sách các khối nhỏ trên mỗi phân đoạn chứa các giao dịch thực tế bên trong. Trong trường hợp của chúng tôi, đối với một khối trong phân đoạn 0, thường có 3 khối nhỏ:
miniblock 0: Chứa các giao dịch nội bộ của phân đoạn 0
miniblock 1: Chứa các giao dịch giữa các phân đoạn với người gửi trong phân đoạn 0 và đích đến trong phân đoạn 1
miniblock 2: chứa các giao dịch giữa các phân đoạn, người gửi ở phân đoạn 1 và đích đến ở phân đoạn 0. Các giao dịch này đã được xử lý trong phân đoạn người gửi 1 và sẽ được hoàn thành sau khi phân đoạn hiện tại được xử lý.
Không có giới hạn về số khối nhỏ có cùng người gửi và người nhận trong một khối. Điều này có nghĩa là nhiều khối nhỏ có cùng người gửi và người nhận có thể xuất hiện trong cùng một khối. Trong quá trình này, đơn vị xử lý nguyên tử được thực thi trên các phân đoạn là một khối nhỏ: xử lý ngay lập tức tất cả các giao dịch của khối nhỏ hoặc không và việc thực thi khối nhỏ sẽ được thử lại trong vòng tiếp theo .
Chiến lược giao dịch chéo của Elrond sử dụng mô hình không đồng bộ. Việc xác thực và xử lý được thực hiện trước trong phân đoạn của người gửi và sau đó trong phân đoạn của người nhận. Các giao dịch được gửi trước tiên trong phân đoạn của người gửi, vì nó có thể xác minh đầy đủ bất kỳ giao dịch nào được bắt đầu từ một tài khoản trong phân đoạn đó. Sau đó, trong phân đoạn của người nhận, nút chỉ cần bằng chứng thực thi do siêu chuỗi cung cấp, thực hiện xác minh chữ ký và kiểm tra các cuộc tấn công lặp lại, cuối cùng cập nhật số dư cho người nhận và thêm số tiền giao dịch.
Phân đoạn 0 xử lý giao dịch trong phân đoạn trong miniblock 0 và một tập hợp các giao dịch giữa các phân đoạn có địa chỉ đến từ phân đoạn 1 với tư cách là người nhận trong miniblock 1. Tiêu đề khối và khối nhỏ được gửi đến siêu chuỗi. Chuỗi siêu dữ liệu xác nhận các khối của phân đoạn 0 bằng cách tạo một khối chuỗi siêu dữ liệu mới (metablock) chứa các thông tin sau về mỗi khối nhỏ: ID phân đoạn người gửi, ID phân đoạn người nhận, băm khối nhỏ.
Mô tả hình ảnh

Hình 5 Mô hình không đồng bộ cross-shard của Elrond
2.4 Near
Near là một chuỗi công cộng có khả năng mở rộng thân thiện với nhà phát triển, được phân chia hoàn toàn theo trạng thái. Họ đã đề xuất một giao thức và giải pháp mới có tên là Nightshade.
Mô tả hình ảnh

Hình 6 Near từ bỏ cách tiếp cận chuỗi đèn hiệu và áp dụng thiết kế Nightshade
Nightshade mô hình hóa hệ thống dưới dạng một chuỗi khối duy nhất, trong đó mỗi khối chứa tất cả các giao dịch từ tất cả các phân đoạn một cách hợp lý và thay đổi trạng thái chung của tất cả các phân đoạn. Về mặt vật lý, không có người tham gia nào tải xuống toàn bộ trạng thái hoặc toàn bộ khối logic. Thay vào đó, mỗi người tham gia mạng chỉ duy trì trạng thái tương ứng với các phân đoạn mà họ đã xác thực các giao dịch trên đó và danh sách tất cả các giao dịch trong một khối được chia thành các khối vật lý, một khối trên mỗi phân đoạn.
Trong điều kiện lý tưởng, mỗi phân đoạn của mỗi khối chứa chính xác một khối, gần tương ứng với một mô hình có chuỗi phân đoạn tạo ra các khối với tốc độ tương tự như chuỗi báo hiệu. Tuy nhiên, một số khối có thể bị mất do độ trễ của mạng, do đó, mỗi phân đoạn của mỗi khối thực sự chứa một hoặc không có khối nào.
Có hai vai trò trong Nightshade: nhà sản xuất khối và người xác thực. Tại bất kỳ thời điểm nào, hệ thống chứa w nhà sản xuất khối (Block Producer) và wv người xác thực (Validator), trong mô hình gần w=100 v = 100, wv = 10.000. Hệ thống chứa n mảnh, n = 1000 trong mô hình gần. Không có chuỗi phân đoạn nào trong Nightshade, thay vào đó tất cả các nhà sản xuất khối và trình xác thực đang xây dựng một chuỗi khối duy nhất, được gọi là chuỗi chính. Trạng thái của chuỗi chính được chia thành n phân đoạn và mỗi nhà sản xuất khối và trình xác minh chỉ tải xuống cục bộ tập hợp con trạng thái tương ứng với một tập hợp con nhất định của phân đoạn bất kỳ lúc nào và chỉ xử lý và xác minh Trạng thái giao dịch của các phần này. Việc bảo trì mạng được thực hiện theo chu kỳ, trong đó chu kỳ là khoảng thời gian tính bằng ngày.
Nhà sản xuất khối và nhà sản xuất khối xoay vòng từng khối theo một lịch trình cố định. Các nhà sản xuất khối có một đơn đặt hàng và liên tục sản xuất các khối theo thứ tự đó. Ví dụ: nếu có 100 nhà sản xuất khối, thì nhà sản xuất khối đầu tiên chịu trách nhiệm sản xuất các khối 1, 101, 201, v.v. và nhà sản xuất khối thứ hai chịu trách nhiệm sản xuất các khối 2, 102, 202, v.v.). Vì sản xuất khối khác với sản xuất khối, trạng thái cần phải được duy trì và đối với mỗi phân đoạn, chỉ các nhà sản xuất khối sww/n duy trì trạng thái của từng phân đoạn, tương ứng, chỉ những nhà sản xuất khối sww/n đó mới xoay vòng để tạo khối.
Mô tả hình ảnh

tiêu đề cấp đầu tiên
chữ
chữ
chữ
chữ
Khi giao dịch giữa các phân đoạn, làm cách nào để tránh việc thực thi liên tục các phân đoạn trong khi vẫn đảm bảo xử lý nguyên tử các giao dịch? 2. Nếu số lượng nút ít hơn một nút phân đoạn được thêm vào mạng, mạng sẽ xử lý các nút phụ như thế nào?
tiêu đề phụ
3.1 Shardeum và sự đồng thuận ở cấp độ giao dịch
Shardeum đã hình thành một thuật toán đồng thuận và công nghệ độc đáo kết hợp Proof of Quorum (PoQ) với Proof of Stake (PoS). Thuật toán đồng thuận sẽ giúp bảo mật mạng thông qua bỏ phiếu không tin cậy để thu thập và xác minh cam kết của các nút. Mỗi giao dịch được xử lý theo thứ tự nhận được trước khi được nhóm thành một khối/phân vùng.
tiêu đề phụ
3.2 Shardeum và mở rộng tuyến tính
Để giải thích quy mô tuyến tính là gì, chúng ta cần tưởng tượng tình huống sau:
Một phân đoạn gồm 100 nút trên mạng chính Gần. Người ta hy vọng rằng nhiều mảnh vỡ sẽ được thêm vào trong tương lai. Harmony có 4 phân đoạn, mỗi phân đoạn có 250 nút và mạng chính có tổng cộng 1.000 nút. Tất cả các hợp đồng đều nằm trong cùng một phân đoạn. Elrond có 3 phân đoạn và 1 siêu chuỗi, mỗi phân đoạn có 800 nút và mạng chính có tổng cộng 3200 nút.
Nếu bạn thêm 100 nút vào Harmony, ít hơn 250 nút cần thiết trong một phân đoạn, thì Harmony xử lý các nút này như thế nào? Có thể xem xét chia tổng số 1100 nút này thành 11 phân đoạn, mỗi phân đoạn 100 nút không?
Nghe có vẻ hay hơn, nhưng do tính chất tĩnh của một số phân đoạn, nhiều nút bổ sung cần tham gia mạng để tạo phân đoạn mới. Nếu chúng ta muốn thêm một số nút vào mạng trên, nếu chỉ thêm một nút duy nhất thì không thể cải thiện hiệu suất của toàn bộ khối, ít nhất là số nút "kích thước phân đoạn tối thiểu" hiện tại (trong Gần 100 nút) - bởi vì các phân đoạn hiện tại đều là các phân đoạn tĩnh và không hỗ trợ mở rộng tuyến tính, đồng thời không có mạng sản xuất nào thực sự có thể phân tách và hợp nhất các phân đoạn tĩnh.
Ngoài "sự đồng thuận ở cấp độ giao dịch", sách trắng của Shardeum đề cập rằng một tính năng độc đáo là nó sử dụng phân đoạn trạng thái động, không giống như các phân đoạn tĩnh trong đó tất cả các nút bao phủ cùng một dải địa chỉ, các phân đoạn ảo của Shardeum (cũng tức là phân đoạn động) có thể giữ mỗi nút một dải địa chỉ khác, bao gồm các địa chỉ có các nút chồng chéo - điều này phức tạp hơn, nhưng lợi ích là nó cho phép chia tỷ lệ tuyến tính thực sự.
Thông qua sự thay đổi động của không gian địa chỉ và sự tương ứng của nút, cộng với bằng chứng về tính khả dụng của dữ liệu mới để xác minh phân đoạn chéo, Shardeum có thể đạt được "mở rộng tuyến tính" phù hợp hoặc gần đúng. Phương pháp xác minh và xác nhận theo "mức độ giao dịch" này có thể hy sinh hiệu suất của một chip duy nhất ở một mức độ nhất định, nhưng nó là một sự mở rộng rất có lợi cho toàn bộ mạng.
Mô tả hình ảnh
Hình 8 Vào quý 3 năm 2021, Shardus đã được chứng minh là đạt được giao dịch giữa các phân đoạn là 5000 TPS
tiêu đề cấp đầu tiên
Bốn. Kết luận
Một chuỗi khối thực sự được chia nhỏ và có thể mở rộng cần phải bắt đầu lại từ đầu. Tương tự, một cộng đồng có sự đồng thuận như kim cương cũng cần được xây dựng từ đầu và việc xây dựng cộng đồng chưa bao giờ dễ dàng hơn nghiên cứu và đột phá công nghệ. Chúng tôi đã thấy số lượng người thử nghiệm đang hoạt động và số lượng giao dịch thử nghiệm sau khi mạng thử nghiệm Shardeum được ra mắt. Chúng tôi rất vui khi có thêm nhiều người nắm tay nhau đi trên con đường đổi mới mà chúng tôi đã khám phá. Đồng thời, chúng tôi đã thấy một số tiếng nói nghi ngờ, nhưng chúng tôi tin rằng con đường tiến bộ là một vòng xoáy và ngoằn ngoèo, bất kỳ sự sáng tạo và khám phá nào cũng đáng để thử.
tiêu đề cấp đầu tiên
Reference
1.https://blog.chain.link/blockchain-scalability-approaches-zh/
2.https://www.odaily.news/post/5147856
3.https://docs.near.org/concepts/basics/transactions/overview
4.https://medium.com/nearprotocol/the-authoritative-guide-to-blockchain-sharding-part-1-1b53ed31e060
5.https://medium.com/nearprotocol/unsolved-problems-in-blockchain-sharding-2327d6517f43
6.https://medium.com/nearprotocol/why-doesnt-near-just-replicate-ethereum-serenity-design-3e2cfa2f960c
7.https://ethereum.org/en/upgrades/sharding/#what-is-sharding
8.https://blog.ethereum.org/2020/03/27/sharding-consensus
9.https://www.web3.university/article/ethereum-sharding-an-introduction-to-blockchain-sharding
10.https://medium.com/harmony-one/enabling-cross-shard-communication-at-harmony-22f26483d0d1
11.https://en.elrondwiki.com/article/multi-shard-the-answers-to-certain-questions
12.https://docs.elrond.com/technology/cross-shard-transactions/
13.https://near.org/papers/nightshade/
14.https://shardus.com/whitepaper.pdf
chữ
chữ
Twitter|@JSquare_co
