
Từ frontend đến cơ sở dữ liệu: EthStorage giúp DApp đạt được sự phi tập trung thực sự như thế nào?
Tuyển chọn TechFlowTuyển chọn TechFlow

Từ frontend đến cơ sở dữ liệu: EthStorage giúp DApp đạt được sự phi tập trung thực sự như thế nào?
Làm thế nào để lưu trữ giao diện người dùng, phần lõi và dữ liệu của DAPP lên Ethereum? EthStorage đã đưa ra hai giải pháp lớn.
Tác giả: Đội ngũ EthStorage
Tóm tắt
-
Một ứng dụng phi tập trung bao gồm nhiều thành phần, nhưng hiện tại chỉ có phần lõi nhất là logic backend chạy trên Ethereum, còn các phần khác như mã giao diện người dùng (frontend) vẫn được triển khai bên ngoài Ethereum, đồng thời chứa rất nhiều dữ liệu chưa được đưa lên chuỗi. Do đó, đa số DApp không thể kế thừa đầy đủ tính bảo mật của Ethereum và còn xa mới đạt đến trạng thái lý tưởng.
-
Nguyên nhân chính dẫn đến tình trạng này gồm hai điểm: một là Ethereum chưa cung cấp tiêu chuẩn và công cụ tương ứng cho frontend dành cho nhà phát triển; hai là chi phí lưu trữ dữ liệu trên chuỗi quá cao.
-
Để xây dựng tiêu chuẩn frontend phi tập trung, đội ngũ EthStorage đã đề xuất giao thức truy cập web3://, cung cấp toàn bộ tiêu chuẩn và công cụ giúp nhà phát triển triển khai và truy cập mã frontend — thậm chí cả hệ thống dạng file — thông qua hợp đồng thông minh, hiện nay đã trở thành tiêu chuẩn chính thức của Ethereum.
-
Để giảm chi phí lưu trữ dữ liệu trên Ethereum, đội ngũ EthStorage đã phát triển giao thức lưu trữ lớp thứ hai EthStorage, tận dụng PoRA (Bằng chứng Truy cập Ngẫu nhiên) và bằng chứng không kiến thức (zero-knowledge proof), vừa kế thừa bảo mật lớp 1 Ethereum, vừa giảm đáng kể chi phí lưu trữ.
Lời cảm ơn: Cảm ơn sự phản hồi từ Faust của Geek Web3, Zhixiong Pan của ChainFeeds, Bruce của LXDAO và Qi Zhou, Lun Deng thuộc EthStorage đối với bài viết này.
Bối cảnh và vấn đề của DApp phi tập trung
Tầm nhìn của Ethereum là trở thành "máy tính thế giới", mong muốn tất cả ứng dụng xây dựng trên nền tảng này đều kế thừa tính bảo mật của nó. Nhà phát triển chỉ cần triển khai một lần, ứng dụng sẽ tồn tại vĩnh viễn trên Ethereum, không thực thể nào có thể kiểm duyệt hay thao túng ác ý.
Nhưng liệu những ứng dụng phi tập trung hiện nay đã đạt được mục tiêu trên? Để trả lời rõ ràng hơn câu hỏi này, chúng ta cần phân tích cấu tạo của một DApp, xem xét các thành phần cấu thành và mức độ phi tin cậy của từng phần, từ đó rút ra kết luận cuối cùng.
Thông thường, một DApp phi tập trung bao gồm giao diện người dùng (frontend), máy chủ backend và cơ sở dữ liệu. Khi người dùng truy cập vào giao diện, trình duyệt và dịch vụ tên miền sẽ tải nội dung frontend. Trong đó:
-
Frontend và dịch vụ tên miền: Phần lớn chưa được triển khai và truy cập thông qua hợp đồng thông minh, do đó các đặc tính mà blockchain mang lại như tránh điểm lỗi đơn lẻ, mã bất biến, kháng kiểm duyệt và quản trị cộng đồng đều không được thể hiện ở phần frontend.
-
Máy chủ backend: Một phần được thực hiện bằng hợp đồng thông minh, nhưng các tác vụ đòi hỏi xử lý tính toán nặng thì không thể hoàn toàn đưa lên chuỗi.
-
Cơ sở dữ liệu: Một phần được thực hiện bằng hợp đồng thông minh, tuy nhiên do chi phí lưu trữ trên chuỗi rất cao, trong trường hợp lượng dữ liệu lớn, DApp vẫn phải sử dụng giải pháp lưu trữ bên ngoài chuỗi.

Qua phân tích trên có thể thấy các DApp phi tập trung hiện nay chỉ có một số thành phần nhận được sự bảo vệ từ Ethereum thông qua hợp đồng thông minh, hệ sinh thái Ethereum vẫn còn rất xa mới đạt được tầm nhìn ban đầu về “máy tính phi tập trung toàn cầu”.
Vào cuối năm 2023, Vitalik đã nhìn lại hành trình phát triển của Ethereum và viết một bài nổi tiếng mang tên «Make Ethereum Cypherpunk Again», thảo luận về việc làm sao cộng đồng Ethereum quay trở lại triết lý cypherpunk. Trong bài viết, ông tổng kết các giá trị cốt lõi mà cộng đồng Ethereum nói riêng và cộng đồng Web3 nói chung nên kiên trì theo đuổi, nhấn mạnh điều cực kỳ quan trọng:
Một ứng dụng phi tập trung nên giảm thiểu tối đa sự phụ thuộc vào bất kỳ chủ thể đơn lẻ nào, ngay cả khi nhà phát triển cốt lõi biến mất vĩnh viễn, ứng dụng vẫn tiếp tục vận hành.

Có thể thấy Vitalik cũng kỳ vọng tương tự về cách xây dựng DApp phi tập trung. Tiếp theo đây chúng ta sẽ phân tích chi tiết các vấn đề của từng thành phần trong DApp phi tập trung và tìm hướng cải tiến.
Frontend và dịch vụ tên miền
Trong các thành phần của DApp phi tập trung, frontend và dịch vụ tên miền là nơi tập trung hóa nghiêm trọng nhất. Hiện nay, phần lớn dApp sử dụng máy chủ tập trung để triển khai frontend, nhóm phát triển dự án có thể tùy ý chỉnh sửa mã frontend bất cứ lúc nào, không cần thông qua quản trị cộng đồng, cũng không chịu sự ràng buộc bởi time lock. Mức độ an toàn của phần này hoàn toàn không thể so sánh với các hợp đồng thông minh được triển khai trên Ethereum.
Hacker có thể xâm nhập máy chủ và thay đổi mã frontend, khiến người dùng dApp bị mất tài sản do sử dụng phiên bản độc hại. Vấn đề này đã liên tục xảy ra trong mùa DeFi trước đây. Chúng ta không khỏi đặt câu hỏi: Tại sao frontend không thể giống backend, được triển khai trên Ethereum, để mọi thay đổi phải trải qua quy trình quản trị cộng đồng và time lock mới có hiệu lực?

Hãy thử hình dung rằng, nếu một ngày đội phát triển Uniswap ngừng thanh toán chi phí cho máy chủ và dịch vụ tên miền của họ, thì người dùng và LP của Uniswap sẽ sử dụng Uniswap như thế nào?
Phần lớn người dùng không biết cách tương tác trực tiếp với hợp đồng thông minh mà bỏ qua frontend. Mặc dù Uniswap đã cố gắng tải frontend lên IPFS, nhưng IPFS và Ethereum là hai mạng lưới khác nhau, về độ tin cậy và mức độ phi tin cậy hoàn toàn khác biệt. Đáng chú ý, tốc độ truy cập nội dung trên IPFS rất chậm, hiện nay phần lớn người dùng vẫn đang tương tác với frontend của Uniswap được triển khai trên máy chủ tập trung.
Ngoài ra, vì Uniswap Labs – tổ chức vận hành frontend Uniswap – nhằm tuân thủ quy định, đã thêm kiểm duyệt vào danh sách token, điều này trái ngược hẳn với các hợp đồng thông minh mà họ đã triển khai trên Ethereum, vì không ai có thể tùy tiện sửa đổi hợp đồng thông minh. Do đó, các token bị kiểm duyệt ở tầng frontend vẫn có thể được tương tác ở tầng hợp đồng. Điều này cho thấy tầm quan trọng của việc đưa mã lên chuỗi để chống kiểm duyệt.
Máy chủ backend
Do EVM cung cấp môi trường thực thi Turing-complete, hầu hết logic backend đều có thể thực thi trên chuỗi Ethereum, vì vậy ta có thể nói các ứng dụng dựa trên hợp đồng thông minh có thể hoàn toàn kế thừa tính bảo mật của Ethereum. Tuy nhiên do lý do chi phí, một số tác vụ đòi hỏi tính toán nặng không thể thực hiện trực tiếp trên chuỗi.
Đối với vấn đề này, hiện nay phương pháp được nghiên cứu phổ biến là sử dụng ZK hoặc OP, chuyển việc tính toán xuống lớp ngoài chuỗi, chỉ xác nhận kết quả cuối cùng trên chuỗi Ethereum, từ đó mở rộng khả năng tính toán. Một số dự án AI thậm chí đẩy phương pháp này đến cực hạn, hy vọng liên kết mô hình AI lớn – loại tác vụ siêu nặng về tính toán – với blockchain, điều này rất đáng để chúng ta theo dõi sát sao.
Cơ sở dữ liệu
Về cơ sở dữ liệu, EVM vốn hỗ trợ lưu trữ dạng cặp khóa-giá trị (Key-Value Store), có thể đáp ứng rất nhiều kịch bản sử dụng. Nhưng vấn đề cốt lõi là: chi phí lưu trữ trên chuỗi quá cao.
Cao đến mức nào? Khi Gas Price là 10 Gwei, việc lưu trữ 1GB dữ liệu trên chuỗi sẽ tốn hơn 6.200 ETH, vượt quá 20 triệu USD! Rõ ràng chi phí lưu trữ đã trở thành rào cản chính cho việc phi tập trung hóa cơ sở dữ liệu.
Chúng ta có thể nghĩ đến việc áp dụng phương pháp tương tự như mở rộng tính toán, tức là mở rộng khả năng lưu trữ: lưu trữ dữ liệu bên ngoài chuỗi, nhưng xác minh hiệu quả lưu trữ trên chuỗi. Ý tưởng này sẽ được phân tích sâu hơn ở phần sau.
Sau khi phân tích các thành phần của DApp như trên, ta thấy rằng chỉ khi từng thành phần của DApp đều đủ an toàn và phi tin cậy, thì toàn bộ ứng dụng mới thực sự trở thành một DApp phi tập trung. Ethereum, với tư cách là nền tảng vận hành và lưu trữ dApp, cần cung cấp các giải pháp phù hợp cho nhà phát triển, để nuôi dưỡng một hệ sinh thái ứng dụng đúng với tầm nhìn ban đầu.
Giải pháp phi tin cậy cho DApp
Liên quan đến vấn đề làm sao để DApp có thể hoàn toàn triển khai và truy cập trên nền tảng Ethereum, đội ngũ EthStorage đã đề xuất hai giải pháp:
-
Giao thức truy cập web3://: Giải quyết vấn đề triển khai và truy cập mã frontend – thậm chí cả hệ thống dạng file – thông qua hợp đồng thông minh.
-
Giao thức lưu trữ lớp thứ hai EthStorage: Kế thừa tính bảo mật của Ethereum, đồng thời giảm đáng kể chi phí lưu trữ.
Giao thức truy cập web3://
web3:// có thể được hiểu là phiên bản phi tập trung của http://. Tương tự như URL http chỉ định địa chỉ IP hoặc tên miền để truy cập tài nguyên tập trung, URL web3 cần chỉ định một địa chỉ hợp đồng thông minh hoặc tên miền ENS để truy cập tài nguyên được lưu trữ trên đó.
Chúng ta có thể triển khai toàn bộ frontend của một website lên một hợp đồng thông minh và truy cập thông qua web3://! Hãy so sánh sự khác biệt giữa hai cách:

Hiện nay web3:// đã trở thành tiêu chuẩn chính thức của Ethereum (ERC-4804). Nếu muốn tìm hiểu chi tiết hơn về giao thức truy cập web3://, bạn có thể truy cập trang web chính thức. Để quản lý file tốt hơn trong hợp đồng thông minh, chúng tôi đã đề xuất ERC-5018, mô phỏng một giao diện hệ thống file trong hợp đồng thông minh, nhờ đó có thể dùng ethfs-cli để tải thư mục mã frontend đã đóng gói lên một hợp đồng thông minh và truy cập website này thông qua web3://.
Nếu bạn quan tâm, hãy làm theo hướng dẫn để triển khai và truy cập một ứng dụng phi tập trung đơn giản.
Với giao thức truy cập web3://, frontend của dApp mới thật sự có được thuộc tính «Code is law». Đối với nhà phát triển, một khi đã triển khai, frontend sẽ chạy mãi mãi. Hãy tưởng tượng nếu Uniswap Labs cũng triển khai frontend của họ lên Ethereum, thì ngay cả khi nhóm muốn kiểm duyệt hoặc hạn chế người dùng ở tầng frontend, họ cũng không thể ngăn người dùng truy cập vào phiên bản frontend đã được triển khai trên Ethereum.
Tất nhiên, sau khi giải quyết được tính khả thi, chúng ta nhận ra rằng chi phí lưu trữ lượng lớn dữ liệu trên chuỗi vẫn rất cao, gây khó khăn cho nhà phát triển khi triển khai frontend. Vì vậy, chúng tôi tiếp tục phát triển giao thức lưu trữ lớp thứ hai EthStorage, vừa kế thừa bảo mật của Ethereum, vừa giảm đáng kể chi phí lưu trữ.
Giao thức lưu trữ lớp thứ hai EthStorage
Giao thức EthStorage bao gồm hợp đồng thông minh được triển khai trên Ethereum và các nút lưu trữ trong mạng Layer 2, trong đó hợp đồng thông minh cung cấp lưu trữ dạng key-value, còn các nút ở lớp thứ hai chịu trách nhiệm lưu trữ dữ liệu thực tế.
Người dùng tải dữ liệu cần lưu trữ lên Ethereum thông qua BLOB của EIP-4844, còn hợp đồng thông minh EthStorage chỉ ghi lại hash của dữ liệu trong BLOB, từ đó giảm hiệu quả chi phí lưu trữ.
Đồng thời, các nút lưu trữ ở lớp thứ hai sẽ tải dữ liệu BLOB tương ứng về ổ đĩa cục bộ, sử dụng PoRA (Proof of Random Access) và bằng chứng không kiến thức (ZK), gửi bằng chứng lưu trữ đến hợp đồng trên Ethereum để xác minh. Hợp đồng này sẽ dùng hash Blob đã ghi trước đó để kiểm tra xem bằng chứng ZK do nút lưu trữ gửi lên có khớp hay không, từ đó xác nhận rằng các nút trong mạng lớp thứ hai thực sự đang lưu trữ dữ liệu.
Quy trình cụ thể như sau:

Đối với nhà phát triển, giao diện tải lên và lấy dữ liệu rất đơn giản:

Nhà phát triển ứng dụng có thể trực tiếp đọc/ghi dữ liệu khối lớn thông qua giao diện hợp đồng do EthStorage cung cấp, chi phí ghi chỉ khoảng một phần nghìn so với việc lưu trữ trực tiếp trên chuỗi. Do đó, EthStorage không chỉ hỗ trợ triển khai frontend trên chuỗi, mà còn cung cấp giải pháp tiết kiệm chi phí hơn cho các thao tác cơ sở dữ liệu key-value quy mô lớn.
Hiện tại, EthStorage đã nhận được tài trợ chính thức từ Ethereum và đã triển khai mạng thử nghiệm công khai trên Sepolia, chào đón mọi người tham gia.
Tổng kết và triển vọng
Các thành phần quan trọng của đa số DApp như frontend và cơ sở dữ liệu chưa được triển khai trên Ethereum, không thể kế thừa tính bảo mật của Ethereum, khiến ứng dụng về tổng thể không thể đạt được trạng thái thực thi vĩnh viễn, kháng kiểm duyệt và có thể quản trị.
EthStorage đã đề xuất hai giải pháp cho vấn đề này: giao thức truy cập web3:// giải quyết việc triển khai và truy cập frontend bằng hợp đồng thông minh; giao thức lưu trữ lớp thứ hai EthStorage giải quyết vấn đề chi phí lưu trữ quá cao.
Để hiện thực hóa tầm nhìn ban đầu của Ethereum, chúng tôi tin rằng nó sẽ phát triển thành một máy chủ Web phi tập trung, trong đó các ứng dụng phi tập trung trong hệ sinh thái sẽ triển khai tất cả các thành phần của mình lên Ethereum — dù là backend, frontend hay dữ liệu — một khi đã triển khai, mã sẽ chạy vĩnh viễn và dữ liệu có thể truy cập mãi mãi, trở thành một Unstoppable DApp thực thụ.
Mạng thử nghiệm công khai EthStorage đang tổ chức hoạt động kích thích lần thứ hai, các thành viên cộng đồng quan tâm có thể làm theo Hướng dẫn để triển khai và truy cập Unstoppable DApp đầu tiên của chính mình!
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














