Smart Contractsbeginnerarticle25 min read

Hợp Đồng Marlowe: Thỏa Thuận Tài Chính Trên Cardano | VCC

Hướng dẫn cho người mới về hợp đồng Marlowe: hợp đồng tài chính nhỏ trên Cardano, các khối cơ bản, cách hợp đồng chạy, Marlowe vs Plutus, và bắt đầu với Marlowe Playground.

Vietcardano teamTeam

Đội ngũ biên tập VietCardanoCommunity — các chuyên gia blockchain và Cardano, cung cấp nội dung giáo dục và nghiên cứu chuyên sâu cho cộng đồng.

Published 31 tháng 8, 2026Updated 12 tháng 8, 2026

Các hợp đồng Marlowe là các thỏa thuận tài chính nhỏ, được thiết kế đặc biệt và hoạt động trên blockchain Cardano, thực hiện từng bước theo đúng nội dung đã được ghi lại. Một hợp đồng Marlowe là một ngôn ngữ đặc định (DSL) được thiết kế để những người không biết lập trình có thể đọc, viết và xác minh logic tài chính – bảo lãnh, thanh toán, tài trợ cộng đồng, trao đổi – mà không cần viết mã chung. Thay vì một công ty hoặc một người giữ tiền, các quy tắc sẽ giữ nó, và mỗi bước là một giao dịch công khai mà bất kỳ ai cũng có thể kiểm tra. Hướng dẫn này giải thích các khối cơ bản, cách một hợp đồng chạy, cách Marlowe khác với Plutus và nơi bắt đầu trong Marlowe Playground.

Sơ đồ định nghĩa: Marlowe = DSL cho hợp đồng tài chính; hộp kiểm soát với các khối Deposit/Choice/Pay/When bên trái, khung mẫu an toàn bên phải

Hình 1: Marlowe là gì — DSL tài chính nhỏ chạy trên Cardano, an toàn và dễ kiểm chứng


1. Hợp đồng Marlowe là gì?

Một hợp đồng Marlowe là một tập hợp các quy tắc tài chính được viết bằng một ngôn ngữ nhỏ và chuyên dụng, được lưu trữ trên blockchain Cardano. Khi các điều kiện đã được thỏa thuận được thực hiện, các quy tắc sẽ được thực thi tự động – không phải bởi một ngân hàng, một luật sư hay một đối tác giao dịch, mà bởi mã chính nó.

Hãy nghĩ về một máy bán hàng tự động. Bạn đưa tiền vào, chọn một món ăn nhẹ, và máy sẽ giao món đó cho bạn – không cần người bán hàng. Quy tắc của máy đã được xác định trước. Một hợp đồng Marlowe giống như một máy bán hàng tự động cho các thỏa thuận tài chính, nhưng có một điểm khác biệt quan trọng: đó là một loại máy bán hàng cụ thể. Các nút trên máy chỉ giới hạn trong một số hành động được chấp thuận trước, vì nhiệm vụ duy nhất của nó là xử lý các thỏa thuận tài chính một cách an toàn.

Marlowe vs. một hợp đồng thông thường

Khía cạnhHợp đồng thông thườngHợp đồng Marlowe
Được viết bằngNgôn ngữ con ngườiMột DSL tài chính nhỏ
Được thực thi bởiTòa án, luật sư, niềm tinBlockchain Cardano
Chi phí thực thiThời gian, tiền bạc, rủi roPhí một giao dịch cho mỗi bước
Có thể thay đổi giữa chừng không?Thường được đàm phán lạiKhông — quy tắc là cố định
Tính minh bạchRiêng tưCông khai cho mọi người kiểm tra

Một thỏa thuận bình thường giữa hai người phụ thuộc vào việc thực thi. Nếu một bên vi phạm thỏa thuận, bên kia phải khởi kiện, chờ đợi và hy vọng. Một hợp đồng Marlowe loại bỏ việc chờ đợi và hy vọng – kết quả được quyết định bởi mã khi mỗi bước được thực hiện.

Sơ đồ các khối cơ bản của Marlowe: Hành động (Deposit, Choice, Notify), Điều khoản (Pay, When, If, Let, Close, Assert), Giá trị & Quan sát — nhóm như các phần lưu đồ

Hình 2: Các khối cơ bản — Hành động, Điều khoản, Giá trị & Quan sát


2. Các khối cơ bản

Mỗi hợp đồng Marlowe là sự kết hợp của một tập hợp nhỏ, cố định các phần tử. Không có mã tùy ý – chỉ có những khối này, được sắp xếp giống như các mảnh của một lưu đồ.

Các hành động (Actions) là những việc người tham gia có thể làm:

  • Deposit — một người đưa tiền vào hợp đồng.
  • Choice — một người chọn một lựa chọn (ví dụ "mua" hoặc "hoàn tiền").
  • Notify — một người báo hiệu rằng một điều kiện bên ngoài đã được đáp ứng.

Các điều khoản (Terms) là các quy tắc phản hồi các hành động đó:

  • When — chờ một trong một tập hợp các sự kiện (một hành động hoặc một timeout).
  • Pay — chuyển tiền từ tài khoản này sang tài khoản khác.
  • If — đi theo một nhánh này hoặc nhánh khác tùy thuộc vào điều kiện.
  • Let — đặt tên cho một giá trị để có thể dùng lại.
  • Close — kết thúc hợp đồng và trả lại số dư còn lại.
  • Assert — kiểm tra một khẳng định; hợp đồng từ chối tiếp tục nếu nó sai.

Trên các phần này có các giá trị và quan sát (values and observations) – các phép toán (cộng, so sánh, hằng số) mà các quy tắc dùng để quyết định.

Ý tưởng chính: vì ngôn ngữ chỉ giới hạn trong các phần này, một hợp đồng đọc gần như ngôn ngữ thông thường. "Khi X nộp 500, trả 500 cho Y, sau đó đóng."

Vòng đời hợp đồng: tạo trên chuỗi (trạng thái khóa) -> hành động (Deposit/Choice/Notify) -> validator kiểm tra -> trạng thái tiến triển (Pay/When/Close); mỗi bước là một giao dịch

Hình 3: Cách hợp đồng Marlowe chạy — một hành động = một giao dịch công khai


3. Cách hoạt động của hợp đồng Marlowe

Một hợp đồng Marlowe không chạy ngầm trong nền như một ứng dụng. Nó nằm trên blockchain, chờ đợi. Một ai đó kích hoạt bước tiếp theo, và mạng lưới kiểm tra các quy tắc trước khi bất cứ điều gì được thực hiện.

Trên Cardano, một hợp đồng là một validator – một hàm thuần túy trả lời một câu hỏi về mỗi bước được đề xuất: phê duyệt hay từ chối? Quy tắc Marlowe và các số dư hiện tại nằm trong trạng thái của hợp đồng, và mỗi hành động của người tham gia được gửi như một giao dịch Cardano bình thường. Validator so sánh hành động với các quy tắc của hợp đồng:

  • Nếu hành động được cho phép, hợp đồng tiến triển — tiền chuyển đi, một trạng thái mới được tạo ra và bước tiếp theo có sẵn.
  • Nếu hành động không được phép, giao dịch bị từ chối và không có gì thay đổi.

Đây là mô hình eUTXO của Cardano đang hoạt động: chi tiêu một trạng thái cũ và tạo một trạng thái mới, với mỗi phiên bản luôn hiển thị công khai trên chuỗi. Không có chỉnh sửa nào sau hậu trường — toàn bộ lịch sử có thể được kiểm toán mãi mãi.

Cửa thoát an toàn: Timeouts

Mỗi hợp đồng Marlowe được xây dựng với timeout. Nếu một người tham gia không hành động, hợp đồng có thể đóng thỏa thuận và trả lại tiền. Đây là tính năng an toàn quan trọng — tiền không bao giờ có thể bị mắc kẹt vĩnh viễn trong một hợp đồng mà một bên bỏ mặc.


4. Marlowe vs. Plutus

Cardano có hai cách chính để viết hợp đồng thông minh, và chúng phục vụ cho các nhiệm vụ khác nhau:

Khía cạnhMarlowePlutus
Mục đíchChỉ hợp đồng tài chínhBất kỳ logic nào bạn có thể lập trình
Ngôn ngữDSL nhỏ, người không lập trình đọc đượcNgôn ngữ đầy đủ (dựa trên Haskell)
Ai viếtChuyên gia lĩnh vực, nhà phân tíchNhà phát triển
Khả năng xảy ra lỗiRất nhỏ — khối cố địnhLớn — toàn quyền lập trình
Phân tích tích hợpCó — trình phân tích kiểm tra các thuộc tínhBạn tự kiểm chứng

Plutus giống như một ngôn ngữ lập trình đầy đủ: mọi thứ đều có thể, nhưng lỗi cũng có thể xảy ra. Marlowe giống như một tập hợp các mẫu tài chính được chấp thuận trước: ít tính năng hơn, nhưng cũng ít cách phá vỡ hợp đồng hơn rất nhiều — và mã nguồn đơn giản đến mức một người không biết lập trình cũng kiểm toán được.

Cả hai đều chạy trên cùng một ledger Cardano, trả cùng loại phí và tuân theo cùng quy tắc xác minh. Sự lựa chọn phụ thuộc vào thứ bạn đang xây dựng: logic tài chính tiêu chuẩn → Marlowe; bất cứ thứ gì vượt ra ngoài → Plutus.

So sánh Marlowe vs Plutus: Marlowe (mẫu tài chính nhỏ, an toàn, dễ phân tích) vs Plutus (toàn quyền lập trình); cả hai trên cùng ledger Cardano

Hình 4: Marlowe vs Plutus — hai công cụ trên cùng một ledger


5. Bắt đầu với Marlowe Playground

Cách tốt nhất để hiểu Marlowe là xây dựng với nó — và Marlowe Playground là một công cụ trình duyệt không cần cài đặt.

  • Trình soạn khối trực quan Blockly — kéo và thả các khối thay vì gõ mã. Mỗi khối ánh xạ 1:1 với một cấu trúc Marlowe, vì vậy những gì bạn thấy chính là những gì hợp đồng thực sự làm.
  • Simulator — bước qua hợp đồng theo thời gian, đóng vai từng người tham gia, và xem số dư di chuyển.
  • Analyzer — tính năng nổi bật. Analyzer chứng minh các thuộc tính của hợp đồng, như "tiền được bảo toàn" và "không có quỹ nào bị khóa vĩnh viễn". Hãy coi nó như một thanh tra kiểm tra các cạm bẫy của hợp đồng trước khi bất kỳ ai ký kết — điều mà hợp đồng thông thường không thể làm được.

Khi bạn sẵn sàng đưa một hợp đồng lên mạng thực, Marlowe Runtime đưa hợp đồng từ Playground ra và chạy nó trên blockchain Cardano, phơi bày các API để ứng dụng có thể tương tác. Vì cùng một ngữ nghĩa Marlowe được mã hóa trong validator trên chuỗi, mọi node đều đồng thuận về các quy tắc.

Luồng Playground: trình soạn khối -> mô phỏng -> phân tích -> triển khai qua Runtime; các trường hợp dùng: ký quỹ, thanh toán coupon, gọi vốn cộng đồng, hoán đổi

Hình 5: Playground & ứng dụng — dựng, mô phỏng, phân tích, triển khai trên trình duyệt


6. Bạn có thể xây dựng gì?

Tất cả các ví dụ này đều có chung một hình dạng: khóa giá trị ngay bây giờ, giải phóng nó sau khi các điều kiện đã thỏa thuận được đáp ứng — đó chính xác là điều các khối When, Pay và Close biểu thị.

  • Escrow (ký quỹ) — hai bên gửi tiền; tiền chỉ được giải phóng khi cả hai xác nhận. Quen thuộc ngay với các nền văn hóa giao hàng nhận tiền mặt: hợp đồng là một "trung gian thanh toán" không thể bỏ trốn cùng tiền.
  • Thanh toán coupon — một khoản gửi trả một số tiền cố định cho người nắm giữ theo lịch trình.
  • Crowdfunding (gọi vốn cộng đồng) — những người ủng hộ gửi tiền hướng tới một mục tiêu; nếu không đạt mục tiêu trước hạn chót, mọi người được hoàn tiền.
  • Swap (hoán đổi) — hai bên trao đổi token khi cả hai khóa chúng vào.
  • Options (quyền chọn) — quyền mua hoặc bán một tài sản ở mức giá cố định trước một hạn chót.

Chủ đề xuyên suốt mọi ví dụ đều giống nhau: không có trung gian giữ tiền, không cần lòng tin — chỉ cần một bộ quy tắc mà ai cũng kiểm tra được và blockchain tự động thực thi.


Câu hỏi thường gặp

1. Tôi có cần là lập trình viên để dùng Marlowe không? Không — đó chính là điểm. Các khối xây dựng của Marlowe đơn giản đến mức có thể đọc như ngôn ngữ bình thường, và trình biên tập khối của Playground cho phép bạn xây dựng trực quan. Tuy nhiên, Plutus yêu cầu kỹ năng lập trình.

2. Một hợp đồng Marlowe có giống như một hợp đồng thông minh không? Có — Marlowe là một cách viết hợp đồng thông minh, chuyên về các thỏa thuận tài chính. Nó hoạt động trên cùng một sổ cái Cardano và tuân theo các quy tắc xác minh giống như bất kỳ hợp đồng thông minh nào khác.

3. Tiền có thể bị mắc kẹt trong hợp đồng Marlowe không? Hợp đồng Marlowe được thiết kế với timeout và điều khoản Close chính xác để ngăn điều này, và trình phân tích của Playground có thể chứng minh rằng không quỹ nào bị khóa vĩnh viễn trước khi bạn cam kết.

4. Marlowe Runtime là gì? Nó là backend nhận một hợp đồng bạn đã xây dựng (trong Playground) và chạy nó trên blockchain Cardano, cung cấp các API để ứng dụng có thể tương tác với hợp đồng đang sống.

5. Marlowe hay Plutus — tôi nên dùng cái nào? Đối với logic tài chính tiêu chuẩn — thanh toán, ký quỹ, gọi vốn cộng đồng, hoán đổi — Marlowe đơn giản và an toàn hơn. Đối với bất cứ thứ gì ngoài tài chính, hoặc logic bất thường, Plutus là lựa chọn có mục đích chung.

Tags:

marlowe contractsmarlowe cardanomarlowe financial contractsmarlowe dslcardano marlowe playground