Nguồn: Bitcoin Magazine; Dịch: Ngũ Chủ, Kinh tế Vàng
Rollups đã trở thành trọng tâm mở rộng BTC gần đây, trở thành thứ đầu tiên thực sự ‘cướp đi ảnh hưởng’ từ Lighting Network, với sự chú ý rộng rãi hơn. Rollups nhằm mục đích trở thành một lớp off-chain thứ hai không bị ràng buộc hoặc giới hạn bởi giới hạn thanh khoản cốt lõi của Lighting Network, nghĩa là người dùng cuối cùng cần phải có ai đó phân bổ (hoặc ‘cho vay’) tiền trước để nhận tiền, hoặc Nút địa phương cần có số dư kênh để đảm bảo thanh toán diễn ra suôn sẻ từ người gửi đến người nhận.
Các hệ thống này ban đầu đã được chạy trên Ethereum và các hệ thống Turing hoàn thành khác, nhưng gần đây, sự tập trung đã chuyển sang việc di chuyển chúng sang các blockchain dựa trên UTXO (ví dụ: BTC). Bài viết này không có ý định thảo luận về tình trạng hiện tại của việc triển khai trên BTC, mà là thảo luận về tính năng của Rollup đã được mọi người theo đuổi trong thời gian dài, phụ thuộc vào khả năng mà BTC hiện tại không hỗ trợ, tức là khả năng xác minh trực tiếp Bằng chứng không kiến thức (ZKP) trên BTC.
Cấu trúc cơ bản của Roll như sau: Mỗi tài khoản đơn lẻ (trong BTC được gọi là UTXO) lưu trữ số dư của tất cả người dùng trong Rollup. UTXO này bao gồm một cam kết, cam kết này tồn tại dưới dạng Merkle root của cây Merkle, cam kết toàn bộ số dư hiện tại của tất cả tài khoản trong Rollup. Tất cả các tài khoản này đều được ủy quyền bằng cặp Khóa công khai/Khóa riêng, do đó để thực hiện các chi tiêu off-chain, người dùng vẫn phải ký một số nội dung bằng Chìa khoá bảo mật. Phần cấu trúc này cho phép người dùng rời khỏi bất kỳ lúc nào mà không cần phép thuật, chỉ cần tạo ra chứng minh giao dịch rằng tài khoản của họ là một phần của cây Merkle, họ có thể rời khỏi Rollup một cách một chiều mà không cần phép thuật từ nhà khai thác.
Người vận hành Rollup phải bao gồm một ZKP trong giao dịch để cập nhật merkle root số dư tài khoản trên on-chain trong quá trình hoàn thành giao dịch off-chain. Nếu không có ZKP này, giao dịch sẽ không hợp lệ và không thể được bao gồm trong Khối chuỗi. Bằng chứng này cho phép mọi người xác minh xem tất cả các thay đổi về số dư tài khoản off-chain có được ủy quyền đúng đắn từ chủ sở hữu tài khoản và người vận hành có không có cập nhật số dư bị ác ý để đánh cắp tiền của người dùng hoặc phân phối lại một cách không chân thực cho những người dùng khác.
Rollup phù hợp
Trong mỗi lần xác nhận giao dịch mới off-chain hợp lý và khi trạng thái tài khoản Rollup thay đổi, thông tin sẽ được đưa trực tiếp vào blockchain. Không phải toàn bộ cây, điều đó quá vô lý, mà là thông tin cần thiết để xây dựng lại cây. Trong một phiên bản đơn giản, tóm tắt tài khoản hiện có trong Rollup sẽ chứa số dư và các tài khoản chỉ được thêm vào trong các giao dịch cập nhật Rollup.
Trong các triển khai nâng cao hơn, phương sai cân bằng được sử dụng. Đây thực chất là một bản tóm tắt về tài khoản tăng hoặc giảm tiền trong quá trình cập nhật. Điều này làm cho mỗi bản Cập Nhật rollup chỉ chứa các thay đổi số dư tài khoản xảy ra. Sau đó, người dùng có thể chỉ cần quét chuỗi và “thực hiện phép tính” từ đầu Rollup để đến trạng thái hiện tại của số dư tài khoản, cho phép họ xây dựng lại cây Merkle của số dư hiện tại.
Điều này giúp tiết kiệm chi phí và không gian Khối (do đó tiết kiệm tiền), đồng thời vẫn cho phép người dùng đảm bảo thông tin cần thiết để thoát khỏi một cách một chiều. Quy tắc rollup yêu cầu bao gồm dữ liệu này trong rollup chính thức được cung cấp cho người dùng bằng cách sử dụng Khối, nghĩa là các giao dịch không chứa tài khoản tóm tắt hoặc khác biệt tài khoản được coi là giao dịch không hợp lệ.
Thời hạn hiệu lực
Một cách khác để xử lý vấn đề khả năng sử dụng dữ liệu người dùng rút ra là đặt dữ liệu ở một nơi khác ngoài Khối. Điều này đưa ra một vấn đề tinh vi, rollup vẫn cần đảm bảo dữ liệu có sẵn ở nơi khác. Truyền thống, các Khối khác được sử dụng cho mục đích này, được thiết kế đặc biệt để làm lớp khả năng sử dụng dữ liệu cho hệ thống như rollup.
Điều này dẫn đến tình trạng bế tắc về an ninh mạnh mẽ tương tự. Khi dữ liệu được phát hành trực tiếp lên chuỗi Bitcoin, các quy tắc Nhận thức chung có thể đảm bảo rằng nó hoàn toàn chính xác. Tuy nhiên, khi nó được phát hành ra hệ thống bên ngoài, điều tốt nhất mà nó có thể làm là xác minh chứng minh SPV, nghĩa là dữ liệu đã được phát hành ra hệ thống khác.
Điều này đòi hỏi chứng minh dữ liệu tồn tại trên các chứng chỉ on-chain khác, cuối cùng đây là một vấn đề Máy Oracle. Blockchain của BTC không thể xác minh hoàn toàn bất kỳ điều gì ngoài những gì xảy ra trên chính Khối on-chain của nó, điều tốt nhất nó có thể làm là xác minh ZKP. Tuy nhiên, ZKP không thể xác minh liệu dữ liệu rollup trong Khối sau khi được tạo có thực sự được phát sóng công khai hay không. Nó không thể xác minh liệu thông tin bên ngoài có thực sự được công khai cho tất cả mọi người.
Cuộc tấn công giữ dữ liệu đã mở ra cánh cửa, tức là tạo cam kết cho dữ liệu được xuất bản và sử dụng chúng để thúc đẩy rollup, nhưng thực tế dữ liệu không sẵn có. Điều này dẫn đến người dùng không thể rút tiền. Giải pháp duy nhất thực sự là dựa hoàn toàn vào giá trị và cơ cấu khuyến khích của hệ thống bên ngoài BTC.
Tiến thoái lưỡng nan
Điều này đặt ra một thách thức cho rollup. Khi đến vấn đề khả năng sẵn có của dữ liệu, có hai lựa chọn nhị phân là đưa dữ liệu vào chuỗi khối BTC hoặc nơi khác. Lựa chọn này ảnh hưởng đáng kể đến tính bảo mật, chủ quyền và khả năng mở rộng của rollup.
Một mặt, việc sử dụng BitcoinBlockchain làm lớp sẵn có dữ liệu sẽ đặt ra một giới hạn cứng cho khả năng mở rộng của rollup. Khối không gian là hữu hạn, điều này đặt ra giới hạn cho số lượng rollup có thể tồn tại cùng một lúc và tổng số giao dịch có thể được xử lý off-chain của tất cả rollup. Mỗi lần cập nhật rollup đều cần Khối không gian tỷ lệ với số lượng tài khoản có số dư thay đổi so với lần cập nhật trước đó. Lý thuyết thông tin chỉ cho phép dữ liệu được nén đến một mức độ nhất định, ở điểm này, không còn tiềm năng mở rộng nữa.
Mặt khác, sử dụng các lớp khác nhau để đạt được tính khả dụng của dữ liệu sẽ loại bỏ giới hạn cứng của lợi ích mở rộng, nhưng nó cũng mang đến những vấn đề mới về bảo mật và chủ quyền. Trong Rollup sử dụng BTC để đạt được tính khả dụng của dữ liệu, nếu dữ liệu mà người dùng muốn rút không được tự động xuất bản trên blockchain, trạng thái của Rollup sẽ không thể thay đổi. Việc đảm bảo này hoàn toàn phụ thuộc vào khả năng của hệ thống bên ngoài được sử dụng để chống lại gian lận và ẩn dữ liệu khi sử dụng Validiums.
Bây giờ, bất kỳ nhà sản xuất Khối nào trên hệ thống sẵn sàng dữ liệu ngoài có thể chiếm đoạt tiền của người dùng BTCRollup bằng cách sản xuất Khối thay vì phát sóng thực tế của Khối đó, từ đó làm cho dữ liệu có sẵn.
Vậy nếu chúng ta thực sự thực hiện được triển khai Rollup lý tưởng trên BTC và thực sự thực hiện được rút tiền đơn phương của người dùng, điều đó sẽ như thế nào?
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Bitcoin Magazine: Rollup đối mặt với những khó khăn gì?
Nguồn: Bitcoin Magazine; Dịch: Ngũ Chủ, Kinh tế Vàng
Rollups đã trở thành trọng tâm mở rộng BTC gần đây, trở thành thứ đầu tiên thực sự ‘cướp đi ảnh hưởng’ từ Lighting Network, với sự chú ý rộng rãi hơn. Rollups nhằm mục đích trở thành một lớp off-chain thứ hai không bị ràng buộc hoặc giới hạn bởi giới hạn thanh khoản cốt lõi của Lighting Network, nghĩa là người dùng cuối cùng cần phải có ai đó phân bổ (hoặc ‘cho vay’) tiền trước để nhận tiền, hoặc Nút địa phương cần có số dư kênh để đảm bảo thanh toán diễn ra suôn sẻ từ người gửi đến người nhận.
Các hệ thống này ban đầu đã được chạy trên Ethereum và các hệ thống Turing hoàn thành khác, nhưng gần đây, sự tập trung đã chuyển sang việc di chuyển chúng sang các blockchain dựa trên UTXO (ví dụ: BTC). Bài viết này không có ý định thảo luận về tình trạng hiện tại của việc triển khai trên BTC, mà là thảo luận về tính năng của Rollup đã được mọi người theo đuổi trong thời gian dài, phụ thuộc vào khả năng mà BTC hiện tại không hỗ trợ, tức là khả năng xác minh trực tiếp Bằng chứng không kiến thức (ZKP) trên BTC.
Cấu trúc cơ bản của Roll như sau: Mỗi tài khoản đơn lẻ (trong BTC được gọi là UTXO) lưu trữ số dư của tất cả người dùng trong Rollup. UTXO này bao gồm một cam kết, cam kết này tồn tại dưới dạng Merkle root của cây Merkle, cam kết toàn bộ số dư hiện tại của tất cả tài khoản trong Rollup. Tất cả các tài khoản này đều được ủy quyền bằng cặp Khóa công khai/Khóa riêng, do đó để thực hiện các chi tiêu off-chain, người dùng vẫn phải ký một số nội dung bằng Chìa khoá bảo mật. Phần cấu trúc này cho phép người dùng rời khỏi bất kỳ lúc nào mà không cần phép thuật, chỉ cần tạo ra chứng minh giao dịch rằng tài khoản của họ là một phần của cây Merkle, họ có thể rời khỏi Rollup một cách một chiều mà không cần phép thuật từ nhà khai thác.
Người vận hành Rollup phải bao gồm một ZKP trong giao dịch để cập nhật merkle root số dư tài khoản trên on-chain trong quá trình hoàn thành giao dịch off-chain. Nếu không có ZKP này, giao dịch sẽ không hợp lệ và không thể được bao gồm trong Khối chuỗi. Bằng chứng này cho phép mọi người xác minh xem tất cả các thay đổi về số dư tài khoản off-chain có được ủy quyền đúng đắn từ chủ sở hữu tài khoản và người vận hành có không có cập nhật số dư bị ác ý để đánh cắp tiền của người dùng hoặc phân phối lại một cách không chân thực cho những người dùng khác.
Rollup phù hợp
Trong mỗi lần xác nhận giao dịch mới off-chain hợp lý và khi trạng thái tài khoản Rollup thay đổi, thông tin sẽ được đưa trực tiếp vào blockchain. Không phải toàn bộ cây, điều đó quá vô lý, mà là thông tin cần thiết để xây dựng lại cây. Trong một phiên bản đơn giản, tóm tắt tài khoản hiện có trong Rollup sẽ chứa số dư và các tài khoản chỉ được thêm vào trong các giao dịch cập nhật Rollup.
Trong các triển khai nâng cao hơn, phương sai cân bằng được sử dụng. Đây thực chất là một bản tóm tắt về tài khoản tăng hoặc giảm tiền trong quá trình cập nhật. Điều này làm cho mỗi bản Cập Nhật rollup chỉ chứa các thay đổi số dư tài khoản xảy ra. Sau đó, người dùng có thể chỉ cần quét chuỗi và “thực hiện phép tính” từ đầu Rollup để đến trạng thái hiện tại của số dư tài khoản, cho phép họ xây dựng lại cây Merkle của số dư hiện tại.
Điều này giúp tiết kiệm chi phí và không gian Khối (do đó tiết kiệm tiền), đồng thời vẫn cho phép người dùng đảm bảo thông tin cần thiết để thoát khỏi một cách một chiều. Quy tắc rollup yêu cầu bao gồm dữ liệu này trong rollup chính thức được cung cấp cho người dùng bằng cách sử dụng Khối, nghĩa là các giao dịch không chứa tài khoản tóm tắt hoặc khác biệt tài khoản được coi là giao dịch không hợp lệ.
Thời hạn hiệu lực
Một cách khác để xử lý vấn đề khả năng sử dụng dữ liệu người dùng rút ra là đặt dữ liệu ở một nơi khác ngoài Khối. Điều này đưa ra một vấn đề tinh vi, rollup vẫn cần đảm bảo dữ liệu có sẵn ở nơi khác. Truyền thống, các Khối khác được sử dụng cho mục đích này, được thiết kế đặc biệt để làm lớp khả năng sử dụng dữ liệu cho hệ thống như rollup.
Điều này dẫn đến tình trạng bế tắc về an ninh mạnh mẽ tương tự. Khi dữ liệu được phát hành trực tiếp lên chuỗi Bitcoin, các quy tắc Nhận thức chung có thể đảm bảo rằng nó hoàn toàn chính xác. Tuy nhiên, khi nó được phát hành ra hệ thống bên ngoài, điều tốt nhất mà nó có thể làm là xác minh chứng minh SPV, nghĩa là dữ liệu đã được phát hành ra hệ thống khác.
Điều này đòi hỏi chứng minh dữ liệu tồn tại trên các chứng chỉ on-chain khác, cuối cùng đây là một vấn đề Máy Oracle. Blockchain của BTC không thể xác minh hoàn toàn bất kỳ điều gì ngoài những gì xảy ra trên chính Khối on-chain của nó, điều tốt nhất nó có thể làm là xác minh ZKP. Tuy nhiên, ZKP không thể xác minh liệu dữ liệu rollup trong Khối sau khi được tạo có thực sự được phát sóng công khai hay không. Nó không thể xác minh liệu thông tin bên ngoài có thực sự được công khai cho tất cả mọi người.
Cuộc tấn công giữ dữ liệu đã mở ra cánh cửa, tức là tạo cam kết cho dữ liệu được xuất bản và sử dụng chúng để thúc đẩy rollup, nhưng thực tế dữ liệu không sẵn có. Điều này dẫn đến người dùng không thể rút tiền. Giải pháp duy nhất thực sự là dựa hoàn toàn vào giá trị và cơ cấu khuyến khích của hệ thống bên ngoài BTC.
Tiến thoái lưỡng nan
Điều này đặt ra một thách thức cho rollup. Khi đến vấn đề khả năng sẵn có của dữ liệu, có hai lựa chọn nhị phân là đưa dữ liệu vào chuỗi khối BTC hoặc nơi khác. Lựa chọn này ảnh hưởng đáng kể đến tính bảo mật, chủ quyền và khả năng mở rộng của rollup.
Một mặt, việc sử dụng BitcoinBlockchain làm lớp sẵn có dữ liệu sẽ đặt ra một giới hạn cứng cho khả năng mở rộng của rollup. Khối không gian là hữu hạn, điều này đặt ra giới hạn cho số lượng rollup có thể tồn tại cùng một lúc và tổng số giao dịch có thể được xử lý off-chain của tất cả rollup. Mỗi lần cập nhật rollup đều cần Khối không gian tỷ lệ với số lượng tài khoản có số dư thay đổi so với lần cập nhật trước đó. Lý thuyết thông tin chỉ cho phép dữ liệu được nén đến một mức độ nhất định, ở điểm này, không còn tiềm năng mở rộng nữa.
Mặt khác, sử dụng các lớp khác nhau để đạt được tính khả dụng của dữ liệu sẽ loại bỏ giới hạn cứng của lợi ích mở rộng, nhưng nó cũng mang đến những vấn đề mới về bảo mật và chủ quyền. Trong Rollup sử dụng BTC để đạt được tính khả dụng của dữ liệu, nếu dữ liệu mà người dùng muốn rút không được tự động xuất bản trên blockchain, trạng thái của Rollup sẽ không thể thay đổi. Việc đảm bảo này hoàn toàn phụ thuộc vào khả năng của hệ thống bên ngoài được sử dụng để chống lại gian lận và ẩn dữ liệu khi sử dụng Validiums.
Bây giờ, bất kỳ nhà sản xuất Khối nào trên hệ thống sẵn sàng dữ liệu ngoài có thể chiếm đoạt tiền của người dùng BTCRollup bằng cách sản xuất Khối thay vì phát sóng thực tế của Khối đó, từ đó làm cho dữ liệu có sẵn.
Vậy nếu chúng ta thực sự thực hiện được triển khai Rollup lý tưởng trên BTC và thực sự thực hiện được rút tiền đơn phương của người dùng, điều đó sẽ như thế nào?