Cận cảnh vận hành phần mềm cardano

 

Cardano đã được thiết kế ở dạng các module, với các thành phần liên kết có thể được sử dụng theo nhiều cách khác nhau. Các thành phần này tạo thành ‘platform stack’(ngăn xếp nền tảng) của Cardano. Họ làm việc cùng nhau để hỗ trợ việc xây dựng và sử dụng blockchain cardano trực tiếp.

Chúng tôi hiện đang trong giai đoạn đầu testnet (mạng thử nghiệm) từng bước đến Alonzo hard fork, điều này sẽ mang lại khả năng hợp đồng thông minh đầy đủ cho Cardano. Quá trình này rất phức tạp, đòi hỏi phải nâng cấp ổn định các yếu tố khác nhau tạo nên nền tảng Cardano, cũng như tích hợp và thử nghiệm kỹ lưỡng của chúng. Vì vậy, đây là thời điểm tốt để xem lại các yếu tố này, giải thích một số thuật ngữ và khám phá cách chúng tương tác trong ‘platform stack’.

Các thành phần của Cardano platform stack

[pic 7-Cardano-platform-stack]

Figure 1. Các thành phần giao thiệp với Cardano node

Platform stack cho Cardano bao gồm các thành phần cốt lõi sau:

  • Cardano node (và các quy trình liên quan)
  • Ví Cardano
  • Giao diện dòng lệnh ví (CLI)
  • DB Sync (đồng bộ hóa dữ liệu blockchain với cơ sở dữ liệu liên quan)
  • Cơ sở dữ liệu PostgreSQL (tương tác với GraphQL, REST API và Smash)
  • Máy chủ Smash
  • Rosetta API (giao thức truyền thông blockchain)

Lưu ý rằng ví Daedalus không phải là một phần của ngăn xếp lõi, nhưng giao tiếp với các thành phần trên (Figure 1).

Node và layer mạng lưới

Đầu tiên, chúng ta hãy xem xét Cardano node. Phần mềm này chạy trên máy tính của bạn và làm nền tảng cho mạng, cho phép mọi người tham gia vào blockchain phi tập trung. Node tích hợp sự đồng thuận, sổ cái và các thành phần phụ của mạng, cung cấp cấu hình cấp cao nhất, API, CLI, khả năng ghi nhật ký, quản lý bộ nhớ và giám sát có thể được sử dụng bởi các thành phần Cardano khác hoặc bởi những cá nhân có kỹ năng. Daedalus là một ví đầy đủ về node, vì vậy nếu bạn đang chạy ví đó trên máy cục bộ của mình, là bạn đang giúp chạy mạng một cách hiệu quả.

Layer mạng lưới

Tiếp theo, chúng ta có layer mạng. Layer mạng mỗi liên kết với mỗi Cardano node tạo thành một hệ thống phân tán quản lý blockchain và các dịch vụ liên quan. Mạng bao gồm một tập hợp các node giao tiếp với nhau để duy trì phân tán sổ cái, hỗ trợ gửi giao dịch và tương tác với ví của các cá nhân và các dịch vụ khác. Cốt lõi của mạng được xây dựng xung quanh các node phi tập trung – các stake pools – xác thực các khối và thêm các khối mới vào chuỗi. Chúng được hỗ trợ bởi các node chuyển tiếp dành riêng để qu lý các kết nối mạng và thiết lập cấu trúc của mạng nói chung. Các node dành riêng cho người dùng được điều hành bởi ví Daedalus và các dịch vụ khác kết nối với mạng này để theo dõi và gửi các giao dịch trên chuỗi mạng.

Cardano node duy trì kết nối với các mạng ngang hàng của chúng. Một tập hợp các protocol nhỏ cho phép giao tiếp giữa các node. Mỗi protocol nhỏ thực hiện một yêu cầu trao đổi thông tin cơ bản, chẳng hạn như thông báo cho các mạng ngang hàng về khối mới nhất, chia sẻ các khối khi cần hoặc chia sẻ các giao dịch mới xung quanh mạng Cardano. Đối với mục đích kết nối, các protocol nhỏ được xác định bởi phiên bản của protocol mạng lưới.

 Cardano wallet backend

Cardano wallet backend hỗ trợ giao diện người dùng đồ họa của ví Daedalus. Nó được sử dụng để gửi và nhận ada. Đằng sau chuỗi, ví chạy một Cardano node đầy đủ. Không giống như ví nhẹ của khách hàng, nó tải toàn bộ sổ cái được chia sẻ và xác thực tất cả các giao dịch, do đó tăng cường tính bảo mật của blockchain cho mọi người.

Giao diện dòng lệnh của ví  (CLI)

Giao diện dòng lệnh của ví (CLI) hỗ trợ các tương tác với blockchain thực tế. Người dùng có kỹ thuật cao hơn có thể sử dụng CLI kết hợp làm việc với các công cụ để tạo khóa, xây dựng giao dịch, tạo chứng chỉ và thực hiện các tác vụ khác. Nó được tổ chức theo hệ thống phân cấp các lệnh con và mỗi cấp đi kèm với tài liệu tích hợp riêng về cú pháp lệnh và các quyền lựa chọn.

DB Sync

DB Sync là một thành phần tuân theo các hoạt động trên chuỗi Cardano và lưu trữ các khối  và giao dịch trong PostgreSQL. Là một thành phần của “middleware”(phần mềm trung gian), nó hỗ trợ cho cardano-graphql. DB Sync lưu trữ dữ liệu blockchain được lấy từ cardano-node trong cơ sở dữ liệu trung gian cho phép các giao diện cấp cao hơn cho việc khám phá blockchain. Nó cũng cung cấp một số truy vấn để lấy dữ liệu Cardano blockchain từ PostgreSQL và hỗ trợ các dịch vụ như Cardano Explorer, một giao diện người dùng đồ họa lấy dữ liệu blockchain một cách đơn giản. Cardano GraphQL là một API đa nền tảng cho ngôn ngữ truy vấn dữ liệu GraphQL.

API Rosetta

Giao diện lập trình ứng dụng Rosetta cung cấp giao diện cấp cao nhằm mục đích làm cho quá trình tích hợp dễ dàng hơn, nhanh hơn và đáng tin cậy hơn để bạn có thể xây dựng một lần và tích hợp blockchain của mình ở mọi nơi. Chúng tôi đã triển khai tạo một cardano-rosetta duy nhất để đơn giản hóa quá trình tích hợp với Cardano. Giao diện này đặc biệt hữu ích cho các sàn giao dịch, vì họ có thể tương tác với khối Cardano bằng cùng một giao diện mà họ sử dụng với các blockchain khác.

Nhìn về tương lai

Với các hợp đồng thông minh sắp ra mắt Cardano, điều này có nghĩa là Plutus, ngôn ngữ hợp đồng thông minh native và các ngôn ngữ phát triển hợp đồng thông minh khác như Marlowe cho tài chính và Glow cho DApps sẽ được tích hợp vào ngăn xếp Cardano. Các kỹ sư của IO Global sẽ cung cấp các thành phần mới và mở rộng để biên dịch các tập lệnh Plutus, Marlowe và Glow, gửi chúng trên chuỗi và tương tác với chúng (Figure 2).

pic 7-smart-contract

Figure 2. Plutus, Marlowe, Glow, Solidity, và IELE đều có thể được sử dụng để viết các hợp đồng thông minh Cardano

Bản nâng cấp giao thức Alonzo sẽ được xây dựng dựa trên các bản nâng cấp token gần đây và đang được triển khai cho mạng chính thông qua một số mạng thử nghiệm. Các đối tác Plutus của chúng tôi và Plutus Pioneers sẽ giúp chúng tôi kiểm tra Plutus Core và sẽ là một phần của giai đoạn chấp nhận người dùng trước khi triển khai mạng chính. Tại thời điểm này, chúng tôi sẽ chính thức thêm các thành phần Plutus và Marlowe, chẳng hạn như cả hai trình thông dịch, vào ngăn xếp nền tảng của Cardano.

Để cập nhật thông tin giới thiệu Alonzo, vui lòng kiểm tra các kênh xã hội và trang blog của chúng tôi.

Source: https://iohk.io/en/blog/posts/2021/06/08/a-close-look-at-the-software-running-cardano/