Lightning là cơn thịnh nộ ngày nay và, trong khi đó là một sự phát triển thú vị, người dùng hiện phải có một nút đầy đủ để chạy trong đó. Trong bài viết này, tôi sẽ giới thiệu Neutrino, một giao thức mới cho các khách hàng nhẹ để có được dữ liệu họ cần trong khi bảo vệ sự riêng tư và không tin vào một máy chủ trung tâm.

Lịch sử nhỏ

Trong tờ giấy trắng ban đầu được viết vào năm 2008, Satoshi Nakamoto đã mô tả một thứ gọi là Xác minh thanh toán đơn giản (SPV). SPV là cách một nút ánh sáng có thể xác minh thanh toán mà không cần tải xuống, xác minh hoặc lưu trữ toàn bộ blockchain. Đây được cho là cơ sở của ví ánh sáng. Thật không may, phần mềm Bitcoin Core ban đầu đã không triển khai Xác minh thanh toán đơn giản hóa, vì vậy các khách hàng nhẹ không có quyền truy cập vào dữ liệu cần thiết để thực hiện SPV theo cách bảo vệ quyền riêng tư.

Năm 2013, BIP0037 đã được thêm vào Bitcoin Core để làm cho SPV khả thi. BIP0037 đã tạo các lệnh mạng để thực hiện Xác minh thanh toán đơn giản hóa cho các nút sáng để thực hiện. Các nút ánh sáng bây giờ có thể yêu cầu bằng chứng rằng một giao dịch cụ thể đã xảy ra trong một khối cụ thể. Theo cách đó, các nút ánh sáng sẽ không phải tin tưởng vào máy chủ nhưng thực sự có thể xác minh dữ liệu được cung cấp cho chúng.

Để đạt được điều này, máy khách ánh sáng cung cấp cho máy chủ bộ lọc. Sau đó, máy chủ sẽ chạy bộ lọc qua tất cả các giao dịch của một khối mới và báo cáo lại các giao dịch đó, cùng với bằng chứng rằng chúng nằm trong khối đó, cho khách hàng. Sau đó, khách hàng xác minh bằng chứng và xem xét các giao dịch để xem liệu có bất kỳ trong số chúng thuộc về ví không.

Thật không may, BIP0037 có một vài nhược điểm. Trong số những người khác, nó được coi là khó thực hiện và hầu hết các ví nhẹ đã chọn sử dụng một cái gì đó khác. Ví dụ, ví Electrum sử dụng giao thức độc quyền của riêng nó mà không bảo vệ quyền riêng tư. Ví Mycelium gọi các máy chủ mà công ty Mycelium điều hành. Ngoài ra, có các vectơ từ chối dịch vụ (bằng cách phải chạy nhiều bộ lọc) để khai thác các máy chủ đáp ứng yêu cầu BIP0037.

Ngoài ra, các khía cạnh riêng tư của BIP0037 hóa ra không mạnh bằng đã suy nghĩ. Hóa ra máy chủ có thể biết rất nhiều về ví tiền nhẹ (như số dư mà nó có thể có, giao dịch với ai, thậm chí có thể mua) bằng cách tìm kiếm một số loại mẫu nhất định.

Kết quả là, BIP0037 phần lớn đã bị vô hiệu hóa, mặc dù đã có trong phần mềm Core kể từ năm 2013.

Neutrino là gì?

Neutrino là một giao thức để xác minh thanh toán, ngoại trừ lần này, phần lớn công việc là thực hiện về phía khách hàng Thay vì máy chủ lọc các giao dịch cho máy khách, giờ đây tất cả các giao dịch thuộc về một khối (về mặt kỹ thuật ScriptPubKeys tương ứng với từng đầu vào và đầu ra ngoại trừ đầu ra OP_RETURN) được nén và gửi đến máy khách. Bây giờ công việc của khách hàng là tìm hiểu xem có bất kỳ giao dịch nào là giao dịch mà họ đã giao dịch không. Nếu có bất kỳ giao dịch nào liên quan đến ví, thì khách hàng sẽ yêu cầu toàn bộ khối để xác minh các giao dịch.

Hóa ra việc nén có thể khá ấn tượng. Một khối bình thường có dung lượng khoảng 1,4 MB, nhưng bằng cách nén nó (về mặt kỹ thuật, băm mỗi ScriptPubKey thành 64 bit), mỗi khối tạo ra khoảng 20KB dữ liệu siêu nén cho mỗi khối. Vì khối siêu nén này là giống nhau cho mọi máy khách nhẹ, điều này loại bỏ lỗ hổng từ chối dịch vụ cho máy chủ. Điều này cũng có nghĩa là máy chủ không nhận được thông tin đặc biệt nào về máy khách ánh sáng ngoài những khối mà nó muốn xem xét, có nghĩa là có ít rò rỉ quyền riêng tư hơn.

Trao đổi

Tất nhiên , bằng cách thêm quyền riêng tư, chúng tôi có một số sự đánh đổi để xem xét. Đầu tiên, có nhiều dữ liệu được gửi qua lại. Mặc dù 1,4 MB đến 20KB là mức giảm băng thông khá lớn, BIP0037 cho phép mức giảm thậm chí còn lớn hơn khi các máy chủ chỉ truyền khoảng 3KB dữ liệu cho các khối có giao dịch mà ví tham gia và chỉ có 80 byte cho các khối mà không có giao dịch đó. Giả sử có khoảng một giao dịch mỗi ngày, đó là khoảng 100 byte cho mỗi khối cho BIP0037, điều đó có nghĩa là Neutrino đắt hơn từ quan điểm băng thông.

Ngoài ra, hiện có nhiều xác nhận hơn về phía khách hàng phải xác minh bổ sung để chứng minh rằng dữ liệu được gửi bởi máy chủ là đúng sự thật.

Quyền riêng tư được giữ trong khi tìm kiếm các giao dịch mà ví đã tham gia. Thông thường, đây là các giao dịch mà ví đang nhận tiền. Tuy nhiên, để gửi tiền, Neutrino không thực sự giúp đỡ và vẫn còn rất nhiều mối lo ngại về quyền riêng tư (mặc dù Tor và Dandelion có thể giúp đỡ).

Cuối cùng, có khả năng sẽ phải có một cam kết mới với giao dịch coinbase của mỗi khối để tạo điều kiện cho Neutrino, vốn sẽ cần một ngã ba mềm.

Điều này có nghĩa gì với bạn

Hóa ra Neutrino không chỉ hữu ích cho ví Bitcoin, mà còn hữu ích cho Lightning. Thiết lập nút Lightning hiện tại rất khó, một phần vì bạn phải chạy một nút đầy đủ, mất nhiều thời gian để đồng bộ hóa. Neutrino có sẵn trong btcd, nhưng chưa có trong Bitcoin Core, vì vậy cho đến khi nó có sẵn trong Bitcoin Core, các ví nhẹ sẽ gặp khó khăn trong việc tìm kiếm các nút để lấy dữ liệu. Chính vì lý do này mà Wasabi đã phải tạo ra các máy chủ của riêng họ với dữ liệu khối siêu nén tương tự.

Một khi Neutrino đến Bitcoin Core, Lightning Wallet sẽ có thể chạy như một ứng dụng khách nhẹ hơn nhiều. Và điều đó có nghĩa là ví bitcoin của bạn sẽ hiệu quả hơn rất nhiều trong việc giữ gìn sự riêng tư. Điều này không có nghĩa là bạn sẽ hoàn toàn ẩn danh, đặc biệt là từ phân tích chuỗi, nhưng bạn sẽ có thể đạt được một phần lớn quyền riêng tư mà các nút đầy đủ hiện đang tận hưởng mà không cần lưu trữ, truyền hoặc xác minh toàn bộ chuỗi khối.

[19459002Ròrỉquyềnriêngtưcuốicùnglàròrỉbảomậtvìthôngtinvềbạncóthểđượcsửdụngđểchốnglạibạn

Giao dịch bằng ví sử dụng giao thức Neutrino có nghĩa là các giao dịch bitcoin của bạn, dù là trên mạng hoặc trên Mạng Lightning, sẽ là một Ít bị ảnh hưởng bởi rò rỉ thông tin. Đối với người tiêu dùng, hãy hỏi xem nhà cung cấp ví của bạn có kế hoạch triển khai Neutrino không.

Kết luận

Neutrino là một công nghệ đã quá hạn. Hầu hết mọi người sử dụng phần mềm nút ánh sáng phải tin tưởng các bên ngoài ở một mức độ nào đó, đó không phải là lý tưởng cypherpunk. Bằng cách sử dụng Neutrino, các nhà phát triển ví giờ đây sẽ có thể tạo ra các ví thực sự độc lập và không yêu cầu phải tin tưởng vào máy chủ.



Nguồn bitcoinmagazine