Tiêu đề gốc: " HIỂU MẠNG LIGHTNING, PHẦN 3: HOÀN THÀNH CÂU ĐỐ VÀ KHÓA KÊNH 》
Tác giả gốc: AARON VAN WIRDUM
Bản tổng hợp gốc: Min Min & Ajian, người đam mê Ethereum

p>
Hiện tại, Alice và Bob đã mở kênh thanh toán hai chiều và lần lượt gửi 5 btc vào kênh. Họ đã hoàn thành hai giao dịch qua lại. Ở trạng thái kênh hiện tại, Alice và Bob mỗi người có thể lấy 5 btc bằng cách chấm dứt kênh.
Bây giờ, họ muốn đặt một hợp đồng khóa thời gian băm (HTLC) vào kênh để đảm bảo rằng sau khi Bob đổi 1btc lấy giá trị bí mật trong tay Carol, , Bob có thể lấy lại 1 btc từ Alice.
Tương tự như các bước trước (xem Phần 1 để biết chi tiết), trước tiên Alice và Bob cần tạo một giao dịch cam kết mới. Hai giao dịch cam kết này rất giống với các giao dịch cam kết đã tạo trước đó, bao gồm đầu ra thông thường, đầu ra địa chỉ nhiều chữ ký với khóa thời gian CSV (khóa thời gian tương đối) và khóa băm đặc biệt. Sau đó, giống như bước trước, Alice và Bob trao đổi giá trị bí mật trước đó để vô hiệu hóa trạng thái kênh trước đó. Sau khi các giá trị bí mật đã được trao đổi, Alice và Bob có thể ký các giao dịch cam kết tương ứng của họ và gửi giao dịch cam kết tới blockchain bất kỳ lúc nào.
Các bước này về cơ bản giống như các bước trước, ngoại trừ một điều. Giao dịch cam kết mới được tạo của Alice và Bob chứa một đầu ra mới và đầu ra này có giá trị 1 btc. (Do đó, số dư btc trong kênh thanh toán trở thành Alice: 4; Bob: 5; sản lượng mới: 1.)
Đầu ra mới này về cơ bản là một hợp đồng khóa thời gian băm và thú vị hơn các đầu ra khác vì có ba cách để mở khóa.
Phương pháp đầu tiên là giao dịch mới (có trong giao dịch cam kết của Alice và Bob) chỉ xảy ra khi giao dịch tiếp theo chứa chữ ký và giá trị bí mật của Bob. Đầu ra sẽ giải phóng btc. Bất kể Alice hay Bob ký và phát sóng giao dịch cam kết, chỉ Bob mới có thể mở khóa đầu ra - miễn là anh ấy bao gồm giá trị bí mật trong giao dịch tiếp theo. Tuy nhiên, có một điểm khác biệt nhỏ giữa hai giao dịch đã cam kết: nếu Bob chấm dứt kênh, anh ấy sẽ bị khóa thời gian CSV. Lúc này, Bob phải đợi 1000 khối để lấy lại btc của mình. (Nếu Alice chấm dứt kênh, Bob có thể lấy lại btc của mình ngay lập tức.)
Tại sao Bob cần đợi 1000 khối? Lý do khá giống với những gì chúng tôi đã giải thích trước đây: nếu Bob cố gắng ký và phát trạng thái kênh đã hết hạn, Alice có thể lấy đi 1 btc. Đây là cách thứ hai để mở khóa đầu ra. Nếu Alice cung cấp giá trị bí mật (mới nhất) của Bob, cô ấy có thể "đánh cắp" số tiền trong kênh.
Alice và Bob có thể chơi một trò chơi: nếu Alice cố gắng phát sóng trạng thái kênh đã hết hạn, Bob có thể sử dụng giá trị bí mật của Alice để lấy đi 1 btc (ngay cả khi không cung cấp một giá trị bí mật).
Phương pháp thứ ba, giống như các hợp đồng khóa thời gian băm khác, hai giao dịch đã cam kết này cũng chứa cơ chế dự phòng hết thời gian chờ khóa thời gian CLTV (khóa thời gian tuyệt đối) chung, đó là nghĩa là, nếu Bob không đưa giá trị bí mật vào giao dịch tiếp theo trong thời hạn (chẳng hạn như hai tuần), Alice có thể lấy lại 1btc của mình. Trong trường hợp này, việc người kết thúc kênh là Alice hay Bob không thành vấn đề.
Vậy nó hoạt động như thế nào?
Alice và Bob mỗi người nắm giữ các giao dịch cam kết có hiệu lực một phần. Nếu Alice gửi giao dịch cam kết mà cô ấy nắm giữ (mà Bob đã gửi cho cô ấy) tới blockchain, cô ấy sẽ ngay lập tức gửi 5btc cho Bob. Alice cần đợi 1000 khối trước khi có thể lấy lại 4btc của mình. Ngoài ra, Bob có hai tuần để cung cấp giá trị bí mật và mở khóa 1 btc tương ứng với "đầu ra hợp đồng khóa thời gian băm". (Nếu anh ta không cung cấp giá trị bí mật trong vòng hai tuần, Alice có thể lấy lại 1btc.)
Trong khi đó, Bob có thể rút lại lời hứa của mình bất cứ lúc nào Giao dịch được tải lên chuỗi và 4btc ngay lập tức được gửi cho Alice. Sau đó, anh ta phải đợi 1000 khối trước khi có thể rút 5 BTC từ một địa chỉ và nếu anh ta cung cấp giá trị bí mật trong thời hạn, anh ta cũng có thể mở khóa 1 BTC tương ứng với “đầu ra hợp đồng khóa thời gian băm”. (Nếu anh ta không cung cấp giá trị bí mật trong vòng hai tuần, Alice có thể lấy lại 1btc.)
Tất nhiên, nếu Alice hoặc Bob cố gắng làm điều ác bất cứ lúc nào trong tương lai và ký và phát sóng trạng thái kênh đã hết hạn, bên kia có thể chặn bên ác và đánh cắp tất cả số tiền trong kênh. btc.

Lúc này Bob chắc chắn sẽ nhận được 1btc để đổi lấy giá trị bí mật trong tay (nếu anh ta có ). Tất cả những gì anh ta phải làm là ký và phổ biến giao dịch cam kết mà anh ta nhận được từ Alice, đưa giá trị bí mật vào sau giao dịch, sau đó ký và phổ biến giao dịch sau giao dịch.
Alice biết điều này. Không có cách nào cô ấy có thể lừa gạt số btc của Bob, ngay cả khi cô ấy nhận được giá trị bí mật thông qua các phương tiện khác.
Do đó, Alice và Bob cũng có thể "thanh toán" bên ngoài kênh thanh toán. Bob có thể cung cấp giá trị bí mật cho Alice và Alice có thể đồng ý cập nhật trạng thái kênh, điều này giúp loại bỏ sự cần thiết của các hợp đồng và thời hạn khóa thời gian băm.
Giả sử cả Alice và Bob đều muốn giữ kênh mở, điều này là bình thường: việc này dễ dàng hơn nhiều so với việc chấm dứt kênh trên chuỗi.

Cuối cùng, đây là lúc Lightning Network thực sự mạnh mẽ:
Hầu như không có nội dung nào được mô tả trong loạt bài viết này yêu cầu sử dụng thực tế chuỗi khối Bitcoin . .
Nếu Alice và Bob muốn đóng kênh một cách hòa bình, họ có thể tạo một giao dịch để ghi đè hoàn toàn tất cả các giao dịch sau giao dịch mở kênh. Họ có thể gửi số dư BTC xứng đáng cho mình bằng cách đóng giao dịch kênh dựa trên quyền sở hữu số dư BTC được hiển thị trong trạng thái kênh mới nhất.
Cụ thể là, điều này có nghĩa là nếu Alice muốn đóng kênh, cô ấy có thể tạo một giao dịch để trả cho mình 4btc, đồng thời trả cho Bob 6btc, sau đó hãy để Bob Ký và phát sóng giao dịch. Bob không có lý do gì để không đồng ý với yêu cầu này và rất có thể anh ấy sẽ hợp tác với Alice để đóng kênh.
Cuối cùng, chỉ có hai giao dịch sẽ được phát lên mạng Bitcoin và được đóng gói thành các khối: giao dịch mở kênh và giao dịch đóng kênh. Đây là kết quả ngay cả khi 1 triệu giao dịch xảy ra giữa Alice và Bob, do đó giảm đáng kể gánh nặng cho blockchain.

Đặc biệt cảm ơn Rusty Russell và JosephPoon vì những thông tin và phản hồi bổ sung của họ.
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia