Nguồn: Tạp chí Bitcoin; Được biên soạn bởi: Five Baht, Golden Finance
Rollups gần đây đã trở thành trọng tâm của việc mở rộng Bitcoin, trở thành thứ đầu tiên thực sự "đánh cắp ánh đèn sân khấu" từ Lightning Network rộng khắp. chú ý. Rollups được dự định là lớp thứ hai ngoài chuỗi không bị ràng buộc hoặc hạn chế bởi các giới hạn thanh khoản cốt lõi của Lightning Network, tức là người dùng cuối cần ai đó phân bổ (hoặc "cho vay") tiền trước để nhận tiền hoặc định tuyến trung gian các nút yêu cầu số dư kênh Để tạo điều kiện thuận lợi cho toàn bộ luồng thanh toán từ người gửi đến người nhận.
Các hệ thống này ban đầu chạy trên Ethereum và các hệ thống hoàn chỉnh Turing khác, nhưng gần đây, trọng tâm đã chuyển sang chuyển chúng sang các chuỗi khối dựa trên UTXO như Bitcoin. Bài viết này không nhằm thảo luận về tình trạng triển khai hiện tại trên Bitcoin mà là để thảo luận về chức năng được tìm kiếm từ lâu của một Bản tổng hợp lý tưởng hóa, xoay quanh một tính năng mà Bitcoin hiện không hỗ trợ, cụ thể là xác minh Bằng chứng không có kiến thức ( ZKP) trực tiếp về khả năng của Bitcoin.
Cấu trúc cơ bản của Rollup như sau: một tài khoản duy nhất (UTXO bằng Bitcoin) nắm giữ số dư của tất cả người dùng trong Rollup. UTXO này chứa một cam kết, dưới dạng gốc Merkle của cây Merkle, cam kết với tất cả số dư hiện tại của các tài khoản hiện có trong Tổng hợp. 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/riêng tư, vì vậy để đề xuất chi tiêu ngoài chuỗi, người dùng vẫn phải ký một cái gì đó bằng khóa. Phần cấu trúc này cho phép người dùng rời đi bất cứ lúc nào mà không cần sự cho phép, chỉ bằng cách thực hiện giao dịch chứng minh rằng tài khoản của họ là một phần của cây Merkle và họ có thể đơn phương thoát khỏi Rollup mà không cần sự cho phép của nhà điều hành.
Người điều hành Rollup phải đưa ZKP vào giao dịch để cập nhật gốc merkle của số dư tài khoản trên chuỗi trong quá trình hoàn tất giao dịch ngoài chuỗi. Nếu không có ZKP này, giao dịch sẽ bị hủy. không hợp lệ và do đó không thể được đưa vào blockchain. Bằng chứng này cho phép người ta xác minh rằng tất cả các thay đổi đối với tài khoản ngoài chuỗi đều được chủ tài khoản ủy quyền hợp lệ và nhà điều hành không cập nhật số dư một cách ác ý để đánh cắp tiền của người dùng hoặc phân bổ lại chúng cho người dùng khác một cách không trung thực.
Câu hỏi đặt ra là nếu chỉ có gốc của cây merkle được xuất bản trên chuỗi và người dùng có thể xem và truy cập nó thì làm sao họ có thể đặt các nhánh của mình vào cây để có thể làm như vậy mà không được phép khi họ muốn Chỉ cần bỏ cuộc?
Bản tổng hợp phù hợp
Trong một bản tổng hợp phù hợp, mỗi khi một giao dịch ngoài chuỗi mới được xác nhận và trạng thái của tài khoản Rollup thay đổi, thông tin sẽ được đưa trực tiếp vào chuỗi khối. Không phải toàn bộ cái cây, điều đó thật nực cười, mà là thông tin cần thiết để tái tạo lại cái cây. Trong cách triển khai đơn giản, bản tóm tắt của tất cả các tài khoản hiện có trong Bản tổng hợp 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 Bản tổng hợp.
Trong các triển khai nâng cao hơn, chênh lệch số dư được sử dụng. Về cơ bản, đây là bản tóm tắt về những tài khoản đã được thêm hoặc bớt tiền trong quá trình cập nhật. Điều này khiến mỗi bản Cập Nhật tổng hợp chỉ chứa những 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à "tính toán" từ đầu quá trình tổng hợp để rút ra trạng thái hiện tại của số dư tài khoản, điều này 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 rất nhiều chi phí và không gian khối (và do đó là tiền) trong khi vẫn cho phép người dùng được đảm bảo quyền truy cập vào thông tin mà họ cần để đơn phương chọn không tham gia. Quy tắc tổng hợp yêu cầu dữ liệu này phải được đưa vào danh sách tổng hợp chính thức được cung cấp cho người dùng sử dụng chuỗi khối, tức là các giao dịch không chứa tóm tắt tài khoản hoặc khác biệt về tài khoản được coi là giao dịch không hợp lệ.
Tính hợp lệ
Một cách khác để giải quyết vấn đề về tính sẵn có của dữ liệu do người dùng trích xuất là đặt dữ liệu ở một nơi khác bên ngoài chuỗi khối. Điều này đưa ra một vấn đề tế nhị mà việc tổng hợp vẫn cần phải thực thi để đảm bảo rằng dữ liệu có sẵn ở nơi khác. Theo truyền thống, các chuỗi khối khác đã được sử dụng cho mục đích này, được thiết kế đặc biệt để phục vụ như lớp sẵn có dữ liệu cho các hệ thống như tổng hợp.
Điều này tạo ra tình thế tiến thoái lưỡng nan khi an ninh cũng được đảm bảo mạnh mẽ không kém. Khi dữ liệu được đăng trực tiếp lên chuỗi khối Bitcoin, các quy tắc đồng thuận đảm bảo dữ liệu đó hoàn toàn chính xác. Tuy nhiên, khi nó được xuất bản lên 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 rằng dữ liệu đã được xuất bản sang hệ thống khác.
Điều này yêu cầu xác minh bằng chứng cho thấy dữ liệu tồn tại trên các chuỗi khác, đây cuối cùng là một vấn đề về oracle. Chuỗi khối của Bitcoin không thể xác minh đầy đủ bất cứ điều gì ngoài những gì đã xảy ra trên chuỗi khối của chính 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 khối chứa dữ liệu tổng hợp có thực sự được phát công khai sau khi được tạo hay không. Nó không thể xác minh rằng thông tin bên ngoài thực sự có sẵn cho tất cả mọi người.
Điều này mở ra cơ hội cho các cuộc tấn công giữ lại dữ liệu, trong đó lời hứa phát hành dữ liệu được tạo ra và sử dụng để thúc đẩy quá trình tổng hợp nhưng dữ liệu thực tế không có sẵn. Điều này dẫn đến việc người dùng không thể rút tiền. Giải pháp thực sự duy nhất là dựa hoàn toàn vào giá trị và cấu trúc khuyến khích của một hệ thống không phải Bitcoin.
Tình thế tiến thoái lưỡng nan
Điều này mang đến tình thế khó xử khi tổng hợp. Khi nói đến các vấn đề về tính sẵn có của dữ liệu, về cơ bản có một lựa chọn nhị phân là xuất bản dữ liệu lên chuỗi khối Bitcoin hoặc nơi khác. Lựa chọn này có ý nghĩa quan trọng đối với tính bảo mật và chủ quyền của tổng hợp cũng như khả năng mở rộng của nó.
Một mặt, việc sử dụng chuỗi khối Bitcoin làm lớp sẵn có của dữ liệu sẽ hạn chế khả năng mở rộng của quá trình tổng hợp. Không gian khối bị giới hạn, điều này đặt ra giới hạn trên về số lần cuộn có thể tồn tại cùng một lúc và số lượng giao dịch mà tất cả các lần cuộn kết hợp có thể xử lý ngoài chuỗi. Mỗi bản cập nhật tổng hợp yêu cầu không gian khối tỷ lệ thuận với số lượng tài khoản có số dư đã thay đổi kể từ lần cập nhật cuối cùng. Lý thuyết thông tin chỉ cho phép nén dữ liệu ở một mức độ nhất định, khi đó không còn khả năng mở rộng nữa.
Mặt khác, việc sử dụng các lớp khác nhau để đảm bảo tính khả dụng của dữ liệu sẽ loại bỏ giới hạn cứng về khả năng mở rộng, nhưng nó cũng gây ra các vấn đề mới về chủ quyền và an ninh. Trong Rollup, sử dụng Bitcoin để cung cấp dữ liệu, trạng thái của Rollup không thể thay đổi nếu dữ liệu người dùng cần trích xuất không được tự động xuất bản lên blockchain. Với Validiums, sự đảm bảo này phụ thuộc hoàn toàn vào khả năng của hệ thống bên ngoài được sử dụng để chống lại hành vi giả mạo và ẩn dữ liệu.
Giờ đây, bất kỳ nhà sản xuất khối nào trên hệ thố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 Bitcoin Rollup bằng cách tạo ra một khối thay vì thực sự phát sóng khối, từ đó làm cho dữ liệu có sẵn.
Vậy, sẽ như thế nào nếu chúng ta thực sự triển khai triển khai Tổng hợp lý tưởng trên Bitcoin và thực sự nhận ra việc rút tiền đơn phương của người dùng?