Cardano: mạnh mẽ, kiên cường – và linh hoạt

Cardano được thiết kế để phục vụ hàng triệu người dùng theo cách phân tán trên toàn cầu. Như với bất kỳ chuỗi khối phi tập trung nào khác, điều này có nghĩa là chúng ta cần tạo ra nguồn cung cấp các khối mới nhất quán và có thể dự đoán được để cùng phát triển chuỗi và ghi lại các giao dịch giữa người dùng một cách minh bạch. Để đảm bảo rằng các khối mới được truyền trên toàn mạng một cách hiệu quả và an toàn, điều quan trọng là hệ thống phải sử dụng hiệu quả các tài nguyên tính toán, bộ nhớ, lưu trữ và mạng.

Tính linh hoạt là chìa khóa, vì vậy, một tính năng quan trọng của giao thức Cardano là nó đã được kiến ​​trúc với khả năng mở rộng thực sự. Đây không chỉ là về khả năng lâu dài để cung cấp cơ sở hạ tầng thành một hệ điều hành toàn cầu, hoàn toàn phi tập trung; cách tiếp cận tham số hóa của nó cũng được thiết kế để linh hoạt và điều chỉnh theo các biến động về giá cả, sự bão hòa của mạng lưới hoặc nhu cầu tăng lên chẳng hạn. Một số tham số giao thức được cung cấp cho phép điều chỉnh hành vi hệ thống mà không cần hard fork. Ngay cả khi đó, những nâng cấp quan trọng hơn yêu cầu điều này có thể được quản lý khéo léo bằng cách sử dụng công nghệ tổ hợp hard fork (HFC) của chúng tôi. Cùng với nhau, đây là những điểm khác biệt đáng kể cho Cardano, mang lại cho chúng ta sự mạnh mẽ và đáng tin cậy ngày nay cũng như các đường dẫn nâng cấp nhanh nhẹn khi mạng phát triển và việc sử dụng ngày càng phát triển.

Lộ trình của Cardano cũng được hình thành trong một loạt các giai đoạn sẽ đưa chúng ta từng bước đến đích cuối cùng của mình. Byron nói về khả năng giao dịch cơ bản trong một mạng liên kết. Điều này đã cho chúng tôi khả năng bắt đầu xây dựng cộng đồng và quan hệ đối tác trong khi làm việc ở giai đoạn tiếp theo. Việc khởi động lại Byron đã mang lại cho chúng tôi nền tảng vững chắc để xây dựng năng lực hơn nữa, trong khi Shelley giới thiệu các nhóm cổ phần, mở rộng hơn nữa cộng đồng và giới thiệu sản xuất khối phi tập trung 100%.

Năm nay, chúng tôi đã giới thiệu một số tính năng mới, rất được mong đợi. Kể từ đầu năm 2021, với kỷ nguyên Mary, Cardano đã hỗ trợ tạo đa tài sản và mã thông báo không thể thay thế (NFT) trên sổ cái. Với mức phí thấp và không cần hợp đồng thông minh, chúng tôi đã chứng kiến ​​sự bùng nổ hoạt động trong lĩnh vực thú vị này. Bản nâng cấp Alonzo vào tháng 9 đã mang lại sự hỗ trợ cho các hợp đồng thông minh Plutus cho phép phát triển một loạt các ứng dụng phi tập trung (DApps). Đó là những ngày tương đối sớm đối với các hợp đồng thông minh, nhưng với hàng chục dự án làm việc trên DAppsvà một số gần đến giai đoạn triển khai, mọi thứ sẽ sớm bắt đầu tăng tốc. Những khả năng mới này ảnh hưởng đến cách sổ cái xử lý các tập lệnh và giao dịch mới, đồng thời đặt ra các nhu cầu mới đối với các tài nguyên sẵn có. Khi hoạt động phát triển, kiến ​​trúc của chúng tôi sẽ cho phép chúng tôi linh hoạt và thích ứng theo yêu cầu.

Dung lượng mạng

Mạng lưới nằm ở trung tâm của tất cả các hoạt động của Cardano. Mạng Cardano phân phối các giao dịch và khối trên các nút được phân phối toàn cầu sản xuất và xác minh chuỗi khối. Đây được gọi là sự khuếch tán dữ liệu và điều cần thiết là phải cung cấp thông tin cần thiết cho các nút để thuật toán đồng thuận đưa ra quyết định. Những quyết định này thúc đẩy chuỗi về phía trước, vì sự đồng thuận giữa các nút đảm bảo rằng tất cả các giao dịch được xác minh, xác thực và do đó có thể được đưa vào một khối mới một cách minh bạch.

Cardano dựa trên giao thức đồng thuận Ouroboros Praos phi tập trung . Cardano đã chuyển đổi dễ dàng sang Praos từ giao thức Ouroboros Classic được liên kết trước đó thông qua một loạt các thay đổi đối với tham số giao thức d . Ouroboros Praos thiết lập các đảm bảo bảo mật nâng cao và đã được cung cấp các bài báo nghiên cứu được đánh giá ngang hàng được trình bày trong các hội nghị và tạp chí về mật mã và an ninh mạng cấp cao nhất.

Hiệu suất mạng ảnh hưởng đến tốc độ hoạt động của toàn bộ hệ thống. Điều này bao gồm các biện pháp như sau:

  • thông lượng (khối lượng dữ liệu được truyền)
  • kịp thời (thời gian chấp nhận khối)

Hai yêu cầu này mâu thuẫn với nhau. Chúng tôi có thể tối đa hóa thông lượng khi các khối được tạo ra được sử dụng hiệu quả nhất. Ngược lại, điều này ngụ ý bộ đệm đủ để che giấu độ trễ , điều này làm giảm bớt hậu quả của một hệ thống phân tán toàn cầu.

Nhiều bộ đệm hơn thường có nghĩa là sử dụng khối (và mạng) tốt hơn, nhưng nó phải trả giá bằng việc tăng độ trễ (thời gian áp dụng trong chuỗi) khi hệ thống bị bão hòa nặng.

Chặn ngân sách

Để hiểu các giao dịch và tập lệnh có thể được thực hiện nhanh như thế nào trên Cardano, trước tiên chúng ta nên xác định khái niệm về ngân sách khối . Kích thước tổng thể của một khối hiện được giới hạn ở mức tối đa là 64 KB, thể hiện sự cân bằng giữa việc đảm bảo sử dụng mạng tốt và giảm thiểu độ trễ giao dịch. Một khối duy nhất có thể chứa hỗn hợp các giao dịch, bao gồm các giao dịch có tập lệnh Plutus (hợp đồng thông minh), mã thông báo gốc, siêu dữ liệu và giao dịch ada đơn giản (thanh toán). Tương tự, một giao dịch đơn lẻ hiện được giới hạn ở mức tối đa là 16KB. Điều này đảm bảo rằng một khối duy nhất sẽ luôn chứa nhiều giao dịch (ít nhất là 4, nhưng nói chung là nhiều giao dịch hơn), do đó, cải thiện thông lượng giao dịch tổng thể.

Chặn ngân sách thời gianlà một thuộc tính khác là khoảng thời gian cố định có sẵn để xử lý tất cả các giao dịch được bao gồm trong một khối duy nhất. Điều này được phân chia giữa thời gian có thể được sử dụng để thực thi tập lệnh Plutus và thời gian có sẵn để thực hiện các giao dịch khác. Thuộc tính này đảm bảo rằng các giao dịch với tập lệnh Plutus không thể độc quyền trong ngân sách thời gian có sẵn và hệ thống sẽ luôn có thể xử lý các khoản thanh toán đơn giản trong cùng một khối chứa tập lệnh Plutus. Tổng ngân sách thời gian để sản xuất mỗi khối (bao gồm cả chi phí mạng) được đặt thành 1 giây, với ngân sách khoảng 50 mili giây có sẵn để thực thi tập lệnh Plutus. Trên thực tế, đây là một khoản trợ cấp lớn – điểm chuẩn của chúng tôi đã chỉ ra rằng nhiều tập lệnh thực sẽ thực thi trong 1 mili giây hoặc ít hơn trên hệ thống tham chiếu.

Ngân sách thời gian khối hiện được đặt thành 1 giây. Vì lý do bảo mật, giao thức đồng thuận Praos chỉ chọn một phần nhỏ (một phần 20) trong số các khối có khả năng được thêm vào chuỗi. Đối với các tham số giao thức hiện tại, thông lượng giao dịch tối đa (đối với các giao dịch đơn giản) khi đó là khoảng 11 giao dịch mỗi giây (TPS). Rõ ràng, các giao dịch khác nhau sẽ có quy mô khác nhau và có trọng tải hiệu quả khác nhau. Một giao dịch đơn lẻ có thể kết thúc toàn bộ vòng bỏ phiếu Catalyst, chẳng hạn như chuyển hàng triệu đô la giá trị.

Như đã thảo luận ở trên, mỗi khối chứa một số giao dịch đã được gửi bởi người dùng cuối từ ví, giao diện dòng lệnh (CLI), v.v. Những giao dịch này được lưu giữ trong vùng lưu giữ tạm thời trong bộ nhớ ( mempool ) cho đến khi chúng sẵn sàng được xử lý và đưa vào một khối. Các giao dịch đang chờ xử lý sẽ bị xóa khỏi mempool khi một khối được đúc và các giao dịch mới sau đó có thể được thêm vào mempool. Bằng cách sử dụng mempool có kích thước cố định, chúng tôi tránh được khả năng các nút bị quá tải trong thời gian nhu cầu cao, nhưng điều này có nghĩa là ví hoặc ứng dụng có thể cần gửi lại các giao dịch. Kích thước mempool hiện được đặt thành 128 KB: gấp đôi kích thước khối hiện tại. Điều này đã được chọn dựa trên các mô hình xếp hàng.

Kéo dài mạng lưới

Ouroboros được thiết kế để xử lý một khối lượng lớn dữ liệu cũng như các giao dịch và tập lệnh có độ phức tạp và kích thước khác nhau. Hiện tại, và với các thông số hiện tại, mạng Cardano chỉ đang sử dụng trung bình khoảng 25% dung lượng của nó. Tất nhiên, kịch bản hiệu quả nhất là Cardano chạy bằng hoặc gần 100% dung lượng (mạng đã bão hòa). Trong khi nhiều giải pháp mạng sẽ bị ảnh hưởng trong những điều kiện như vậy, cả Ouroboros và ngăn xếp mạng Cardano đã được thiết kế để công bằng và có khả năng phục hồi cao ngay cả trong điều kiện bão hòa nặng. Phân tích điểm chuẩn cho thấy dưới độ bão hòa 200%, hiệu suất tổng thể vẫn có khả năng phục hồi và không có lỗi mạng nào. Ngay cả khi thử nghiệm căng thẳng dưới 44 lần, tổng dung lượng mạng khả dụng cũng không có lỗi (mặc dù một số giao dịch có thể bị chậm trễ một chút).áp suất ngược để quản lý tải tổng thể của hệ thống. Vì vậy, trong khi một số người dùng cá nhân tham gia vào một đợt sụt giảm NFT lớn có thể trải qua thời gian chờ đợi lâu hơn cho các giao dịch của họ, ví dụ: hoặc có thể cần phải gửi lại giao dịch không thường xuyên từ một đợt lớn (hoặc trải đều các đợt giảm trong một khoảng thời gian dài hơn), điều này xảy ra không có nghĩa là mạng đang ‘gặp khó khăn’. Nó thực sự có nghĩa là mạng đang hoạt động như dự định. Chúng tôi gọi nó là ‘sự xuống cấp duyên dáng’ và bạn có thể đọc thêm về nó trong bài báo thiết kế mạng .

Ví hành động thay mặt cho người dùng cuối để gửi các khoản thanh toán và các giao dịch khác tới chuỗi khối và theo dõi trạng thái của chuỗi khối. Một trong những dịch vụ chính mà ví cung cấp là thay mặt người dùng gửi các giao dịch, xác nhận rằng chúng đã được chấp nhận trên blockchain và thử lại thay mặt họ nếu quá trình gửi không thành công. Nghĩa là, ví phải tính đến các tác động của áp suất ngược trong mạng khi nó trở nên bão hòa, cũng như các hiệu ứng mạng khác (ngắt kết nối tạm thời, có thể có chuỗi phân nhánh, v.v.). Ví có thể là:

  • Ví đầy đủ nút (như Daedalus), sử dụng tính toán cục bộ và tài nguyên mạng để chạy một nút kết nối trực tiếp với mạng Cardano.
  • Ví nhẹ : ngược lại, những ví này sử dụng tài nguyên mạng và máy tính được chia sẻ để phục vụ một số người dùng cuối.

Trong thời gian có nhu cầu cao (ví dụ: bán NFT), cả hai loại ví có thể cần phải thử lại các giao dịch. Vì chúng chia sẻ tài nguyên giữa nhiều người dùng, ví nhẹ có thể cần tạm thời mở rộng quy mô tài nguyên mạng và máy tính sẵn có (bao gồm cả việc nhân rộng điểm cuối) để đảm bảo có thể đáp ứng nhu cầu của người dùng. Quy mô nhu cầu này tương tự như các yêu cầu được đặt ra khi một công ty phát hành một sản phẩm mới phổ biến, chẳng hạn. Ngược lại, các ví đầy đủ về cơ bản có thể không bị ảnh hưởng. Các giao dịch có thể bị chậm trễ một chút, nhưng mỗi ví sẽ có các tài nguyên chuyên dụng cần thiết để thử lại quá trình gửi, bao gồm các kết nối mạng của chính nó. Các nguyên tắc tương tự áp dụng cho các nhà cung cấp DApp – nơi cung cấp các điểm cuối mạng cụ thể, tài nguyên hệ thống phải được mở rộng để đáp ứng nhu cầu.

Tối ưu hóa quá trình

Chúng tôi tự nhiên hoan nghênh sự đổi mới (và hộp thoại) mà chúng tôi hiện đang thấy trong cộng đồng NFT. Để cải thiện trải nghiệm người dùng, cần phải tối ưu hóa các thủ tục phát triển để quá trình tạo NFT, chẳng hạn, hoạt động tốt ngay cả khi gây ra bão hòa hệ thống. Ví dụ, nhiều người tạo NFT đang sử dụng phương pháp đúc hàng loạt để đạt hiệu quả cao hơn.

Chúng tôi khuyến khích người sáng tạo xem xét cách họ có thể tiếp tục tối ưu hóa nỗ lực của chính mình để giảm thiểu tắc nghẽn mạng. Chúng tôi cũng khuyến khích mọi người tham gia các cuộc thảo luận Discord như một phần của cộng đồng Người sáng tạo của chúng tôi và chúng tôi đang cung cấp các kỹ sư của mình để tìm ra giải pháp phù hợp nhất cho một trường hợp cụ thể.

Cũng như tính linh hoạt có được nhờ các điều chỉnh tham số – có thể được thực hiện trong một khoảng thời gian nếu được yêu cầu – trong trung hạn và dài hạn, các tùy chọn khác sẽ có hiệu lực. Hydra cho phép nhiều hoạt động được chạy song song, giúp nâng cao khả năng mở rộng. Các giải pháp kênh trạng thái của nó làm tăng thông lượng hệ thống, cũng như giảm nhu cầu thực thi trên chuỗi. Tuy nhiên, trong khi Hydra hỗ trợ nhiều trường hợp sử dụng khả năng mở rộng, nó không giải quyết cụ thể hiệu quả tạo NFT. Khi Cardano tiếp tục trưởng thành và phát triển, chúng tôi sẽ tiếp tục xem xét cách chúng tôi tối ưu hóa mạng và quản lý dung lượng mạng. Như tôi đã nói gần đây trong bản cập nhật giữa tháng 10 của chúng tôi, khi mạng bắt đầu chạy với dung lượng cao hơn, chúng tôi sẽ có thể điều chỉnh các thông số Cardano đó nếu cần. Ví dụ: giảm ngân sách thời gian khối, tối ưu hóa kích thước và thời gian thực thi của các tập lệnh Plutus hoặc giảm chi phí thực thi của chúng và cải thiện thông lượng.

Tham gia cộng đồng Discord của chúng tôi ngay hôm nay để tìm hiểu thêm và thảo luận về mọi thứ về Cardano với cộng đồng tận tâm của chúng tôi.

Cảm ơn Neil Davies và Olga Hryniuk đã đóng góp và hỗ trợ thêm cho việc viết bài này.

Comments (No)

Leave a Reply