Tương lai của khả năng mở rộng Cardano là gì?
Ngày 25 tháng 09 năm 2023 - Chia sẻ bài viết này trên Twitter | Facebook | Telegram
Bài viết này sẽ xem xét khả năng mở rộng hiện tại của Cardano và xem xét mức độ mà Input Endorsers (Trình xác thực đầu vào) có thể cải thiện nó. Chúng tôi sẽ không đề cập đến Hydra hoặc các lựa chọn khác để mở rộng quy mô Cardano (ở tầng layer 2). Cải tiến gần nhất đối với khả năng mở rộng của lớp đầu tiên sẽ là Input Endoser (mặc dù trước đó có thể có một số giải pháp khác đã giúp cải tiến một phần).
Khả năng mở rộng hiện tại của Cardano
Chỉ số "giao dịch mỗi giây" (TPS) có thể cho chúng ta biết có bao nhiêu người có thể sử dụng mạng trong một khoảng thời gian nhất định. TPS có thể hiểu là thông lượng mạng tối đa.
Đối với Cardano, TPS không phải là thước đo phù hợp vì mô hình kế toán dựa trên UTxO cho phép gửi nhiều tài sản đến nhiều người nhận trong một giao dịch. Các giao dịch của Cardano có thể gửi tài sản tới 100 người nhận và nhỏ hơn đáng kể so với khi mạng phải xử lý 100 giao dịch riêng lẻ.
Hãy xem loại giao dịch mà Cardano hiện đang xử lý. Bạn sẽ thấy rằng khoảng 60% là các giao dịch có chứa Hợp đồng thông minh, 35% là giao dịch đơn giản (Alice gửi tài sản cho Bob) và 5% là giao dịch có siêu dữ liệu (metadata).
Để đơn giản, chúng tôi sẽ sử dụng số liệu TPS trong bài viết và trong hầu hết các trường hợp, chúng tôi chỉ xem xét các giao dịch đơn giản.
Tính toán TPS tương đối dễ dàng. Để ước tính sơ bộ, chúng ta chỉ cần biết kích thước khối, kích thước giao dịch trung bình và tần suất tạo khối của mạng.
Cardano tạo ra một khối mới cứ sau 20 giây. Kích thước tối đa của một khối và giao dịch được xác định bởi các tham số giao thức sau:
- Kích thước khối tối đa: 90.112 byte
- Kích thước TX tối đa: 16.384 byte
Một giao dịch Cardano đơn giản có thể có kích thước từ 250 đến 500 byte. Một giao dịch trên mạng Cardano có kích thước trung bình khoảng 300 byte. Giao dịch có Hợp đồng thông minh hoặc giao dịch có nhiều đầu vào hoặc đầu ra tất nhiên sẽ có kích thước lớn hơn.
Một giao dịch càng có nhiều đầu vào và đầu ra thì kích thước của nó càng lớn. Thông thường, một đầu vào có giá trị lớn nhất của ví sẽ được chọn khi thực hiện giao dịch, từ đó hai đầu ra được tạo ra. Một đầu ra được gửi cho người nhận và đầu ra còn lại trả lại phần còn lại cho người gửi. Giao dịch phải chứa nhân chứng (100-200 byte).
Nếu chúng ta giả định rằng sẽ chỉ có các giao dịch có kích thước 300 byte trong khối thì mỗi khối sẽ chứa được khoảng 300 giao dịch. Nếu chúng ta chia số này cho 20 giây (tần suất đúc một khối của mạng Cardano), chúng ta sẽ tính được TPS của mạng Cardano là 15 giao dịch mỗi giây.
Nếu chúng ta giả định chỉ có các giao dịch có chứa Hợp đồng thông minh lớn với kích thước khoảng 16.000 byte trong mỗi khối thì sẽ chỉ có khoảng 6 cho mỗi khối. TPS của mạng Cardano sẽ chỉ là 0,3 giao dịch mỗi giây.
Tuy nhiên, một giao dịch Hợp đồng thông minh lớn của Cardano có thể gửi cùng lúc tới khoảng 250 người nhận, và như vậy sẽ có khoảng 1.500 người nhận trong một khối. Nếu chúng ta tính TPS không phải theo giao dịch mà theo số lượng người nhận, thì mạng Cardano có thể gửi tới 75 người nhận / mỗi giây.
Với các loại giao dịch hiện tại, thông lượng tối đa hiện tại của Cardano là khoảng 40-50 người nhận mỗi giây. Con số này cao hơn khoảng 3 lần so với việc chúng ta chỉ xem xét TPS và các giao dịch đơn giản.
Cần phải thừa nhận rằng kích thước của khối Cardano tương đối nhỏ so với các Blockchain khác.
Các khối bitcoin có kích thước tối đa theo lý thuyết là 4 megabyte (SegWit). Kích thước tối đa thực tế hơn của khối là 2 megabyte. Trung bình là khoảng 1,6 megabyte trong năm ngoái. Bitcoin khai thác các khối mới trung bình cứ sau 10 phút. Bitcoin có thể xử lý khoảng 7 giao dịch mỗi giây.
Ethereum tạo ra các khối mới trung bình sau mỗi 12 giây. Kích thước khối của Ethereum không cố định (không bị giới hạn bởi kích thước khối tính bằng byte) mà phụ thuộc vào lượng GAS được sử dụng bởi các giao dịch có trong mỗi khối. Giới hạn GAS (độ phức tạp của việc thực hiện giao dịch) sẽ xác định kích thước khối. Kích thước khối của Ethereum có thể được điều chỉnh linh hoạt. Hiện tại, giới hạn GAS được đặt thành 15 triệu. Trong những tháng gần đây, kích thước khối dao động từ 140-170 kilobyte. Ethereum đúc khoảng 7.200 khối mỗi ngày và xác thực khoảng 1 triệu giao dịch. Trung bình, Ethereum có khoảng 140 giao dịch trong mỗi khối. Giao dịch Ethereum trung bình là khoảng 1000 byte. Hiện tại, Ethereum đang hoạt động gần chạm tới giới hạn công suất tối đa và TPS của Ethereum là 12 giao dịch mỗi giây.
Algorand có kích thước khối là 5 MB và thời gian tạo khối là 3,3 giây. Nó có thể thực hiện 6000 TPS và nhóm có kế hoạch cải thiện con số đó lên 10.000.
Bitcoin có thời gian tạo khối dài nhưng nhờ đó nó có thể có kích thước khối lớn. TPS chủ yếu bị giới hạn bởi giới hạn thời gian. Ethereum có thời gian tạo khối thấp hơn khoảng một nửa so với Cardano và đồng thời kích thước khối lớn hơn khoảng 2 lần. Tuy nhiên, TPS cảu Ethereum hiện tại chỉ là 12. Nếu chúng ta chỉ tính các giao dịch đơn giản khoảng 500 byte thì TPS của Ethereum có thể vào khoảng 30. Con số đó sẽ cao hơn khoảng 2 lần so với Cardano.
Algorand có kích thước khối lớn và đồng thời thời gian tạo khối rất thấp. Đây là một trong những lý do khiến TPS cao. Chúng ta sẽ nói nhiều hơn về dự án này liên quan đến Input Endoser.
Kích thước của khối Cardano rất có thể được tăng lên 180 kilobyte và tần suất tạo khối có thể được đặt thành 15 giây mà không ảnh hưởng tiêu cực đến hiệu suất. Trong trường hợp đó, TPS của mạng Cardano sẽ là 40, cao hơn Ethereum một chút.
Tuy nhiên, việc tăng thêm 10 TPS sẽ không tạo ra sự khác biệt đáng kể. Blockchain cần phải có khả năng mở rộng quy mô đến mức hàng nghìn TPS trong vòng vài năm tới. Một số mạng được cho là đã có thể làm được điều đó. Sứ mệnh của Cardano đòi hỏi cần phải đạt được những con số tương tự này. Cardano có thể đạt được điều đó thông qua Input Endorsers hay không?
Input Endoser
Input Endoser có thể tăng thông lượng và tốc độ của Cardano vì các giao dịch có thể được phát tán trực tuyến liên tục mà không cần chờ sự đồng thuận. Thay vì có một khối chứa dữ liệu giao dịch, Cardano sẽ có ba loại khối: khối xếp hạng (ranking block), khối xác thực (endorsement blocks) và khối đầu vào (input blocks). Giao dịch sẽ chỉ nằm trong các khối đầu vào. Các khối xác thực sẽ tham chiếu tới nhiều khối đầu vào.
Đây là một khái niệm rất giống với những gì mà Algorand đã triển khai. Nó được gọi là khối pipeline. Algorand sử dụng khái niệm tham chiếu giao dịch và đó là một trong những lý do khiến TPS cao (tất nhiên đó không phải là lý do duy nhất). Trước khi đi vào phần Input Endoser, hãy giải thích ngắn gọn cách hoạt động của khối pipeline trong Algorand.
Mạng Algorand chọn ngẫu nhiên một ủy ban người dùng cho mỗi khối, sau đó họ đề xuất và bỏ phiếu cho khối đó trong một vòng duy nhất.
Có hai loại khối trong Algorand: khối chính (key blocks) và khối vi mô (microblocks). Các khối chính được sử dụng để đạt được sự đồng thuận trên mạng. Ngoài những thứ khác (thông tin về người đề xuất, ủy ban, v.v.), các khối chính còn tham chiếu đến nhiều khối vi mô. Khối vi mô được sử dụng để lưu trữ dữ liệu giao dịch.
Ủy ban chỉ bỏ phiếu trên các khối chính chứ không phải các khối vi mô. Các khối vi mô được xác minh bởi các node tham gia trước khi chúng được đưa vào khối chính.
Algorand chỉ bao gồm các tham chiếu đến những thay đổi trạng thái trong các khối chính, thay vì toàn bộ trạng thái của sổ cái. Một tham chiếu chỉ là hàm băm 32B của các thay đổi trạng thái xảy ra trong một khối. Hash nhỏ hơn nhiều so với việc lưu trữ toàn bộ trạng thái. Điều này làm giảm kích thước của các khối chính và cho phép phát tán và xác minh các khối nhanh hơn trên mạng.
Input Endoser (của Cardano) và khối pipeline (của Algorand) có nhiều điểm tương đồng:
- Cả hai tính năng đều chia khối thành hai phần: một phần dành cho sự đồng thuận và một phần dành cho các giao dịch.
- Cả hai tính năng đều cho phép truyền phát liên tục các khối chứa giao dịch, tách biệt khỏi quá trình đồng thuận.
- Cả hai tính năng đều nhằm mục đích tăng thông lượng và tốc độ của mạng bằng cách giảm thời gian truyền khối và cho phép tốc độ giao dịch cao hơn.
Có thể nói rằng nhóm IOG sẽ triển khai một giải pháp tương tự giống một giải pháp đã hoạt động trên thực tế. Mặt khác, cũng có sự khác biệt trong cả hai giải pháp. Sự khác biệt lớn nhất có lẽ là việc dẫn dắt khối của Algorand dựa trên một lớp khối xác thực duy nhất, trong khi Input Endorsers của Cardano dựa vào cấu trúc Phi tập trung của các khối đầu vào, khối xác thực và khối xếp hạng.
Hãy mô tả các khối sẽ được sử dụng trong Cardano sau khi tính năng Trình Input Endoser được cung cấp. Chúng tôi sẽ mô tả nó từ trên (sự đồng thuận của mạng) đến dưới cùng (dữ liệu).
- Các khối xếp hạng được sử dụng để đạt được sự đồng thuận trên mạng Cardano. Chúng tương tự như các khối hiện tại, ngoại trừ việc chúng không chứa bất kỳ dữ liệu giao dịch nào. Thay vào đó, chúng chứa tham chiếu đến một tập hợp các khối xác thực tương thích với nhau. Ngoài ra, mỗi khối xếp hạng đều có chữ ký của nhà sản xuất khối đã tạo ra nó. Các khối xếp hạng được tạo ra bởi những slot leader, những người được giao thức chọn ngẫu nhiên theo số cổ phần của họ. Các khối xếp hạng chịu trách nhiệm duy trì tính bảo mật và tính hữu hạn của Blockchain. Chúng có thể được sản xuất sau mỗi 15-30 giây.
- Các khối xác thực chứa tham chiếu đến một khối đầu vào duy nhất, cùng với chữ ký của Input Endorsers đã tạo ra nó. Chúng được sản xuất và phát tán trực tuyến bởi những Input Endorsers và chúng phải chịu sự kiểm tra tính hợp lệ của các nhà sản xuất khối. Các khối xác thực có một khối gốc, là khối xếp hạng cuối cùng trong chuỗi và chúng có thể có nhiều khối con (tương thích). Chúng có thể được tạo ra sau mỗi 5-10 giây.
- Khối đầu vào chứa dữ liệu giao dịch. Chúng được sản xuất và truyền phát bởi những Input Endoser, những khối này là các bên liên quan được chọn ngẫu nhiên có thể chọn các giao dịch từ nhóm bộ nhớ và phát tán chúng qua mạng. Các khối đầu vào không có bất kỳ khối cha hoặc khối con nào và chúng không tham gia vào quá trình đồng thuận. Chúng chỉ đơn giản là một cách truyền phát các giao dịch lên mạng. Chúng có thể được tạo ra sau mỗi 0,2-2 giây.
Các khối xác thực chỉ chứa tham chiếu đến một khối đầu vào. Một khối xác thực có thể được tham chiếu bởi các khối xác thực khác tương thích với nó.
Ví dụ: nếu khối xác thực EB-1 tham chiếu khối đầu vào IB-1 và khối xác thực khác EB-2 tham chiếu khối đầu vào IB-2 và cả IB-1 và IB-2 không có giao dịch xung đột thì EB- 2 có thể tham chiếu EB-1 làm khối gốc của nó. Bằng cách này, EB-2 trở thành khối con của EB-1 và cả EB-1 và EB-2 đều tương thích với nhau. Điều này cho phép tạo ra cấu trúc dạng cây của các khối xác thực, trong đó mỗi nhánh đại diện cho một tập hợp giao dịch khác nhau có thể được đưa vào sổ cái thông qua khối xếp hạng tiếp theo.
Mục đích của việc có nhiều khối con cho một khối xác thực là để tăng cơ hội tìm thấy một tập hợp các khối xác thực tương thích cho mỗi khối xếp hạng. Khối xếp hạng có thể tham chiếu một tập hợp các khối xác thực tương thích với nhau, nghĩa là chúng không có giao dịch xung đột trong khối đầu vào được tham chiếu. Bằng cách có nhiều khối con cho một khối xác thực, nhà sản xuất khối có thể chọn nhánh tốt nhất giúp tối đa hóa số lượng giao dịch có thể được đưa vào sổ cái.
Chúng tôi sẽ giải thích chi tiết hơn về Trình Input Endoser trong một bài viết khác (bao gồm cả hình ảnh). Trong bài viết này, chúng tôi chỉ muốn làm rõ các khái niệm cơ bản.
Điều quan trọng nhất cần lưu ý là các khối có giao dịch về cơ bản có thể được tạo ra (phát tán trực tuyến) liên tục (cứ sau 0,2-2 giây). Điều này có nghĩa là thay vì tạo một khối dữ liệu cứ sau 20 giây, thì có thể có đến 10 đến 100 khối đầu vào có thể được tạo ra trong cùng một thời gian. Tần suất khai thác khối đầu vào cao không cản trở sự đồng thuận của mạng.
Bây giờ hãy tập trung vào khả năng mở rộng tiềm năng.
Một khối Cardano có thể chứa 300 giao dịch đơn giản. Nếu thời gian giới hạn cho các khối đầu vào được đặt thành 2 giây thì 10 khối sẽ được tạo trong vòng 20 giây, tương ứng với 3000 giao dịch. Nếu được đặt thành 0,2 giây, sẽ có 100 khối được tạo với 30.000 giao dịch được xác thực. Và khi đó, TPS sẽ tăng lên 150 đến 1500 mỗi giây.
Nếu lớp mạng có thể tăng kích thước của các khối đầu vào thì nó sẽ có tác động tích cực đến TPS. Khi tăng khối đầu vào lên 180 kilobyte, Cardano có thể có TPS khoảng 300 đến 3000 mỗi giây.
Khả năng mở rộng tăng lên phụ thuộc vào nhiều chất lượng và công nghệ mạng khác, chẳng hạn như pipelining, Mithril, v.v. Tính năng Xác nhận đầu vào có thể được sử dụng hiệu quả hơn nếu các thuộc tính mạng riêng lẻ khác có thể được cải thiện.
Điều quan trọng cần đề cập là TPS chúng tôi trình bày chỉ mang tính biểu thị. Trong thực tế, sẽ có xung đột giữa các giao dịch nên có thể chỉ một phần khối xác thực mới lọt vào các khối xếp hạng trong các vòng nhất định.
Khả năng mở rộng tiềm năng mà Input Endoser có thể mang lại không chỉ về các khối đầu vào (và số lượng giao dịch trong đó) mà còn về các khối xếp hạng.
Các khối xếp hạng phải chịu sự kiểm tra tính hợp lệ của các nhà sản xuất khối, những người phải đảm bảo rằng chúng tuân theo các quy tắc giao thức và các tham số đồng thuận. Việc kiểm tra tính hợp lệ sẽ đòi hỏi nhiều tài nguyên hơn vì cần phải xác minh nhiều giao dịch hơn. Các khối xếp hạng cũng có kích thước và tần suất đúc hạn chế. Nó xác định có bao nhiêu tài liệu tham khảo có thể được đưa vào một khối xếp hạng và tần suất chúng có thể được tạo ra (15-30 giây). Do đó, khả năng mở rộng không chỉ bị giới hạn bởi các khối đầu vào mà còn bởi các khối xếp hạng.
Mạng blockchain không thể tạo ra số lượng giao dịch không giới hạn vì điều này tạo ra một lượng dữ liệu khổng lồ. Tính sẵn có của dữ liệu là một trong những khía cạnh quan trọng của khả năng mở rộng Blockchain. Trong mạng phi tập trung, việc kiểm tra tính hợp lệ diễn ra trên các node trên toàn thế giới. Dữ liệu phải có sẵn để họ thực hiện kiểm tra.
Kích thước khối càng lớn thì càng có thể xử lý nhiều giao dịch trong khối nhưng cũng cần nhiều băng thông và dung lượng lưu trữ hơn từ các node. Thời gian tạo khối càng ngắn thì giao dịch có thể được xác nhận càng nhanh nhưng rủi ro về phân nhánh (fork) và khối mồ côi (orphan block) càng cao.
Các nhóm phát triển phải cân bằng cẩn thận giữa Phi tập trung (decentralization) và khả năng mở rộng (scalability). Việc chỉ cố gắng tăng khả năng mở rộng có thể có tác động tiêu cực đến việc Phi tập trung, vì nó có thể làm giảm số lượng và tính đa dạng của các node có thể tham gia vào sự đồng thuận của mạng và tăng sức mạnh của một số node nhất định so với các node khác.
Lời kết
Trình Input Endoser có thể không phải là cải tiến cuối cùng đối với giao thức Cardano. Người ta thường nói rằng sharding là điều cần thiết để có thể nói mở rộng cao. Tuy nhiên, sharding cũng có những nhược điểm, chủ yếu xuất phát từ nhu cầu kết nối và đồng bộ hóa giữa các shard. Cardano có thể sẽ có sharding sau khi triển khai Trình Input Endoser. Một phân đoạn có thể có TPS gần giống như mạng Cardano với Trình Input Endoser. Vì vậy, một Cardano có 10 shard có thể có TPS khoảng 20.000. Tuy nhiên, điều này còn rất xa trong tương lai và rất nhiều chi tiết công nghệ sẽ phải được nghiên cứu. Ví dụ: phân chia ở cấp độ lưu trữ, cải thiện Mithril và có máy trạm nhẹ, tính đến việc cắt dữu liệu (bỏ đi các giao dịch cũ), v.v.
Nguồn bài viết tại đây
Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới