Bitcoin Magazine: Rollup đối mặt với khó khăn gì?

robot
Đang tạo bản tóm tắt

Nguồn: Bitcoin Magazine; Dịch: Ngũ Châu, Kinhte Vàng

Rollups gần đây đã trở thành trọng tâm của việc mở rộng BTC, trở thành điều đầu tiên thực sự 'cướp mất ánh hào quang' từ Lightning Network, và thu hút sự chú ý rộng rãi hơn. Rollups nhằm trở thành một lớp off-chain thứ hai không bị ràng buộc hoặc hạn chế bởi các hạn chế về thanh khoản của Lightning Network, nghĩa là người dùng cuối cùng cần có người cấp phát trước (hoặc 'mượn') tiền để nhận được tiền, hoặc các nút trung gian cần có số dư kênh để tạo điều kiện cho số tiền thanh toán di chuyển từ người gửi đến người nhận trong suốt quá trình.

Các hệ thống này ban đầu được chạy trên Ethereum và các hệ thống hoàn thành Turing khác, nhưng gần đây, sự tập trung đã được 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 nhằm mục đích thảo luận về tình hình thực hiện hiện tại trên BTC, mà là thảo luận về tính năng của Rollup lý tưởng mà mọi người đã theo đuổi trong thời gian dài, điều này phụ thuộc vào khả năng trực tiếp xác minh Chứng cứ không kiến thức (ZKP) trên BTC hiện tại không hỗ trợ.

Cấu trúc cơ bản của Roll như sau: Mỗi tài khoản cá nhân (UTXO trong Bitcoin) 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 gốc Merkle 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 ủy quyền bằng cách sử dụng cặp khóa công khai / khóa riêng, vì vậy để thực hiện chi tiêu ngoại chuỗi, người dùng vẫn phải ký một số nội dung bằng chìa khóa bảo mật. Phần này của cấu trúc cho phép người dùng rời đi bất cứ lúc nào mà không cần phép cấp, chỉ cần tạo 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 Rollup một mình mà không cần phép cấp từ nhà khai thác.

Người vận hành của 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 on-chain trong quá trình hoàn tất các giao dịch off-chain, nếu thiếu ZKP này, giao dịch sẽ không hợp lệ và không thể được bao gồm trong Blockchain. Chứng minh này cho phép mọi người xác minh xem tất cả các thay đổi đối với số dư tài khoản off-chain có được sự cho phép thích đáng từ chủ sở hữu tài khoản và xem xét xem người vận hành có không cập nhật số dư một cách đầy đủ để đá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 trung thực cho người dùng khác.

Vấn đề là nếu chỉ có gốc cây merkle được công bố trên chuỗi, người dùng có thể xem và truy cập nó, thì làm thế nào để họ đặt nhánh của mình trong cây để có thể thoát mà không cần phải được phép khi họ muốn?

Rollup phù hợp

Trong Rollup thích hợp, mỗi khi xác nhận giao dịch mới off-chain 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á ngớ ngẩn, mà chỉ 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 các giao dịch cập nhật Rollup.

Trong các triển khai cao cấp hơn, sử dụng sự khác biệt số dư. Điều này thực chất là tóm tắt về tài khoản đã tăng hoặc giảm số tiền trong quá trình cập nhật. Điều này cho phép mỗi 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ể quét qua chuỗi và 'tính toán' từ đầu Rollup để biết trạng thái số dư tài khoản hiện tại, đ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ối không gian (và 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 ra 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 bởi mạng Khối cho người dùng, có nghĩa là giao dịch không bao gồm tóm tắt tài khoản hoặc sự 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 đề sẵn có dữ liệu rút ra khỏi Khối là đặt dữ liệu ở một nơi ngoài Khối. Điều này đặt ra vấn đề tinh vi, 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 khả dụng dữ liệu cho các hệ thống như rollup.

Điều này gây ra khó khăn về an ninh bảo đảm mạnh mẽ tương tự. Khi dữ liệu được công bố trực tiếp trên chuỗi Khối Bitcoin, Nhận thức chung có thể đảm bảo nó hoàn toàn chính xác. Tuy nhiên, khi nó được công bố trên hệ thống bên ngoài, điều tốt nhất nó có thể làm là xác minh chứng chỉ SPV, tức là dữ liệu đã được công bố trên một hệ thống khác.

Điều này đòi hỏi sự xác minh rằng dữ liệu tồn tại trên Khối on-chain khác, đây cuối cùng là một vấn đề Máy Oracle. Chuỗi Khối của BTC không thể xác minh hoàn toàn bất kỳ điều gì xảy ra ngoài việc xảy ra trên chính Khối on-chain của mình, đ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 xem liệu dữ liệu rollup trên Khối sau khi được tạo có thực sự được phổ biến công khai hay không. Nó không thể xác minh xem thông tin bên ngoài có thực 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 cuộc tấn công giữ lại dữ liệu, tức là tạo cam kết đối với việc phát hành dữ liệu và sử dụng nó để thúc đẩy rollup, nhưng dữ liệu thực tế không sẵn có. Điều này dẫn đến người dùng không thể rút tiền. Duy nhất giải pháp thực sự là hoàn toàn phụ thuộc vào giá trị và cấu trúc khích lệ của hệ thống ngoài BTC.

Tiến lùi vô vàn

Điều này đặt ra một thách thức cho rollup. Khi đến vấn đề khả năng truy cập dữ liệu, cơ bản có hai lựa chọn để đăng dữ liệu trên chuỗi khối BTC hoặc nơi khác. Lựa chọn này ảnh hưởng lớn đế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 Blockchain làm lớp khả năng sử dụng dữ liệu cho rollup sẽ đặt một giới hạn tối đa về khả năng mở rộng. Không gian Khối là hữu hạn, điều này đặt giới hạn về 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 cho tất cả rollup. 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 nén đến một mức nhất định, ở điểm này, 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 để thực hiện tính khả dụng của dữ liệu sẽ loại bỏ giới hạn tối đa của khả năng mở rộng, nhưng cũng đưa ra những vấn đề mới về an ninh và chủ quyền. Trong Rollup sử dụng BTC để thực hiện tính khả dụng của dữ liệu, nếu dữ liệu mà người dùng muốn rút tiền 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. Với việc sử dụng Validiums, sự đả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.

Hiện tại, bất kỳ nhà sản xuất khối nào trên hệ thống sẵn sàng dữ liệu bên ngoài cũng 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 mà không phải phát sóng thực tế 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 triển khai Rollup lý tưởng trên BTC, thực sự thực hiện việc rút tiền một cách đơn phương từ người dùng, điều đó sẽ như thế nào?

Xem bản gốc
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
Không có bình luận