Ark: Giao thức Bitcoin lớp 2

Bài viết này được dịch máy
Xem bản gốc

Bởi Saravanan Mani

Nguồn: https://medium.com/@saravananmani_/ark-101-0d64cfe9378f

"Ark" là gì?

“Ark” là giao thức Bitcoin Layer 2 cho phép thanh toán Bitcoin tức thì và giá rẻ.

Hầu hết các hoạt động của nó diễn ra ngoài Chuỗi , nghĩa là các khoản thanh toán dựa trên giao thức Ark diễn ra bên ngoài blockchain Bitcoin . Ark là một giao thức hỗ trợ tự lưu ký, cho phép người dùng rút tiền trực tiếp trên Chuỗi khi cần, mặc dù điều này khác với các giải pháp tự lưu ký dựa trên đầu ra độc quyền (tôi sẽ thảo luận sau).

Không giống như Lightning Network, Ark Protocol không dựa trên các khái niệm như hóa đơn, kênh thanh toán, HTLC (Hợp đồng Khóa Thời gian Hàm băm) và định tuyến. Thay vào đó, nó sử dụng mô hình nhà cung cấp-khách hàng, trong đó tất cả người dùng tương tác với nhà cung cấp của riêng họ thay vì thông qua mạng ngang hàng (với những người dùng khác).

Ark tuân theo thiết kế lạc quan, nghĩa là người dùng giả định rằng nhà cung cấp dịch vụ sẽ điều phối giao dịch một cách chính xác. Nếu nhà cung cấp dịch vụ thờ ơ, kiểm duyệt giao dịch hoặc hành xử không phù hợp, người dùng có thể trả đũa bằng cách đơn phương thoát. Trong trường hợp bình thường, việc thoát được xử lý ngoài Chuỗi, được phối hợp giữa nhà cung cấp dịch vụ và người dùng, nghĩa là việc đơn phương thoát chỉ được sử dụng trong những trường hợp đặc biệt.

Thanh toán Ark tương tự như mô hình thanh toán trên Chuỗi : chúng là các giao dịch Bitcoin được ký trước và xử lý ngoài Chuỗi , người nhận không cần phải trực tuyến để nhận thanh toán và người dùng không cần phải khóa thanh khoản trước.

Ark chỉ dành cho Bitcoin. Nó không bao gồm Altcoin, token, sidechain và Chuỗi mới. Nó hoạt động với các quy tắc đồng thuận Bitcoin hiện tại. Tuy nhiên, "giao ước" (một loại nâng cấp quy tắc đồng thuận Bitcoin ) có thể củng cố đáng kể giao thức.

Giống như tất cả các giao thức Layer 2 , Ark cũng có những điểm cần cân nhắc riêng, khiến nó phù hợp hơn với một số tình huống và ít phù hợp hơn với những tình huống khác.

Nhập học và thanh toán

Có hai phương pháp để tham gia Ark:

  • Sử dụng giao dịch Bitcoin thông thường để di chuyển Bitcoin của bạn trong blockchain đến một Ark

  • Việc nhận thanh toán Ark-to-Ark cũng cho phép bạn truy cập ngay vào Ark. Việc này diễn ra ngoài Chuỗi, không trả giá phí xác nhận blockchain hoặc điều kiện tiên quyết nào.

    (Ghi chú của người dịch: Hình thức thanh toán này thường được gọi là thanh toán "Arkoor (Ark không tròn)".)

Tất cả các khoản thanh toán Ark-to-Ark đều diễn ra ngay lập tức, phí thấp và hoàn toàn không theo Chuỗi.

Làm thế nào để truy cập Ark thông qua tiền gửi Chuỗi?

onchain-deposit-onboard-ark

Trong ví dụ này, Alice sử dụng UTXO Chuỗi của riêng mình (được biểu diễn là "Alice input utxo" trong sơ đồ) để tạo một giao dịch cấp vốn. Giao dịch này có thể được Alice và nhà cung cấp dịch vụ (AS) của Ark mục tiêu sử dụng bất kỳ lúc nào, hoặc chỉ riêng AS sau 30 ngày. Trước khi ký và phát sóng giao dịch cấp vốn, Alice và AS cùng ký một "giao dịch ảo thoát" không phát sóng. Giao dịch thoát này sẽ sử dụng đầu ra của giao dịch cấp vốn ("đầu ra UTXO"); đầu ra của nó có thể được cả hai bên sử dụng bất kỳ lúc nào, hoặc chỉ riêng Alice sử dụng một ngày sau khi giao dịch thoát được xác nhận trong một khối. Cơ chế này cho phép Alice đơn phương thoát khỏi Ark trong vòng 30 ngày kể từ ngày tham gia.

Tất cả các giao dịch chưa được phát sóng này đều chứa một đầu ra neo bổ sung, cho phép thêm phí giao dịch thông qua phương pháp CPFP (Child Pays Parent). Để đơn giản, đầu ra neo này được thợ đào trong sơ đồ trên.

Nhưng tại sao AS có thể tự động rút tiền từ một giao dịch tài trợ sau khi bị trì hoãn tuyệt đối 30 ngày, trong khi Alibe phải đợi trì hoãn tương đối 1 ngày trước khi tự động rút tiền từ một giao dịch thoát? Tại sao CPFP lại là cơ chế thanh toán phí duy nhất cho các giao dịch này? Chúng tôi sẽ giải thích điều này sau.

Trong giao thức Ark, các giao dịch không phát sóng và UTXO được gọi lần lượt là “giao dịch ảo” và “VTXO (UTXO ảo)”.

(Ghi chú của người dịch: Như bạn thấy, các tác giả khác nhau có định nghĩa hơi khác nhau về "VTXO", nhưng ý nghĩa cốt lõi thì giống nhau.)

Giao thức Ark sử dụng các tập lệnh Taproot dựa trên Schnorr để thực thi các điều kiện chi tiêu này. Cơ chế đa chữ ký Alice+AS tuân theo giao thức tính toán bên long MuSig2 N/N, cuối cùng tạo ra một khóa công khai tổng hợp duy nhất và một chữ ký tổng hợp duy nhất.

Làm thế nào để tôi truy cập Ark thông qua Ark Payment?

ark-payment-on-board-ark

Trong trường hợp này, Alice trả cho Bob 100.000 satoshi (xem chữ "bob vtxo" màu vàng) bằng cách sử dụng VTXO của chính mình ("alice vtxo"). Cô ấy ký với AS, mở khóa các điều kiện chi tiêu "Alice+AS". Cô ấy nhận được 900.000 satoshi dưới dạng tiền thừa ("alice change vtxo"). Các điều kiện chi tiêu trong VTXO của Bob giống hệt với VTXO của Alice (điểm khác biệt duy nhất là chúng sử dụng khóa công khai của Bob thay vì của Alice). VTXO tiền thừa của Alice ("alice change vtxo") duy trì cùng các điều kiện chi tiêu như VTXO ban đầu của cô ấy.

Giờ đây, Bob có thể sử dụng VTXO của mình để khởi tạo thanh toán Ark, giống như Alice đã làm. Tuy nhiên, VTXO của Bob mang rủi ro chi tiêu gấp đôi: vì thanh toán diễn ra ngoài Chuỗi, các giao dịch này không được blockchain xác nhận và thiếu khả năng bảo vệ chi tiêu gấp đôi do blockchain cung cấp. AS và Alice có thể thông đồng và chi tiêu lại VTXO ban đầu của Alice ở nơi khác, do đó vô hiệu hóa VTXO của Bob mà anh ta không hề hay biết. Tuy nhiên, VTXO thay đổi của Alice không mang rủi ro này, vì cô ấy không có động cơ để tự lừa dối mình.

Nếu Alice và AS hành xử trung thực (không ký hoặc phát sóng các giao dịch xung đột với khoản thanh toán lần), Bob có thể đơn phương thoát khỏi Ark bằng cách phát sóng "giao dịch thanh toán ảo" và giao dịch thoát ảo. Anh ta phải trả phí xác nhận khối cho hai giao dịch này bằng CPFP.

Các VTXO có rủi ro chi tiêu gấp đôi sẽ được tô màu vàng, trong khi các VTXO không có rủi ro này sẽ được tô màu xanh lá cây.

Nhìn kỹ hơn vào Ark Payments

ark-payment-closer-look

Như bạn thấy, giống như Alice có thể trả tiền cho Bob, người dùng Ark có thể trả tiền cho nhau. Tuy nhiên, bất kỳ VTXO mới nào được tạo từ VTXO có rủi ro chi tiêu gấp đôi cũng mang cùng rủi ro. Trên thực tế, rủi ro này tăng lên vì bất kỳ người tiền nhiệm nào trong chuỗi VTXO này đều có thể thông đồng với AS để gây hại cho người nắm giữ VTXO mới nhất. VTXO thay đổi (hoặc VTXO tự thanh toán) ban đầu được tạo ra từ VTXO thoát (chẳng hạn như VTXO thoát của Alice) và có thể cho rằng không có rủi ro này vì cùng một người dùng kiểm soát cả đầu vào và đầu ra, do đó không có khích lệ để tạo ra giao dịch xung đột (tham gia vào thông đồng).

Hơn nữa, VTXO được tạo ra từ một chuỗi dài các giao dịch thanh toán phải đối mặt với phí xác nhận blockchain cao hơn khi thoát đơn phương. Điều này là do người dùng phải trả phí cho mỗi giao dịch trong chuỗi (bắt đầu từ giao dịch thoát ban đầu).

Chúng tôi sẽ thảo luận về cách giảm thiểu rủi ro chi tiêu gấp đôi và chi phí thoát đơn phương cao của VTXO chuỗi dài trong các chương tiếp theo.

Vì thanh toán Ark là giao dịch hoàn toàn ngoài Chuỗi chỉ được ký bởi người gửi và AS nên chúng diễn ra ngay lập tức và không có phí xác nhận khối.

Giao thức Ark mở rộng quy mô như thế nào để tích hợp và thanh toán?

mở rộng quy mô và thanh toán

Bất kỳ người dùng nào cũng có thể tham gia Ark bằng tiền Chuỗi của mình, giống như Alice. Trong sơ đồ trên, Wendy cũng tham gia Ark theo cách tương tự. Để đơn giản, chúng tôi chỉ hiển thị các VTXO có thể chi tiêu.

Thông lượng của các giao dịch trên Chuỗi bị giới hạn bởi không gian khối của Bitcoin. Ngược lại, thanh toán Ark diễn ra hoàn toàn ngoài Chuỗi và không bị ràng buộc bởi không gian khối. Thông lượng của nó hoàn toàn phụ thuộc vào khả năng xử lý và điều phối các giao dịch này của các nhà cung cấp dịch vụ Ark.

Lối thoát hợp tác

“Thoát khỏi hợp tác” là gì?

Trong một giao dịch hợp tác, người dùng thông báo cho AS của mình rằng họ muốn đổi một VTXO lấy một UTXO Chuỗi. Người dùng chuyển số dư VTXO của họ đến một địa chỉ do AS kiểm soát, và AS đồng thời chuyển một lượng tiền tương đương trên Chuỗi đến một địa chỉ do người dùng kiểm soát. Việc trao đổi này là nguyên tử, đảm bảo tính công bằng.

hợp tác-thoát ra

Như thể hiện trong sơ đồ trên, cả Bob và Wendy đều muốn cùng nhau thoát khỏi Ark. AS xây dựng một giao dịch, được gọi là "giao dịch hàng loạt", để chuyển tiền Chuỗi của AS cho hai người dùng này. Đồng thời, mỗi người dùng chuẩn bị một "giao dịch bị mất" để chuyển số dư VTXO của họ đến một địa chỉ do AS kiểm soát.

Ở giai đoạn này, không có giao dịch nào trong ba giao dịch này được ký. Điều này là do cả AS lẫn người dùng đều không muốn chuyển số dư của mình cho bên kia trước, vì điều này sẽ gây ra rủi ro đối tác: bên kia có thể từ chối ký giao dịch tương ứng. Để đảm bảo việc thoát lệnh công bằng, chúng ta cần một cơ chế ký nguyên tử các giao dịch này và đảm bảo việc trao đổi VTXO và UTXO công bằng.

Ý tưởng ở đây là nếu giao dịch bị hủy chỉ có thể được chi tiêu sau khi giao dịch theo đợt có thể chi tiêu được thì giao dịch đó là giao dịch nguyên tử.

hoán đổi nguyên tử

Như minh họa trong sơ đồ trên, khi chúng ta sử dụng đầu ra từ một giao dịch theo lô (gọi là "connector") làm đầu vào cho một giao dịch từ bỏ, giao dịch từ bỏ chỉ có thể được sử dụng sau khi giao dịch theo lô được ký và xác nhận. Giá trị đầu ra của connector không quan trọng; miễn là nó vượt quá lượng dust, giao dịch từ bỏ chỉ có thể được xác nhận sau khi giao dịch theo lô được xác nhận.

Bây giờ, tầm quan trọng của thứ tự chữ ký xuất hiện. Người dùng phải ký giao dịch miễn trừ của riêng mình trước — bước này hoàn toàn an toàn cho họ vì giao dịch miễn trừ sẽ không có hiệu lực trừ khi AS ký giao dịch theo đợt.

thứ tự ký kết kết nối

Sau khi nhận được giao dịch miễn trừ từ người dùng, AS hoàn tất quá trình ký và phát sóng lô giao dịch đã xử lý để nhận được xác nhận khối.

Tại sao lại thêm điều khoản “người dùng chỉ có thể rút tiền sau 1 ngày” vào VTXO?

Nếu Wendy cố gắng lừa dối nhà cung cấp dịch vụ Ark, nghĩa là sau khi đã ký một giao dịch miễn trừ và nhận được tiền từ một giao dịch theo đợt, cô ấy bắt đầu một lối thoát đơn phương và cố gắng lĩnh nhận giá trị VTXO (đã được miễn trừ) của mình, AS có thể phát sóng giao dịch miễn trừ và chặn Wendy.

Đây là mục đích của việc thêm khóa thời gian tương đối một ngày vào VTXO. Sự chậm trễ này cho phép AS có đủ thời gian để phát sóng và xác nhận giao dịch từ bỏ; giao dịch này, đã được Wendy ký, sẽ mở khóa điều kiện Wendy+AS và do đó không bị khóa thời gian. Khóa thời gian cho phép AS rút tiền từ VTXO trước khi Wendy thực hiện.

Nhà cung cấp dịch vụ có thể cấu hình thời gian khóa tương đối này.

Đầu ra của đầu nối có thể khá lớn, có cách nào để tối ưu hóa không?

Trong sơ đồ trên, số lượng đầu ra kết nối trong một giao dịch theo lô bằng với số lượng VTXO sử dụng nó để thoát hợp tác. Vì các giao dịch theo lô yêu cầu xác nhận khối, nên khi số lượng đầu ra kết nối tăng lên, kích thước của chúng cũng tăng theo, và phí xác nhận khối cũng tăng.

connector-optimaztion

Ở đây, chúng tôi thêm một giao dịch đệm gọi là "connector tx", cho phép các giao dịch theo lô chỉ chuẩn bị một đầu ra connector (để tạo đủ connector) để phục vụ tất cả các giao dịch bị hủy. Điều này loại bỏ nhu cầu chuẩn bị một đầu ra connector cho mỗi giao dịch bị hủy (trong một giao dịch theo lô), thay thế sự gia tăng tuyến tính về số lượng đầu ra connector bằng một đầu ra duy nhất, giảm đáng kể kích thước và chi phí xác nhận của các giao dịch theo lô.

Lý tưởng nhất là các giao dịch giả cho VTXO, cũng như các giao dịch bỏ rơi và giao dịch kết nối, sẽ không được phát sóng lên blockchain. Chúng là một phương án dự phòng, chỉ được triển khai trong trường hợp người dùng cố gắng gian lận (trong trường hợp đó, người dùng sẽ phát sóng toàn bộ giao dịch giả và các VTXO bị bỏ rơi, trong khi AS sẽ phát sóng các giao dịch kết nối và giao dịch bỏ rơi).

Nhưng điều gì ngăn cản người dùng thực hiện tấn công DoS (Từ chối Dịch vụ) vào AS bằng cách phát sóng một VTXO đã bị từ bỏ? Câu trả lời là vì tất cả các giao dịch ảo đều dựa vào CPFP để trả phí (và bản thân chúng không có phí), nên người dùng cố gắng gian lận phải trả phí cho toàn bộ chuỗi giao dịch. Ngay cả khi người dùng chấp nhận điều này, AS vẫn có thể rút tiền trước từ VTXO đã bị từ bỏ bằng một giao dịch từ bỏ đã ký trước. Điều này khiến các cuộc tấn công như vậy trở nên tốn kém và vô nghĩa, thực sự ngăn chặn người dùng cố gắng gian lận.

Vậy tại sao lại thêm điều kiện "AS có thể rút tiền sau thời gian trì hoãn tuyệt đối là 30 ngày" vào đầu ra UTXO?

Trong thực tế, bất kỳ nhóm người dùng nào của Nhà cung cấp dịch vụ Ark (AS) đều có thể yêu cầu thoát hợp tác bất cứ lúc nào.

Các VTXO được tạo ra từ đầu ra của giao dịch tài trợ được lấy trực tiếp hoặc gián tiếp từ đầu ra đó, tạo thành một cấu trúc giao dịch đa lớp, được kết nối với nhau. Điều này có nghĩa là nhiều người dùng thực sự chia sẻ cùng một UTXO trên Chuỗi từ giao dịch tài trợ.

Tuy nhiên, AS không thể buộc tất cả người dùng khác cùng chia sẻ giao dịch tổ tiên phải thoát khi một người dùng yêu cầu thoát hợp tác. Làm như vậy sẽ tạo ra trải nghiệm người dùng kém và không thực tế vì một số người dùng có thể ngoại tuyến hoặc không phản hồi trong quá trình thoát hợp tác.

Để xử lý các yêu cầu thoát của một số người dùng mà không làm phiền những người dùng khác, AS tạm thời sử dụng quỹ Chuỗi của mình để hỗ trợ những người dùng muốn thoát theo nhóm.

Tuy nhiên, sau khi AS tự bơm tiền vào các giao dịch theo đợt (để phục vụ người dùng), làm thế nào nó có thể thu hồi tiền từ các VTXO bị người dùng bỏ rơi? Một lựa chọn là phát sóng giao dịch bỏ rơi. Tuy nhiên, điều này sẽ buộc phải rút nhiều VTXO không liên quan nhưng có cùng giao dịch tổ tiên. Hơn nữa, cách tiếp cận này sẽ gây ra chi phí xác nhận giao dịch không cần thiết và trì hoãn, về cơ bản đi chệch khỏi mục đích ban đầu của thiết kế off Chuỗi của Ark.

Đồng thời, AS không thể khóa vĩnh viễn thanh khoản mà nó cung cấp cho đến khi tất cả người dùng tham gia giao dịch tài trợ cùng nhau thoát ra. Điều này sẽ quá tốn kém. Làm như vậy sẽ tạo ra gánh nặng không thể chịu đựng nổi cho AS và khiến hệ thống này không thể mở rộng quy mô.

Một cách tiếp cận thực tế hơn sẽ là áp đặt một thời hạn chót cho tất cả người dùng cùng chia sẻ giao dịch tài trợ, trước thời hạn đó họ phải bắt đầu một thỏa thuận hợp tác thoát lệnh. Nhưng làm thế nào để đạt được điều này?

Đây là lúc chính sách "Rút AS sau 30 ngày trì hoãn tuyệt đối" được áp dụng. Sau 30 ngày trì hoãn tuyệt đối, AS có thể sử dụng UTXO một cách độc lập. Trong khoảng thời gian này, người dùng có thể yêu cầu thoát hợp tác bất cứ lúc nào. Tuy nhiên, nếu người dùng không thoát trong khoảng thời gian này, VTXO của họ sẽ bị AS lấy đi—bất kể họ đã ký rõ ràng giao dịch rút tiền hay chưa.

Cơ chế này cho phép AS tái sử dụng thanh khoản trong một khung thời gian dự đoán được và tiếp tục hoạt động hiệu quả. Thời hạn của kỳ hạn này cũng có thể được thiết lập bởi nhà cung cấp dịch vụ.

Nhược điểm là người dùng không hành động trước thời hạn sẽ mất số dư VTXO (do AS lấy đi).

Ba câu hỏi ngượng ngùng

ba-vấn-đề-khó-khăn

Chúng tôi đã xác định được ba vấn đề khó xử có thể khiến giao thức Ark trở nên không thực tế hoặc kém hấp dẫn:

  • Rủi ro chi tiêu gấp đôi liên quan đến VTXO được tạo từ thanh toán Ark
  • Rủi ro mất số dư VTXO do không rút tiền trước thời hạn 30 ngày
  • Khó khăn và chi phí cao khi thoát đơn phương, đặc biệt đối với người dùng có VTXO ở cuối chuỗi giao dịch ảo dài

Giao thức Ark có thể giải quyết những vấn đề này như thế nào?

May mắn thay, cả ba vấn đề đều có thể được giải quyết bằng một giải pháp: AS thu hồi các VTXO bị ảnh hưởng và cấp các VTXO giao dịch ảo thoát được làm mới cho những người dùng có liên quan.

Chúng ta có thể giải quyết những vấn đề này bằng cách sử dụng xử lý hàng loạt giao dịch, tương tự như quy trình thoát hợp tác. Tuy nhiên, thay vì điều phối một UTXO trên Chuỗi cho mỗi người dùng, AS chỉ cần cấp cho mỗi người dùng một VTXO mới từ một giao dịch thoát ảo mới. VTXO mới này an toàn hơn vì không có rủi ro chi tiêu gấp đôi, không nằm ở cuối một chuỗi giao dịch ảo dài và được đặt lại ngày hết hạn sau 30 ngày.

issue-new-vtxo

Trong ví dụ trên, Dave đã hoán đổi VTXO cũ (có rủi ro chi tiêu gấp đôi) thành một VTXO mới, không rủi ro. Thay vì sử dụng các giao dịch theo đợt để thực hiện thoát hợp tác (thu thập UTXO Chuỗi), anh ấy đã thu thập VTXO mới một cách an toàn từ một giao dịch thoát ảo.

Nếu bạn xem xét kỹ hơn, bạn sẽ nhận thấy rằng các điều kiện chi tiêu cho đầu ra đầu tiên của giao dịch theo lô ở trên giống hệt với các điều kiện cho giao dịch cấp vốn đã đề cập ở trên. Giao dịch ảo thoát của Dave cũng liên quan đến lần. Sự khác biệt chính nằm ở nguồn tiền: trong khi tiền cho giao dịch cấp vốn được đề cập ở trên đến từ UTXO của chính người dùng, thì tiền cho giao dịch theo lô ở đây đến từ UTXO của chính AS. Tại sao? Lý do cũng giống như việc AS cấp vốn cho giao dịch thoát hợp tác—AS tạm thời bơm tiền của chính mình để giúp người dùng đổi VTXO cũ lấy VTXO mới. Khi VTXO cũ hết hạn, AS có thể thu hồi toàn bộ tiền cùng một lúc, giống như trong giao dịch thoát hợp tác.

Khi ngày hết hạn của VTXO mới này đến gần, người dùng phải thực hiện một lần hoán đổi khác theo cùng quy trình. Điều này ngăn chặn việc AS chiếm đoạt các VTXO đã hết hạn. Nếu AS quét các VTXO đã hết hạn (mà không từ bỏ chúng một cách rõ ràng), người dùng thực tế đã giao tiền của mình cho AS. Giao thức Ark không đảm bảo rằng giá trị của các VTXO đã quét sẽ được trả lại cho người dùng. Tuy nhiên, trên thực tế, AS có thể cấp một VTXO mới có cùng giá trị cho người dùng như một sự ưu đãi khi họ quay lại internet.

Đương nhiên, các giao dịch hoán đổi định kỳ này sẽ trả giá phí, vì các giao dịch theo lô yêu cầu xác nhận khối. Tuy nhiên, mức phí này thường thấp, vì mỗi người dùng chỉ phải trả một phần phí xác nhận khối.

Giao thức Ark mở rộng thông lượng hoán đổi VTXO như thế nào?

vtxo-swap-scaling

Một lợi thế quan trọng của thiết kế này là mở rộng. Trong ví dụ trên, Carol và Dave mỗi người trao đổi VTXO của mình, vốn có rủi ro chi tiêu gấp đôi, để lấy VTXO mới từ một giao dịch giả thoát. Một giao dịch hàng loạt duy nhất có thể hỗ trợ hàng nghìn người dùng chỉ bằng cách thêm khóa công khai của người dùng vào các điều kiện chi tiêu đa chữ ký của đầu ra và tạo ra nhiều giao dịch giả thoát và VTXO hơn. Điểm nghẽn chính nằm ở quy trình chữ ký tương tác giữa AS và tất cả người dùng tham gia.

Chi tiết về giao dịch hàng loạt và thoát khỏi giao dịch ảo

Tần suất AS tạo ra các lô giao dịch

tần suất giao dịch hàng loạt

Thông thường, AS tạo một loạt giao dịch mới theo định kỳ, chẳng hạn như mỗi giờ một lần. Người dùng muốn hợp tác thoát hoặc đổi VTXO hiện có lấy VTXO mới, không rủi ro có thể đăng ký ý định của mình với AS, sau đó AS sẽ điều phối giao dịch với phần mềm ví của họ. Khoảng thời gian này do chính AS xác định. Trong những giai đoạn nhu cầu cao, AS có thể khởi tạo lần bổ sung khi cần thiết.

Có một số vấn đề khi thoát khỏi giao dịch ảo

Trong cấu trúc giao dịch ảo thoát cơ bản, khi một người dùng đơn phương thoát, tất cả người dùng khác trong cùng lần cũng bị buộc phải thoát. Điều này phá vỡ tính liên tục của các cơ sở xử lý ngoài Chuỗi, gây ra các khoản phí và sự chậm trễ không mong muốn, đồng thời yêu cầu mọi người phải tham gia lại thị trường.

Hơn nữa, phí xác nhận khối cho một lần thoát đơn phương tăng tuyến tính với số lượng VTXO trong cùng một lần. Ví dụ: nếu một lần chứa 1.000 VTXO, thì người dùng thoát khỏi lô phải trả phí xác nhận khối cho tất cả 1.000 đầu ra, khiến việc thoát đơn phương trở nên cực kỳ tốn kém.

Làm thế nào để giải quyết vấn đề này?

xây dựng cây giao dịch

Thay vì chỉ có một giao dịch ảo thoát duy nhất mang tất cả các VTXO, chúng ta có thể sử dụng cấu trúc giao dịch ảo thoát giống cây nhị phân. Trong cấu trúc này, như được thể hiện trong sơ đồ trên, nếu Carol (trước những người tham gia khác trong cùng một lần) muốn thoát đơn phương, cô ấy cần phát sê-ri các giao dịch ảo theo trình tự: đầu tiên, "giao dịch ảo gốc" neo toàn bộ lần; sau đó, "giao dịch ảo nhánh" bên trái dẫn đến vị trí các VTXO của cô ấy; và cuối cùng là "giao dịch ảo thoát" của riêng cô ấy.

Kết quả là, nếu Dave cũng muốn thoát đơn phương, vì anh ấy và Carol tình cờ nằm ​​trên cùng một nhánh của cây, anh ấy chỉ cần phát giao dịch ảo thoát của riêng mình, vì các giao dịch tổ tiên của giao dịch này trong cây - giao dịch ảo gốc và giao dịch ảo nhánh - đã được khối xác nhận trong quá trình thoát đơn phương của Carol.

Thiết kế thoát giao dịch ảo theo cấu trúc cây mang lại một số lợi thế so với thiết kế cơ bản. Trong thiết kế cơ bản, việc một người dùng thoát đơn phương sẽ buộc tất cả người dùng khác trong cùng lần cũng phải thoát. Trong thiết kế cấu trúc cây, những người dùng không khởi tạo thoát đơn phương sẽ không bị ảnh hưởng bởi việc thoát của những người dùng khác, do đó tránh được việc thoát bắt buộc trong khi vẫn duy trì trải nghiệm người dùng về thanh toán ngoài Chuỗi .

Gánh nặng phí xác nhận khối của một lần thoát đơn phương do đó được giảm đáng kể. Trong thiết kế cấu trúc cây, phí xác nhận khối không còn tăng tuyến tính theo số lượng VTXO nữa, mà tăng theo logarit với số lượng VTXO (tăng tuyến tính theo độ sâu của cây), giúp việc thoát đơn phương trở nên kinh tế hơn. Người dùng khởi tạo thao tác sau sẽ được hưởng lợi nhiều hơn, vì họ chỉ cần phát sóng các giao dịch nhánh con và lá của riêng mình, giảm thiểu phí xác nhận khối cá nhân.

Cấu trúc cây cũng cải thiện mở rộng, cho phép một lần duy nhất chứa nhiều VTXO hơn. Tuy nhiên, nó cũng mang lại sự phức tạp hơn: số lượng chữ ký tương tác tăng theo độ sâu của cây, và cần sự phối hợp chặt chẽ hơn giữa những người tham gia.

Khi người dùng chọn thoát đơn phương, họ phải phát sóng mọi kết nối (mọi giao dịch) dọc theo toàn bộ đường dẫn từ gốc đến lá của họ, khiến quá trình này cực kỳ tốn thời gian và công sức. Tuy nhiên, các giao dịch gốc và nhánh (đầu ra) sử dụng cùng quy tắc kịch bản và điều kiện hết hạn như các giao dịch theo lô. Điểm khác biệt chính là các giao dịch này không được phát sóng ngay lập tức lên mạng blockchain sau khi được ký, mà chỉ khi cần thiết.

Cuối cùng, nếu người dùng thoát đơn phương, thì khi AS cần xóa giá trị của VTXO còn lại trong tương lai, nó cũng phải phát và xác nhận giao dịch nhánh tương ứng (thay vì chỉ sử dụng các giao dịch xử lý hàng loạt để hoàn tất việc xóa).

- - -

Để tìm hiểu thêm, hãy xem các tài nguyên sau:

Xin chân thành cảm ơn tiero đã đánh giá bài viết này.

(qua)

Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận