Tác giả: ZmnSCPxj
giới thiệu
Chúng tôi xác định vấn đề "dặm cuối" của LSP (Nhà cung cấp dịch vụ mạng Lightning) như sau:
- Người dùng mới nhận Bitcoin đầu tiên của họ từ Lightning Network phải trả tiền cho “thanh khoản tích hợp (số tiền nhận được)”.
- Các hoạt động blockchain liên quan đến việc đạt được thanh khoản phải được phân bổ cho nhiều người dùng mới để giảm chi phí cho mỗi người dùng.
Ngoài các vấn đề trên, giải pháp của chúng ta phải tuân theo các điều kiện sau:
Chúng tôi phải đảm bảo rằng LSP không thể lấy cắp tiền, nghĩa là việc thực hiện giả định bảo mật "chỉ một người tham gia trung thực" là chưa đủ trừ khi mỗi người dùng cuối có thể tự mình đóng vai trò là người tham gia trung thực đó.
Không cần thiết phải thay đổi sự đồng thuận của blockchain .
- Giao thức blockchain Bitcoin được củng cố trong thực tế. Bởi vì kế hoạch giảm nửa đợt phát hành bổ sung diễn ra bốn năm một lần sẽ dẫn đến sự gia tăng đột ngột về lợi nhuận của Bitcoin, từ đó sẽ dẫn đến sự quan tâm đến Bitcoin tăng đột ngột, lượng lớn người dùng mới sẽ trở thành những thực thể có lợi ích trong sự đồng thuận của Bitcoin. Khi nhóm người dùng trước đó bị thuyết phục thay đổi sự đồng thuận, một nhóm người dùng mới đã tham gia và họ cũng phải đồng ý với sự thay đổi đồng thuận tương tự. Nếu một thay đổi đồng thuận không đạt được sự đồng thuận thực tế trong thời gian ngắn hơn chu kỳ giảm nửa, thì điều đó có thể không xảy ra, dẫn đến việc chính thức hóa giao thức trong thực tế (những thay đổi nhỏ hơn, dễ điều khiển hơn vẫn có thể trôi qua, nhưng những thay đổi phức tạp hơn, chẳng hạn như "giao ước", có thể không bao giờ đạt được sự đồng thuận).
Khi các LSP phải phân bổ lại tiền, chúng tôi phải có khả năng xử lý tình huống khi một số lượng nhỏ người dùng cuối ngoại tuyến.
- Khi số lượng người dùng chia sẻ cùng một UTXO tăng lên, xác suất một hoặc nhiều người dùng ngoại tuyến cũng sẽ tăng. Vì vậy, khi bao phủ lượng lớn người dùng cuối, khả năng giải quyết một số người dùng cuối ngoại tuyến là cần thiết.
- Người ta đã chứng minh rằng phần mềm chạy trên thiết bị di động có thể được đưa trở lại trực tuyến thông qua cơ chế thông báo ứng dụng của Android hoặc iOS. Vì vậy, trên thực tế, tính trực tuyến của ứng dụng khách trên thiết bị di động được đảm bảo rất cao. Tuy nhiên, các thiết bị di động vẫn có thể vô tình ngắt kết nối nên thời gian hoạt động của chúng vẫn sẽ không tốt bằng các thiết bị không phải di động. Do đó, toàn bộ cơ chế vẫn cần có khả năng ứng phó với tình trạng một số lượng nhỏ người dùng ngoại tuyến.
Các ràng buộc trên ngay lập tức loại trừ cầu nối Ark và BitVM2. Nếu không có điều khoản hạn chế thì cả hai đều có giả định "ít nhất một người tham gia trung thực", và theo lý do trên, điều khoản hạn chế sẽ không được kích hoạt trên thực tế ( đề xuất OP_CTV
phần lớn đã được hoàn thành vào năm 2020, nhưng tính đến hôm nay ( 2024) vẫn chưa đạt được sự đồng thuận; điều này đã vượt quá chu kỳ giảm nửa nên sẽ không bao giờ đạt được sự đồng thuận; trải nghiệm của SIGHASH_NOINPUT
thậm chí còn tệ hơn). Cả hai đều có thể loại bỏ "ít nhất một người tham gia trung thực" giả định rằng tất cả người dùng cuối chỉ trực tuyến cùng lúc khi LSP cần phân bổ lại tiền, điều này vi phạm ràng buộc cuối cùng ở trên.
Trong bài viết này, tôi sẽ đề xuất một cấu trúc có tên "SuperScalar", trên thực tế, là một nhà máy sản xuất kênh Decker-Wattenhofer với cấu trúc cây hết thời gian phân cấp.
công thức
Trước tiên, tôi sẽ giới thiệu ngắn gọn (hy vọng) cho bạn về ba mô-đun đun kết hợp cấu trúc này với nhau:
- Cơ chế cập nhật ngoài Chuỗi của Decker-Wattenhofer dựa trên việc giảm
nSequence
; - "Cây hết thời gian", đặc biệt là biến thể sử dụng tất cả chữ ký để mô phỏng
OP_CTV
, tôi gọi là "cây chữ ký hết thời gian"; - Phương pháp xây dựng thang.
Hãy tùy ý bỏ qua những phần bạn đã quen thuộc.
Decker-Wattenhofer
Cơ chế nSequence
Decrement của Decker-Wattenhofer là một hệ thống tiền điện tử ngoài Chuỗi cho phép một nhóm người dùng quan tâm đồng ý về một số thay đổi trạng thái mà không yêu cầu mọi thay đổi trạng thái phải được xuất bản lên blockchain(đây là cách nó được phân loại Bởi vì cơ chế "ngoài Chuỗi"). Điều này nghe rất giống với cơ chế Poon-Dryja (Chú thích của người dịch: cơ chế Lightning Channel), nhưng có những điểm khác biệt sau:
- Số lượng người tham gia:
- Cơ chế Poon-Dryja bị giới hạn nghiêm ngặt chỉ có hai bên tham gia;
- Cơ chế giảm
nSequence
của Decker-Wattenhofer có thể đáp ứng bất kỳ số lượng người tham gia nào;
- Số lần thay đổi trạng thái:
- Cơ chế Poon-Dryja về mặt lý thuyết có thể cập nhật trạng thái không giới hạn lần(trong triển khai thực tế, chẳng hạn như đặc tả BOLT của Lightning Network, số lần cập nhật trạng thái sẽ bị giới hạn, nhưng giới hạn trên này tính lần hàng tỷ, vì vậy nó có thể có thể nói là không giới hạn).
- Cơ chế
nSequence
giảm dần của Decker-Wattenhofer cho phép cập nhật trạng thái ít hơn. Một cấu trúc chuỗi đơn có thể cung cấp một số lượng nhỏ các cập nhật trạng thái (ít hơn lần và trong thực tế, mỗi cơ chế chuỗi chỉ có thể cung cấp lần hoặc lần). Đề xuất tiêu chuẩn là xâu chuỗi nhiều cấu trúc như vậy, điều này thực sự nhân số lượng thay đổi trạng thái có thể xảy ra trong mỗi cấu trúc được xâu chuỗi (ví dụ: xâu chuỗi 3 cấu trúc, mỗi cấu trúc cho phép lần thay đổi, sau đó Cho phép 4 x 4 x 4 = lần thay đổi) .
- Quy mô và sự thuận tiện của việc rút đơn phương:
- Cơ chế Poon-Dryja chỉ yêu cầu một giao dịch cam kết đơn phương thoát ra và một giao dịch bổ sung để thu hồi tiền. Độ trễ giữa việc bắt đầu một giao dịch cam kết và thời điểm được phép rút tiền là không đổi.
- Cơ chế
nSequence
giảm dần của Decker-Wattenhofer yêu cầu một giao dịch "khởi động" để bắt đầu quá trình thoát đơn phương và sau đó mỗi lớp yêu cầu một giao dịch bổ sung có độ trễ. Nếu bạn xâu chuỗi nhiều lớp cấu trúc để tăng số lượng thay đổi trạng thái được phép, thì số lượng giao dịch bổ sung cần thiết để thoát đơn phương cũng sẽ tăng lên, do đó không gian khối yêu cầu thực tế làO(log N)
, trong đó N là số trạng thái có thể thay đổi Số lượng thay đổi trạng thái được hỗ trợ. Các giao dịch ở mỗi cấp độ có độ trễ khác nhau trước khi có thể rút tiền.
Cả cơ chế Decker-Wattenhofer và cơ chế Poon-Dryja đều có thể được triển khai bằng Bitcoin mà không cần thay đổi sự đồng thuận.
Giống như cơ chế Poon-Dryja, cơ chế nSequence
giảm dần Decker-Wattenhofer có UTXO trên Chuỗi làm "điểm cấp vốn". Điểm đầu ra này là một thiết bị đa chữ ký n-of-n đơn giản bao gồm tất cả những người ký thay đổi trạng thái chữ ký.
Nếu đó là cơ chế nSequence
giảm dần Decker-Wattenhofer một lớp thì chỉ có hai giao dịch:
- Giao dịch "bật lên" dành điểm đầu ra cấp vốn và tạo ra đầu ra đa chữ ký n-of-n
- Giao dịch "trạng thái" dành đầu ra của giao dịch pop và yêu cầu khóa thời gian tương đối cụ thể bằng
nSequence
. Đầu ra của giao dịch là trạng thái được tất cả các bên ký kết nhất trí đồng ý.
Đối với trạng thái ban đầu, nSequence
của giao dịch "trạng thái" là khóa thời gian tương đối tối đa được thiết kế. Ví dụ: đối với một thiết kế nhằm cho phép thay đổi lần trạng thái, trạng thái ban đầu hợp lý là khóa thời gian tương đối gồm 432 khối.
Khi thay đổi trạng thái, nếu tất cả những người ký đồng ý về một trạng thái mới, họ sẽ tạo một giao dịch trạng thái mới tính phí điểm đầu ra, nhưng với thời gian khóa tương đối nSequence
ngắn hơn so với giao dịch trạng thái trước đó. Ví dụ: đối với thiết kế cho phép cập nhật lần trạng thái:
số trạng thái | Khóa thời gian tương đối (theo số khối) | Nhận xét |
---|---|---|
0 | 432 | trạng thái ban đầu |
1 | 288 | |
2 | 144 | |
3 | 0 | Trạng thái cuối cùng; trường hợp này chỉ có thể kết thúc |
Đó là lý do tại sao nó được gọi là cơ chế "giảm dần nSequence
"; lần khi người ký muốn phê duyệt một trạng thái mới, giao dịch đại diện cho trạng thái mới sẽ sử dụng giá trị nSequence
nhỏ hơn cho đến khi nó đạt đến 0.
Bởi vì trạng thái mới nhất luôn có khóa thời gian tương đối ngắn hơn (so với bất kỳ trạng thái cũ nào), nên nó luôn có thể được xác nhận nhanh hơn các trạng thái trước đó. Cơ chế này đảm bảo rằng, giả sử lớp blockchain không bị tắc nghẽn, trạng thái mới nhất là giao dịch sẽ được xác nhận trong kịch bản thoát đơn phương.
Sự khác biệt giữa nSequence
và khóa thời gian cần phải đủ lớn để tất cả các bên có thể giả định một cách hợp lý rằng ngay cả khi tắc nghẽn, trạng thái sớm nhất có thể được xác nhận trước trạng thái cũ một bước. Do đó, chênh lệch được sử dụng trong ví dụ trên là 144 khối.
Như đã đề cập ở trên, một tập hợp cấu trúc như vậy chỉ có thể cập nhật trạng thái một vài lần trước khi đạt đến “trạng thái cuối cùng”. Do đó, Decker-Wattenhofer khuyến nghị nên kết hợp một số cấu trúc như vậy trong sử dụng thực tế. Cấu trúc đầu tiên của toàn bộ chuỗi có một đầu ra, đó là thiết bị đa chữ ký n-of-n của người ký; đầu ra này lần lượt đóng vai trò là đầu vào của cấu trúc tiếp theo, v.v. Chỉ cấu trúc cuối cùng có giao dịch trạng thái (có nhiều đầu ra), thể hiện trạng thái tiền mới nhất trong toàn bộ hệ thống.
Trên thực tế, giao dịch "trạng thái" của cấu trúc trước đó được cắt ngang qua giao dịch "pop" của cấu trúc tiếp theo.
Cơ chế Decker-Wattenhofer được xâu chuỗi tương tự như đồng hồ đếm ngược nhiều chữ số. Bất cứ khi nào một trạng thái mới được phê duyệt, cấu trúc cuối cùng trong chuỗi—cấu trúc ở xa giao dịch cấp vốn nhất—sẽ đếm ngược. Tuy nhiên, nếu chữ số cuối cùng trở thành 0, hãy đếm ngược chữ số thứ hai đến chữ số cuối cùng và đặt lại chữ số cuối cùng về nSequence
lớn nhất. Tương tự, nếu chữ số từ thứ hai đến cuối cùng trở thành 0 thì đếm ngược một lần ở chữ số từ thứ ba đến cuối cùng, sau đó đặt lại các chữ số tiếp theo về nSequence
lớn nhất. Và vân vân.
Trên thực tế, cấu trúc cuối cùng trong chuỗi có nhiều khả năng thay đổi trạng thái nhất (thay đổi nó cho lần cập nhật trạng thái), trong khi cấu trúc đầu tiên trong chuỗi ít có khả năng thay đổi nhất.
Initial state nSequence nSequence +----+------+ +-----+------+ +-----+-----------+funding -->| |n-of-n|-->| 432 |n-of-n|-->| 432 |...state...| +----+------+ +-----+------+ +-----+-----------+ kickoff tx state tx state tx======> nSequence nSequence +----+------+ +-----+------+ +-----+-----------+funding -->| |n-of-n|-->| 432 |n-of-n|-->| 288 |...state...| +----+------+ +-----+------+ +-----+-----------+ kickoff tx state tx state tx======> nSequence nSequence +----+------+ +-----+------+ +-----+-----------+funding -->| |n-of-n|-->| 432 |n-of-n|-->| 144 |...state...| +----+------+ +-----+------+ +-----+-----------+ kickoff tx state tx state tx======> nSequence nSequence +----+------+ +-----+------+ +-----+-----------+funding -->| |n-of-n|-->| 432 |n-of-n|-->| 0 |...state...| +----+------+ +-----+------+ +-----+-----------+ kickoff tx state tx state tx======> nSequence nSequence +----+------+ +-----+------+ +-----+-----------+funding -->| |n-of-n|-->| 288 |n-of-n|-->| 432 |...state...| +----+------+ +-----+------+ +-----+-----------+ kickoff tx state tx state tx
cây hết thời gian
Cây thời gian chờ là cơ chế kết hợp cây OP_CTV
và thời gian chờ.
Trong trường hợp không có OP_CTV
, một biến thể có thể được sử dụng: sử dụng chữ ký của tất cả người tham gia để thực thi các hạn chế OP_CTV
. Biến thể này (mà tôi gọi là "cây chữ ký hết thời gian chờ") là trọng tâm giải thích của tôi. Ngoài ra, chúng tôi đã xem xét kịch bản trong đó một LSP duy nhất cung cấp cơ chế như vậy cho chính khách hàng của mình.
Trên cây chữ ký hết thời gian chờ, L
có thể cung cấp các kênh Lightning cho một nhóm khách hàng. Một UTXO duy nhất được xác nhận trên Chuỗi có thể đảm bảo cho nhiều kênh được mở với các khách hàng khác nhau.
Trong giai đoạn khởi tạo, LSP này trước tiên tạo ra một cây bao gồm các giao dịch. Trong đầu ra của nút không phải lá, các máy khách trên cây con của nó sẽ tạo thành một thiết bị đa chữ ký n-of-n cùng với LSP. Đây là cấu trúc cây giao dịch tiêu chuẩn, nhưng cây thời gian chờ cũng bổ sung thêm một điều kiện chi tiêu thay thế: LSP có thể tự mình chi tiêu sau một khoảng thời gian nhất định. Các điều kiện thay thế tương tự cũng tồn tại đối với điểm đầu ra cấp vốn.
Ví dụ: nếu LSP L
có 8 khách hàng, đánh dấuA
đến H
thì mọi người sẽ tạo thành cây hết thời gian chờ. Sẽ có những điều kiện này tại điểm đầu ra cấp vốn (sẽ được xác nhận trên Chuỗi):
-
A & B & ... & H & L
-
L & CLTV
Vì vậy, toàn bộ cây trông như thế này:
+--+---+ | |A&L| LN channel +>| +---+ | | |B&L| LN channel +--+----------+ | +--+---+ | | (A&B&L) |-+ | |or(L&CLTV)| +--+---+ +>| +----------+ | |C&L| LN channel +--+----------+ | | | (C&D&L) |-->| +---+ | |(A&..&D&L)| | | |or(L&CLTV)| | |D&L| LN channel | |or(L&CLTV)|-+ +--+----------+ +--+---+funding-->| +----------+ | |(E&..&H&L)|-+ +--+----------+ +--+---+ | |or(L&CLTV)| | | | (E&F&L) | | |E&L| LN channel +--+----------+ | | |or(L&CLTV)|-->| +---+ +>| +----------+ | |F&L| LN channel | | (G&H&L) | +--+---+ | |or(L&CLTV)|-+ +--+----------+ | +--+---+ | | |G&L| LN channel +>| +---+ | |H&L| LN channel +--+---+
(Lưu ý của người dịch: Cây này cũng có thể được xem từ lá đến gốc. Mỗi lá là một kênh sét giữa LSP và khách hàng; và phía trên nút lá, mỗi nút là một thiết bị đa chữ ký cho tất cả những người tham gia bên dưới, cộng thêm Thiết bị hết thời gian LSP).
Điều kiện hết thời gian chờ này buộc tất cả khách hàng phải trực tuyến trở lại trước khi hết thời gian chờ và thoát khỏi cấu trúc đó. Việc rút tiền có thể đơn phương hoặc phối hợp với LSP.
Trong trường hợp rút tiền hợp tác, máy trạm có thể chuyển trực tiếp tất cả số tiền trong kênh của mình trên cây thời gian chờ thông qua Lightning Network. Số tiền này có thể được chuyển sang quỹ Chuỗi thông qua dịch vụ hoán đổi hoặc có thể được chuyển sang một quỹ mới. trong cùng một LSP, cây thời gian chờ cũng có thể được chuyển tiếp tới một LSP khác.
Thoát đơn phương có nghĩa là tất cả các giao dịch từ gốc cây đến đường dẫn đầu ra của kênh Lightning phải được tiết lộ, sau đó đơn phương thoát khỏi kênh Lightning (dự kiến là kênh Poon-Dryja).
Ưu điểm của việc sử dụng cấu trúc cây là chi phí thoát đơn phương tương đối nhỏ; nếu khách hàng muốn thoát, anh ta chỉ cần thực hiện giao dịch O(log N)
và sau đó hầu hết các khách hàng khác có thể ở lại cây. Nếu không có cấu trúc cây, việc một khách hàng đơn phương rút lui sẽ khiến tất cả khách hàng đơn phương rút lui.
Ưu điểm của điều kiện hết thời gian chờ là nó khuyến khích tất cả khách hàng thoát ra cùng lúc, có thể hợp tác và sau đó LSP chỉ cần bắt đầu giao dịch chỉ với một đầu vào (sử dụng điều kiện L & CLTV
ở điểm đầu ra cấp vốn), và nó có thể được xây dựng từ quỹ Dọn dẹp. Ngay cả khi một số khách hàng cũng muốn rút đơn phương, nhiều khoản tiền vẫn có thể được rút thông qua các điều kiện L & CLTV
của từng đầu ra trung gian.
bậc thang
Nhiều tổ chức tài chính cung cấp một hợp đồng tài chính: người gửi tiền có thể gửi một số tiền, nhưng họ không thể rút số tiền đó trong một khoảng thời gian, ngay cả khi họ muốn rút một phần sau khi hết hạn, người gửi tiền có thể rút toàn bộ số tiền ban đầu, cộng thêm một khoản bổ sung; số tiền lãi. Những hợp đồng như vậy cũng không được chuyển nhượng. Những hợp đồng như vậy có nhiều tên:
- Chứng chỉ tiền gửi (Mỹ)
- Giấy chứng nhận đầu tư được đảm bảo (Canada)
- Định kì(các quốc gia khác)
Hợp đồng như vậy là không linh hoạt; như đã đề cập trước đó, bạn không thể rút tiền trước khi hết hạn. Tuy nhiên, các nhà đầu tư hiểu biết sẽ phân bổ sức lực sẵn có của họ vào nhiều hợp đồng như vậy, sắp xếp ngày hết hạn theo từng tháng hoặc một năm. Kỹ thuật này được gọi là "xây dựng bậc thang".
Ví dụ: một nhà đầu tư có thể có ba hợp đồng như vậy, hết hạn vào tháng 12 năm 2024, tháng 12 năm 2025 và tháng 12 năm 2026. Khi hợp đồng đầu tiên hết hạn vào tháng 12 năm 2024, nhà đầu tư có thể rút một số tiền và tái đầu tư số tiền còn lại vào một hợp đồng mới hết hạn vào tháng 12 năm 2027, hoặc bổ sung thêm tiền và đầu tư vào một hợp đồng mới; hợp đồng mới sẽ được ký kết, do đó kết thúc việc xây dựng thang.
Việc xây dựng bậc thang cung cấp cho các nhà đầu tư khả năng thay đổi số tiền đầu tư của họ hàng tháng hoặc hàng năm, tùy thuộc vào độ rộng của bậc thang. Do đó, ngay cả khi hợp đồng cơ bản không linh hoạt, việc phân bậc thang cho phép các nhà đầu tư lấy lại sự linh hoạt nhất định trong khi vẫn duy trì được lợi thế của định kì hạn dài.
Cơ chế SuperScalar
Nhà máy kênh Decker-Wattenhofer của cấu trúc cây hết thời gian xây dựng bậc thang là sự kết hợp của ba yếu tố trên.
Nhà máy kênh Decker-Wattenhofer với cấu trúc cây thời gian chờ
Trước tiên, hãy chứng minh sự kết hợp của cả hai; chúng ta sẽ thêm cấu trúc bậc thang vào phần sau.
Giả sử LSP L
có 8 khách hàng được đánh số từ A
đến H
Do đó, điểm đầu ra bơm vốn có hai điều kiện chi tiêu sau:
-
A & B & ... & H & L
-
L & CLTV
Trong quá trình khởi tạo, LSP này phải sắp xếp các giao dịch sau để khách hàng ký, trong đó giao dịch cấp vốn là giao dịch đa chữ ký n-of-n (bao gồm A...H
và L
):
nSequence +---+---+ | |A&L| LN channel | +---+ +-->|432|B&L| LN channel | | +---+ | | | L | | +---+---+ | | +---+---+ | | |C&L| LN channel +--+-----+ | | +---+ nSequence | |A&B&L|-+ +>|432|D&L| LN channel +---+----------+ +>| +-----+ | | +---+ | |(A&..&D&L)| | | |C&D&L|---+ | | L | +--+---------+ | |or(L&CLTV)|-+ +--+-----+ +---+---+funding->| |A&...&H&L|->|432+----------+ +--+---------+ | |(E&..&H&L)|-+ +--+-----+ +---+---+ kickoff tx | |or(L&CLTV)| | | |E&F&L|---+ | |E&L| LN channel +---+----------+ +>| +-----+ | | +---+ state tx | |G&H&L|-+ +>|432|F&L| LN channel +--+-----+ | | +---+ kickoff | | | L | tx | +---+---+ | | +---+---+ | | |G&L| LN channel | | +---+ +-->|432|H&L| LN channel | +---+ | | L | +---+---+ state tx
Về cơ bản, các quy tắc xây dựng cây giao dịch từ một nhóm khách hàng sử dụng trình tự xây dựng "từ lá đến gốc":
- Đầu tiên, khách hàng được phân tán đến nút lá theo số fork tự đặt (số fork trong ví dụ trên là 2).
- Đầu ra của các giao dịch lá này là các kênh của LSP
L
tới các khách hàng tương ứng và có một đầu ra bổ sung (một lượng tiền bổ sung) doL
nắm giữ.
- Đầu ra của các giao dịch lá này là các kênh của LSP
- Nút lá luôn là các giao dịch có trạng thái.
- Họ đã giảm
nSequence
.
- Họ đã giảm
- Dựa vào số nhánh cần thiết, thiết lập nút lớn của các lá này trên cây.
- Giao dịch gốc của giao dịch trạng thái là giao dịch bật lên.
- Đầu ra của họ chỉ đơn giản là một chữ ký n-of-n của chủ sở hữu của giao dịch phụ tương ứng.
- Giao dịch gốc của giao dịch bật lên là giao dịch trạng thái.
- Ngoài điều kiện chi tiêu đa chữ ký n-of-n của chủ sở hữu giao dịch chi nhánh, đầu ra giao dịch trạng thái còn có điều kiện chi tiêu thay thế
or (L & CLTV)
. - Đầu vào của các giao dịch có trạng thái có
nSequence
giảm dần.
- Ngoài điều kiện chi tiêu đa chữ ký n-of-n của chủ sở hữu giao dịch chi nhánh, đầu ra giao dịch trạng thái còn có điều kiện chi tiêu thay thế
- Giao dịch gốc của giao dịch trạng thái là giao dịch bật lên.
- Lặp lại bước trước cho đến khi bạn nhận được nút.
- Nếu nút cuối cùng là một giao dịch trạng thái, thì hãy thêm một giao dịch bật lên một đầu vào, một đầu ra ở phía trước. Nếu không, hãy sử dụng trực tiếp nút này làm giao dịch bật lên đầu tiên.
- Khi số lượng nhánh là 2 và số lượng khách hàng là 8, nút sẽ là một giao dịch bật lên.
- Nếu số lượng khách hàng trong ví dụ tăng lên 16 thì số lượng giao dịch cần được công bố để thoát đơn phương là 4, ngoài ra còn có các giao dịch cần được thoát đơn phương trong kênh Lightning.
Lý do sử dụng các giao dịch pop và giao dịch trạng thái thay thế cho nhau trong hệ thống phân cấp của cây sẽ được giải thích sau.
Rất tiếc, A cần đặt thanh khoản!
Giả sử A đã hết hạn ngạch thu thập trong kênh giữa cô ấy và L
trong cấu trúc cây trên. Vậy làm thế nào L
có thể cung cấp thanh khoản cho A
mà không cần thực hiện các giao dịch trên Chuỗi?
LSP có thể đánh thức B
- và chỉ B
(giả sử A
đã ra mắt khi yêu cầu thêm tín dụng) - để cập nhật nút lá chứa kênh A & L
và kênh B & L
Vì nút lá này chỉ chứa số tiền của A
, B
và L
nên chỉ có ba người này cần trực tuyến, do đó, cơ chế này có thể đối phó tốt hơn với tình huống khi một số người tham gia ngoại tuyến và A
cần hạn mức thu bổ sung.
Tất nhiên, nếu B
không thể trực tuyến thì LSP phải thử các phương pháp khác, chẳng hạn như bắt đầu giao dịch trên Chuỗi. Điều này có thể dẫn đến phí xử lý Chuỗi cần phải thanh toán, LSP sẽ tính cho A
Giả sử B
đã trực tuyến trở lại. Sau đó, L
có thể sử dụng quỹ chuyên dụng của mình để bơm tiền vào kênh A & L
Không yêu cầu khách hàng C...H
.
Tất nhiên, có thể số tiền riêng L
trong lá này đã được tiêu hết hoặc lá này đã đạt đến trạng thái cuối cùng (tức là nSequence = 0
). Tại thời điểm này, LSP có thể di chuyển lên cây, tìm các giao dịch trạng thái cấp cao hơn, đánh thức các khách hàng khác để chuyển tiền độc quyền ở các lá khác sang A
và đặt lại nSequence
của nút dưới mức đó. Điều này làm tăng số lượng khách hàng có nhu cầu online cùng lúc nhưng vẫn không yêu cầu tất cả khách hàng đều phải online.
Trên thực tế, bất cứ khi nào một số khách hàng hết thanh khoản ban đầu, các giao dịch trạng thái cuối cùng là những giao dịch có nhiều khả năng được cập nhật nhất. Tuy nhiên, nếu số tiền độc quyền L
trong một lá đã cạn kiệt thì giao dịch trạng thái cấp cao hơn cần phải được cập nhật để LSP L
có thể phân bổ tiền cho A
từ các lá khác.
Xảy ra chuyện, A muốn bỏ cuộc!
Giả sử A
quyết định đơn phương rút lui. Các lý do có thể khác nhau; điều quan trọng là bất kỳ khách hàng nào của LSP đều có khả năng thoát đơn phương và số lượng giao dịch cần đăng phải càng ít càng tốt. Sự đảm bảo này ngăn chặn LSP biến mất và cũng đảm bảo quyền tự chủ và kiểm soát tài chính của người dùng.
Để A
thoát ra, trước tiên chúng ta cần xác nhận các điểm đầu ra bơm vốn của kênh A & L
, sau đó thoát hoàn toàn bằng quy trình thoát đơn phương kênh Poon-Dryja tiêu chuẩn. Vì vậy, trước tiên A
phải tiết lộ giao dịch từ gốc cây đến điểm đầu ra đầu tư kênh của mình, như hình dưới đây:
nSequence +---+---+ | |A&L| LN channel | +---+ +-->|432|B&L| LN channel | | +---+ | | | L | | +---+---+ | state tx | | +--+-----+ | nSequence | |A&B&L|-+ +---+----------+ +>| +-----+ | |(A&..&D&L)| | | |C&D&L| +--+---------+ | |or(L&CLTV)|-+ +--+-----+funding->| |A&...&H&L|->|432+----------+ kickoff +--+---------+ | |(E&..&H&L)| tx kickoff tx | |or(L&CLTV)| +---+----------+ state tx
Tuy nhiên, chúng tôi cũng cần lưu ý rằng mọi đầu ra từ giao dịch bật lên đã được xác nhận đều phải được chi tiêu bởi giao dịch trạng thái đã được xác nhận. Điều này là do tất cả các giao dịch trạng thái đều có nSequence
và các giao dịch có nSequence
nhỏ hơn so với khóa thời gian phải được xác nhận trước các giao dịch có nSequence
lớn hơn, nếu không cơ chế Decker-Wattenhofer sẽ sụp đổ (có thể cho phép các trạng thái cũ hơn được xác nhận trước).
Do đó, trong trường hợp A
muốn thoát ra, không chỉ client ( B
) trên cùng một lá sẽ vô tình thoát ra mà cả những người hàng xóm C
và D
trong giao dịch trạng thái cấp cao hơn cũng sẽ thoát ra.
nSequence +---+---+ | |A&L| LN channel | +---+ +-->|432|B&L| LN channel | | +---+ | | | L | | +---+---+ | | +---+---+ | | |C&L| LN channel +--+-----+ | | +---+ nSequence | |A&B&L|-+ +>|432|D&L| LN channel +---+----------+ +>| +-----+ | | +---+ | |(A&..&D&L)| | | |C&D&L|---+ | | L | +--+---------+ | |or(L&CLTV)|-+ +--+-----+ +---+---+funding->| |A&...&H&L|->|432+----------+ kickoff state tx +--+---------+ | |(E&..&H&L)| tx kickoff tx | |or(L&CLTV)| +---+----------+ state tx
Điều này cũng giải thích tại sao chúng ta sử dụng các giao dịch "trạng thái" và các giao dịch "bật lên" thay thế cho nhau trong cây, không giống như cấu trúc chung của Decker-Wattenhofer chỉ có giao dịch đầu tiên là giao dịch "bật lên". Nếu chúng tôi bắt chước cấu trúc chung, thì miễn là khách hàng cần thoát, tất cả các giao dịch trạng thái xuôi dòng (có thể có các khóa thời gian tương đối nSequence
khác nhau) phải được giải phóng, nếu không cơ chế Decker-Wattenhofer rủi ro bị phá vỡ. Các giao dịch "bật lên" xen kẽ nhằm mục đích đóng vai trò phụ trợ, đảm bảo rằng khi người tham gia đơn phương thoát ra, anh ta chỉ cần phát hành các giao dịch O(log N)
chứ không phải toàn bộ cây O(N)
.
Đây cũng là lý do tại sao đầu ra của giao dịch pop không yêu cầu khóa thời gian các nhánh L & CLTV
. Đầu ra của giao dịch bật lên phải được chi tiêu bởi giao dịch trạng thái mới nhất của đầu ra đó và giao dịch trạng thái đã có nhánh khóa thời gian.
Trong ví dụ trên, B
, C
và D
vẫn có thể chuyển tiếp HTLC trong các kênh riêng của họ, nhưng họ không thể mua hạn ngạch thu bổ sung từ L
với giá rẻ nữa. Thay vào đó, L
sẽ cần phải tăng thêm thanh khoản Chuỗi , điều này sẽ đắt hơn. (Nói cách khác, việc một người tham gia rút sẽ không khiến tất cả người tham gia rút; nhưng nó vẫn sẽ khiến một số người tham gia khác rút một phần; "một phần" có nghĩa là kênh của họ vẫn còn đó, nhưng họ không thể nhận được hạn ngạch thu thập nữa rẻ tiền.)
Tuy nhiên, khách hàng từ E
đến H
vẫn có thể sử dụng cơ chế trên để mua thanh khoản tài khoản, vì cây họ đang ở chưa được xuất bản lên Chuỗi và vẫn có thể được cập nhật ngoài Chuỗi. Ngoài ra, khi thời gian chờ sắp kết thúc, những khách hàng này có thể bắt đầu thoát hợp tác thông qua Lightning Network (sẽ không còn tiền trong kênh của họ với L
), và sau đó L
có thể được xóa thông qua chi nhánh L & CLTV
của các quỹ giao dịch nhà nước, hãy để tiền chảy trở lại.
Phương pháp xây dựng thang
Bây giờ, thêm phần tử thứ ba.
Theo quan điểm của LSP L
, cơ chế trên là một khoản đầu tư. Hy vọng L
là kiếm được lợi tức đầu tư bằng cách:
- Phí định tuyến Lightning Network
- Bán thanh khoản rẻ hơn ngoài Chuỗi
- Phí xử lý được tính để duy trì toàn bộ cơ chế
Ngoài ra, do sự tồn tại của các nhánh hết thời gian chờ, LSP không thể dễ dàng lấy lại tiền trước khi hết hạn.
Do đó, một phiên bản Decker-Wattenhofer có cấu trúc cây hết thời gian trông rất giống một định kì, theo quan điểm của LSP.
Và như tôi đã đề cập trước đó, các nhà đầu tư hiểu biết sẽ sử dụng nhiều hợp đồng định kì để xây dựng các bậc thang nhằm đạt được sự linh hoạt trong việc phân bổ vốn.
Bản thân LSP có thể chạy nhiều phiên bản Decker-Wattenhofer với cấu trúc cây thời gian chờ, đối diện các khách hàng khác nhau và sử dụng các điều khoản khác nhau, giống như bậc thang định kì trong tài chính truyền thống. Khi một phiên bản hết hạn, LSP có thể bắt đầu một phiên bản mới, mời người dùng từ phiên bản sắp hết hạn tham gia phiên bản mới và tính phí truyền. LSP này sau đó có thể sử dụng nhánh hết thời gian chờ để thu hồi tiền từ phiên bản kết thúc trên Chuỗi. Anh ta sẽ kiếm được thu nhập từ phí định tuyến, tín dụng bán hàng và đặc quyền chuyển sang các phiên bản mới, lợi nhuận sẽ vẫn nằm trong kênh Lightning.
Ví dụ: một LSP có thể vận hành 30 nhà máy Decker-Wattenhofer cùng lúc, với một nhà máy hết hạn hoạt động mỗi ngày. Khi một nhà máy sắp đóng cửa, anh ta có thể mời khách hàng từ nhà máy đó đến nhà máy mới. LSP này có thể đầu tư tiền từ nhà máy đã hết hạn sử dụng vào nhà máy mới, tạo ra nhà máy mới có thời hạn 30 ngày. Sau đó, khách hàng cũng có thể chuyển tiền từ cơ sở hết hạn sang cơ sở mới. Khi tất cả khách hàng đã rút khỏi nhà máy sắp hết hạn và hợp đồng được hoàn thành, LSP này có thể trực tiếp chi tiêu toàn bộ UTXO và giao dịch chỉ có một đầu vào và một đầu ra.
Trong ví dụ cụ thể bên dưới, một LSP xây dựng bậc thang bao gồm chín nhà máy Decker-Wattenhofer cây thời gian chờ. Mỗi cấp bậc thang có "thời gian hoạt động" là 7 ngày và "thời gian kết thúc" là 2 ngày. Trong thời gian kết thúc, khách hàng có thể tham gia vào một trong những nhà máy được xây dựng trong hai ngày đó và chuyển tiền của họ sang một kênh mới trong nhà máy mới. Điều này mang lại cho người dùng một chút thời gian; nếu họ bỏ lỡ ngày đầu tiên, vẫn có cơ hội chuyển vào ngày thứ hai. Trong quá trình triển khai thực tế, tôi khuyên bạn nên sử dụng khoảng thời gian hoạt động là 30 ngày và thời gian kết thúc là 3 ngày; do đó, một LSP sẽ cần duy trì đồng thời 33 nhà máy. Lý tưởng nhất là giao dịch chỉ có một đầu vào và một đầu ra sẽ diễn ra hàng ngày; mặc dù nếu khách hàng không ra mắt, LSP sẽ cần xuất bản giao dịch từ gốc cây đến đầu ra của khách hàng, điều này sẽ làm tăng Chuỗi cần các giao dịch sẽ được công bố trên.
Legend: ===== Active Period ::::: Dying PeriodDay | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ===================================:::::::::: <---- each of this a factory ===================================:::::::::: ===================================:::::::::: ===================================:::::::::: ===================================:::::::::: ===================================:::::::::: ===================================:::::::::: ===================================:::::::::: Client can move ^ ===================================:::::::::: funds from first -----------+----^ ===================================:::::::::: factory to either of ^ these two new LSP uses the funds of the factories first factory to build this factory
Thật không may, do thiếu các hạn chế, khách hàng cần trực tuyến cùng lúc với LSP xây dựng nhà máy mới. Nếu bỏ lỡ thời gian này thì cần thử lại vào ngày tiếp theo của kỳ kết thúc; nếu cũng bỏ lỡ ngày cuối cùng của kỳ kết thúc thì phải nghỉ việc và trả giá mọi chi phí. OP_CTV
cho phép các LSP thêm trước khách hàng vào nhà máy mới mà không yêu cầu khách hàng trực tuyến trở lại ngay lập tức (khách hàng có thể trực tuyến trở lại bất kỳ lúc nào trong thời gian kết thúc, không giống như trường hợp điều khoản không giới hạn khi khách hàng cần trực tuyến trở lại bất kỳ lúc nào trong thời gian kết thúc) Thời gian cụ thể ra mắt). Tuy nhiên, điều này cũng có nhược điểm là nếu những khách hàng đó thực sự bỏ việc thay vì gia nhập nhà máy mới, LSP sẽ buộc phải khóa tiền trong thời gian hoạt động tiếp theo, hơn nữa, do khách hàng đã rời đi nên LSP không thể lấy được chữ ký của TA và không thể sử dụng chữ ký của TA để phân phối lại tiền ngoài Chuỗi, điều này sẽ ảnh hưởng đến các khách hàng lân cận trong cây (tức là những người dùng khác trên cùng cây cũng sẽ không thể mua thanh khoản trên sổ sách với giá rẻ vì LSP Một khách hàng được thêm vào cây trước, nhưng khách hàng này thoát ra và (có thể giả định) sẽ không còn bất kỳ liên hệ nào với LSP nữa).
Yêu cầu di chuyển định kì từ cơ sở cũ sang cơ sở mới cũng tạo ra một nhịp độ thuận tiện cho việc định giá phí thanh khoản.
Thời gian kết thúc càng dài thì LSP sẽ cần đầu tư thêm vốn càng nhiều. Những khoản tiền đó cũng cần phải có lợi nhuận, vì vậy việc kéo dài thời gian đóng tài khoản đòi hỏi phải tăng phí tính cho khách hàng. Đó là một sự thuận tiện đơn giản so với việc cân nhắc chi phí.
Để giảm khả năng khách hàng phải đơn phương rút lui, LSP có thể cung cấp dịch vụ rút lui hợp tác: khách hàng thay thế tiền trong nhà máy bằng tiền Chuỗi (sử dụng HTLC tiêu chuẩn, đây là Chuỗi ngoài Chuỗi cực kỳ phổ biến). tráo đổi). Điều này cho phép khách hàng thoát khỏi Chuỗi mà không cần thực hiện giao dịch thoát đơn phương; việc thoát đơn phương sẽ dẫn đến nhiều UTXO được phát hành hơn và cũng sẽ làm tăng chi phí quản lý quỹ trên Chuỗi của LSP sau khi các nhà máy liên quan hết hạn.
Những cân nhắc thực tế
Hy vọng rằng tôi đã giải thích khái niệm về nhà máy sản xuất kênh Decker-Wattenhofer trong cấu trúc cây thời gian chờ bậc thang và hãy chuyển sang những cân nhắc thực tế liên quan đến cơ chế này.
Tại sao L?
Trong đề xuất này, mỗi lá có một đầu ra duy nhất cho LSP L
, có thể được sử dụng để phân bổ vốn linh hoạt cho những khách hàng cần dòng thanh toán.
Điều này đặt ra một câu hỏi: liệu chúng ta có thể hủy đầu ra L
này không?
Ví dụ: giả sử rằng tất cả các lá chỉ bao gồm các kênh. Như vậy A
và B
sẽ có giao dịch lá, bao gồm các kênh A & L
và B & L
Giả sử A & L
đã hết hạn ngạch thu thập của A
, trong khi B & L
có hạn ngạch thu thập. Sau đó LSP có thể chuyển tiền từ kênh có B
sang kênh có A
Vấn đề là điều này không tương thích khích lệ. B
không có khích lệ để tham gia ký kết bang mới này: bởi vì anh ta sẽ mất đi thứ gì đó có giá trị, số tiền thu được!
Giả sử cả A
và B
đều là người dùng có lượng lớn theo cả hai hướng. Nếu B
ký một giao dịch bị mất hạn ngạch thu hộ, thì miễn là lần đầu tiên anh ta đạt đến đỉnh điểm thanh toán đi và sau đó đạt đến đỉnh điểm thanh toán đến, anh ta sẽ phải mua thêm hạn ngạch thu hộ từ LSP. Nếu A
đã sử dụng hết số tiền thu có thể thu được từ việc thay đổi trạng thái thì LSP sẽ phải chuyển lên cấp trên để thu thêm thanh khoản từ các khách hàng khác. Điều này đòi hỏi nhiều khách hàng hơn quay lại Chuỗi, điều này cũng làm tăng khả năng một số khách hàng trong đó không thể trực tuyến khi cần, điều này buộc LSP phải thực hiện các khoản thanh toán đắt tiền trên Chuỗi để cho phép B
nhận được nhiều hạn ngạch thu tiền hơn. Rõ ràng, các khoản thanh toán cao hơn cũng sẽ được các LSP chuyển cho khách hàng.
Sau đó, bạn có thể đề xuất LSP có thể thanh toán cho B
và mua số tiền trong tay anh ta.
Vấn đề là ban đầu B
mua số tiền thu hộ từ LSP. Khoản thanh toán của LSP cho B
để ghi nhận thanh khoản thực tế tương đương với việc hoàn trả một sản phẩm đã được thanh toán. Như bạn có thể tưởng tượng, khoản bồi hoàn luôn là trải nghiệm tồi tệ của khách hàng; với tư cách là người bán thanh khoản, LSP phải hy vọng rằng lý tưởng nhất là tất cả thanh khoản đã bán sẽ không được trả lại để hoàn lại tiền, giống như mọi người bán đều hy vọng.
Trong thực tế, nếu mỗi đơn vị thanh khoản được ghi có có một mức giá và giá này giống nhau đối với A
và B
thì khoản hoàn trả từ B
sẽ giống hệt như khoản thanh toán từ A
Nói cách khác, LSP sẽ không có động cơ để thiết lập cơ chế như vậy vì không có cách nào để kiếm tiền từ hoạt động bán hàng; khoản thanh toán nhận được từ A
sẽ được sử dụng để mua cùng một lượng thanh khoản từ B
Nếu LSP trả cho B
ít hơn số tiền họ nhận được từ A
để có thể kiếm được khoản chênh lệch thì sẽ buộc B
rơi vào một mối quan hệ kinh tế tồi tệ. Nếu B
cần mua lại thanh khoản sau đó và LSP cũng làm theo mô hình tương tự và tính giá cao hơn thì B
sẽ mất tiền từ một lần bán và một lần mua. Đây sẽ là một trò chơi có tổng bằng 0, không ai thắng được gì cả.
Do đó, phương pháp duy nhất mà LSP thực sự có thể cung cấp thanh khoản trên sổ sách là khóa tiền trong một đầu ra chuyên dụng, trên thực tế, là một “cổ phiếu” thanh khoản.
Điều quan trọng là B
sẽ không bao giờ tham gia vào một kế hoạch có thể khiến anh ta bị mất số tiền trong bộ sưu tập của mình.
Một phương pháp khác là LSP không bán thanh khoản của sổ cái; tức là thay vì mô hình “LSP bán thanh khoản của sổ cái nhưng không tính phí định tuyến Lightning Network cho khách hàng”, đó là mô hình “LSP tính phí cho khách hàng một mức Lightning khác 0 Phí định tuyến mạng và sau đó quyết định nơi phân bổ thanh khoản”. Điều sau không lý tưởng lắm, vì có thể cho rằng khách hàng luôn biết rõ hơn LSP khi họ cần thanh khoản; sẽ cần nhiều doanh thu hơn. Hơn nữa, tin tức này có thể được phản ánh rõ ràng trong hoạt động mua trước hạn mức thanh toán từ LSP; trong trường hợp này, khách hàng này có thể đợi các khách hàng khác trên cây ra mắt.
Khích lệ khách hàng trực tuyến
Ngay cả khi có đầu ra L
chuyên dụng là "hàng tồn kho thanh khoản để bán", vì B
cũng cần trực tuyến nên B
cũng cần được bồi thường ở một mức độ nhất định.
Cách trực tiếp nhất là trong quá trình tham gia, B
có thể nhận được một phần nhỏ phí thanh khoản mà LSP tính cho A
Ngoài ra, LSP cũng có thể cung cấp một phần nhỏ thanh khoản miễn phí trực tiếp cho B
Hai phương pháp này tương đương nhau ở mức độ lớn, vì thanh khoản trong tài khoản cũng có giá trị, nhưng ưu điểm của việc này là B
có thể nhận được nhiều thanh khoản hơn trước khi cả bản thân và A
đều trực tuyến. Sau đó, A
có thể ngoại tuyến, để lại B
, người cần nhập thanh khoản để sử dụng các hoạt động đắt tiền Chuỗi, do đó, B
sẽ muốn nhận một phần nhỏ thanh khoản truy cập miễn phí ngay bây giờ (trong khi A
hiện cũng đang trực tuyến), thay vì yêu cầu. để sau ( A
có thể đang offline lúc đó).
Phân nhóm khách hàng
Một số khách hàng có thể thường xuyên tắt điện vào những thời điểm nhất định trong ngày (chẳng hạn như vào ban đêm theo giờ địa phương).
LSP có thể theo dõi thời điểm khách hàng trực tuyến và sau đó nhóm họ dựa trên thời gian trong khoảng thời gian 24 giờ khi họ có nhiều khả năng ra mắt nhất. Sau đó, khi xây dựng cây giao dịch cho một nhà máy mới, LSP có thể nhóm các khách hàng có "giai đoạn hoạt động tích cực nhất" tương tự vào cùng một lá và các lá liền kề.
Điều này sẽ làm tăng khả năng các khách hàng khác trong cùng một lá sẽ trực tuyến khi khách hàng cần số tiền thanh toán; ngay cả khi một nút lá đã cạn kiệt quỹ độc quyền L
, khách hàng ở các lá liền kề có nhiều khả năng trực tuyến hơn.
Nói tóm lại, nếu LSP có khách hàng trên toàn thế giới thì việc nhóm theo múi giờ sẽ có lợi hơn vì khách hàng ở các múi giờ liền kề có nhiều khả năng trực tuyến cùng một lúc hơn.
Xây dựng cây và lựa chọn số ngã ba
Số nhánh tối ưu cho một nút lá là 2, vì điều này có nghĩa là chỉ có ba người tham gia cần trực tuyến để cập nhật một lá: hai máy khách trên lá và chính LSP. Điều này làm cho cập nhật trạng thái đáng tin cậy hơn.
Số nhánh của giao dịch bật lên có thể được đặt thành 1. Bởi vì tất cả đầu ra của giao dịch bật lên phải được chi tiêu (khi giao dịch bật lên được xác nhận bởi khối), điều này làm giảm số lượng khách hàng bị ảnh hưởng nếu khách hàng đơn phương rút tiền. Nó cũng làm giảm số lượng khách hàng cần được đánh thức khi nút lá hết L
quỹ độc quyền.
Thật không may, số nhánh càng thấp thì chiều cao của cây càng cao:
- Chiều cao cây lớn hơn có nghĩa là cần phải xuất bản nhiều giao dịch hơn trong trường hợp thoát một phía.
- Chiều cao cây lớn hơn có nghĩa là trong trường hợp rút tiền đơn phương, tiền phải trải qua khóa thời gian tương đối
nSequence
dài hơn trước khi có thể rút tiền.- Khóa thời gian tương đối ở đây cũng buộc HTLC kết thúc ở máy khách phải đặt giới hạn thấp hơn CLTV delta cuối cùng của nó (
min_final_cltv_expiry_delta
trong BOLT11) cao hơn độ trễnSequence
tối đa có thể gặp phải khi để lộ kênh của nó, cao hơn mức mà khách hàng cho rằng nó có thể. trì hoãn việc rút vốn “một cách an toàn”. Do đó, điều rất quan trọng là phải đảm bảonSequqnce
ở mức thấp, vì độ trễ này cũng xác định độ trễ tối đa để HTLC trên mạng công cộng khóa tiền trong HTLC đang chờ xử lý và giảm công suất của mạng công cộng.
- Khóa thời gian tương đối ở đây cũng buộc HTLC kết thúc ở máy khách phải đặt giới hạn thấp hơn CLTV delta cuối cùng của nó (
Để giảm bớt những vấn đề này:
- Sử dụng số lượng nĩa nhỏ hơn ở các cấp độ gần với lá và sử dụng số lượng nĩa lớn hơn ở các cấp độ cao hơn.
- Dù thế nào đi chăng nữa, nếu nút lá không còn có thể cung cấp thêm thanh khoản đến cho khách hàng thì LSP sẽ luôn "quay lại mức trước đó" và đánh thức nhiều khách hàng hơn.
- “Trở về mức trước” có nghĩa là số lượng khách hàng cần online tăng gấp đôi, tỷ lệ thuận với số fork của nút.
- Nếu nhóm cần được đánh thức đủ lớn thì xác suất tất cả họ đều trực tuyến sẽ thấp đến mức việc tăng gấp đôi hoặc gấp bốn lần quy mô của nhóm sẽ không tạo ra bất kỳ sự khác biệt nào - bởi vì xác suất tất cả họ đều trực tuyến là rất lớn. thấp, thấp đến mức bạn sẽ quay trở lại Chuỗi một cách trung thực mà không cần tính đến cơ chế này.
- Sau một vài lớp rời khỏi các lá, chúng ta có thể loại bỏ hoàn toàn các giao dịch có trạng thái (tức là các giao dịch có
nSequence
giảm dần). Trên thực tế, điều này chuyển thành việc sử dụng đầu ra cây chữ ký hết thời gian chờ gốc để bảo mật nhiều cấu trúc cây hết thời gian chờ của các nhà máy Decker-Wattenhofer, sau đó bảo mật kênh thực tế của khách hàng.- Tương tự, nếu LSP phải "quay lại cấp độ trước đó" và theo dõi lại một đến hai cấp độ giao dịch trạng thái từ lá, sẽ có nhiều khách hàng cần được đánh thức, nhiều đến mức khó có khả năng họ sẽ trực tuyến. đồng thời, nó cũng có thể được cập nhật bằng cách sử dụng mức giao dịch trạng thái Ít hơn để giảm độ trễ khi thoát đơn phương.
- Các giao dịch phi trạng thái không có khóa thời gian tương đối nên sẽ không có thêm độ trễ khi thoát.
- Các LSP có thể nhóm các khách hàng có thời gian trực tuyến cao hơn lại với nhau, đặt họ vào nút có số lượng nhánh lớn hơn.
- Những khách hàng như vậy sẽ được phục vụ tốt hơn (họ sẽ được xếp chung nhóm với những khách hàng khác có thời gian trực tuyến cao hơn nên những người trong cùng nhóm sẽ có xu hướng online nhiều hơn khi cần nạp thanh khoản và việc rút tiền đơn phương sẽ rẻ hơn và nhanh hơn (cao hơn); số nhánh có nghĩa là chiều cao cây thấp hơn, có nghĩa là cần xuất bản ít giao dịch hơn).
- Những khách hàng có thời gian trực tuyến thấp và khách hàng mới sẽ nhận được nhiều nút hơn với nhánh số 2 và 1, do đó chi phí cho việc thoát đơn phương sẽ lớn hơn nhưng cũng cách ly tốt hơn với tác động của việc khách hàng liền kề chuyển sang ngoại tuyến.
(qua)