Tóm tắt:
Một ứng dụng phi tập trung bao gồm nhiều phần, nhưng hiện tại chỉ có logic back-end cốt lõi chạy trên Ethereum và các phần khác như mã front-end cũng được triển khai bên ngoài Ethereum. Nó cũng chứa rất nhiều dữ liệu chưa được tải lên chuỗi, vì vậy hầu hết các DAPP không thể kế thừa hoàn toàn tính bảo mật của Ethereum và không còn lý tưởng nữa.
Có hai lý do chính dẫn đến các vấn đề trên: Thứ nhất, Ethereum không cung cấp cho các nhà phát triển các tiêu chuẩn và công cụ front-end tương ứng. Thứ hai, chi phí lưu trữ dữ liệu trên chuỗi quá cao.
Để cung cấp tiêu chuẩn giao diện người dùng phi tập trung, nhóm EthStorage đã đề xuất giao thức truy cập web3://, Cung cấp cho các nhà phát triển một bộ tiêu chuẩn và công cụ hoàn chỉnh để triển khai và truy cập mã giao diện người dùng cũng như thậm chí cả hệ thống tệp thông qua hợp đồng thông minh, hiện đã 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 chuỗi Ethereum, nhóm EthStorage đã phát triển bộ lưu trữ lớp thứ hai giao thức EthStorage,
strong>Sử dụng PoRA (Bằng chứng truy cập ngẫu nhiên) và bằng chứng không có kiến thức, đồng thời kế thừa khả năng bảo mật lớp đầu tiên của Ethereum, giúp giảm đáng kể chi phí lưu trữ.
Lời cảm ơn: Cảm ơn Faust từ Geek Web3, Zhixiong Pan từ ChainFeeds, Bruce từ LXDAO và Qi từ EthStorage Chu, Luân Đặng đã phản hồi về bài viết này.
Nền tảng và các vấn đề của DAPP phi tập trung
Tầm nhìn của Ethereum là trở thành máy tính của thế giới và các ứng dụng được xây dựng trên nó dự kiến sẽ kế thừa tính bảo mật của nó. Các nhà phát triển chỉ cần triển khai một lần và ứng dụng sẽ chạy trên Ethereum mãi mãi và không thực thể nào có thể kiểm duyệt hoặc thao túng nó một cách ác ý.
Nhưng liệu các ứng dụng phi tập trung DAPP hiện tại có đạt được các mục tiêu trên không? Để trả lời câu hỏi này rõ ràng hơn, chúng ta cần giải mã ứng dụng DAPP để xem nó bao gồm những phần nào, sau đó phân tích mức độ không tin cậy của từng phần để đưa ra kết luận cuối cùng.
Nói chung, DAPP phi tập trung sẽ bao gồm giao diện ngoại vi, máy chủ phụ trợ và cơ sở dữ liệu. Khi người dùng truy cập vào giao diện front-end, nội dung front-end sẽ được tải thông qua trình duyệt và dịch vụ tên miền. Trong số đó:
Dịch vụ giao diện người dùng và tên miền: Hầu hết trong số chúng chưa vượt qua các Hợp đồng thông minh được sử dụng để triển khai và truy cập vào chuỗi khối, chẳng hạn như tránh các điểm lỗi duy nhất, tính bất biến của mã, khả năng chống kiểm duyệt và quản trị cộng đồng, không được phản ánh ở mặt trước-. phần kết thúc.
Máy chủ phụ trợ: Được triển khai một phần bằng hợp đồng thông minh, một số nhiệm vụ tính toán chuyên sâu không thể được triển khai đầy đủ theo chuỗi.
Cơ sở dữ liệu: Được triển khai một phần bằng hợp đồng thông minh, do chi phí lưu trữ trên chuỗi rất cao, lượng dữ liệu tương đối lớn Trong các trường hợp lớn, DAPP vẫn sử dụng các giải pháp lưu trữ ngoài chuỗi.
Qua phân tích ở trên, chúng ta có thể thấy rằngchỉ một số thành phần của DAPP phi tập trung hiện tại được Ethereum bảo vệ thông qua hợp đồng thông minh và hệ thống Ethereum vẫn còn rất xa Tầm nhìn ban đầu về một “máy tính thế giới phi tập trung” đã không thành hiện thực.
Vào cuối năm 2023, Vitalik đã xem xét quá trình phát triển của Ethereum và viết một bài báo "Tạo lại Ethereum Cypherpunk" và nhận được phản hồi tích cực, thảo luận về cách cộng đồng Ethereum nên làm quay trở lại Ý tưởng về cypherpunk. Trong bài viết, ông tóm tắt các giá trị mà Ethereum và thậm chí cả cộng đồng Web3 lớn hơn nên tuân thủ và đề cập đến một điểm rất quan trọng:
Phân cấp Các ứng dụng nên giảm thiểu sự phụ thuộc vào bất kỳ thực thể đơn lẻ nào, để ngay cả khi nhà phát triển cốt lõi của DAPP biến mất vĩnh viễn, ứng dụng vẫn có thể tiếp tục hoạt động.
Có thể thấy rằng Vitalik cũng có kỳ vọng tương tự về cách xây dựng các ứng dụng phi tập trung. Tiếp theo, chúng tôi sẽ phân tích chi tiết các vấn đề mà từng thành phần trong DAPP phi tập trung gặp phải và khám phá cách cải thiện chúng.
Dịch vụ giao diện người dùng và tên miền
Một số thành phần trong các ứng dụng phi tập trung Trong số Trong số đó, các dịch vụ front-end và tên miền là tập trung nhất. Hiện tại, phần đầu của hầu hết các dApp đều sử dụng máy chủ tập trung. Nhóm dự án có thể sửa đổi mã phần đầu vào bất kỳ lúc nào mà không cần thông qua quản trị của cộng đồng và không bị hạn chế về thời gian khóa. khác với hợp đồng được triển khai trên Ethereum.
Tin tặc có thể xâm chiếm máy chủ và sửa đổi mã giao diện người dùng và người dùng dApp sẽ mất tài sản khi sử dụng giao diện người dùng độc hại. Câu hỏi này đã xuất hiện nhiều lần trong Mùa hè DeFi vừa quaChúng tôi không thể không hỏi: Tại sao front-end không thể được triển khai trên Ethereum như back-end, để các sửa đổi chỉ có thể có hiệu lực thông qua quản trị cộng đồng và khóa thời gian?
Hãy tưởng tượng, nếu một ngày nào đó nhóm phát triển của Uniswap không còn trả tiền cho các máy chủ ngoại vi và dịch vụ tên miền của họ nữa, thì người dùng Uniswap và LP sẽ sử dụng Uniswap như thế nào?
Hầu hết người dùng không biết cách bỏ qua giao diện người dùng và tương tác với các hợp đồng thông minh. Mặc dù Uniswap đã cố gắng tải giao diện người dùng của mình lên IPFS, IPFS và. Ethereum là các mạng khác nhau có mức độ tin cậy và độ tin cậy hoàn toàn khác nhau. Điều đáng nói là Tốc độ truy cập nội dung IPFS rất chậm và hiện nay đại đa số người dùng vẫn tương tác với giao diện người dùng của Uniswap được triển khai trên máy chủ tập trung.
Ngoài ra, do Uniswap front-end được điều hành bởi Uniswap Labs nên họ đã tăng cường xem xét danh sách Token nhằm phục vụ cho việc giám sát. Điều này trái ngược với các hợp đồng thông minh mà họ đã triển khai trên Ethereum, bởi vì không ai có thể sửa đổi các hợp đồng thông minh theo ý muốn. Do đó, các Token được xem xét ở mặt trước vẫn có thể được tương tác ở cấp hợp đồng, điều này cho thấy tầm quan trọng của mã trên chuỗi trong việc chống lại việc xem xét.
Máy chủ phụ trợ
Vì EVM có thể cung cấp môi trường thực thi Turing-complete nên nó là Một số logic phụ trợ có thể được thực thi trên chuỗi Ethereum. Chúng ta có thể nói rằng các ứng dụng hợp đồng thông minh có thể kế thừa hoàn toàn tính bảo mật của Ethereum. Chỉ vì lý do chi phí, một sốnhiệm vụ đòi hỏi nhiều tính toán không thể được thực hiện trực tiếp trên chuỗi.
Để giải quyết vấn đề này, phương pháp được khám phá nhiều nhất hiện nay là sử dụng ZK hoặc OP Việc tính toán được chuyển sang chuỗi ngoài để hoàn thành, và chỉ đạt được Mở rộng ở cấp độ tính toán thông qua xác nhận cuối cùng về kết quả tính toán. Một số dự án liên quan đến AI đã đẩy cách tiếp cận này lên mức cao nhất, với hy vọng liên kết các nhiệm vụ siêu tính toán như mô hình AI lớn với chuỗi khối, điều này đáng được chúng ta chú ý.
Cơ sở dữ liệu
Đối với cơ sở dữ liệu, EVM ban đầu hỗ trợ lưu trữ khóa-giá trị/loại KV ( Key Value Store) có thể đáp ứng nhiều tình huống sử dụng, nhưng vấn đề cốt lõi là: chi phí lưu trữ trên chuỗi quá cao.
Nó đắt bao nhiêu? Khi Giá Gas là 10Gwei, việc lưu trữ 1GB dữ liệu trên chuỗi cần hơn 6.200 ETH, tức là hơn 20 triệu đô la Mỹ! Rõ ràng chi phí lưu trữ đã trở thành vấn đề cốt lõi của việc phân cấp cơ sở dữ liệu.
Chúng tôi có thể tự hỏi liệu chúng tôi có thể sử dụng một phương pháp tương tự như phép tính mở rộng ở trên để mở rộng dung lượng lưu trữ hay không,tức là, lưu trữ ngoài chuỗi và trên chuỗi xác minh. Hiệu ứng lưu trữ. Chúng tôi sẽ mở rộng ý tưởng này một cách chi tiết sau.
Sau khi phân tích các thành phần của DAPP được đề cập ở trên, chúng tôi nhận thấy rằng chỉ bằng cách làm cho mọi bộ phận của DAPP đủ an toàn và đáng tin cậy thì nó mới có thể hoạt động như một không cần tin cậy. nó thực sự trở thành một DAPP phi tập trung. Là một nền tảng để chạy và lưu trữ dApps, Ethereum cần cung cấp cho các nhà phát triển các giải pháp tương ứng để tạo ra một hệ sinh thái ứng dụng phù hợp với tầm nhìn của Ethereum.
Giải pháp không cần tin cậy của DAPP
Xoay quanhcách tạo DAPP hoàn toàn dựa trên To triển khai và truy cập Ethereum, nhóm EthStorage đã đề xuất hai giải pháp:
giao thức truy cập web3://: Giải quyết vấn đề về cách sử dụng hợp đồng thông minh để triển khai và truy cập mã giao diện người dùng cũng như thậm chí cả hệ thống tệp.
Giao thức lưu trữ lớp thứ hai của EthStorage:Mặc dù kế thừa tính bảo mật của Ethereum nhưng nó giúp giảm đáng kể chi phí lưu trữ .
Thỏa thuận truy cập web3://
web3:// có thể hiểu là phiên bản phi tập trung của http://. Tương tự như URL http truy cập tài nguyên tập trung bằng cách chỉ định địa chỉ IP máy chủ hoặc tên miền, URL web3 cần chỉ định Hợp đồng thông minh địa chỉ hoặc tên miền ENS để truy cập tài nguyên được lưu trữ trên đó.
Chúng tôi có thể triển khai toàn bộ giao diện người dùng của trang web vào một hợp đồng thông minh và truy cập nó thông qua web3://! Bạn có thể so sánh sự khác biệt giữa hai điều này:
< p style="text-align: left;">Hiện tại
web3:// đã trở thành tiêu chuẩn chính thức của Ethereum (ERC-4804). // giao thức truy cập, Bạn có thể truy cập trang web chính thức của nó. Để quản lý tốt hơn các tệp trong hợp đồng thông minh, chúng tôi đã đề xuất ERC-5018, mô phỏng một tập hợp giao diện hệ thống tệp trong hợp đồng thông minh, để thư mục mã giao diện người dùng được đóng gói có thể được tải lên thông qua ethfs-cli vào hợp đồng thông minh và truy cập trang web thông qua web3://.
Nếu quan tâm, bạn có thể làm theo hướng dẫn để hoàn thành việc triển khai và truy cập ứng dụng phi tập trung đơn giản.
Với giao thức truy cập web3://, chúng tôi thực sự có thể làm cho giao diện người dùng dApp cũng có thuộc tính "Mã là luật" mạnh>. Đối với các nhà phát triển, sau khi được triển khai, giao diện người dùng này sẽ thực thi vĩnh viễn. Hãy tưởng tượng nếu các phòng thí nghiệm của Uniswap cũng triển khai giao diện người dùng của mình cho Ethereum, thì ngay cả khi nhóm muốn kiểm duyệt và hạn chế người dùng ở cấp độ giao diện người dùng, nó sẽ không thể ngăn mọi người sử dụng giao diện người dùng được triển khai trên Ethereum.
Tất nhiên, sau khi giải quyết được vấn đề khả thi, chúng tôi cũng nhận ra rằng chi phí lưu trữ lượng lớn dữ liệu trên chuỗi sẽ rất cao, do đó khiến các nhà phát triển phải triển khai trên dây chuyền Gặp phải rắc rối khi làm việc ở mặt trước. Chúng tôi đã phát triển thêm giao thức lưu trữ lớp thứ hai EthStorage, giúp giảm đáng kể chi phí lưu trữ trong khi kế thừa tính bảo mật của Ethereum.
Giao thức lưu trữ EthStorage lớp 2
Giao thức EthStorage được triển khai bởi Nó bao gồm các hợp đồng thông minh trên Ethereum và các nút lưu trữ trong mạng Lớp 2. Các hợp đồng thông minh cung cấp khả năng lưu trữ khóa-giá trị, trong khi các nút lưu trữ lớp thứ hai chịu trách nhiệm lưu trữ dữ liệu.
Người dùng tải dữ liệu sẽ được lưu trữ lên Ethereum thông qua BLOB của EIP-4844. Hợp đồng thông minh EthStorage sẽ chỉ ghi lại hàm băm của dữ liệu trong BLOB, do đó có hiệu quả để giảm chi phí lưu trữ.
Đồng thời, nút lưu trữ lớp thứ hai sẽ tải dữ liệu BLOB tương ứng xuống đĩa cục bộ và sử dụng PoRA (Bằng chứng truy cập ngẫu nhiên ) và ZK để lưu trữ Bằng chứng được gửi tới hợp đồng trên Ethereum để xác minh.Hợp đồng cần sử dụng hàm băm Blob được ghi lại trước đó để xác nhận xem bằng chứng ZK được tải lên bởi nút lưu trữ có khớp với số hay không, để xác nhận rằng nút lưu trữ trong mạng lớp thứ hai là xác thực lưu trữ dữ liệu này.
Quy trình cụ thể như sau:
Đối với nhà phát triển, giao diện tải dữ liệu lên và lấy dữ liệu rất đơn giản:< /p> p>
Các nhà phát triển ứng dụng có thể trực tiếp đọc và ghi các khối dữ liệu lớn thông qua giao diện hợp đồng do EthStorage cung cấp. Chi phí viết xấp xỉ một phần nghìn chi phí lưu trữ dữ liệu trực tiếp trên chuỗi. Do đó, EthStorage không chỉ hỗ trợ triển khai giao diện người dùng trên chuỗi mà còn cung cấp giải pháp chi phí thấp hơn cho phạm vi hoạt động cơ sở dữ liệu lưu trữ khóa-giá trị rộng hơ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 ở Sepolia. Mọi người đều có thể tham gia.
Tóm tắt và Triển vọng
Hầu hết các thành phần quan trọng của DAPP như front-end và cơ sở dữ liệu không được triển khai trong Ethereum không thể kế thừa tính bảo mật của Ethereum, dẫn đến toàn bộ ứng dụng không thể được thực thi vĩnh viễn, chống kiểm duyệt và quản lý được.
EthStorage đã đề xuất hai giải pháp để giải quyết vấn đề này: giao thức truy cập web3:// giải quyết vấn đề sử dụng hợp đồng thông minh để triển khai và truy cập vào giao diện người dùng EthStorage thứ hai; lớp Giao thức lưu trữ giải quyết vấn đề chi phí lưu trữ quá mức.
Để 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 và các ứng dụng phi tập trung trong hệ sinh thái sẽ tất cả các Thành phần được triển khai trên Ethereum, cho dù đó là mã back-end, front-end hay dữ liệu. Sau khi được triển khai, mã có thể chạy vĩnh viễn và dữ liệu có thể được truy cập vĩnh viễn, trở thành một Dapp thực sự không thể ngăn cản.
Mạng thử nghiệm công khai EthStorage đang tiến hành sự kiện khuyến khích thứ hai. Các đối tác cộng đồng quan tâm có thể làm theo Hướng dẫn để hoàn thành việc triển khai và truy cập Dapp không thể ngăn cản đầu tiên của họ!