Giới thiệu:
Bài viết này cung cấp một giới thiệu nhìn về phía trước về một mô hình thiết kế hạ tầng Web3 không thông thường: Mô hình Đồng thuận Dựa trên Lưu trữ (SCP). Mô hình thiết kế này có sự khác biệt đáng kể so với các giải pháp blockchain modul chính thống như Ethereum Rollups về lý thuyết. Tuy nhiên, nó thể hiện tính khả thi cao về sự đơn giản trong triển khai và tích hợp với các nền tảng Web2. SCP không có ý định hạn chế bản thân mình vào một con đường hẹp của việc hiện thực như Rollups. Thay vào đó, nó nhắm vào việc áp dụng một khung cảnh rộng lớn và mở hơn để hợp nhất các nền tảng Web2 với hạ tầng Web3. Cách tiếp cận này có thể được xem là rất sáng tạo và đổi mới.

Hãy tưởng tượng một giải pháp mở rộng blockchain công cộng với những đặ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 bất kỳ blockchain công cộng nào, Layer 2 (L2), rollups, sidechains, v.v.
Không có phí gas, và chi phí sử dụng gần như bằng không.
An ninh tài chính cao, vượt trội hơn các cơ sở trung tâm như sàn giao dịch, kém hơn Rollups nhưng lớn hơn hoặc bằng sidechains.
Một trải nghiệm người dùng giống hệt như Web2, mà không cần bất kỳ kiến thức nào về khóa công cộng và riêng tư của blockchain, ví, cơ sở hạ tầng, v.v.
Một giải pháp như vậy thực sự rất hấp dẫn: một mặt, nó đã đạt đến đỉnh cao về mặt mở rộng; mặt khác, nó tạo nền tảng vững chắc cho việc áp dụng hàng loạt của Web3, về cơ bản là kết nối khoảng cách giữa trải nghiệm người dùng của Web2 và Web3. Tuy nhiên, có vẻ như chúng ta có rất ít giải pháp toàn diện như thế này, vì thảo luận và thực hành chính thống thực sự quá ít.
Chúng tôi sử dụng chủ đề phổ biến về việc mở rộng như một sự giới thiệu ở trên, nhưng SCP không giới hạn ở các trường hợp sử dụng mở rộng. Sự truyền cảm hứng thiết kế thực sự đến từ các giải pháp mở rộng và các cuộc thảo luận cộng đồng của các chuỗi khố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ệ mới của cơ sở hạ tầng không đáng tin cậy, thậm chí là các nền tảng tính toán không dựa trên cấu trúc chuỗi khối.
Data Availability Layer: Được xử lý bởi một blockchain công cộng được công nhận rộng rãi và được thử nghiệm tốt, hoặc các cơ sở lưu trữ phục vụ như lớp sẵn có dữ liệu, như Ethereum, Arweave, Celestia, v.v.
Lớp Thực thi: Một máy chủ được sử dụng để nhận giao dịch của người dùng và thực thi chúng, đồng thời gửi dữ liệu giao dịch đã ký theo lô đến lớp DA, tương tự như sequencers trong Rollups. Tuy nhiên, lớp thực thi không nhất thiết cần có cấu trúc chuỗi kiểu blockchain; nó có thể hoàn toàn là một hệ thống cơ sở dữ liệu + tính toán Web2, nhưng toàn bộ hệ thống tính toán phải là mã nguồn mở, với tính minh bạch.
Lớp Đồng thuận: Bao gồm một nhóm các nút kéo dữ liệu được gửi đến lớp DA bởi lớp thực thi và sử dụng cùng thuật toán với lớp thực thi để xử lý dữ liệu này, xác nhận xem đầu ra của lớp thực thi có đúng không và có thể phục vụ như một dự phòng phục hồi sau thảm họa cho lớp thực thi. Người dùng cũng có thể đọc dữ liệu trả về từ các nút lớp đồng thuận để đảm bảo rằng không có hành vi gian lận nào trong lớp thực thi.
Lớp Thanh toá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, chịu trách nhiệm xử lý việc gửi tiền của người dùng vào SCP, hoặc rút tiền từ SCP, hơi tương tự như hoạt động của cầu nối qua chuỗi. Các nút lớp thanh toán kiểm soát chức năng rút tiền của địa chỉ gửi tiền thông qua hợp đồng multisig hoặc địa chỉ dựa trên TSS. Đối với gửi tiền, người dùng chuyển tài sản vào một địa chỉ được chỉ định trên chuỗi của họ; đối với rút tiền, họ gửi yêu cầu, và sau khi các nút lớp thanh toán đọc dữ liệu, họ phát hành tài sản thông qua multisig hoặc TSS. Mức độ bảo mật của lớp thanh toán phụ thuộc vào cơ chế qua chuỗi được sử dụng.


Chúng ta có thể hét lên khẩu hiệu này: "Thế hệ tiếp theo của cơ sở hạ tầng không tin cậy không nhất thiết phải dựa vào các giao thức đồng thuận, nhưng nó phải là một hệ thống nguồn mở với mạng nút ngang hàng (P2P)." Mục đích ban đầu của việc phát minh và sử dụng blockchain là để đạt được sự phân cấp, tính nhất quán của sổ cái, tính bất biến và khả năng truy xuất nguồn gốc, như đã nêu rõ trong whitepaper Bitcoin. Tuy nhiên, sau Ethereum, cho dù đó là các giải pháp mở rộng của chuỗi công khai cũ, Rollups hay blockchain mô-đun, có một tư duy cố định: những gì chúng ta đang tạo phải là một blockchain (bao gồm các giao thức đồng thuận của các nút) hoặc một cái gì đó như Rollup (dường như là một chuỗi với cấu trúc dữ liệu blockchain, nhưng không có trao đổi thông điệp đồng thuận trực tiếp giữa các nút). Bây giờ, theo khuôn khổ dựa trên SCP (Giao thức đồng thuận Stellar), rõ ràng là ngay cả khi không phải là một blockchain, vẫn có thể đạt được sự phân cấp, tính nhất quán của sổ cái, tính bất biến và khả năng truy xuất nguồn gốc, miễn là có nhiều chi tiết triển khai rõ ràng hơn.
Sàn giao dịch. Sử dụng SCP, người ta có thể xây dựng một sàn giao dịch công khai, minh bạch với tốc độ giao dịch cao mỗi giây (TPS), kết hợp các tính năng nhanh chóng, không phí của một sàn Giao dịch Tập trung (CEX) và sự phi tập trung của một Sàn Giao dịch Phi tập trung (DEX). Ở đây, sự phân biệt giữa CEX và DEX trở nên mờ nhạt.
Mạng thanh toán. Tương tự như Alipay, PayPal, vv.
Máy ảo/Blockchain hỗ trợ chương trình/hợp đồng có thể tải được. 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ẻ tất cả dữ liệu người dùng với các chương trình khác và hoạt động theo hướng dẫn của người dùng.
Mẫu thiết kế của SCP, hỗ trợ bất kỳ môi trường thực thi nào, có những lợi thế độc đáo của mình: không cần phải phụ thuộc vào các thành phần có gánh nặng lịch sử, đặc biệt là các khái niệm như “trừu tượng tài khoản” độc đáo của cộng đồng Ethereum. Đối với SCP, khái niệm về trừu tượng tài khoản là không cần thiết theo bản chất. Trong kiến trúc SCP, không có khái niệm về trừu tượng tài khoản - bạn có thể tự do áp dụng các tài khoản tiêu chuẩn Web2 và tài khoản blockchain, v.v. Từ góc độ này, nhiều trường hợp sử dụng Web2 đã chín muồi không cần phải suy nghĩ lại và xây dựng lại để áp dụng trực tiếp cho SCP. Khía cạnh này có thể là nơi mà SCP có lợi thế hơn so với Rollups.

Đă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ý ứng dụng. Để bảo vệ mật khẩu của người dùng, máy chủ xử lý thông qua hàm băm khi nhận được. Để tăng độ phức tạp của hàm băm và chống lại các cuộc tấn công bảng màu của cầu vồng, một chuỗi được tạo ngẫu nhiên (được gọi là “muối”) thường được thêm vào mỗi mật khẩu của người dùng trước khi băm. 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 thuần trong cơ sở dữ liệu của nhà cung cấp dịch vụ và không được công khai. Tuy nhiên, việc sử dụng muối và xử lý an toàn vẫn cần thiết để ngăn chặn các mối đe dọa từ bên trong và các cuộc tấn công.
Đăng nhập Người dùng: Người dùng nhập tên người dùng và mật khẩu vào mẫu đăng nhập. Hệ thống so sánh băm mật khẩu được xử lý với băm được lưu trữ trong cơ sở dữ liệu. Nếu hai băm khớp nhau, điều đó cho thấy người dùng đã cung cấp mật khẩu chính xác và quy trình đăng nhập tiếp tục.
Xác thực Hoạt động : Sau khi xác minh đăng nhập thành công, hệ thống tạo một phiên cho người dùng. Thông tin phiên thường được lưu trữ trên máy chủ, và máy chủ gửi một bộ nhận dạng (như một cookie hoặc mã thông báo) đến trình duyệt hoặc ứng dụng của người dùng. Trong các hoạt động tiếp theo, người dùng không cần phải nhập tên người dùng và mật khẩu lặp đi lặp lại: trình duyệt hoặc ứng dụng lưu trữ bộ nhận dạng cookie và bao gồm nó trong mọi yêu cầu, cho biết rằng họ có sự cho phép của máy chủ liên quan đến cookie.
Đăng nhập người dùng: Sử dụng blockchain không yêu cầu đăng nhập. Hầu hết các ứng dụng phi tập trung không có quá trình đăng nhập mà kết nối với ví thay vào đó. Một số ứng dụng phi tập trung, sau khi kết nối với ví, có thể yêu cầu người dùng ký kết để đảm bảo họ thực sự nắm giữ khóa riêng, thay vì chỉ đã gửi địa chỉ ví tới giao diện trước.
Xác thực hoạt động: Người dùng trực tiếp gửi dữ liệu đã ký cho các nút. Sau khi xác thực, các nút phát sóng giao dịch đến toàn bộ mạng lưới blockchain. Khi hoạt động được xác nhận bởi sự đồng thuận của mạng lưới blockchain, nó được hoàn tất.
Sự khác biệt giữa hai chế độ này được gây ra bởi các yếu tố đối xứng và không đối xứng. Trong kiến trúc máy chủ-người dùng, cả hai bên đều giữ cùng một bí mật. Trong kiến trúc blockchain-người dùng, chỉ người dùng giữ bí mật. Mặc dù lớp thực thi của SCP (Nền tảng Hợp đồng Thông minh) có thể không phải là một blockchain, tất cả dữ liệu cần được đồng bộ hóa với một lớp DA (Khả năng Truy cập Dữ liệu) công khai. Do đó, các phương pháp xác minh đăng nhập và hoạt động của SCP phải là không đối xứng. Tuy nhiên, để tránh những hành động rườm rà như quản lý khóa riêng và sử dụng ví điện tử, có thể làm chậm quá trình áp dụng rộng rãi do trải nghiệm người dùng kém, có một nhu cầu mạnh mẽ cho việc đăng nhập bằng ID-mật khẩu truyền thống hoặc OAuth từ bên thứ ba trong các ứng dụng được xây dựng trên SCP. Vậy, làm thế nào để kết hợp cả hai? Do tính không đối xứng của mật mã và chứng minh không biết, tôi tưởng tượng ra hai giải pháp khả thi:

Bất kể phương pháp nào được sử dụng, cả hai đều tốn kém hơn về mặt phát triển và vận hành so với các phương pháp truyền thống, nhưng đây là một giá cả cần phải trả cho sự phân quyền. Tất nhiên, nếu dự án không coi phân quyền cực độ là cần thiết, hoặc có các cột mốc khác nhau ở các giai đoạn phát triển khác nhau, có thể tiếp tục mà không cần những thiết kế này, vì phân quyền không phải là một vấn đề đen trắng mà tồn tại trong một khu vực xám.
Làm cho cầu chứng kiến càng phân quyền càng tốt là một chủ đề nghiên cứu của nhiều cầu chuyển chuỗi. Do hạn chế về không gian, điều này sẽ không được trình bày ở đây. Một nền tảng SCP được thiết kế tốt trong thực tế cũng cần phải có các đối tác chữ ký đa bên phân quyền đáng tin cậy. Một số người có thể hỏi tại sao SCP không sử dụng một chuỗi với hợp đồng thông minh như lớp DA? Điều này sẽ cho phép các lớp thanh toán không đáng tin cậy dựa trên hợp đồng. Trong dài hạn, vượt qua một số khó khăn kỹ thuật, nếu lớp DA được đặt trên Ethereum hoặc các lớp DA hỗ trợ hợp đồng khác và các hợp đồng xác minh tương ứng có thể được xây dựng, SCP cũng có thể đạt được cùng mức độ bảo mật thanh toán như Rollup, mà không cần đến chữ ký đa bên.### Trong thực tế, điều này có thể không phải là lựa chọn tốt nhất:- Ethereum không được thiết kế đặc biệt cho việc lưu trữ dữ liệu, và so với các chuỗi khối dành riêng cho việc lưu trữ dữ liệu, nó khá đắt đỏ. Đố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ỉ khi đó nó mới có thể hỗ trợ lưu lượng Web2.
Do đó, giải pháp Rollup chỉ thực sự khả thi hơn trong các trường hợp cụ thể. Nếu bạn dự định triển khai một hệ thống rộng hơn, linh hoạt hơn, di chuyển khỏi khung EVM để tích hợp nhiều tính năng Web2 hơn, thì phương pháp Ethereum Rollup không phù hợp. SCP không chỉ là kế hoạch mở rộng cho một số blockchain công cộng cụ thể, mà còn là một kiến trúc nền tảng tính toán Web3 lớn hơn. Do đó, rõ ràng không cần phải tuân theo phương pháp Layer2 của Ethereum.






