SieuThiBitcoin.comHiểu Bitcoin tận gốc — từ năm 2014
Mở rộng và Lightning

Mạng Lightning hoạt động ra sao

Mạng Lightning cho phép hai bên mở một kênh thanh toán bằng một giao dịch trên chuỗi, rồi trao đổi vô số lần ngoài chuỗi bằng cách cập nhật trạng thái kênh đã ký, và chỉ ghi kết quả cuối lên chuỗi khi đóng kênh. Nhờ cơ chế phạt gian lận, không bên nào có lợi khi phát tán trạng thái cũ. Bài viết giải thích từng bước.

Hai người Việt Nam chuyền bóng qua lại trong sân trường sáng

Mạng Lightning cho phép hai bên mở một kênh thanh toán bằng một giao dịch duy nhất trên chuỗi chính, khoá một lượng bitcoin vào địa chỉ đa chữ ký hai trong hai. Sau đó, họ trao đổi với nhau bao nhiêu lần cũng được, ngoài chuỗi, bằng cách cùng ký những phiên bản mới của bảng phân chia số dư trong kênh. Chỉ khi đóng kênh, kết quả cuối cùng mới được ghi lên chuỗi chính. Một cơ chế phạt bảo đảm không bên nào có lợi khi cố phát tán phiên bản cũ có lợi cho mình.

Bài viết giải thích từng bước của một kênh: mở, cập nhật, phạt gian lận, đóng. Việc nối nhiều kênh thành mạng lưới được bàn trong bài sau. Đây là kiến thức kỹ thuật, không phải hướng dẫn dùng Lightning với tài sản thật.

Ý tưởng kênh thanh toán

Hình dung hai người hay giao dịch với nhau, như một quán cà phê và một khách quen. Thay vì mỗi ly cà phê là một giao dịch trên chuỗi, tốn phí và chờ xác nhận, họ mở một sổ chung.

Khách gửi trước một khoản vào sổ chung, được khoá sao cho chỉ khi cả hai đồng ý mới chi được. Mỗi ly cà phê, họ ghi lại số dư mới: khách còn bao nhiêu, quán có bao nhiêu, cả hai ký.

Bất cứ lúc nào, một trong hai có thể mang bảng số dư mới nhất đã ký ra chuỗi chính để quyết toán.

Bitcoin trên chuỗi chỉ thấy hai giao dịch: mở sổ và đóng sổ. Hàng trăm ly cà phê ở giữa không tốn không gian khối.

Đó là ý tưởng của kênh thanh toán, có từ những năm đầu của Bitcoin, được hoàn thiện trong thiết kế Lightning.

Thách thức là làm sao ngăn một bên mang bảng số dư cũ có lợi cho mình ra quyết toán.

Mở kênh

Mở kênh là một giao dịch trên chuỗi chính, gọi là giao dịch cấp vốn, gửi bitcoin vào một đầu ra đa chữ ký hai trong hai, của hai bên trong kênh.

Trước khi phát tán giao dịch cấp vốn, hai bên ký trước một giao dịch cam kết ban đầu, chi tiêu đầu ra đó và trả lại cho bên cấp vốn. Nhờ vậy, nếu bên kia biến mất, bên cấp vốn vẫn rút được tiền về.

Điều này chỉ an toàn sau SegWit, vì trước đó mã giao dịch cấp vốn có thể bị biến dạng, làm giao dịch cam kết đã ký trước trở thành vô hiệu.

Dung lượng kênh bằng lượng bitcoin khoá vào. Ban đầu, toàn bộ thường nằm ở phía bên cấp vốn.

Sau khi giao dịch cấp vốn được xác nhận đủ, kênh sẵn sàng dùng.

Mở kênh tốn một khoản phí trên chuỗi và phải chờ xác nhận, nên Lightning hợp với những bên giao dịch nhiều lần.

Cập nhật trạng thái ngoài chuỗi

Mỗi lần thanh toán trong kênh, hai bên tạo và ký một cặp giao dịch cam kết mới, phản ánh số dư mới. Mỗi bên giữ phiên bản của mình, sẵn sàng phát tán.

Những giao dịch cam kết này không được phát tán lên chuỗi, chỉ nằm trong tay hai bên. Việc cập nhật diễn ra gần như tức thì, chỉ cần trao đổi dữ liệu qua mạng.

Đơn vị trong Lightning có thể nhỏ đến một phần nghìn satoshi trong nội bộ kênh, cho phép thanh toán rất nhỏ.

Không có phí trên chuỗi cho mỗi lần cập nhật. Phí chỉ phát sinh khi chuyển qua kênh của người khác, như bài sau sẽ giải thích.

Kênh có thể được cập nhật hàng nghìn, hàng triệu lần, tuỳ nhu cầu.

Vấn đề còn lại: mọi phiên bản cũ vẫn là giao dịch hợp lệ đã ký. Cần cơ chế làm chúng trở nên nguy hiểm cho bên gian lận.

Cơ chế phạt gian lận

Mỗi giao dịch cam kết có một điều kiện đặc biệt: phần trả cho bên phát tán bị khoá thời gian một khoảng, trong khi bên kia có thể lấy ngay phần đó nếu biết một bí mật thu hồi.

Khi chuyển sang trạng thái mới, mỗi bên trao cho bên kia bí mật thu hồi của trạng thái cũ. Từ lúc đó, nếu ai phát tán trạng thái cũ, bên kia dùng bí mật này để lấy toàn bộ số dư trong kênh trong thời gian khoá.

Như vậy, phát tán trạng thái cũ không chỉ không có lợi mà còn mất hết. Đây là động cơ kinh tế giữ hai bên trung thực.

Điều kiện để cơ chế hoạt động: bên bị gian lận phải theo dõi chuỗi và phản ứng trong thời gian khoá. Nếu họ ngoại tuyến quá lâu, kẻ gian có thể thành công.

Để giảm rủi ro này, có dịch vụ tháp canh: theo dõi chuỗi thay người dùng và phát tán giao dịch phạt khi phát hiện gian lận.

Đây là một trong những giả định quan trọng của Lightning mà người dùng cần hiểu.

Đóng kênh

Cách đóng tốt nhất là đóng hợp tác: hai bên cùng ký một giao dịch chi tiêu đầu ra cấp vốn, trả mỗi bên số dư cuối cùng, không khoá thời gian. Giao dịch gọn, phí thấp, tiền về ngay.

Nếu một bên không hợp tác hoặc ngoại tuyến, bên kia đóng đơn phương: phát tán giao dịch cam kết mới nhất của mình. Phần của chính mình bị khoá thời gian một khoảng trước khi chi tiêu được.

Đóng đơn phương tốn kém hơn và chậm hơn, nhưng bảo đảm không ai bị kẹt tiền vĩnh viễn trong kênh.

Khi phí trên chuỗi tăng cao, đóng kênh có thể tốn kém. Các giao dịch cam kết được ký trước với mức phí nhất định, nên thiết kế mới có cơ chế điều chỉnh phí khi đóng.

Sau khi đóng, bitcoin lại là UTXO bình thường trên chuỗi chính.

Vòng đời một kênh vì thế gồm: một giao dịch mở, vô số cập nhật ngoài chuỗi, một giao dịch đóng.

Những điều cần hiểu đúng về Lightning

Lightning không phải là một công ty hay một chuỗi khác. Nó là một bộ giao thức mở, nhiều phần mềm khác nhau triển khai và tương thích với nhau.

Bitcoin trong kênh Lightning vẫn là bitcoin, khoá trong đầu ra đa chữ ký trên chuỗi chính. Không có mã thông báo Lightning riêng.

Có ví Lightning tự lưu ký, bạn giữ khoá và kênh; có ví Lightning lưu ký, một công ty giữ hộ. Cái sau tiện nhưng mang rủi ro bên thứ ba như mọi lưu ký.

Lightning yêu cầu ví trực tuyến để nhận thanh toán, khác với chuỗi chính nơi bạn nhận được kể cả khi ví tắt.

Những ai quảng cáo nút Lightning để kiếm thu nhập thụ động từ phí định tuyến cần được nghe với sự hoài nghi; phí định tuyến thường nhỏ và việc vận hành có rủi ro kỹ thuật.

Bài viết giải thích cơ chế, không khuyến khích dùng Lightning với tài sản thật.

Vòng đời một kênh Lightning

Giao dịch cấp vốn Khoá bitcoin vào đầu ra đa chữ ký hai trong hai trên chuỗi.

Giao dịch cam kết ban đầu Ký trước để bên cấp vốn rút được nếu bên kia biến mất.

Dung lượng kênh Bằng lượng bitcoin khoá vào.

Cập nhật trạng thái Ký cặp giao dịch cam kết mới mỗi lần thanh toán.

Không phát tán Giao dịch cam kết nằm trong tay hai bên.

Bí mật thu hồi Trao cho bên kia khi bỏ trạng thái cũ.

Cơ chế phạt Phát tán trạng thái cũ có thể mất toàn bộ số dư kênh.

Khoá thời gian Cho bên bị gian lận thời gian phản ứng.

Tháp canh Dịch vụ theo dõi chuỗi thay người dùng ngoại tuyến.

Đóng hợp tác Cả hai ký, nhanh và rẻ.

Đóng đơn phương Một bên phát tán cam kết mới nhất, phần của mình bị khoá thời gian.

Yêu cầu SegWit Sửa biến dạng giao dịch là điều kiện cần.

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

Mạng Lightning là gì?

Là lớp hai của Bitcoin, dùng kênh thanh toán để trao đổi nhiều lần ngoài chuỗi và chỉ ghi kết quả cuối lên chuỗi chính.

Mở kênh Lightning cần gì?

Một giao dịch cấp vốn trên chuỗi khoá bitcoin vào đầu ra đa chữ ký hai trong hai của hai bên.

Nếu bên kia phát tán trạng thái cũ thì sao?

Bạn có thể dùng bí mật thu hồi để lấy toàn bộ số dư kênh trong thời gian khoá, nếu bạn hoặc tháp canh phát hiện kịp.

Tháp canh là gì?

Là dịch vụ theo dõi chuỗi thay người dùng và phát tán giao dịch phạt khi phát hiện gian lận.

Bitcoin trong Lightning có phải là đồng khác không?

Không. Đó vẫn là bitcoin, khoá trong đầu ra đa chữ ký trên chuỗi chính.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.