Skip to main content
Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →

Bonding curve là gì

Bonding curve là một hàm giá xác định p(s) liên hệ giá của token với số lượng hiện đang lưu hành (s đối với “supply sold” — cung ứng đã bán). Người mua mua bằng cách gửi tài sản thế chấp vào hợp đồng; hợp đồng phát hành các đơn vị token mới theo giá biên được quy định bởi đường cong. Người bán trả lại các đơn vị token và nhận lại khoản tiền theo tích phân. Hai thuộc tính chính so với pool CPMM:
  • Không cần đối tác. Hợp đồng phát hành là người tạo lập thị trường; thanibility tồn tại bất kì.
  • Giá đơn điệu. Giá tăng với mỗi lần mua ròng và giảm với mỗi lần bán ròng.
Bonding curves là cơ chế khởi động tiêu chuẩn khi thực thể phát hành không muốn khởi động sẵn pool AMM với tài sản thế chấp.

Công thức định giá chung

Đối với bất kỳ hàm giá liên tục nào p(s): Giá spot tại cung cấp s:
Chi phí để mua cung cấp từ s_0 đến s_1 (với s_1 > s_0):
trong đó P(s) = ∫ p(s) ds là nguyên hàm của đường cong. Về hình học, cost là diện tích dưới p giữa s_0 và s_1. Lợi tức từ việc bán lại cung cấp từ s_1 về s_0:
(Đối xứng: mua và bán qua cùng một khoảng trao đổi tài sản thế chấp giống nhau — loại trừ phí.) Giá trung bình cho lần mua:

Các họ đường cong phổ biến

Tuyến tính

Giá tăng tỷ lệ thuận với cung cấp. Được sử dụng cho các lần phát hành “ổn định” trong đó người phát hành muốn có một mức tăng giá có thể dự đoán được, vừa phải trong suốt vòng đời.

Bậc hai

(Đối với dạng chưa chuẩn hóa p(s) = k · s², hãy bỏ S_max²: P(s) = (k/3) · s³. Hãy chọn một quy ước và giữ nguyên nó — ví dụ minh họa bên dưới sử dụng dạng chuẩn hóa xuyên suốt.) Giá tăng theo hàm bậc hai. Các nhà mua sớm nhận được giá gần bằng không (vùng khởi đầu phẳng); những nhà mua muộn trả mức chênh lệch cao hơn.
LaunchLab không triển khai đường cong giá bậc hai. Ba loại đường cong của nó là 0 = ConstantProduct (mặc định), 1 = FixedPrice và 2 = LinearPrice. Hình dạng gần nhất với phần này là LinearPrice, có giá là p(s) = a·s và do đó chi phí của nó mới là bậc hai. Phần này được giữ lại như phần trình bày tổng quát về một đường cong đa thức.

Virtual-reserves CPMM (kiểu Pump)

Đường cong là một CPMM tiêu chuẩn với dự trữ quote ban đầu giả V_q:
Giá spot:
Chi phí để di chuyển từ s_0 đến s_1:
Biến thể này có thuộc tính thanh lịch rằng tại thời điểm tốt nghiệp (trong đó s = S_graduate), giá biên bằng giá mở của pool CPMM hạ lưu được hạt giống với dự trữ (S_max − S_graduate, V_q + cost(0, S_graduate)). Chuyển giao là liền mạch. LaunchLab hiển thị điều này dưới dạng curve_type = 0 (ConstantProduct) — loại mặc định, và là loại duy nhất có cấu hình hoạt động hiện nay.

Triển khai rời rạc

Trên chuỗi, s và cost đều là số nguyên (các đơn vị ký nhỏ nhất). Tích phân liên tục cost(s_0, s_1) được tính trực tiếp từ dạng đóng bất cứ khi nào nó tồn tại (tuyến tính, bậc hai). Đối với các đường cong không có nghịch đảo dạng đóng (bậc hai, cho cost, tìm s_1), Newton iteration được sử dụng:
Đây là công thức số học tổng quát, không phải cách triển khai của LaunchLab. LaunchLab không có bộ giải Newton và không có lỗi NotConverged — không đường cong nào trong ba đường cong của nó cần đến. Đường cong constant-product nghịch đảo ở dạng đóng, đường cong fixed-price chỉ là một phép chia, và chi phí bậc hai của đường cong linear-price nghịch đảo bằng một căn bậc hai. Thậm chí trường hợp giá bậc hai ở trên cũng có dạng đóng chính xác s₁ = ∛(s₀³ + 3·cost/k), và đó chính là những gì đoạn mã dùng làm giá trị khởi tạo.

Tích hợp phí

Phí được áp dụng trên chi phí đường cong, không bên trong nó. Khi mua:
Khi bán:
Phần LP của phí được giữ lại trong quote_vault và về mặt hiệu quả làm cho đường cong cứng hơn đối với những người mua sau — dự trữ tăng mà không phát hành thêm cung ứng. Các phần giao thức và người sáng tạo được theo dõi trong các bộ đếm riêng biệt để lặt lại sau.

Ngưỡng tốt nghiệp

Một đường cong “tốt nghiệp” khi nó đã nhận đủ tài sản thế chấp để khởi động pool AMM bên ngoài với giá phù hợp với giá đường cong hiện tại. Đối với đường cong bậc hai có các tham số (k, S_max, S_graduate):
Khi quote_vault ≥ quote_to_graduate, lệnh Graduate tạo pool CPMM với:
Đối với đường cong virtual-reserves, theo cấu trúc:
Đối với bậc hai, sự bằng nhau này không đúng: giá trung bình tích phân nằm hoàn toàn trên giá biên, nên CPMM mở ở mức cao hơn p(S_graduate) theo một hệ số cố định (xem ví dụ minh họa). Chỉ đường cong constant-product / dự trữ ảo — đường cong mà LaunchLab thực sự chạy — mới liên tục về giá tại thời điểm chuyển giao.

Tính không lâu dài so với pool CPMM

Lần phát hành bonding-curve thuần túy có không tính không lâu dài theo ý nghĩa Uniswap: không có “phía khác” của thị trường để cân bằng lại. Đường cong phát hành cung ứng theo yêu cầu, và “LP” duy nhất là chính hợp đồng. Sau khi tốt nghiệp, pool CPMM kết quả hoạt động như bất kỳ pool CPMM nào khác — nếu LP không bị đốt, họ phải chịu các động lực impermanent-loss thông thường. Đây là lý do tại sao chính sách burn sau tốt nghiệp chiếm ưu thế trong các lần phát hành công khai: nó giữ pool vĩnh viễn và loại bỏ bất kỳ cú sốc giá nào do rút LP.

Ví dụ thực tế

Đường cong: bậc hai, k = 40, S_max = 1e9, S_graduate = 0.8 · S_max = 8e8. Phí mua 1%.

Giá tại s = 5e8

10 đơn vị quote cho mỗi đơn vị base.

Chi phí của lần mua đầu tiên 1e6 base

Với phí 1%:

Ngưỡng tốt nghiệp

Giá tại tốt nghiệp

Dự trữ CPMM sau tốt nghiệp

Đó không phải là p(8e8) = 25.6 — nó đúng bằng 4/3 của giá trị đó. Với bất kỳ đường cong giá bậc hai nào, giá trung bình tích phân là p(s)/3 · s / s, nên cost(0,s)/s = p(s)/3 · ... cho ra 4/3 · p(s) khi phần cung còn lại là 1 − 0.8. Do đó việc chuyển giao của đường cong bậc hai không liên tục về giá. Chỉ đường cong constant-product / dự trữ ảo có thuộc tính bằng nhau chính xác được mô tả ở trên; một đợt phát hành theo đường cong bậc hai sẽ thể hiện một bước nhảy tại thời điểm tốt nghiệp.

Các con trỏ

Nguồn:
  • Mã nguồn chương trình Raydium LaunchLab (triển khai đường cong bậc hai + virtual-reserves).
  • Whitepaper Bancor (bonding curves tuyến tính, lịch sử).
  • Các bài viết phân tích hậu quả công khai của Pump.fun (biến thể virtual-reserves).