Nguồn: Bitcoin Magazine; Dịch: Năm Châu, Kinh tế vàng
Rollups gần đây đã trở thành tâm điểm của việc mở rộng BTC, trở thành điều đầu tiên thực sự “đánh cắp sự chú ý” từ Lighting Network, ở mức độ quan tâm rộng hơn. Rollups nhằm trở thành một lớp thứ hai off-chain không bị ràng buộc hoặc hạn chế bởi sự hạn chế về 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ó người cấp phát trước (hoặc “cho vay”) tiền để nhận tiền, hoặc các nút trung gian cần có số dư kênh để thúc đẩy số tiền thanh toán di chuyển toàn bộ quá trình từ người gửi đến người nhận.
Những hệ thống này ban đầu được triển khai 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 dời chúng sang blockchain dựa trên UTXO (ví dụ: BTC). Bài viết này không dự định thảo luận về tình hình triển khai hiện tại trên BTC, mà là để thảo luận về tính năng Rollup lý tưởng mà mọi người đang theo đuổi trong dài hạn, điều này phụ thuộc vào khả năng mà BTC hiện tại không hỗ trợ, đó 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ột tài khoản đơn lẻ (UTXO trong BTC) 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 tồn tại dưới dạng Merkle root của cây Merkle, cam kết số dư hiện tại của tất cả các tài khoản trong Rollup. Tất cả các tài khoản này được phê duyệt bằng cách sử dụng Khóa công khai/Khóa riêng, do đó để thực hiện chi tiêu ngoại chuỗi, người dùng vẫn phải ký vào một số nội dung bằng Chìa khoá bảo mật. Phần này của cấu trúc cho phép người dùng rời khỏi bất cứ lúc nào mà không cần phê duyệt, chỉ cần tạo một giao dịch chứng minh 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 đơn phương mà không cần phê duyệt từ nhà điều hành.
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 của số dư tài khoản trên chuỗi on-chain trong quá trình hoàn thành giao dịch off-chain. Nếu thiếu ZKP này, giao dịch sẽ bị vô hiệu và không thể được bao gồm trong khối. Bằng chứng này cho phép người ta xác minh xem tất cả các thay đổi đối với số dư tài khoản off-chain đã được ủy quyền đúng đắn từ chủ sở hữu tài khoản, và nhà vận hành có hay không cập nhật số dư với ý đồ xấu để lấy cắp tiền của người dùng hoặc phân phối lại nó một cách không trung thực cho người dùng khác.
Vấn đề là nếu chỉ có gốc cây merkle được xuất bản trên chuỗi, người dùng có thể xem và truy cập được nó, vậy họ sẽ làm thế nào để đặt nhánh của họ vào cây để có thể rút khỏi mà không cần phép lệnh khi họ muốn?
Tổng hợp thích hợp
Trong Rollup thích hợp, mỗi khi xác nhận giao dịch off-chain mới và trạng thái tài khoản của 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, vì đ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 triển khai đơn giản, tóm tắt của tất cả các tài khoản hiện có trong Rollup sẽ bao gồm số dư và tài khoản chỉ được thêm vào trong 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 một lượng lớn chi phí và Khối không gian (do đó tiết kiệm tiền), đồng thời vẫn cho phép người dùng đảm bảo truy cập thông tin cần thiết để rút lui một cách đơn phương. Quy tắc rollup yêu cầu dữ liệu này được bao gồm trong rollup chính thức được cung cấp cho người dùng thông qua Khối chain, nghĩa là các giao dịch không bao gồm tóm tắt tài khoản hoặc tài khoản khác biệt được coi là giao dịch không hợp lệ.
Thời hạn hiệu lực
Một cách tiếp cận khác để xử lý vấn đề sẵn sàng dữ liệu rút ra của người dùng là đặt dữ liệu ở một nơi ngoài Khối. Điều này đưa vào vấn đề tinh tế, rollup vẫn cần đảm bảo rằng 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 sẵn sàng dữ liệu cho hệ thống như rollup.
Điều này tạo ra một tình thế tiến thoái lưỡng nan khi an ninh cũng mạnh mẽ như nhau. Khi dữ liệu được công bố trực tiếp lên chuỗi BTCKhối, quy tắc Nhận thức chung đảm bảo rằng nó hoàn toàn chính xác. Tuy nhiên, khi nó được xuất bản lên một hệ thống bên ngoài, điều tốt nhất nó có thể làm là xác minh bằng chứng SPV, đó là dữ liệu đã được xuất bản sang một hệ thống khác.
Điều này đòi hỏi xác minh dữ liệu tồn tại trên các bằng chứng on-chain khác, điều này cuối cùng là vấn đề Máy Oracle. Chuỗi Khối BTC không thể xác minh hoàn toàn bất cứ điều gì ngoại trừ những điều xảy ra trên Khối on-chain của chính nó, điều tốt nhất mà nó có thể làm là xác minh ZKP. Tuy nhiên, ZKP không thể xác minh xem dữ liệu Khối chứa rollup sau khi được tạo ra có được phát sóng công khai thực sự hay không. Nó không thể xác minh xem thông tin bên ngoài có thật sự được công khai cho tất cả mọi người hay không.
Điều này mở ra cánh cửa cho các cuộc tấn công giữ lại dữ liệu, tức là tạo cam kết với dữ liệu được xuất bản và sử dụng nó để thúc đẩy rollup, nhưng dữ liệu thực tế không khả dụng. Đ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à hoàn toàn phụ thuộc vào giá trị và cấu trúc động viên của hệ thống ngoại trừ BTC.
Tiến thoái vững vàng
Điều này đặt ra một tình huống khó khăn cho rollup. Khi đối mặt với vấn đề tính khả dụng dữ liệu, thực tế là có một lựa chọn nhị phân để đăng tải dữ liệu lên chuỗi khối BTC hoặc nơi khác. Lựa chọn này có ảnh hưởng lớn đến tính bảo mật và chủ quyền của rollup cũng như khả năng mở rộng của nó.
Một mặt, việc sử dụng BTCKhối Blockchain như một tầng sẵn sàng dữ liệu sẽ đặt một giới hạn cứng cho khả năng mở rộng của rollup. Không gian Khối là có 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 lúc và tổng số giao dịch có thể xử lý ở off-chain. Mỗi lần cập nhật rollup đều cần một không gian Khối tỷ lệ với số lượng tài khoản có số dư thay đổi kể từ 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, và từ đó không còn khả năng mở rộng nữa.
另一方面,sử dụng các lớp khác nhau để đạt được tính sẵn sà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 lại vấn đề về an ninh và chủ quyền mới. Trong Rollup sử dụng BTC để đạt được tính sẵn sàng của dữ liệu, nếu dữ liệu mà người dùng cần trích xuất không được tự động công bố trên chuỗi khối, trạng thái của Rollup sẽ không thể thay đổi. Sử dụng Validiums, sự cam kết 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 sự lừa đảo và ẩn dữ liệu.
Hiện tại, bất kỳ nhà sản xuất Khối nào trên hệ thống khả năng sẵn có dữ liệu bên ngoài đều 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ế Khối đó.
Vậy nếu chúng ta thực sự thực hiện được Rollup lý tưởng trên BTC và thực sự đạt được việc rút tiền một chiều của người dùng, thì điều đó sẽ ra sao?
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: Năm Châu, Kinh tế vàng
Rollups gần đây đã trở thành tâm điểm của việc mở rộng BTC, trở thành điều đầu tiên thực sự “đánh cắp sự chú ý” từ Lighting Network, ở mức độ quan tâm rộng hơn. Rollups nhằm trở thành một lớp thứ hai off-chain không bị ràng buộc hoặc hạn chế bởi sự hạn chế về 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ó người cấp phát trước (hoặc “cho vay”) tiền để nhận tiền, hoặc các nút trung gian cần có số dư kênh để thúc đẩy số tiền thanh toán di chuyển toàn bộ quá trình từ người gửi đến người nhận.
Những hệ thống này ban đầu được triển khai 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 dời chúng sang blockchain dựa trên UTXO (ví dụ: BTC). Bài viết này không dự định thảo luận về tình hình triển khai hiện tại trên BTC, mà là để thảo luận về tính năng Rollup lý tưởng mà mọi người đang theo đuổi trong dài hạn, điều này phụ thuộc vào khả năng mà BTC hiện tại không hỗ trợ, đó 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ột tài khoản đơn lẻ (UTXO trong BTC) 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 tồn tại dưới dạng Merkle root của cây Merkle, cam kết số dư hiện tại của tất cả các tài khoản trong Rollup. Tất cả các tài khoản này được phê duyệt bằng cách sử dụng Khóa công khai/Khóa riêng, do đó để thực hiện chi tiêu ngoại chuỗi, người dùng vẫn phải ký vào một số nội dung bằng Chìa khoá bảo mật. Phần này của cấu trúc cho phép người dùng rời khỏi bất cứ lúc nào mà không cần phê duyệt, chỉ cần tạo một giao dịch chứng minh 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 đơn phương mà không cần phê duyệt từ nhà điều hành.
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 của số dư tài khoản trên chuỗi on-chain trong quá trình hoàn thành giao dịch off-chain. Nếu thiếu ZKP này, giao dịch sẽ bị vô hiệu và không thể được bao gồm trong khối. Bằng chứng này cho phép người ta xác minh xem tất cả các thay đổi đối với số dư tài khoản off-chain đã được ủy quyền đúng đắn từ chủ sở hữu tài khoản, và nhà vận hành có hay không cập nhật số dư với ý đồ xấu để lấy cắp tiền của người dùng hoặc phân phối lại nó một cách không trung thực cho người dùng khác.
Vấn đề là nếu chỉ có gốc cây merkle được xuất bản trên chuỗi, người dùng có thể xem và truy cập được nó, vậy họ sẽ làm thế nào để đặt nhánh của họ vào cây để có thể rút khỏi mà không cần phép lệnh khi họ muốn?
Tổng hợp thích hợp
Trong Rollup thích hợp, mỗi khi xác nhận giao dịch off-chain mới và trạng thái tài khoản của 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, vì đ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 triển khai đơn giản, tóm tắt của tất cả các tài khoản hiện có trong Rollup sẽ bao gồm số dư và tài khoản chỉ được thêm vào trong 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 một lượng lớn chi phí và Khối không gian (do đó tiết kiệm tiền), đồng thời vẫn cho phép người dùng đảm bảo truy cập thông tin cần thiết để rút lui một cách đơn phương. Quy tắc rollup yêu cầu dữ liệu này được bao gồm trong rollup chính thức được cung cấp cho người dùng thông qua Khối chain, nghĩa là các giao dịch không bao gồm tóm tắt tài khoản hoặc tài khoản khác biệt được coi là giao dịch không hợp lệ.
Thời hạn hiệu lực
Một cách tiếp cận khác để xử lý vấn đề sẵn sàng dữ liệu rút ra của người dùng là đặt dữ liệu ở một nơi ngoài Khối. Điều này đưa vào vấn đề tinh tế, rollup vẫn cần đảm bảo rằng 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 sẵn sàng dữ liệu cho hệ thống như rollup.
Điều này tạo ra một tình thế tiến thoái lưỡng nan khi an ninh cũng mạnh mẽ như nhau. Khi dữ liệu được công bố trực tiếp lên chuỗi BTCKhối, quy tắc Nhận thức chung đảm bảo rằng nó hoàn toàn chính xác. Tuy nhiên, khi nó được xuất bản lên một hệ thống bên ngoài, điều tốt nhất nó có thể làm là xác minh bằng chứng SPV, đó là dữ liệu đã được xuất bản sang một hệ thống khác.
Điều này đòi hỏi xác minh dữ liệu tồn tại trên các bằng chứng on-chain khác, điều này cuối cùng là vấn đề Máy Oracle. Chuỗi Khối BTC không thể xác minh hoàn toàn bất cứ điều gì ngoại trừ những điều xảy ra trên Khối on-chain của chính nó, điều tốt nhất mà nó có thể làm là xác minh ZKP. Tuy nhiên, ZKP không thể xác minh xem dữ liệu Khối chứa rollup sau khi được tạo ra có được phát sóng công khai thực sự hay không. Nó không thể xác minh xem thông tin bên ngoài có thật sự được công khai cho tất cả mọi người hay không.
Điều này mở ra cánh cửa cho các cuộc tấn công giữ lại dữ liệu, tức là tạo cam kết với dữ liệu được xuất bản và sử dụng nó để thúc đẩy rollup, nhưng dữ liệu thực tế không khả dụng. Đ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à hoàn toàn phụ thuộc vào giá trị và cấu trúc động viên của hệ thống ngoại trừ BTC.
Tiến thoái vững vàng
Điều này đặt ra một tình huống khó khăn cho rollup. Khi đối mặt với vấn đề tính khả dụng dữ liệu, thực tế là có một lựa chọn nhị phân để đăng tải dữ liệu lên chuỗi khối BTC hoặc nơi khác. Lựa chọn này có ảnh hưởng lớn đến tính bảo mật và chủ quyền của rollup cũng như khả năng mở rộng của nó.
Một mặt, việc sử dụng BTCKhối Blockchain như một tầng sẵn sàng dữ liệu sẽ đặt một giới hạn cứng cho khả năng mở rộng của rollup. Không gian Khối là có 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 lúc và tổng số giao dịch có thể xử lý ở off-chain. Mỗi lần cập nhật rollup đều cần một không gian Khối tỷ lệ với số lượng tài khoản có số dư thay đổi kể từ 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, và từ đó không còn khả năng mở rộng nữa.
另一方面,sử dụng các lớp khác nhau để đạt được tính sẵn sà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 lại vấn đề về an ninh và chủ quyền mới. Trong Rollup sử dụng BTC để đạt được tính sẵn sàng của dữ liệu, nếu dữ liệu mà người dùng cần trích xuất không được tự động công bố trên chuỗi khối, trạng thái của Rollup sẽ không thể thay đổi. Sử dụng Validiums, sự cam kết 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 sự lừa đảo và ẩn dữ liệu.
Hiện tại, bất kỳ nhà sản xuất Khối nào trên hệ thống khả năng sẵn có dữ liệu bên ngoài đều 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ế Khối đó.
Vậy nếu chúng ta thực sự thực hiện được Rollup lý tưởng trên BTC và thực sự đạt được việc rút tiền một chiều của người dùng, thì điều đó sẽ ra sao?