a16z Crypto ra mắt khách hàng ánh sáng Helios: đạt được quyền truy cập Ethereum thực sự không cần tin cậy
Vào ngày 8 tháng 11 năm 2023, a16z Crypto đã phát hành khách hàng ánh sáng Helios của Ethereum, công cụ này được phát triển dựa trên ngôn ngữ Rust nhằm cung cấp khả năng truy cập mạng Ethereum hoàn toàn không cần tin cậy.
Một trong những giá trị cốt lõi của công nghệ blockchain là cho phép người dùng không phải phụ thuộc vào niềm tin của bên thứ ba, từ đó thực sự kiểm soát tài sản và dữ liệu của chính mình. Ethereum và các blockchain khác đã thực hiện cam kết này ở mức độ lớn, đảm bảo rằng tài sản của chúng ta thực sự thuộc về chính chúng ta.
Tuy nhiên, để thuận tiện, hầu hết người dùng đã phải đưa ra một số nhượng bộ khi sử dụng blockchain. Một trong những nhượng bộ rõ ràng nhất là phụ thuộc vào các máy chủ RPC( từ xa tập trung. Người dùng thường truy cập vào mạng Ethereum thông qua một số nhà cung cấp dịch vụ tập trung. Những công ty này vận hành các nút hiệu suất cao trên các máy chủ đám mây, giúp người dùng dễ dàng truy cập dữ liệu trên chuỗi. Khi ví kiểm tra số dư token hoặc kiểm tra trạng thái giao dịch, gần như luôn thông qua các dịch vụ tập trung này.
Các vấn đề chính của hệ thống hiện tại là người dùng phải tin tưởng vào các nhà cung cấp này và không thể tự xác minh độ chính xác của thông tin nhận được.
Helios:khách hàng ánh sáng và hoàn toàn có thể xác minh
Helios là một khách hàng ánh sáng Ethereum dựa trên Rust, có khả năng cung cấp truy cập blockchain thuận tiện mà không hy sinh tính bảo mật. Nó sử dụng giao thức khách hàng ánh sáng được thực hiện khi Ethereum chuyển sang PoS, chuyển đổi dữ liệu từ các nhà cung cấp RPC trung tâm không đáng tin cậy thành RPC cục bộ an toàn và có thể xác minh. Bằng cách kết hợp với RPC trung tâm, Helios có thể xác minh tính xác thực của dữ liệu mà không cần chạy nút đầy đủ.
Khách hàng ánh sáng này có thể hoàn thành việc đồng bộ trong khoảng hai giây mà không cần không gian lưu trữ bổ sung, người dùng có thể truy cập an toàn dữ liệu trên chuỗi thông qua bất kỳ thiết bị nào ) bao gồm điện thoại di động và tiện ích mở rộng trình duyệt (.
Rủi ro tiềm ẩn của cơ sở hạ tầng tập trung hóa
Trong "rừng tối" của Ethereum ẩn chứa những rủi ro lý thuyết. Những rủi ro này không đến từ cuộc tấn công chạy phía trước trong bộ nhớ giao dịch )Mempool(, mà là thông qua việc mô phỏng các cơ sở hạ tầng trung tâm mà chúng ta phụ thuộc để đặt bẫy.
Người dùng gặp phải các cuộc tấn công như vậy có thể không phạm phải bất kỳ sai lầm nào: họ chỉ đơn giản là truy cập vào DEX thông thường, thiết lập trượt giá hợp lý và thực hiện giao dịch mã thông báo bình thường. Tuy nhiên, họ vẫn có thể phải đối mặt với một loại tấn công sandwich đặc biệt, loại tấn công này ẩn nấp ở cổng truy cập Ethereum - nhà cung cấp RPC.
Khi người dùng thực hiện một giao dịch trên DEX, một số thông số được cung cấp cho hợp đồng thông minh: mã thông báo được giao dịch, số lượng giao dịch và số lượng mã thông báo tối thiểu mà người dùng sẵn sàng chấp nhận ) tức là ( trượt giá. Nếu trượt giá được đặt đúng cách, về mặt lý thuyết, người dùng sẽ không bị tấn công bánh sandwich. Nhưng điều gì sẽ xảy ra nếu nhà cung cấp RPC không cung cấp báo giá chính xác cho hợp đồng DEX? Người dùng có thể bị lừa để ký các giao dịch với số lượng chấp nhận tối thiểu thấp hơn. Để làm cho vấn đề tồi tệ hơn, người dùng có thể gửi giao dịch trực tiếp đến các nhà cung cấp RPC độc hại, những người có thể giữ các giao dịch đó ở chế độ riêng tư và gửi chúng trực tiếp đến các nhà sản xuất khối thông qua các kênh cụ thể để kiếm lợi nhuận.
Nguyên nhân cơ bản của loại tấn công này là người dùng cần phải dựa vào bên thứ ba để lấy trạng thái blockchain. Để giải quyết vấn đề này, người dùng có kinh nghiệm thường chọn cách vận hành nút Ethereum của riêng mình, nhưng điều này cần rất nhiều thời gian và nguồn lực: ít nhất cần một thiết bị luôn trực tuyến, hàng trăm GB không gian lưu trữ và khoảng một ngày để đồng bộ hóa. Mặc dù quá trình này đã được đơn giản hóa nhiều so với trước đây, nhưng vẫn khó thực hiện đối với hầu hết người dùng, đặc biệt là đối với người dùng thiết bị di động.
Cần lưu ý rằng, mặc dù lý thuyết tấn công từ nhà cung cấp RPC tập trung hoàn toàn có thể xảy ra, nhưng hiện tại chưa phát hiện nhà cung cấp lớn, nổi tiếng nào thực hiện hành vi như vậy. Tuy nhiên, trước khi thêm nhà cung cấp RPC không quen thuộc vào ví, vẫn rất cần thiết để nghiên cứu đầy đủ.
Nguyên lý hoạt động của Helios: Phân tích sâu
Sau khi Ethereum ra mắt giao thức khách hàng ánh sáng, đã tạo ra những khả năng mới cho việc tương tác nhanh chóng với blockchain và xác thực các điểm cuối RPC với yêu cầu phần cứng tối thiểu. Chỉ trong một tháng sau khi hợp nhất )The Merge(, đã xuất hiện nhiều dự án khách hàng ánh sáng độc lập )Lodestar, Nimbus và Kevlar dựa trên JavaScript (, mỗi dự án áp dụng các phương pháp khác nhau nhưng đều hướng tới cùng một mục tiêu: cung cấp quyền truy cập hiệu quả mà không cần chạy nút đầy đủ.
Helios giống như tất cả các khách hàng Ethereum, bao gồm một lớp thực thi và một lớp đồng thuận. Nhưng khác với hầu hết các khách hàng, Helios kết hợp chặt chẽ hai lớp này, người dùng chỉ cần cài đặt và chạy một phần mềm duy nhất.
) lớp đồng thuận
Khách hàng ánh sáng của lớp đồng thuận Helios tuân theo tiêu chuẩn khách hàng ánh sáng của chuỗi tín hiệu, sử dụng ủy ban đồng bộ của chuỗi tín hiệu ### được giới thiệu trong hard fork Altair. Ủy ban đồng bộ là một tập hợp gồm 512 người xác thực được chọn ngẫu nhiên, có chu kỳ phục vụ khoảng 27 giờ.
Các xác thực viên trong ủy ban đồng bộ sẽ ký tất cả các tiêu đề khối của chuỗi beacon mà họ nhìn thấy. Nếu hơn hai phần ba thành viên của ủy ban ký vào tiêu đề khối, thì khối đó gần như chắc chắn nằm trong chuỗi beacon tiêu chuẩn. Khi Helios hiểu được thành phần của ủy ban đồng bộ hiện tại, nó có thể theo dõi đầu chuỗi một cách đáng tin cậy bằng cách truy vấn chữ ký của ủy ban đồng bộ gần đây.
Nhờ vào công nghệ tổng hợp chữ ký BLS, chỉ cần một lần truy vấn là có thể hoàn thành việc xác minh tiêu đề khối mới. Chỉ cần chữ ký hợp lệ và hơn hai phần ba thành viên ủy ban đã ký, thì có thể đảm bảo rằng khối đó đã được bao gồm trong chuỗi.
Hệ thống trước tiên cần phải lấy một điểm kiểm tra chủ quan yếu (weak subjectivity checkpoint) làm nguồn tin cậy. Đây là một khối hash đã được đảm bảo được đưa vào chuỗi tại một thời điểm nào đó trong quá khứ. Sử dụng điểm kiểm tra này, Helios có thể lấy và xác minh hội đồng đồng bộ hiện tại và tiếp theo, từ đó nhanh chóng xem xét lịch sử blockchain và đồng bộ đến khối mới nhất.
( lớp thực thi
Mục tiêu của khách hàng ánh sáng của lớp thực thi là kết hợp tiêu đề khối tín hiệu được xác minh bởi lớp đồng thuận với RPC lớp thực thi không đáng tin cậy, cung cấp dữ liệu lớp thực thi đã được xác minh. Sau đó, dữ liệu này được truy cập thông qua máy chủ RPC được lưu trữ cục bộ bằng Helios.
Ethereum lưu trữ thông tin tài khoản thông qua cây trạng thái, bao gồm mã băm hợp đồng, số ngẫu nhiên, mã băm lưu trữ và số dư. Chỉ cần biết gốc của cây trạng thái, có thể xác minh chứng Merkle, chứng minh liệu bất kỳ tài khoản nào có tồn tại trong cây hay không, và chứng minh này không thể bị làm giả.
Helios lấy trạng thái gốc đã được xác thực từ lớp đồng thuận và kết hợp nó với yêu cầu chứng minh Merkle từ lớp thực thi không đáng tin cậy, thực hiện xác thực cục bộ đối với tất cả dữ liệu được lưu trữ trên Ethereum. Bằng cách này, RPC không đáng tin cậy có thể từ chối cung cấp quyền truy cập dữ liệu, nhưng không thể cung cấp kết quả sai.
Ứng dụng thực tế của Helios
Thiết kế nhẹ của Helios cho phép người dùng truy cập dữ liệu trên chuỗi một cách an toàn từ bất kỳ thiết bị nào ) bao gồm điện thoại di động và plugin trình duyệt ###. Người dùng có thể thiết lập Helios làm nhà cung cấp RPC trong MetaMask mà không cần bất kỳ thay đổi nào khác để truy cập các DApp một cách không tin cậy.
Ngoài ra, hỗ trợ tốt của Rust cho WebAssembly cho phép các nhà phát triển ứng dụng dễ dàng nhúng Helios vào các ứng dụng JavaScript ( như ví và DApp ). Những tích hợp này sẽ nâng cao tính bảo mật của Ethereum, giảm sự phụ thuộc vào cơ sở hạ tầng tập trung.
Cộng đồng có thể đóng góp cho Helios theo nhiều cách, bao gồm:
Hỗ trợ lấy dữ liệu khách hàng ánh sáng trực tiếp từ mạng P2P
Thực hiện các phương pháp RPC bị thiếu
Xây dựng phiên bản Helios có thể biên dịch sang WebAssembly
Tích hợp Helios trực tiếp vào phần mềm ví
Xây dựng bảng điều khiển mạng để xem số dư token
Kết nối lớp đồng thuận Helios với nút toàn vẹn lớp thực thi hiện có
Kho mã của dự án này đã được mã nguồn mở, chào mừng các nhà phát triển quan tâm tham gia đóng góp.
Nội dung chỉ mang tính chất tham khảo, không phải là lời chào mời hay đề nghị. Không cung cấp tư vấn về đầu tư, thuế hoặc pháp lý. Xem Tuyên bố miễn trừ trách nhiệm để biết thêm thông tin về rủi ro.
a16z ra mắt khách hàng ánh sáng Helios: Giải pháp truy cập Ethereum không cần tin cậy mới
a16z Crypto ra mắt khách hàng ánh sáng Helios: đạt được quyền truy cập Ethereum thực sự không cần tin cậy
Vào ngày 8 tháng 11 năm 2023, a16z Crypto đã phát hành khách hàng ánh sáng Helios của Ethereum, công cụ này được phát triển dựa trên ngôn ngữ Rust nhằm cung cấp khả năng truy cập mạng Ethereum hoàn toàn không cần tin cậy.
Một trong những giá trị cốt lõi của công nghệ blockchain là cho phép người dùng không phải phụ thuộc vào niềm tin của bên thứ ba, từ đó thực sự kiểm soát tài sản và dữ liệu của chính mình. Ethereum và các blockchain khác đã thực hiện cam kết này ở mức độ lớn, đảm bảo rằng tài sản của chúng ta thực sự thuộc về chính chúng ta.
Tuy nhiên, để thuận tiện, hầu hết người dùng đã phải đưa ra một số nhượng bộ khi sử dụng blockchain. Một trong những nhượng bộ rõ ràng nhất là phụ thuộc vào các máy chủ RPC( từ xa tập trung. Người dùng thường truy cập vào mạng Ethereum thông qua một số nhà cung cấp dịch vụ tập trung. Những công ty này vận hành các nút hiệu suất cao trên các máy chủ đám mây, giúp người dùng dễ dàng truy cập dữ liệu trên chuỗi. Khi ví kiểm tra số dư token hoặc kiểm tra trạng thái giao dịch, gần như luôn thông qua các dịch vụ tập trung này.
Các vấn đề chính của hệ thống hiện tại là người dùng phải tin tưởng vào các nhà cung cấp này và không thể tự xác minh độ chính xác của thông tin nhận được.
Helios:khách hàng ánh sáng và hoàn toàn có thể xác minh
Helios là một khách hàng ánh sáng Ethereum dựa trên Rust, có khả năng cung cấp truy cập blockchain thuận tiện mà không hy sinh tính bảo mật. Nó sử dụng giao thức khách hàng ánh sáng được thực hiện khi Ethereum chuyển sang PoS, chuyển đổi dữ liệu từ các nhà cung cấp RPC trung tâm không đáng tin cậy thành RPC cục bộ an toàn và có thể xác minh. Bằng cách kết hợp với RPC trung tâm, Helios có thể xác minh tính xác thực của dữ liệu mà không cần chạy nút đầy đủ.
Khách hàng ánh sáng này có thể hoàn thành việc đồng bộ trong khoảng hai giây mà không cần không gian lưu trữ bổ sung, người dùng có thể truy cập an toàn dữ liệu trên chuỗi thông qua bất kỳ thiết bị nào ) bao gồm điện thoại di động và tiện ích mở rộng trình duyệt (.
Rủi ro tiềm ẩn của cơ sở hạ tầng tập trung hóa
Trong "rừng tối" của Ethereum ẩn chứa những rủi ro lý thuyết. Những rủi ro này không đến từ cuộc tấn công chạy phía trước trong bộ nhớ giao dịch )Mempool(, mà là thông qua việc mô phỏng các cơ sở hạ tầng trung tâm mà chúng ta phụ thuộc để đặt bẫy.
Người dùng gặp phải các cuộc tấn công như vậy có thể không phạm phải bất kỳ sai lầm nào: họ chỉ đơn giản là truy cập vào DEX thông thường, thiết lập trượt giá hợp lý và thực hiện giao dịch mã thông báo bình thường. Tuy nhiên, họ vẫn có thể phải đối mặt với một loại tấn công sandwich đặc biệt, loại tấn công này ẩn nấp ở cổng truy cập Ethereum - nhà cung cấp RPC.
Khi người dùng thực hiện một giao dịch trên DEX, một số thông số được cung cấp cho hợp đồng thông minh: mã thông báo được giao dịch, số lượng giao dịch và số lượng mã thông báo tối thiểu mà người dùng sẵn sàng chấp nhận ) tức là ( trượt giá. Nếu trượt giá được đặt đúng cách, về mặt lý thuyết, người dùng sẽ không bị tấn công bánh sandwich. Nhưng điều gì sẽ xảy ra nếu nhà cung cấp RPC không cung cấp báo giá chính xác cho hợp đồng DEX? Người dùng có thể bị lừa để ký các giao dịch với số lượng chấp nhận tối thiểu thấp hơn. Để làm cho vấn đề tồi tệ hơn, người dùng có thể gửi giao dịch trực tiếp đến các nhà cung cấp RPC độc hại, những người có thể giữ các giao dịch đó ở chế độ riêng tư và gửi chúng trực tiếp đến các nhà sản xuất khối thông qua các kênh cụ thể để kiếm lợi nhuận.
Nguyên nhân cơ bản của loại tấn công này là người dùng cần phải dựa vào bên thứ ba để lấy trạng thái blockchain. Để giải quyết vấn đề này, người dùng có kinh nghiệm thường chọn cách vận hành nút Ethereum của riêng mình, nhưng điều này cần rất nhiều thời gian và nguồn lực: ít nhất cần một thiết bị luôn trực tuyến, hàng trăm GB không gian lưu trữ và khoảng một ngày để đồng bộ hóa. Mặc dù quá trình này đã được đơn giản hóa nhiều so với trước đây, nhưng vẫn khó thực hiện đối với hầu hết người dùng, đặc biệt là đối với người dùng thiết bị di động.
Cần lưu ý rằng, mặc dù lý thuyết tấn công từ nhà cung cấp RPC tập trung hoàn toàn có thể xảy ra, nhưng hiện tại chưa phát hiện nhà cung cấp lớn, nổi tiếng nào thực hiện hành vi như vậy. Tuy nhiên, trước khi thêm nhà cung cấp RPC không quen thuộc vào ví, vẫn rất cần thiết để nghiên cứu đầy đủ.
Nguyên lý hoạt động của Helios: Phân tích sâu
Sau khi Ethereum ra mắt giao thức khách hàng ánh sáng, đã tạo ra những khả năng mới cho việc tương tác nhanh chóng với blockchain và xác thực các điểm cuối RPC với yêu cầu phần cứng tối thiểu. Chỉ trong một tháng sau khi hợp nhất )The Merge(, đã xuất hiện nhiều dự án khách hàng ánh sáng độc lập )Lodestar, Nimbus và Kevlar dựa trên JavaScript (, mỗi dự án áp dụng các phương pháp khác nhau nhưng đều hướng tới cùng một mục tiêu: cung cấp quyền truy cập hiệu quả mà không cần chạy nút đầy đủ.
Helios giống như tất cả các khách hàng Ethereum, bao gồm một lớp thực thi và một lớp đồng thuận. Nhưng khác với hầu hết các khách hàng, Helios kết hợp chặt chẽ hai lớp này, người dùng chỉ cần cài đặt và chạy một phần mềm duy nhất.
) lớp đồng thuận
Khách hàng ánh sáng của lớp đồng thuận Helios tuân theo tiêu chuẩn khách hàng ánh sáng của chuỗi tín hiệu, sử dụng ủy ban đồng bộ của chuỗi tín hiệu ### được giới thiệu trong hard fork Altair. Ủy ban đồng bộ là một tập hợp gồm 512 người xác thực được chọn ngẫu nhiên, có chu kỳ phục vụ khoảng 27 giờ.
Các xác thực viên trong ủy ban đồng bộ sẽ ký tất cả các tiêu đề khối của chuỗi beacon mà họ nhìn thấy. Nếu hơn hai phần ba thành viên của ủy ban ký vào tiêu đề khối, thì khối đó gần như chắc chắn nằm trong chuỗi beacon tiêu chuẩn. Khi Helios hiểu được thành phần của ủy ban đồng bộ hiện tại, nó có thể theo dõi đầu chuỗi một cách đáng tin cậy bằng cách truy vấn chữ ký của ủy ban đồng bộ gần đây.
Nhờ vào công nghệ tổng hợp chữ ký BLS, chỉ cần một lần truy vấn là có thể hoàn thành việc xác minh tiêu đề khối mới. Chỉ cần chữ ký hợp lệ và hơn hai phần ba thành viên ủy ban đã ký, thì có thể đảm bảo rằng khối đó đã được bao gồm trong chuỗi.
Hệ thống trước tiên cần phải lấy một điểm kiểm tra chủ quan yếu (weak subjectivity checkpoint) làm nguồn tin cậy. Đây là một khối hash đã được đảm bảo được đưa vào chuỗi tại một thời điểm nào đó trong quá khứ. Sử dụng điểm kiểm tra này, Helios có thể lấy và xác minh hội đồng đồng bộ hiện tại và tiếp theo, từ đó nhanh chóng xem xét lịch sử blockchain và đồng bộ đến khối mới nhất.
( lớp thực thi
Mục tiêu của khách hàng ánh sáng của lớp thực thi là kết hợp tiêu đề khối tín hiệu được xác minh bởi lớp đồng thuận với RPC lớp thực thi không đáng tin cậy, cung cấp dữ liệu lớp thực thi đã được xác minh. Sau đó, dữ liệu này được truy cập thông qua máy chủ RPC được lưu trữ cục bộ bằng Helios.
Ethereum lưu trữ thông tin tài khoản thông qua cây trạng thái, bao gồm mã băm hợp đồng, số ngẫu nhiên, mã băm lưu trữ và số dư. Chỉ cần biết gốc của cây trạng thái, có thể xác minh chứng Merkle, chứng minh liệu bất kỳ tài khoản nào có tồn tại trong cây hay không, và chứng minh này không thể bị làm giả.
Helios lấy trạng thái gốc đã được xác thực từ lớp đồng thuận và kết hợp nó với yêu cầu chứng minh Merkle từ lớp thực thi không đáng tin cậy, thực hiện xác thực cục bộ đối với tất cả dữ liệu được lưu trữ trên Ethereum. Bằng cách này, RPC không đáng tin cậy có thể từ chối cung cấp quyền truy cập dữ liệu, nhưng không thể cung cấp kết quả sai.
Ứng dụng thực tế của Helios
Thiết kế nhẹ của Helios cho phép người dùng truy cập dữ liệu trên chuỗi một cách an toàn từ bất kỳ thiết bị nào ) bao gồm điện thoại di động và plugin trình duyệt ###. Người dùng có thể thiết lập Helios làm nhà cung cấp RPC trong MetaMask mà không cần bất kỳ thay đổi nào khác để truy cập các DApp một cách không tin cậy.
Ngoài ra, hỗ trợ tốt của Rust cho WebAssembly cho phép các nhà phát triển ứng dụng dễ dàng nhúng Helios vào các ứng dụng JavaScript ( như ví và DApp ). Những tích hợp này sẽ nâng cao tính bảo mật của Ethereum, giảm sự phụ thuộc vào cơ sở hạ tầng tập trung.
Cộng đồng có thể đóng góp cho Helios theo nhiều cách, bao gồm:
Kho mã của dự án này đã được mã nguồn mở, chào mừng các nhà phát triển quan tâm tham gia đóng góp.