Làm cách nào để thoát ra khỏi tư duy Rollup và tích hợp nền tảng Web2 với Web3 với một khuôn khổ rộng hơn và cởi mở hơn?
** Viết bởi Wuyue, Geek Web3 **
**Giới thiệu: **Bài viết này sẽ giới thiệu một mô hình thiết kế cơ sở hạ tầng Web3 có vẻ độc đáo - Mô hình đồng thuận dựa trên lưu trữ (SCP).Mặc dù mô hình thiết kế sản phẩm này về mặt lý thuyết, nó khá khác với các giải pháp blockchain mô-đun chính thống như như Ethereum Rollup, nhưng nó rất khả thi về mặt dễ triển khai và dễ kết nối với nền tảng Web2, bởi vì ngay từ đầu, tôi đã không có ý định giới hạn bản thân trong một con đường triển khai hẹp như Rollup. Tôi muốn sử dụng một khuôn khổ rộng hơn và cởi mở hơn để tích hợp nền tảng Web2 và các cơ sở Web3, có thể nói là một bộ não Một cách tiếp cận rộng mở, giàu trí tưởng tượng.
Văn bản: Chúng ta hãy tưởng tượng một giải pháp mở rộng chuỗi công khai với các đặc điểm sau:
Nó có tốc độ tương đương với các ứng dụng hoặc sàn giao dịch Web2 truyền thống, vượt xa mọi chuỗi công khai, L2, rollup, chuỗi bên, v.v.
Không có phí gas và chi phí sử dụng gần như bằng 0.
Tính bảo mật của tiền cao, vượt xa các cơ sở tập trung như sàn giao dịch, kém hơn Rollup nhưng lớn hơn hoặc bằng chuỗi bên.
Trải nghiệm người dùng giống như Web2 mà không cần bất kỳ kiến thức nào về khóa công khai và khóa riêng, ví, cơ sở hạ tầng, v.v. của chuỗi khối.
Một giải pháp như vậy thực sự rất thú vị: một mặt, về cơ bản nó đã đạt được mức mở rộng công suất tối đa; mặt khác, nó cũng đã đặt nền tảng rất vững chắc cho việc áp dụng Web3 hàng loạt, về cơ bản xóa bỏ khoảng cách giữa Web2 và Web3 kinh nghiệm sử dụng.
Tuy nhiên, chúng ta dường như không thể tưởng tượng được có bao nhiêu giải pháp có thể hoàn thiện đến vậy, bởi vì thực sự có quá ít thảo luận và thực tiễn chính thống.
Chúng tôi đã sử dụng tính năng mở rộng, một chủ đề rất quen thuộc, như phần giới thiệu ở trên. Trên thực tế, SCP không bị giới hạn trong việc mở rộng. Cảm hứng thiết kế của nó đến từ các kế hoạch mở rộng và thảo luận cộng đồng của các chuỗi công khai như Bitcoin và Ethereum. Tầm nhìn và ứng dụng thực tế của nó là xây dựng một thế hệ cơ sở hạ tầng không cần tin cậy mới, thậm chí là nền tảng điện toán không có chuỗi khối. **
##Thành phần cơ bản và nguyên lý hoạt động của SCP
Nói chung, **SCP cũng giống như cái mà cộng đồng Ethereum và Celestia gọi là “blockchain mô-đun”. **SCP có các phân chia mô-đun như lớp sẵn sàng dữ liệu, lớp thực thi, lớp đồng thuận và lớp giải quyết.
Lớp sẵn có của dữ liệu: Nó được coi là một chuỗi công khai hoặc cơ sở lưu trữ được công nhận và chứng minh rộng rãi làm lớp sẵn có của dữ liệu, chẳng hạn như Ethereum, Arweave, Celestia, v.v.
Lớp thực thi: Một máy chủ được sử dụng để nhận và thực hiện các giao dịch của người dùng, đồng thời gửi dữ liệu giao dịch do người dùng ký đến lớp DA theo đợt, tương tự như trình sắp xếp của Rollup. Nhưng lớp thực thi không nhất thiết phải có cấu trúc danh sách liên kết kiểu blockchain, nó hoàn toàn có thể là cơ sở dữ liệu Web2 + hệ thống máy tính, nhưng toàn bộ hệ thống máy tính phải là nguồn mở và minh bạch.
Lớp đồng thuận: Nó bao gồm một nhóm các nút, chúng kéo dữ liệu do lớp thực thi gửi đến lớp DA và sử dụng thuật toán tương tự như lớp thực thi để thao tác trên các dữ liệu này để xác nhận xem kết quả có đầu ra của lớp thực thi là chính xác và Có thể được sử dụng làm dự phòng ngăn ngừa thảm họa cho lớp thực thi. Người dùng cũng có thể đọc dữ liệu được mỗi nút trong lớp đồng thuận trả về để đảm bảo rằng không có gian lận trong lớp thực thi.
Lớp thanh toán: Nó bao gồm một nhóm các nút và hợp đồng hoặc địa chỉ trên các chuỗi khác, được sử dụng để xử lý hành vi của người dùng nạp tiền vào SCP hoặc rút tiền từ SCP. Nó có phần giống với chế độ hoạt động của một cây cầu chéo. Nút lớp thanh toán kiểm soát chức năng rút tiền của địa chỉ nạp tiền thông qua hợp đồng nhiều chữ ký hoặc địa chỉ dựa trên TSS. Khi nạp tiền, người dùng gửi tài sản đến địa chỉ được chỉ định trên chuỗi và khi rút tiền, một yêu cầu sẽ được gửi đi. Sau khi nút lớp thanh toán đọc dữ liệu, nó sẽ giải phóng tài sản thông qua đa chữ ký hoặc TSS. Mức độ bảo mật của lớp giải quyết phụ thuộc vào cơ chế chuỗi chéo được áp dụng.
Khung thực hành của SCP
Chúng ta có thể hiểu mô hình SCP thông qua khuôn khổ sau. Một sản phẩm đáp ứng khung SCP có thể có các chức năng chính như nạp tiền, chuyển khoản, rút tiền, hoán đổi, v.v. và có thể được mở rộng hơn nữa trên cơ sở này. Hình ảnh bên dưới là sơ đồ của một sản phẩm như vậy:
Lớp DA của dự án sử dụng cơ sở lưu trữ cố định Arweave, vòng tròn lớn trong hình.
**Điều phối viên, lớp thực thi. **Người dùng gửi giao dịch cho điều phối viên, điều phối viên thực hiện thao tác và hiển thị kết quả thao tác, sau đó gửi dữ liệu đầu vào ban đầu của người dùng đến lớp DA theo đợt.
Detector, lấy dữ liệu giao dịch ban đầu do điều phối viên gửi từ Arweave và sử dụng thuật toán phù hợp với điều phối viên để xác minh dữ liệu và kết quả. Ứng dụng dò tìm cũng là nguồn mở và có thể được điều hành bởi bất kỳ ai.
**Watchmen, một nhóm người thử nghiệm chịu trách nhiệm về đa chữ ký của hệ thống rút tiền. **Yêu cầu rút tiền sẽ được xác minh và giải phóng dựa trên dữ liệu giao dịch. Ngoài ra, người canh gác còn có trách nhiệm ký vào bản kiến nghị.
Chúng ta có thể thấy toàn bộ hệ thống và sự đồng thuận mà họ đạt được đều nằm ngoài chuỗi. Đây là cốt lõi của mô hình đồng thuận lưu trữ - nó từ bỏ hệ thống đồng thuận nút kiểu blockchain và giải phóng lớp thực thi khỏi sự đồng thuận nặng nề. Quá trình xác nhận chỉ yêu cầu công việc của một máy chủ, nhờ đó đạt được TPS và tính kinh tế gần như không giới hạn. Điều này rất giống với Rollup, nhưng SCP đã đi theo một con đường khác với Rollup, biến nó từ trường hợp sử dụng chuyên dụng để mở rộng dung lượng sang mô hình chuyển đổi mới từ Web2 sang Web3. **
Điều phối viên được đề cập ở trên là một máy chủ, nhưng điều này không có nghĩa là điều phối viên có thể làm bất cứ điều gì mình muốn. Tương tự như trình sắp xếp của Rollup, sau khi dữ liệu gốc do người dùng gửi được gửi theo lô trên Arweave, bất kỳ ai cũng có thể chạy chương trình phát hiện để xác minh và so sánh dữ liệu đó với trạng thái do điều phối viên trả về. ** Ở một mức độ nào đó, điều này hoàn toàn giống với ý tưởng về ứng dụng khắc chữ. **
Theo kiến trúc này, máy chủ và cơ sở dữ liệu tập trung không đặt ra thách thức cơ bản. Đây cũng là một điểm khác của mô hình SCP, nó gắn kết và tách rời hai khái niệm “tập trung hóa” và “thực thể duy nhất” - **Trong một hệ thống không tin cậy, có thể có các thành phần tập trung, **thậm chí có thể là các thành phần cốt lõi, nhưng điều này không ảnh hưởng đến sự không tin cậy tổng thể.
Chúng ta có thể hét lên một khẩu hiệu như vậy - “Thế hệ cơ sở hạ tầng không đáng tin cậy tiếp theo không cần phải dựa vào các giao thức đồng thuận mà phải là các hệ thống nguồn mở và mạng nút P2P”.
Mục đích ban đầu của những người phát minh và sử dụng blockchain là không tin tưởng, sổ cái nhất quán, không thể giả mạo, có thể truy nguyên và các nguyên tắc cơ bản phổ biến khác, được nêu rõ ràng trong sách trắng Bitcoin. **Nhưng sau Ethereum, **cho dù đó là kế hoạch mở rộng của chuỗi công khai cũ, hay Rollup hay blockchain mô-đun, mọi người đã hình thành một tư duy: những gì chúng tôi tạo ra phải là một blockchain ( Nó bao gồm giao thức đồng thuận của các nút) hoặc một giải pháp như Rollup trông giống như một chuỗi (nó chỉ có cấu trúc dữ liệu của chuỗi khối, nhưng các nút không trao đổi trực tiếp các thông điệp đồng thuận).
Nhưng giờ đây, trong khuôn khổ dựa trên SCP, ngay cả khi nó không phải là blockchain, một loạt các yêu cầu như không tin cậy, tính nhất quán của sổ cái, không giả mạo, truy xuất nguồn gốc, v.v. đều có thể đạt được. chi tiết thực hiện rõ ràng hơn.
Lớp thực thi
Lớp thực thi rất quan trọng trong toàn bộ hệ thống, nó đảm nhận quá trình tính toán của toàn bộ hệ thống và xác định những ứng dụng nào có thể chạy trên hệ thống.
Môi trường thực thi khả thi vô tận
Về mặt lý thuyết, môi trường thực thi trong lớp thực thi có thể được tạo thành bất kỳ hình dạng nào và khả năng là vô tận, tùy thuộc vào cách bên dự án định vị dự án của mình:
*Trao đổi. Dựa trên SCP, có thể xây dựng một sàn giao dịch mở, minh bạch và TPS cao. Sàn giao dịch này không chỉ có các đặc điểm về tốc độ và chi phí bằng 0 của CEX mà còn duy trì tính phân cấp của DEX. Sự khác biệt giữa CEX và DEX trở nên mờ nhạt ở đây.
Mạng thanh toán. Tương tự như Alipay, PayPal, v.v.
Hỗ trợ máy ảo/blockchain để tải chương trình/hợp đồng. Bất kỳ nhà phát triển nào cũng có thể triển khai bất kỳ ứng dụng nào trên đó, chia sẻ toàn bộ dữ liệu người dùng với các chương trình khác và vận hành theo hướng dẫn của người dùng.
**SCP, một mô hình thiết kế hỗ trợ các môi trường thực thi tùy ý, có những lợi ích riêng: **Bạn không còn phải phụ thuộc vào một số thành phần nhất định với hành trang lịch sử, đặc biệt là khái niệm “trừu tượng tài khoản” duy nhất của cộng đồng Ethereum, điều này rất quan trọng đối với SCP. Người ta nói rằng bản chất nó không cần thiết.
Theo kiến trúc SCP, không có khái niệm trừu tượng hóa tài khoản - bạn có thể sử dụng tài khoản chuẩn Web2 và tài khoản blockchain theo ý muốn. Từ quan điểm này, nhiều trường hợp sử dụng Web2 trưởng thành có thể được sử dụng trực tiếp trên SCP mà không cần suy nghĩ lại và xây dựng. Đây có thể là lợi ích của SCP so với Rollup. **
Tính minh bạch và bất đối xứng
Hệ thống tài khoản đã được đề cập ở trên, những độc giả nhạy cảm đáng lẽ phải phát hiện ra rằng mặc dù SCP có thể sử dụng hệ thống tài khoản Web2 nhưng dường như vẫn có vấn đề khi sử dụng nó không thay đổi.
Bởi vì toàn bộ hệ thống này hoàn toàn minh bạch! Việc sử dụng trực tiếp mô hình tương tác giữa người dùng với máy chủ sẽ gây ra sự cố nghiêm trọng, dẫn đến không bảo mật cho toàn bộ hệ thống. Trước tiên hãy xem lại cách hoạt động của mô hình người dùng máy chủ truyền thống:
1. Đăng ký tài khoản: Người dùng nhập tên người dùng và mật khẩu trên trang đăng ký của ứng dụng. Để bảo vệ mật khẩu của người dùng, máy chủ sẽ xử lý mật khẩu thông qua hàm băm sau khi nhận được. Để tăng độ phức tạp của hàm băm và bảo vệ khỏi các cuộc tấn công bảng cầu vồng, mật khẩu của mỗi người dùng thường được nối với một chuỗi được tạo ngẫu nhiên (được gọi là “muối”) và được băm cùng nhau. **Tên người dùng, muối và hàm băm được lưu trữ dưới dạng văn bản rõ ràng trong cơ sở dữ liệu của nhà cung cấp dịch vụ và không được tiết lộ cho công chúng. **Nhưng ngay cả như vậy, việc xử lý muối và bảo mật vẫn cần thiết để ngăn chặn những kẻ nội bộ và các cuộc tấn công.
2. Đăng nhập người dùng: Người dùng nhập tên người dùng và mật khẩu của họ vào biểu mẫu đăng nhập. Hệ thống so sánh giá trị băm mật khẩu đã xử lý với giá trị băm được lưu trữ trong cơ sở dữ liệu. Nếu hai giá trị băm khớp nhau, người dùng đã cung cấp mật khẩu chính xác và quá trình đăng nhập tiếp tục.
3. Xác thực thao tác: Sau khi xác thực đăng nhập được thông qua, hệ thống sẽ tạo phiên cho người dùng. Thông thường, thông tin phiên được lưu trữ trên máy chủ và máy chủ sẽ gửi mã định danh (chẳng hạn như mã thông báo) tới trình duyệt hoặc ứng dụng của người dùng. Người dùng không cần phải nhập lại tên người dùng và mật khẩu của mình trong các thao tác tiếp theo: trình duyệt hoặc ứng dụng sẽ lưu mã định danh và đưa nó vào mỗi yêu cầu để cho biết rằng họ được máy chủ liên kết cho phép.
Hãy cùng xem lại hệ thống tương tác giữa người dùng và chuỗi khối Web3 điển hình:
1. Đăng ký tài khoản: Thực tế không có quy trình đăng ký tài khoản và không có hệ thống tên người dùng-mật khẩu. Tài khoản (địa chỉ) không cần phải đăng ký, chúng tồn tại một cách tự nhiên và bất cứ ai có khóa riêng sẽ kiểm soát tài khoản. Khóa riêng được ví tạo ngẫu nhiên cục bộ và không liên quan đến quá trình kết nối mạng.
2. Đăng nhập của người dùng: Việc sử dụng blockchain không yêu cầu đăng nhập. Hầu hết các dApp không có quy trình đăng nhập mà kết nối với ví. Một số dApp sẽ yêu cầu người dùng thực hiện xác minh chữ ký sau khi kết nối với ví để đảm bảo rằng người dùng thực sự nắm giữ khóa riêng, thay vì chỉ chuyển địa chỉ ví đến giao diện người dùng.
**3. Xác thực hoạt động: ** Người dùng trực tiếp gửi dữ liệu đã ký đến nút. Sau khi xác minh, nút sẽ phát giao dịch tới toàn bộ mạng blockchain. Sau khi đáp ứng được sự đồng thuận của mạng blockchain, hoạt động của người dùng sẽ được xác nhận .
Sự khác biệt giữa hai chế độ là do tính đối xứng và bất đối xứng. Trong kiến trúc máy chủ-người dùng, cả hai bên đều nắm giữ những bí mật giống nhau. Trong kiến trúc người dùng blockchain, chỉ người dùng mới nắm giữ bí mật.
Mặc dù lớp thực thi của SCP có thể không phải là một blockchain, nhưng tất cả dữ liệu cần phải được đồng bộ hóa với lớp DA hiển thị công khai ** Do đó, các phương thức xác minh hoạt động và đăng nhập mà SCP sử dụng phải bất đối xứng. **Nhưng vì chúng tôi không muốn người dùng giữ khóa riêng, sử dụng ví và các hành động rườm rà khác cũng như trải nghiệm kém ảnh hưởng đến việc áp dụng trên quy mô lớn nên cũng có nhu cầu lớn về các ứng dụng được xây dựng trên SCP sử dụng mật khẩu ID truyền thống hoặc OAuth xác thực ba bên để đăng nhập. Vậy làm thế nào để kết hợp cả hai?
Do tính chất bất đối xứng của mật mã bất đối xứng và bằng chứng không có kiến thức, Tôi đã hình dung ra hai giải pháp khả thi:
Nếu bạn muốn sử dụng hệ thống mật khẩu ID, bạn không thể đưa mô-đun lưu mật khẩu này vào SCP để người khác không nhìn thấy nó. Lớp thực thi SCP vẫn sử dụng các tài khoản khóa công khai và riêng tư cũng như logic hoạt động của blockchain và không có đăng ký, không đăng nhập, v.v. **ID của người dùng thực sự tương ứng với khóa riêng. **Tất nhiên, khóa riêng này không thể được lưu ở phía dự án. Một giải pháp khả thi hơn là sử dụng 2-3 MPC để giải quyết vấn đề lưu trữ tập trung mà không để người dùng gánh nặng sử dụng khóa riêng.
**Khi dựa vào OAuth để đăng nhập, JWT (Json Web Token) có thể được sử dụng làm phương thức xác thực. **Phương pháp này sẽ tập trung hơn một chút so với phương pháp trên vì về cơ bản nó dựa vào dịch vụ đăng nhập của bên thứ ba do nhà sản xuất Web2 lớn cung cấp để xác thực danh tính.
Khi sử dụng bên thứ ba để đăng nhập lần đầu tiên, hãy đăng ký các trường trong JWT đại diện cho danh tính người dùng và danh tính nhà cung cấp dịch vụ trong hệ thống. Trong các hoạt động tiếp theo của người dùng, hướng dẫn thao tác được sử dụng làm đầu vào công khai và toàn bộ JWT được sử dụng làm nhân chứng bí mật để xác minh giao dịch của từng người dùng với ZKP.
Mỗi JWT đều có giới hạn thời gian hết hạn và người dùng cũng sẽ đăng ký JWT mới vào lần đăng nhập tiếp theo nên không cần phải giữ vĩnh viễn. Ngoài ra, hệ thống này cũng cần dựa vào JWK, có thể hiểu là khóa công khai do nhà sản xuất cung cấp để xác minh JWK. Vì vậy, làm thế nào để nhập JWK vào hệ thống theo cách phi tập trung và cách xử lý vấn đề xoay vòng khóa riêng trong tương lai cũng rất đáng để khám phá.
**Dù sử dụng phương pháp nào thì chi phí phát triển và tính toán đều cao hơn phương pháp truyền thống, nhưng đây cũng là cái giá phải trả cho việc phân cấp. **Tất nhiên, nếu bên dự án không nghĩ rằng việc phân cấp cực độ là cần thiết hoặc có các mốc quan trọng khác nhau ở các giai đoạn phát triển khác nhau thì không cần thiết những thiết kế này cũng không sao, vì phân cấp không phải là trắng đen mà là có một vùng xám ở giữa.
Sự riêng tư
Các vấn đề về tính minh bạch được đề cập ở trên không chỉ ảnh hưởng đến mô hình tương tác của người dùng mà còn ảnh hưởng đến dữ liệu người dùng. Dữ liệu người dùng được hiển thị trực tiếp. Mặc dù không phải là vấn đề trong blockchain nhưng điều này không được chấp nhận trong một số ứng dụng, vì vậy các nhà phát triển cũng có thể xây dựng các hệ thống giao dịch riêng tư.
SỐ ĐIỆN THOẠI
Cách tính phí của lớp điều hành là một điểm khác đáng được chú ý. Bởi vì việc gửi dữ liệu đến lớp DA cũng đòi hỏi chi phí, bao gồm cả việc vận hành máy chủ của chính nó. Mục đích cốt lõi đầu tiên của blockchain truyền thống tính phí gas cho người dùng là ngăn người dùng làm hỏng mạng giao dịch bằng cách thực hiện một số lượng lớn giao dịch lặp lại và mục đích thứ hai là sắp xếp các giao dịch dựa trên gas. Web2 không có những mối lo ngại tương tự nên chỉ có những khái niệm cơ bản như lũ lụt và DDoS.
**Lớp thực thi có thể tùy chỉnh các chiến lược tính phí khác nhau, chẳng hạn như sạc hoàn toàn hoặc sạc một phần. **Nó cũng có thể thu lợi từ các hành vi khác như MEV (rất trưởng thành trong trình sắp xếp thứ tự), hoạt động thị trường, v.v.
Chống kiểm duyệt
Lớp thực thi không có khả năng chống kiểm duyệt và về mặt lý thuyết có thể từ chối các giao dịch của người dùng mà không có giới hạn. Trong Rollup, khả năng chống kiểm duyệt có thể được đảm bảo bởi chức năng thu thập bắt buộc của hợp đồng L1, trong khi chuỗi bên hoặc chuỗi công khai là một mạng blockchain phân tán hoàn chỉnh và rất khó kiểm duyệt.
**Hiện tại chưa có giải pháp rõ ràng cho vấn đề chống kiểm duyệt, vốn là một vấn đề của mô hình SCP. **
Lớp đồng thuận
Lớp này bao gồm các nút lỏng lẻo, các nút này không tích cực hình thành mạng, vì vậy nó không phải là lớp đồng thuận theo nghĩa chặt chẽ mà chỉ được sử dụng để xác nhận trạng thái lớp thực thi hiện tại với thế giới bên ngoài (chẳng hạn như người dùng).
Ví dụ: nếu bạn có bất kỳ nghi ngờ nào về tình trạng của các nút này, bạn có thể tải xuống ứng dụng dò tìm của chúng, ứng dụng này sẽ chạy cùng mã chương trình với điều phối viên. **
Tuy nhiên, điều này tương tự như Rollup.Vì dữ liệu được gửi theo đợt nên trạng thái được lớp thực thi trả về cho người dùng luôn mới hơn trạng thái trên lớp DA. Điều này liên quan đến vấn đề xác nhận trước:
**Lớp thực thi cung cấp cho người dùng kết quả cuối cùng mềm, được xác nhận trước, **vì chúng chưa được gửi đến lớp DA;
**Lớp đồng thuận cung cấp cho người dùng tính hữu hạn cứng. **Người dùng có thể không đặc biệt quan tâm đến điều này, nhưng đối với các ứng dụng như cầu nối chuỗi chéo, phải tuân theo tính hữu hạn cứng. Ví dụ: hệ thống gửi và rút tiền của sàn giao dịch sẽ không tin vào dữ liệu được phát ra ngoài chuỗi bởi trình sắp xếp Rollup và phải đợi cho đến khi dữ liệu được tải lên Ethereum trước khi được nhận dạng.
Ngoài việc được sử dụng để xác nhận kết quả, lớp đồng thuận còn đóng vai trò rất quan trọng, đó là lớp dự phòng ngăn ngừa thảm họa cho lớp thực thi. **Nếu lớp thực thi vĩnh viễn đình công và phạm tội nghiêm trọng, về lý thuyết, bất kỳ lớp đồng thuận nào cũng có thể đảm nhận công việc của lớp thực thi và nhận yêu cầu của người dùng. Nếu tình huống nghiêm trọng như vậy xảy ra, cộng đồng nên chọn một nút ổn định và đáng tin cậy làm máy chủ lớp thực thi.
Lớp giải quyết
Vì SCP không phải là một Rollup nên nó không thể đạt được khả năng rút tiền không đáng tin cậy mà không cần can thiệp thủ công và hoàn toàn dựa trên mật mã và mã hợp đồng thông minh như lớp giải quyết rút tiền của Rollup. **Mức độ bảo mật của cầu nối chuỗi chéo SCP tương tự như cầu nối chuỗi bên hoặc chuỗi chéo nhân chứng của bên thứ ba. **Nó cần phải dựa vào những người quản lý đa chữ ký được ủy quyền để giải phóng tài sản. Chúng tôi gọi đó là chế độ nhân chứng .
Làm cho cầu nhân chứng trở nên phi tập trung nhất có thể là chủ đề của nhiều nghiên cứu về cầu nối xuyên chuỗi. Do giới hạn về không gian nên chúng tôi sẽ không đi sâu vào chi tiết ở đây. Một nền tảng SCP được thiết kế tốt cũng phải có một đối tác đa chữ ký uy tín của một cây cầu phi tập trung trong thực tế.
**Ai đó có thể hỏi tại sao SCP không sử dụng chuỗi có hợp đồng thông minh làm lớp DA? **Điều này cho phép lớp giải quyết hoàn toàn dựa trên hợp đồng, không cần tin cậy.
Về lâu dài, miễn là một số khó khăn kỹ thuật được khắc phục, nếu lớp DA được đặt trên lớp DA với các hợp đồng như Ethereum và có thể xây dựng các hợp đồng tương ứng để xác minh, SCP cũng có thể có được bảo mật thanh toán tương tự như Rollup. Không cần sử dụng nhiều chữ ký.
Nhưng trên thực tế đây có thể không phải là lựa chọn tốt nhất:
Ethereum không được sử dụng đặc biệt để lưu trữ dữ liệu và giá quá cao so với chuỗi công khai lưu trữ dữ liệu thuần túy. **Đối với mô hình SCP, chi phí lưu trữ đủ thấp hoặc cố định là rất quan trọng. **Chỉ bằng cách này mới có thể hỗ trợ thông lượng cấp Web2.
2.** Nó chứng tỏ rằng hệ thống này rất khó phát triển, bởi vì SCP không chỉ có thể mô phỏng EVM mà còn có thể thực hiện bất kỳ logic nào. **Và khi chúng ta nhìn vào các nhóm như Optimism, những người có bằng chứng gian lận vẫn chưa trực tuyến và việc phát triển zkEVM khó khăn như thế nào, chúng ta có thể tưởng tượng rằng việc triển khai bằng chứng về các hệ thống khác nhau trên Ethereum là điều cực kỳ khó khăn.
Do đó, **Rollup là một giải pháp có tính khả thi thực tế tốt hơn chỉ trong những trường hợp cụ thể **Nếu bạn dự định triển khai một giải pháp rộng hơn và cởi mở hơn, hãy loại bỏ hệ thống EVM và tích hợp nhiều tính năng Web2 hơn, thì ý tưởng về Fang Rollup không phù hợp.
**SCP không phải là một kế hoạch mở rộng chuỗi công khai nhất định mà là một kiến trúc nền tảng điện toán Web3 lớn hơn, vì vậy rõ ràng là không cần thiết phải tuân theo ý tưởng Lớp 2 của Ethereum. **
Một bức ảnh so sánh SCP và các mô hình khác
Xem bản gốc
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.
Giải thích SCP: Thoát khỏi mô hình cơ sở hạ tầng không tin cậy dựa trên Rollup
** Viết bởi Wuyue, Geek Web3 **
**Giới thiệu: **Bài viết này sẽ giới thiệu một mô hình thiết kế cơ sở hạ tầng Web3 có vẻ độc đáo - Mô hình đồng thuận dựa trên lưu trữ (SCP).Mặc dù mô hình thiết kế sản phẩm này về mặt lý thuyết, nó khá khác với các giải pháp blockchain mô-đun chính thống như như Ethereum Rollup, nhưng nó rất khả thi về mặt dễ triển khai và dễ kết nối với nền tảng Web2, bởi vì ngay từ đầu, tôi đã không có ý định giới hạn bản thân trong một con đường triển khai hẹp như Rollup. Tôi muốn sử dụng một khuôn khổ rộng hơn và cởi mở hơn để tích hợp nền tảng Web2 và các cơ sở Web3, có thể nói là một bộ não Một cách tiếp cận rộng mở, giàu trí tưởng tượng.
Văn bản: Chúng ta hãy tưởng tượng một giải pháp mở rộng chuỗi công khai với các đặc điểm sau:
Một giải pháp như vậy thực sự rất thú vị: một mặt, về cơ bản nó đã đạt được mức mở rộng công suất tối đa; mặt khác, nó cũng đã đặt nền tảng rất vững chắc cho việc áp dụng Web3 hàng loạt, về cơ bản xóa bỏ khoảng cách giữa Web2 và Web3 kinh nghiệm sử dụng.
Tuy nhiên, chúng ta dường như không thể tưởng tượng được có bao nhiêu giải pháp có thể hoàn thiện đến vậy, bởi vì thực sự có quá ít thảo luận và thực tiễn chính thống.
Chúng tôi đã sử dụng tính năng mở rộng, một chủ đề rất quen thuộc, như phần giới thiệu ở trên. Trên thực tế, SCP không bị giới hạn trong việc mở rộng. Cảm hứng thiết kế của nó đến từ các kế hoạch mở rộng và thảo luận cộng đồng của các chuỗi công khai như Bitcoin và Ethereum. Tầm nhìn và ứng dụng thực tế của nó là xây dựng một thế hệ cơ sở hạ tầng không cần tin cậy mới, thậm chí là nền tảng điện toán không có chuỗi khối. **
##Thành phần cơ bản và nguyên lý hoạt động của SCP
Nói chung, **SCP cũng giống như cái mà cộng đồng Ethereum và Celestia gọi là “blockchain mô-đun”. **SCP có các phân chia mô-đun như lớp sẵn sàng dữ liệu, lớp thực thi, lớp đồng thuận và lớp giải quyết.
Khung thực hành của SCP
Chúng ta có thể hiểu mô hình SCP thông qua khuôn khổ sau. Một sản phẩm đáp ứng khung SCP có thể có các chức năng chính như nạp tiền, chuyển khoản, rút tiền, hoán đổi, v.v. và có thể được mở rộng hơn nữa trên cơ sở này. Hình ảnh bên dưới là sơ đồ của một sản phẩm như vậy:
Chúng ta có thể thấy toàn bộ hệ thống và sự đồng thuận mà họ đạt được đều nằm ngoài chuỗi. Đây là cốt lõi của mô hình đồng thuận lưu trữ - nó từ bỏ hệ thống đồng thuận nút kiểu blockchain và giải phóng lớp thực thi khỏi sự đồng thuận nặng nề. Quá trình xác nhận chỉ yêu cầu công việc của một máy chủ, nhờ đó đạt được TPS và tính kinh tế gần như không giới hạn. Điều này rất giống với Rollup, nhưng SCP đã đi theo một con đường khác với Rollup, biến nó từ trường hợp sử dụng chuyên dụng để mở rộng dung lượng sang mô hình chuyển đổi mới từ Web2 sang Web3. **
Điều phối viên được đề cập ở trên là một máy chủ, nhưng điều này không có nghĩa là điều phối viên có thể làm bất cứ điều gì mình muốn. Tương tự như trình sắp xếp của Rollup, sau khi dữ liệu gốc do người dùng gửi được gửi theo lô trên Arweave, bất kỳ ai cũng có thể chạy chương trình phát hiện để xác minh và so sánh dữ liệu đó với trạng thái do điều phối viên trả về. ** Ở một mức độ nào đó, điều này hoàn toàn giống với ý tưởng về ứng dụng khắc chữ. **
Theo kiến trúc này, máy chủ và cơ sở dữ liệu tập trung không đặt ra thách thức cơ bản. Đây cũng là một điểm khác của mô hình SCP, nó gắn kết và tách rời hai khái niệm “tập trung hóa” và “thực thể duy nhất” - **Trong một hệ thống không tin cậy, có thể có các thành phần tập trung, **thậm chí có thể là các thành phần cốt lõi, nhưng điều này không ảnh hưởng đến sự không tin cậy tổng thể.
Chúng ta có thể hét lên một khẩu hiệu như vậy - “Thế hệ cơ sở hạ tầng không đáng tin cậy tiếp theo không cần phải dựa vào các giao thức đồng thuận mà phải là các hệ thống nguồn mở và mạng nút P2P”.
Mục đích ban đầu của những người phát minh và sử dụng blockchain là không tin tưởng, sổ cái nhất quán, không thể giả mạo, có thể truy nguyên và các nguyên tắc cơ bản phổ biến khác, được nêu rõ ràng trong sách trắng Bitcoin. **Nhưng sau Ethereum, **cho dù đó là kế hoạch mở rộng của chuỗi công khai cũ, hay Rollup hay blockchain mô-đun, mọi người đã hình thành một tư duy: những gì chúng tôi tạo ra phải là một blockchain ( Nó bao gồm giao thức đồng thuận của các nút) hoặc một giải pháp như Rollup trông giống như một chuỗi (nó chỉ có cấu trúc dữ liệu của chuỗi khối, nhưng các nút không trao đổi trực tiếp các thông điệp đồng thuận).
Nhưng giờ đây, trong khuôn khổ dựa trên SCP, ngay cả khi nó không phải là blockchain, một loạt các yêu cầu như không tin cậy, tính nhất quán của sổ cái, không giả mạo, truy xuất nguồn gốc, v.v. đều có thể đạt được. chi tiết thực hiện rõ ràng hơn.
Lớp thực thi
Lớp thực thi rất quan trọng trong toàn bộ hệ thống, nó đảm nhận quá trình tính toán của toàn bộ hệ thống và xác định những ứng dụng nào có thể chạy trên hệ thống.
Môi trường thực thi khả thi vô tận
Về mặt lý thuyết, môi trường thực thi trong lớp thực thi có thể được tạo thành bất kỳ hình dạng nào và khả năng là vô tận, tùy thuộc vào cách bên dự án định vị dự án của mình:
*Trao đổi. Dựa trên SCP, có thể xây dựng một sàn giao dịch mở, minh bạch và TPS cao. Sàn giao dịch này không chỉ có các đặc điểm về tốc độ và chi phí bằng 0 của CEX mà còn duy trì tính phân cấp của DEX. Sự khác biệt giữa CEX và DEX trở nên mờ nhạt ở đây.
**SCP, một mô hình thiết kế hỗ trợ các môi trường thực thi tùy ý, có những lợi ích riêng: **Bạn không còn phải phụ thuộc vào một số thành phần nhất định với hành trang lịch sử, đặc biệt là khái niệm “trừu tượng tài khoản” duy nhất của cộng đồng Ethereum, điều này rất quan trọng đối với SCP. Người ta nói rằng bản chất nó không cần thiết.
Theo kiến trúc SCP, không có khái niệm trừu tượng hóa tài khoản - bạn có thể sử dụng tài khoản chuẩn Web2 và tài khoản blockchain theo ý muốn. Từ quan điểm này, nhiều trường hợp sử dụng Web2 trưởng thành có thể được sử dụng trực tiếp trên SCP mà không cần suy nghĩ lại và xây dựng. Đây có thể là lợi ích của SCP so với Rollup. **
Tính minh bạch và bất đối xứng
Hệ thống tài khoản đã được đề cập ở trên, những độc giả nhạy cảm đáng lẽ phải phát hiện ra rằng mặc dù SCP có thể sử dụng hệ thống tài khoản Web2 nhưng dường như vẫn có vấn đề khi sử dụng nó không thay đổi.
Bởi vì toàn bộ hệ thống này hoàn toàn minh bạch! Việc sử dụng trực tiếp mô hình tương tác giữa người dùng với máy chủ sẽ gây ra sự cố nghiêm trọng, dẫn đến không bảo mật cho toàn bộ hệ thống. Trước tiên hãy xem lại cách hoạt động của mô hình người dùng máy chủ truyền thống:
1. Đăng ký tài khoản: Người dùng nhập tên người dùng và mật khẩu trên trang đăng ký của ứng dụng. Để bảo vệ mật khẩu của người dùng, máy chủ sẽ xử lý mật khẩu thông qua hàm băm sau khi nhận được. Để tăng độ phức tạp của hàm băm và bảo vệ khỏi các cuộc tấn công bảng cầu vồng, mật khẩu của mỗi người dùng thường được nối với một chuỗi được tạo ngẫu nhiên (được gọi là “muối”) và được băm cùng nhau. **Tên người dùng, muối và hàm băm được lưu trữ dưới dạng văn bản rõ ràng trong cơ sở dữ liệu của nhà cung cấp dịch vụ và không được tiết lộ cho công chúng. **Nhưng ngay cả như vậy, việc xử lý muối và bảo mật vẫn cần thiết để ngăn chặn những kẻ nội bộ và các cuộc tấn công.
2. Đăng nhập người dùng: Người dùng nhập tên người dùng và mật khẩu của họ vào biểu mẫu đăng nhập. Hệ thống so sánh giá trị băm mật khẩu đã xử lý với giá trị băm được lưu trữ trong cơ sở dữ liệu. Nếu hai giá trị băm khớp nhau, người dùng đã cung cấp mật khẩu chính xác và quá trình đăng nhập tiếp tục.
3. Xác thực thao tác: Sau khi xác thực đăng nhập được thông qua, hệ thống sẽ tạo phiên cho người dùng. Thông thường, thông tin phiên được lưu trữ trên máy chủ và máy chủ sẽ gửi mã định danh (chẳng hạn như mã thông báo) tới trình duyệt hoặc ứng dụng của người dùng. Người dùng không cần phải nhập lại tên người dùng và mật khẩu của mình trong các thao tác tiếp theo: trình duyệt hoặc ứng dụng sẽ lưu mã định danh và đưa nó vào mỗi yêu cầu để cho biết rằng họ được máy chủ liên kết cho phép.
Hãy cùng xem lại hệ thống tương tác giữa người dùng và chuỗi khối Web3 điển hình:
1. Đăng ký tài khoản: Thực tế không có quy trình đăng ký tài khoản và không có hệ thống tên người dùng-mật khẩu. Tài khoản (địa chỉ) không cần phải đăng ký, chúng tồn tại một cách tự nhiên và bất cứ ai có khóa riêng sẽ kiểm soát tài khoản. Khóa riêng được ví tạo ngẫu nhiên cục bộ và không liên quan đến quá trình kết nối mạng.
2. Đăng nhập của người dùng: Việc sử dụng blockchain không yêu cầu đăng nhập. Hầu hết các dApp không có quy trình đăng nhập mà kết nối với ví. Một số dApp sẽ yêu cầu người dùng thực hiện xác minh chữ ký sau khi kết nối với ví để đảm bảo rằng người dùng thực sự nắm giữ khóa riêng, thay vì chỉ chuyển địa chỉ ví đến giao diện người dùng.
**3. Xác thực hoạt động: ** Người dùng trực tiếp gửi dữ liệu đã ký đến nút. Sau khi xác minh, nút sẽ phát giao dịch tới toàn bộ mạng blockchain. Sau khi đáp ứng được sự đồng thuận của mạng blockchain, hoạt động của người dùng sẽ được xác nhận .
Sự khác biệt giữa hai chế độ là do tính đối xứng và bất đối xứng. Trong kiến trúc máy chủ-người dùng, cả hai bên đều nắm giữ những bí mật giống nhau. Trong kiến trúc người dùng blockchain, chỉ người dùng mới nắm giữ bí mật.
Mặc dù lớp thực thi của SCP có thể không phải là một blockchain, nhưng tất cả dữ liệu cần phải được đồng bộ hóa với lớp DA hiển thị công khai ** Do đó, các phương thức xác minh hoạt động và đăng nhập mà SCP sử dụng phải bất đối xứng. **Nhưng vì chúng tôi không muốn người dùng giữ khóa riêng, sử dụng ví và các hành động rườm rà khác cũng như trải nghiệm kém ảnh hưởng đến việc áp dụng trên quy mô lớn nên cũng có nhu cầu lớn về các ứng dụng được xây dựng trên SCP sử dụng mật khẩu ID truyền thống hoặc OAuth xác thực ba bên để đăng nhập. Vậy làm thế nào để kết hợp cả hai?
Do tính chất bất đối xứng của mật mã bất đối xứng và bằng chứng không có kiến thức, Tôi đã hình dung ra hai giải pháp khả thi:
**Dù sử dụng phương pháp nào thì chi phí phát triển và tính toán đều cao hơn phương pháp truyền thống, nhưng đây cũng là cái giá phải trả cho việc phân cấp. **Tất nhiên, nếu bên dự án không nghĩ rằng việc phân cấp cực độ là cần thiết hoặc có các mốc quan trọng khác nhau ở các giai đoạn phát triển khác nhau thì không cần thiết những thiết kế này cũng không sao, vì phân cấp không phải là trắng đen mà là có một vùng xám ở giữa.
Sự riêng tư
Các vấn đề về tính minh bạch được đề cập ở trên không chỉ ảnh hưởng đến mô hình tương tác của người dùng mà còn ảnh hưởng đến dữ liệu người dùng. Dữ liệu người dùng được hiển thị trực tiếp. Mặc dù không phải là vấn đề trong blockchain nhưng điều này không được chấp nhận trong một số ứng dụng, vì vậy các nhà phát triển cũng có thể xây dựng các hệ thống giao dịch riêng tư.
SỐ ĐIỆN THOẠI
Cách tính phí của lớp điều hành là một điểm khác đáng được chú ý. Bởi vì việc gửi dữ liệu đến lớp DA cũng đòi hỏi chi phí, bao gồm cả việc vận hành máy chủ của chính nó. Mục đích cốt lõi đầu tiên của blockchain truyền thống tính phí gas cho người dùng là ngăn người dùng làm hỏng mạng giao dịch bằng cách thực hiện một số lượng lớn giao dịch lặp lại và mục đích thứ hai là sắp xếp các giao dịch dựa trên gas. Web2 không có những mối lo ngại tương tự nên chỉ có những khái niệm cơ bản như lũ lụt và DDoS.
**Lớp thực thi có thể tùy chỉnh các chiến lược tính phí khác nhau, chẳng hạn như sạc hoàn toàn hoặc sạc một phần. **Nó cũng có thể thu lợi từ các hành vi khác như MEV (rất trưởng thành trong trình sắp xếp thứ tự), hoạt động thị trường, v.v.
Chống kiểm duyệt
Lớp thực thi không có khả năng chống kiểm duyệt và về mặt lý thuyết có thể từ chối các giao dịch của người dùng mà không có giới hạn. Trong Rollup, khả năng chống kiểm duyệt có thể được đảm bảo bởi chức năng thu thập bắt buộc của hợp đồng L1, trong khi chuỗi bên hoặc chuỗi công khai là một mạng blockchain phân tán hoàn chỉnh và rất khó kiểm duyệt.
**Hiện tại chưa có giải pháp rõ ràng cho vấn đề chống kiểm duyệt, vốn là một vấn đề của mô hình SCP. **
Lớp đồng thuận
Lớp này bao gồm các nút lỏng lẻo, các nút này không tích cực hình thành mạng, vì vậy nó không phải là lớp đồng thuận theo nghĩa chặt chẽ mà chỉ được sử dụng để xác nhận trạng thái lớp thực thi hiện tại với thế giới bên ngoài (chẳng hạn như người dùng).
Ví dụ: nếu bạn có bất kỳ nghi ngờ nào về tình trạng của các nút này, bạn có thể tải xuống ứng dụng dò tìm của chúng, ứng dụng này sẽ chạy cùng mã chương trình với điều phối viên. **
Tuy nhiên, điều này tương tự như Rollup.Vì dữ liệu được gửi theo đợt nên trạng thái được lớp thực thi trả về cho người dùng luôn mới hơn trạng thái trên lớp DA. Điều này liên quan đến vấn đề xác nhận trước:
**Lớp thực thi cung cấp cho người dùng kết quả cuối cùng mềm, được xác nhận trước, **vì chúng chưa được gửi đến lớp DA;
**Lớp đồng thuận cung cấp cho người dùng tính hữu hạn cứng. **Người dùng có thể không đặc biệt quan tâm đến điều này, nhưng đối với các ứng dụng như cầu nối chuỗi chéo, phải tuân theo tính hữu hạn cứng. Ví dụ: hệ thống gửi và rút tiền của sàn giao dịch sẽ không tin vào dữ liệu được phát ra ngoài chuỗi bởi trình sắp xếp Rollup và phải đợi cho đến khi dữ liệu được tải lên Ethereum trước khi được nhận dạng.
Ngoài việc được sử dụng để xác nhận kết quả, lớp đồng thuận còn đóng vai trò rất quan trọng, đó là lớp dự phòng ngăn ngừa thảm họa cho lớp thực thi. **Nếu lớp thực thi vĩnh viễn đình công và phạm tội nghiêm trọng, về lý thuyết, bất kỳ lớp đồng thuận nào cũng có thể đảm nhận công việc của lớp thực thi và nhận yêu cầu của người dùng. Nếu tình huống nghiêm trọng như vậy xảy ra, cộng đồng nên chọn một nút ổn định và đáng tin cậy làm máy chủ lớp thực thi.
Lớp giải quyết
Vì SCP không phải là một Rollup nên nó không thể đạt được khả năng rút tiền không đáng tin cậy mà không cần can thiệp thủ công và hoàn toàn dựa trên mật mã và mã hợp đồng thông minh như lớp giải quyết rút tiền của Rollup. **Mức độ bảo mật của cầu nối chuỗi chéo SCP tương tự như cầu nối chuỗi bên hoặc chuỗi chéo nhân chứng của bên thứ ba. **Nó cần phải dựa vào những người quản lý đa chữ ký được ủy quyền để giải phóng tài sản. Chúng tôi gọi đó là chế độ nhân chứng .
Làm cho cầu nhân chứng trở nên phi tập trung nhất có thể là chủ đề của nhiều nghiên cứu về cầu nối xuyên chuỗi. Do giới hạn về không gian nên chúng tôi sẽ không đi sâu vào chi tiết ở đây. Một nền tảng SCP được thiết kế tốt cũng phải có một đối tác đa chữ ký uy tín của một cây cầu phi tập trung trong thực tế.
**Ai đó có thể hỏi tại sao SCP không sử dụng chuỗi có hợp đồng thông minh làm lớp DA? **Điều này cho phép lớp giải quyết hoàn toàn dựa trên hợp đồng, không cần tin cậy.
Về lâu dài, miễn là một số khó khăn kỹ thuật được khắc phục, nếu lớp DA được đặt trên lớp DA với các hợp đồng như Ethereum và có thể xây dựng các hợp đồng tương ứng để xác minh, SCP cũng có thể có được bảo mật thanh toán tương tự như Rollup. Không cần sử dụng nhiều chữ ký.
Nhưng trên thực tế đây có thể không phải là lựa chọn tốt nhất:
2.** Nó chứng tỏ rằng hệ thống này rất khó phát triển, bởi vì SCP không chỉ có thể mô phỏng EVM mà còn có thể thực hiện bất kỳ logic nào. **Và khi chúng ta nhìn vào các nhóm như Optimism, những người có bằng chứng gian lận vẫn chưa trực tuyến và việc phát triển zkEVM khó khăn như thế nào, chúng ta có thể tưởng tượng rằng việc triển khai bằng chứng về các hệ thống khác nhau trên Ethereum là điều cực kỳ khó khăn.
Do đó, **Rollup là một giải pháp có tính khả thi thực tế tốt hơn chỉ trong những trường hợp cụ thể **Nếu bạn dự định triển khai một giải pháp rộng hơn và cởi mở hơn, hãy loại bỏ hệ thống EVM và tích hợp nhiều tính năng Web2 hơn, thì ý tưởng về Fang Rollup không phù hợp.
**SCP không phải là một kế hoạch mở rộng chuỗi công khai nhất định mà là một kiến trúc nền tảng điện toán Web3 lớn hơn, vì vậy rõ ràng là không cần thiết phải tuân theo ý tưởng Lớp 2 của Ethereum. **
Một bức ảnh so sánh SCP và các mô hình khác