Hydra Head trong hành trình mở rộng mạng lưới Cardano

Hydra Head, công cụ đầu tiên trong bộ giao thức, là một yếu tố quan trọng trong hành trình mở rộng quy mô của Cardano. Hãy xem cách nó được sắp đặt với bức tranh lớn hơn.

Chúng tôi đã hoàn thành phần nghiên cứu khoa học và lý thuyết. Chúng tôi đã đặt nền tảng cho một blockchain có thể mở rộng, linh hoạt và thông lượng cao. Bây giờ là lúc để tăng trưởng ổn định và cải tiến hệ thống. Với mục tiêu tạo ra một hệ sinh thái được tối ưu hóa để hỗ trợ và thúc đẩy sự phát triển của các ứng dụng phi tập trung (DApps), Cardano đang ở giai đoạn Basho. Với các hợp đồng thông minh đã có, Basho là tất cả về việc mở rộng quy mô và tối ưu hóa mạng. Họ giao thức Hydra là một thành phần quan trọng cho việc này.

Chúng ta đã nói về Hydra trước đây. Hydra là một tập hợp các giải pháp lớp 2 được thiết kế để giải quyết khả năng mở rộng và bảo mật mạng. Ban đầu được hình thành từ kết quả của nhóm nghiên cứu Ouroboros, trên thực tế, nó đã tạo ra một con đường độc lập kể từ khi xuất bản các bản thảo đầu tiên. Hydra gia tăng thông lượng, giảm thiểu độ trễ và các giải pháp tiết kiệm chi phí mà không cần yêu cầu lưu trữ lớn. Giao thức Hydra Head đã được hình thành vào năm 2020 và kể từ đó, tư duy của chúng tôi đã phát triển – đặc biệt là trong suốt giai đoạn triển khai và chứng minh khái niệm ban đầu này. Dựa trên ý tưởng ban đầu đó, giao thức Hydra Head đã phát triển thành một proof-of-concept và đã tiếp tục như vậy khi chúng tôi hướng tới một kết quả được xác định rõ hơn cho testnet MVP.

Chúng tôi đã thấy rất nhiều sự phấn khích (tuyệt vời!) Cùng với những quan niệm sai lầm và hiểu lầm (không quá tuyệt vời). Hầu hết những điều này phát sinh từ những ý tưởng được tuyên bố, thay vì triển khai giao thức thực tế và một số blog trước đây của chúng tôi có lẽ đã góp phần vào những hiểu lầm này. Nhưng giao thức Hydra Head không chỉ về triển khai SPO nhiều như lý thuyết ‘1 triệu TPS’ – điều này cần được cảnh báo và giải thích rõ hơn.

Trong bài viết này, chúng tôi – nhóm kỹ sư Hydra – phác thảo tiến trình hiện tại, cách tiếp cận và lộ trình dài hạn và gần của chúng tôi. Chúng tôi sẽ làm sáng tỏ một số quan niệm sai lầm, làm rõ những lợi ích và phản ánh những thách thức phát triển.

Vậy, Hydra Head là gì?

Đầu tiên chúng ta hãy nói về các Hydra Heads, không chỉ liên quan đến một lớp mạng mạnh mẽ đồng cấp và một sổ cái Cardano được tích hợp, mà còn, một số tập lệnh trên chuỗi (hợp đồng thông minh) thúc đẩy vòng đời của Hydra Head.

Hydra Head là một isomorphic state channel (tạm dịch là: kênh trạng thái đẳng cấu) an toàn có thể chứng minh được. Nói một cách đơn giản, nó là một sổ cái mini off-chain giữa một nhóm hạn chế những người tham gia, hoạt động tương tự (mặc dù nhanh hơn đáng kể) với sổ cái chính on-chain.

Điều đầu tiên cần hiểu là một channel (kênh) là một đường giao tiếp giữa hai hoặc nhiều đồng cấp. Trở thành một phần của Head có nghĩa là trở thành một trong những đơn vị đồng cấp đó. Các kênh tạo thành các mạng riêng biệt có thể phát triển song song với mạng chính. Trên các mạng thay thế này, những người tham gia tuân theo một thuật toán đồng thuận khác, đơn giản hơn: mọi người cần đồng ý về tất cả các giao dịch. Hệ quả của việc này là, với tư cách là một người tham gia, tôi không thể mất tiền mà tôi đã không đồng ý thua một cách rõ ràng. Tại sao? Bởi vì bất kỳ giao dịch hợp lệ nào đều cần có sự chấp thuận rõ ràng của tôi.

Khi thành lập Head, những người tham gia có thể cam kết chuyển tiền vào trong đó. Điều này có nghĩa là chuyển tiền trên chuỗi chính đến một địa chỉ tập lệnh và khóa chúng theo các quy tắc cụ thể. Tập lệnh đảm bảo thực thi an toàn giao thức trên chuỗi và đặc biệt, những người tham gia không thể gian lận lẫn nhau. Tuy nhiên, vào bất kỳ thời điểm nào, bất kỳ người tham gia nào cũng có thể quyết định rời bỏ Head bằng cách đóng nó lại. Trong trường hợp này, tất cả những người tham gia bỏ đi với trạng thái mới nhất mà họ đã đồng ý với off-chain, trên mạng song song của họ.

Hãy coi Heads là ‘bàn chơi bài xì phé riêng tư’, nơi người tham gia mang theo chip của riêng họ để chơi trò chơi. Người tham gia có thể chơi bao lâu tùy thích. Nếu ai đó không chơi, thì trò chơi không tiến triển. Tuy nhiên, những người tham gia vẫn có thể tự do sử dụng chip của họ. Nếu họ làm như vậy, trò chơi kết thúc với sự phân bổ chip hiện tại.

Vòng đời đơn giản của Hydra Head
Vòng đời đơn giản của Hydra Head

Dealer (người chia bài tại bàn) (chính là các tập lệnh on-chain) đảm bảo rằng mọi người chơi đúng luật và không gian lận. Cuối cùng, có bao nhiêu chip đi ra khỏi bàn cũng như số chip đi vào, nhưng chúng có thể đã được phân phối lại trong quá trình trò chơi diễn ra. Trong khi kết quả cuối cùng được biết bên ngoài bàn, lịch sử của tất cả các hành động đã xảy ra trong trò chơi chỉ có những người tham gia biết.

Giao thức này là một trong toàn bộ bộ giao thức mà chúng tôi thường gọi là ‘Hydra’. Nỗ lực kỹ thuật hiện tại tập trung vào việc triển khai giao thức Hydra Head như được xuất bản trong Hydra: Fast Isomorphic State-Channels của Chakravarty et al.

Vào khoảng cuối năm 2021, Maxim Jourenko, Mario Larangeira và Keisuke Tanaka đã công bố một bản tái bản phía trên Hydra Head có tên là Interhead Hydra: Two Heads are Better than One. Sự lặp lại này xác định một phương pháp để kết nối hai Heads với nhau cho phép, về lâu dài, tạo ra một mạng lưới các Head Hydra được kết nối với nhau. Trước đây, đã có đề cập đến các giao thức khác như ‘Hydra Tail’. Tuy nhiên, những điều đó vẫn đang được nghiên cứu, cùng với những ý tưởng mới đến từ công trình gần đây về giao thức Hydra Head.

Hydra và những quan niệm sai lầm

Gần đây, chúng tôi đã thấy rất nhiều bình luận định vị Hydra là giải pháp ‘tối thượng’ cho khả năng mở rộng của Cardano. Chắc chắn, Hydra Heads tạo ra một nền tảng vững chắc để xây dựng một lớp khả năng mở rộng cho Cardano. Chúng là một khối xây dựng cần thiết tận dụng sức mạnh của mô hình Đầu ra Giao dịch Chưa Chi tiêu Mở rộng (EUTXO) để cho phép các giải pháp phức tạp hơn ở trên cùng. Chúng là một yếu tố quan trọng của hành trình mở rộng, nhưng chúng không phải là điểm đến cuối cùng.

Khả năng mở rộng không phải là về một triệu TPS

Trước khi nói về số liệu khả năng mở rộng, hãy làm rõ một vài điều về giao dịch mỗi giây (TPS). Trong số tất cả những thứ có sẵn, TPS có lẽ là số liệu ít có ý nghĩa nhất để xem xét như một phương tiện so sánh. Các giao dịch có nhiều hình dạng và kích thước khác nhau. Mặc dù điều này đúng với Cardano, nhưng điều này càng cần thiết hơn khi so sánh hai hệ thống khác nhau rõ rệt.

Hãy nghĩ về đường cao tốc và các phương tiện giao thông. Người ta có thể xem có bao nhiêu ‘Xe mỗi giây’ (VPS – vehicle per second) mà đường cao tốc có thể xử lý giữa hai điểm. Tuy nhiên, nếu không có định nghĩa chung về phương tiện là gì, thì việc so sánh 10 VPS với 100 VPS dường như là vô nghĩa. Nếu 10 chiếc xe trong ví dụ đề cập đến những chiếc xe tải chở hàng lớn, liệu có hợp lý khi so sánh chúng với 100 chiếc xe tay ga về khả năng giao hàng của chúng không? Điều này cũng áp dụng cho các giao dịch. Một giao dịch mang hàng trăm tài sản và các đầu ra chắc chắn không giống như một giao dịch thanh toán đơn lẻ giữa hai tác nhân.

Sử dụng TPS làm thước đo trong cùng một ngữ cảnh (ví dụ: để so sánh hai phiên bản của node Cardano) là có ý nghĩa. Việc sử dụng nó làm phương tiện so sánh giữa các blockchains thì không.

Với ý nghĩ đó, chúng tôi khuyên bạn không chỉ nên xem xét thông lượng mà còn xem xét tính cuối cùng và tính đồng thời như là các chỉ số quan trọng để xem xét và thảo luận về khả năng mở rộng:

  • throughput – thông lượng: khối lượng dữ liệu được hệ thống xử lý trong một khoảng thời gian nhất định
  • finality – tạm dịch là tính chung cuộc, kết cuộc: thời gian cần thiết để kết quả của một số hành động trở thành bất biến và đúng với mọi người trong hệ thống
  • concurrency – đồng thời: khối lượng công việc có thể được thực hiện bởi các tác nhân khác nhau mà không cản trở nhau

Hydra Heads xuất sắc trong việc đạt được kết quả gần như tức thì trong một Head. Quá trình thiết lập và đóng Head có thể mất một vài khối, nhưng sau khi được thiết lập, các giao dịch có thể diễn ra nhanh chóng giữa những người tham gia hợp tác. Vì các Hydra Heads cũng sử dụng mô hình EUTXO nên chúng có thể xử lý đồng thời các giao dịch không xung đột, điều này – cùng với mạng tốt – cho phép sử dụng tối ưu các tài nguyên có sẵn. Các mô phỏng đầu tiên của giao thức Hydra Head vào năm 2020 đã gợi ý về một ‘1000 TPS’ rất hứa hẹn. Hiện chúng tôi đang trong quá trình đánh giá việc triển khai thực tế về mặt thông lượng và tính finality.

Một lưu ý: Hydra Head là một cấu trúc rất cục bộ trong một nhóm nhỏ người tham gia. Các nhóm này ban đầu sẽ độc lập và do đó, việc xem xét tổng thể các chỉ số riêng lẻ của họ là sai lầm. Vì các nhóm là độc lập và có thể được thành lập độc lập theo ý muốn, nên thật dễ dàng đạt được bất kỳ con số nào bằng cách cộng chúng: mười, một nghìn, một triệu, một tỷ, v.v.

Do đó, mặc dù phiên bản đầu tiên của giao thức Hydra Head sẽ cho phép các nhóm nhỏ người tham gia mở rộng quy mô lưu lượng truy cập của họ với chi phí thấp, nhưng nó sẽ không cung cấp ngay giải pháp cho thanh toán từ người tiêu dùng đến người tiêu dùng (vi mô) toàn cầu hoặc bán hàng NFT. Tại sao? Bởi vì sự đồng thuận bên trong một Head yêu cầu mọi người tham gia phản ứng với mọi giao dịch. Và một Head không có quy mô vô hạn với số lượng người tham gia, ít nhất là không có một số nỗ lực kỹ thuật bổ sung. Ví dụ: sự kết nối với nhau của các Head Hydra mở đường cho các mạng lưới người tham gia lớn hơn, biến các Head cục bộ thành một mạng toàn cầu một cách hiệu quả. Chúng tôi đang khám phá một số ý tưởng khác để mở rộng giao thức Hydra Head nhằm mở rộng tập hợp các trường hợp sử dụng mà nó có thể bao gồm. Chúng tôi sẽ nói nhiều hơn về điều đó trong các phần tiếp theo và trong các bản cập nhật trong tương lai.

Các trường hợp sử dụng và vai trò của SPO

Vậy khi nào thì Head hữu ích? Hydra Heads tỏa sáng khi một nhóm nhỏ người tham gia cần xử lý nhiều tương tác nhanh chóng. Ví dụ: hãy tưởng tượng dịch vụ API trả cho mỗi lần sử dụng, mạng riêng giữa ngân hàng với ngân hàng hoặc một cuộc đấu giá tốc độ nhanh giữa một người bán và một nhóm nhỏ những người đặt giá thầu. Các trường hợp sử dụng rất nhiều và có nhiều hình thức. Một số trong số đó có thể là head hoạt động lâu dài trong nhiều tháng, trong khi những head khác có thể ngắn hơn nhiều và chỉ kéo dài vài giờ.

Nghiên cứu ban đầu về Hydra của chúng tôi vào năm 2020 đã đề xuất các nhà điều hành nhóm cổ phần (SPO) có khả năng là ứng cử viên để điều hành Hydra Heads. Tuy nhiên, vì giao thức Hydra Head đã được nghiên cứu và xây dựng như một proof of concept, chúng tôi có thể khẳng định chắc chắn rằng việc nói rằng chỉ các SPO mới nên chạy Hydra Head để đảm bảo khả năng mở rộng sổ cái là một sự hiểu lầm. Trên thực tế, các SPO không có lợi ích nội tại trong việc mở các Head giữa nhau mà không có lý do để giao dịch (ví dụ: giới hạn hoặc giao dịch NFT). Theo một cách nào đó, SPO cũng giống như bất kỳ tác nhân nào khác khi nói đến giao thức Hydra Head. Họ có thể là một người tham gia và mở các Head với các SPO đồng cấp khác, nhưng bất kỳ ai quan tâm cũng có thể làm như vậy.

Phải thừa nhận rằng SPO có cơ sở hạ tầng vận hành tốt và có thể là một số người dùng đầu tiên chạy các phiên bản của giao thức Hydra Head. Tuy nhiên, điều này chỉ cho phép các SPO tham gia giao dịch với nhau, điều này giới hạn các trường hợp sử dụng cho người dùng cuối. Chỉ những thiết kế hệ thống lớp 2 nâng cao như giao thức Interhead Hydra mới yêu cầu người trung gian chạy cơ sở hạ tầng vì lợi ích của người dùng cuối. Trên thực tế, chúng tôi dự đoán rằng một khả năng thiết lập cho Hydra Heads sẽ cung cấp cho những người dùng được quản lý Hydra Heads dưới dạng một dịch vụ (HaaS – Hydra Heads as a service). Chúng tôi có thể đạt được điều này mà không phải từ bỏ quyền quản lý tiền bằng cách điều hành cơ sở hạ tầng thay mặt cho người dùng cuối, những người thường không có hứng thú cũng như kỹ năng kỹ thuật để duy trì cơ sở hạ tầng đó.

Điều này rất giống với mô hình hoạt động hiện tại của các ví nhẹ (light wallet) và các nhà cung cấp ví nhẹ có nhiều khả năng sẽ chạy Hydra Heads về lâu dài. Hãy tưởng tượng một mạng lưới bao gồm các nhà cung cấp ví nhẹ hàng đầu trong hệ sinh thái Cardano. Các nhà cung cấp như vậy sau đó có thể tạo điều kiện thanh toán ngay lập tức và giá rẻ giữa người dùng của họ trong khi vẫn đảm bảo sự tin cậy tổng thể.

Chúng tôi cũng hình dung rằng các dịch vụ dành cho nhà phát triển và nhà cung cấp DApp sẽ có khả năng là ứng cử viên để chạy Hydra Heads. Thật vậy, các nhà phát triển DApp yêu cầu quyền truy cập vào thông tin trên chuỗi. Vì vậy, các nhà phát triển có thể dựa vào các dịch vụ trực tuyến cung cấp giao diện phù hợp và thường tính phí sử dụng hàng tháng. Hydra Heads có thể cải thiện quy trình này cho phép mô hình kinh doanh phi tập trung hơn với các lệnh gọi API trả cho mỗi lần sử dụng giữa các nhà cung cấp dịch vụ và nhà phát triển DApp.

Lộ trình Hydra Head

Là một nhóm các giao thức sẽ được phân phối theo thời gian và sẽ liên quan đến các thiết kế hệ thống lớp 2 được trau chuốt hơn trên giao thức Hydra Head, điều quan trọng là chúng tôi phải thường xuyên tham gia với các nhà phát triển của hệ sinh thái Cardano. Đây không phải là về một bản phát hành kiểu ‘big bang’ mà là một chu kỳ phát hành lặp đi lặp lại. Chúng tôi cần hiểu những thách thức của nhà phát triển, đảm bảo đáp ứng nhu cầu của họ và cuối cùng đảm bảo chúng tôi đang xây dựng một thứ gì đó hữu ích. Đây là lý do tại sao chúng tôi đang phát triển Hydra Head như một dự án GitHub mã nguồn mở, bắt đầu với một proof of concept vào năm ngoái. Nhằm mục đích hướng tới một nhịp phát hành thường xuyên, chúng tôi đã phát hành bản xem trước dành cho nhà phát triển ban đầu vào tháng 9 (0.1.0), sau đó là bản lặp thứ hai (0.2.0) trước Giáng sinh. Mức tăng tiếp theo (0,3,0) sẽ đến vào tháng Hai. Chúng tôi tuân theo cách lập phiên bản ngữ nghĩa và mỗi bản phát hành trước đó (0.x.0) đều bổ sung các tính năng sẽ có sẵn cho các đối tác của chúng tôi và những người chấp nhận sớm để thử nghiệm trên (các) testnet Cardano riêng tư và công khai.

Chúng tôi vui mừng thông báo rằng lộ trình của chúng tôi hiện cũng có sẵn trên Github! Là một phương tiện để tương tác với cộng đồng các nhà phát triển của chúng tôi và để minh bạch về quá trình nỗ lực phát triển của chúng tôi, bạn sẽ tìm thấy các vấn đề về tính năng, sự kiện quan trọng và bảng dự án có sẵn trên kho lưu trữ Hydra Head.

Mặc dù trọng tâm của chúng tôi là tạo ra các bản phát hành có ý nghĩa và đầy đủ tính năng khi chúng tôi đi dọc theo testnet và sau này là sự trưởng thành của mainnet với phiên bản 1.0.0, lộ trình cũng bao gồm các ngày dự kiến. Những dự báo này xuất phát từ cả công việc đã hoàn thành cho đến nay và ước tính của chúng tôi về công việc còn lại ở phía trước. Chúng tôi sẽ thường xuyên phản ánh về nội dung và ngày tháng một cách nhanh chóng để giữ cho lộ trình chính xác nhất có thể.

Phản hồi của cộng đồng là điều cần thiết

Chúng tôi sẽ đo lường thành công của mình bằng cách xem lưu lượng truy cập sẽ chạy trong Hydra Heads so với mạng chính Cardano. Điều này có nghĩa là chúng tôi không thể đạt được mục tiêu của mình nếu không có cộng đồng và Hydra chỉ có thể thành công nếu nó hữu ích cho người dùng Cardano hiện tại và tương lai.

Tùy thuộc vào thời gian, kỹ năng và chuyên môn của bạn, chúng tôi hoan nghênh bạn tham gia với chúng tôi để chia sẻ câu hỏi, phản hồi hoặc đóng góp vào nỗ lực phát triển. Đây là cơ hội tuyệt vời để cùng nhau xây dựng toàn bộ hệ sinh thái gồm các giải pháp lớp 2 cho Cardano. Giao thức Hydra Head sẽ là khối xây dựng đầu tiên của nhiều giải pháp tiên tiến ra đời. Tại IOG, chúng tôi đã bắt đầu làm việc trên một số trong số chúng, nhưng một số chắc chắn sẽ được (và may mắn thay!) Được xây dựng bởi các thành viên trong cộng đồng của chúng tôi, mà chúng tôi mong muốn được hỗ trợ.

Source: https://iohk.io/en/blog/posts/2022/02/03/implementing-hydra-heads-the-first-step-towards-the-full-hydra-vision/