Tác giả: w1nt3r.eth

Biên tập: 深潮TechFlow

Có lẽ blockchain sẽ tồn tại mãi mãi, nhưng tuổi thọ của các ứng dụng phi tập trung (dApps) lại rất ngắn.

Vào Halloween năm 2024, tôi đã cố gắng mở các dApps mà tôi đã sử dụng vào năm 2021, và kết quả thật đáng sợ: tên miền đã hết hạn, triển khai bị dừng lại, trang không tìm thấy, dịch vụ không khả dụng.

Chờ đã, những ứng dụng này không nên là phi tập trung sao? Chúng lẽ ra không phụ thuộc vào các thực thể tập trung, miễn phí như bia, tự do như lời nói và kháng cự lại sự kiểm duyệt. Chúng là những ứng dụng khiến Web3 trở thành internet mới.

Nhưng hầu hết các ứng dụng này đã biến mất, và hầu hết những ứng dụng mà tôi đã sử dụng cách đây hai năm không còn tồn tại. 'Hồn ma' của chúng có thể vẫn còn đâu đó trên blockchain, miễn là bạn có thể tìm thấy địa chỉ hợp đồng đúng và đoán đúng dữ liệu gọi.

Tại sao điều này xảy ra? Vấn đề nằm ở đâu? Chúng ta có thể làm gì để thay đổi tình hình này?

Vậy, 'dApp' thực sự là gì?

Hãy lật lại một chút tài liệu cổ mà chúng ta tìm thấy từ thời tiền sử (năm 2016).

'dApp' là viết tắt của 'ứng dụng phi tập trung'. Khái niệm này là bạn có thể sử dụng công nghệ mở (như HTML/CSS/JS) để tạo ra một ứng dụng Web và lưu trữ nó trên cơ sở hạ tầng phi tập trung và không cần cấp phép (như IPFS). dApp tương tác với blockchain thông qua ví của bạn. Bạn có thể nhận dữ liệu mới nhất và gửi giao dịch mà không cần phụ thuộc vào các công ty tập trung.

Điều này khiến dApps gần như không thể cản trở. Miễn phí, không cần cấp phép, phi tập trung. Đây là giấc mơ mà những người theo chủ nghĩa punk thực sự theo đuổi.

Trang đăng nhập đẹp

Tuy nhiên, hầu hết mọi người không quan tâm đến đặc tính phi tập trung và không cần cấp phép. Họ quan tâm hơn đến việc ứng dụng có thực dụng hay không (và liệu con số có thể tăng lên hay không).

Các nhà phát triển Web3 nhanh chóng nhận ra rằng họ đang cạnh tranh với sự chú ý của người dùng với những ứng dụng Web2 được thiết kế đẹp, tốc độ nhanh và hấp dẫn trong lĩnh vực Web2, trong khi phi tập trung không mang lại cho họ nhiều lợi thế trong trận chiến này.

Những người hiểu sâu về công nghệ biết rằng blockchain là một sự chuyển đổi thực sự về mặt mô hình. Nhưng mọi thứ trên blockchain đều là 'mã nguồn mở', có thể được sao chép, vì vậy nó trở thành một hàng hóa. Không có rào cản cạnh tranh. Bất kỳ ai cũng có thể triển khai hợp đồng Uniswap ở bất kỳ đâu. Thực tế, bất kỳ ai cũng có thể tạo ra L2 của riêng mình!

Sự khác biệt thực sự nằm ở thương hiệu, kênh phân phối, hiệu ứng mạng và trải nghiệm người dùng. Trong hàng trăm triệu triển khai Uniswap, người dùng sẽ chọn những gì họ tin tưởng (thương hiệu), dễ tiếp cận (phân phối), mọi người đều đang sử dụng (hiệu ứng mạng) và giao diện thân thiện (trải nghiệm người dùng).

Mặc dù tôi đề cập đến trải nghiệm người dùng cuối cùng, nhưng điều này không phải là điều ít quan trọng nhất. Trải nghiệm người dùng kém sẽ gây ra những tác động tiêu cực. Mỗi chủ sở hữu cửa hàng thương mại điện tử đều biết rằng mỗi khi tăng thêm 100 mili giây độ trễ, có thể mất 10% người dùng. Nếu trải nghiệm người dùng kém, bạn không thể xây dựng thương hiệu cao cấp. Nếu ứng dụng của bạn khiến người dùng cảm thấy khó chịu, bạn cũng không thể giữ chân họ.

Triển khai lên Vercel đơn giản hơn nhiều so với triển khai lên IPFS.

Làm việc tốt không dễ

Ngay cả khi hầu hết người dùng không quan tâm đến phi tập trung, những người theo chủ nghĩa punk thực sự vẫn quan tâm. Không phải nói rằng 'mọi người nên là những người cuồng nhiệt phi tập trung', mà là vì 'đó là điều đúng đắn để làm'. Ngay cả khi các thực thể tập trung trở nên thù địch hoặc bị kiểm duyệt, phi tập trung vẫn có thể trao quyền và tự chủ cho mọi người.

Đó là vấn đề. Việc tạo ra một ứng dụng vừa phi tập trung vừa có trải nghiệm người dùng tốt không dễ dàng. Nhưng lý do khó khăn lại là vì chúng tôi (các nhà phát triển) đã trở nên lười biếng.

Phân tích BasePaint

Hãy cùng xem một 'dApp' điển hình ngày nay và công nghệ mà nó phụ thuộc vào. Tôi sẽ lấy BasePaint mà tôi tự phát triển làm ví dụ. Về một nghĩa nào đó, nó nên là một 'Web3 dApp': nó sử dụng blockchain (Base L2) và phụ thuộc vào ví của người dùng để tương tác. Nhưng điều đó vẫn không đủ để cung cấp trải nghiệm người dùng tốt, vì vậy tôi đã phải thêm một số yếu tố không phi tập trung. Trên thực tế, tôi đã thêm nhiều yếu tố.

Thành phần dịch vụ kỹ thuật của BasePaint

Dưới đây là những công nghệ tập trung mà tôi buộc phải sử dụng trong quá trình phát triển:

  • Tên miền. Tôi hy vọng người dùng có thể dễ dàng tìm thấy chúng tôi và truy cập vào trang web. Do trình duyệt không hỗ trợ ENS, tôi buộc phải mua tên miền từ nhà đăng ký tên miền và cấu hình DNS để trỏ đến máy chủ đúng.

  • Dịch vụ lưu trữ. Tôi cần lưu trữ ứng dụng (bao gồm các file HTML/CSS/JS) ở một nơi nào đó, và đảm bảo tốc độ truy cập nhanh và ổn định. Mặc dù IPFS có tiềm năng lớn, nhưng hầu hết các trình duyệt không hỗ trợ, tốc độ cổng chậm và URL cũng không thân thiện.

(Bạn đã thử nhập vào điện thoại chưa

QmRxM6Fz3jYBNLTNn59Whtj8uiFodC53Z5nEep6eSkwf8V?

  • Cơ sở dữ liệu. Blockchain trong một số trường hợp là một cơ sở dữ liệu tốt, nhưng không phù hợp với mọi tình huống. Ví dụ, chúng tôi lưu trữ thông tin trò chuyện trong cơ sở dữ liệu Postgres, vì điều đó rẻ hơn và nhanh hơn. Mặc dù có thể thử đưa nó lên chuỗi, nhưng tốc độ sẽ không bao giờ bằng cơ sở dữ liệu tập trung.

  • Dịch vụ backend. BasePaint cũng cần thực hiện một số tính toán không phù hợp để xử lý trên Ethereum. Ví dụ, tạo video, đồng bộ vị trí con trỏ của nhiều người dùng, xác thực quyền trò chuyện, v.v. Hơn nữa, chúng tôi cũng cần bảo vệ một số thông tin nhạy cảm, chẳng hạn như thông tin xác thực kết nối cơ sở dữ liệu và Token riêng tư.

  • Nhà cung cấp Ethereum JSON-RPC. Về lý thuyết, chúng tôi có thể truy cập blockchain thông qua ví của người dùng. Nhưng điều này có nghĩa là người dùng không có trình duyệt 'hỗ trợ Web3' sẽ không thấy bất kỳ nội dung nào. Thậm chí còn rắc rối hơn, có những khác biệt tinh tế giữa các nhà cung cấp RPC của các ví khác nhau. Ví dụ, QuickNode giới hạn truy vấn nhật ký ở 10.000 mục, trong khi Alchemy sử dụng đơn vị tính toán riêng của mình để hạn chế các yêu cầu. Sử dụng RPC của ví có nghĩa là phải xử lý những khác biệt tinh tế này.

  • Trình lập chỉ mục. Chi phí lưu trữ dữ liệu trên blockchain là rất cao. BasePaint giải quyết vấn đề này bằng cách không lưu trữ pixel trong hợp đồng. Thay vào đó, nó gửi tất cả dữ liệu cần thiết qua các sự kiện Painted. Bạn có thể tái tạo bất kỳ canvas nào bằng cách truy vấn sự kiện hợp đồng thông minh. Nhưng hãy tưởng tượng làm điều này trên trang gallery của BasePaint (chúng tôi hiển thị hàng trăm canvas!). Để cung cấp trải nghiệm người dùng mượt mà, chúng tôi đã chạy một trình lập chỉ mục để theo dõi các sự kiện blockchain và lưu trữ dữ liệu theo cách dễ dàng cho việc truy vấn nhanh.

  • Dịch vụ khác. Chúng tôi sử dụng Reservoir để lấy dữ liệu thị trường thứ cấp và thực hiện đúc chéo chuỗi, Cloudflare làm CDN, R2 cho lưu trữ và bộ đệm video, DataDog cho ghi nhật ký, PostHog cho phân tích, Neynar để tìm địa chỉ ví của người dùng Farcaster. Mỗi dịch vụ đã giúp chúng tôi tiết kiệm hàng tuần thậm chí hàng tháng thời gian phát triển, nhưng cũng khiến ứng dụng của chúng tôi trở nên ít phi tập trung hơn. Hơn nữa, nhiều công cụ thiếu mô hình kinh doanh bền vững và có thể ngừng hoạt động bất cứ lúc nào.

  • Thẻ tín dụng. Vấn đề này luôn khiến tôi vừa khóc vừa cười. Bạn biết không, hầu hết các sản phẩm SaaS tiền điện tử không thể thanh toán bằng tiền điện tử? Nếu số dư thẻ tín dụng của tôi không đủ hoặc hết hạn, tên miền, cơ sở dữ liệu, máy chủ, điểm cuối RPC và các sản phẩm SaaS khác của tôi sẽ ngừng hoạt động.

Làm thế nào để thực hiện phi tập trung cho ứng dụng?

Với tư cách là một nhà phát triển Web3, hiện tại tôi thấy những lựa chọn có:

  1. Bỏ qua công nghệ tập trung, xây dựng một dApp cứng cáp hoàn toàn phụ thuộc vào dịch vụ phi tập trung. Mặc dù điều này có thể khả thi trong các dự án như Tornado Cash, nhưng đối với các sản phẩm tiêu dùng thông thường, điều này sẽ gây ra những trở ngại về trải nghiệm người dùng và có thể khiến hầu hết người dùng chùn bước.

  2. Giữ lại các ứng dụng tập trung, trong khi phát triển một phiên bản dApp đơn giản chỉ phụ thuộc vào công nghệ phi tập trung. Điều này có nghĩa là cần duy trì hai ứng dụng độc lập, tăng khối lượng công việc và chi phí kỹ thuật.

  3. Áp dụng chiến lược 'tăng cường dần dần'. Bắt đầu với một dApp đơn giản, nếu máy chủ có sẵn, hãy tận dụng nó để tăng tốc độ. Điều này cần quản lý nghiêm ngặt, và không tiết kiệm thời gian nhiều so với lựa chọn thứ hai.

  4. Mã nguồn mở, cho phép người dùng tự mình chạy (đây là hướng mà chúng tôi chọn). Nhưng thực tế, khởi động toàn bộ hệ thống yêu cầu khả năng kỹ thuật phần mềm khá cao, phức tạp hơn nhiều so với việc tải trang từ IPFS.

Tất cả các tùy chọn trên đều yêu cầu nỗ lực đáng kể, không phải là lựa chọn mặc định. Xem bất kỳ hướng dẫn hay mẫu dApp nào, gần như không đề cập đến những vấn đề này. Thực tế, phát triển ứng dụng phi tập trung không nhất thiết phải khó khăn như vậy. Nếu chúng ta có thể chuyển độ phức tạp sang tầng hạ tầng, việc tạo ra dApp sẽ dễ dàng hơn.

Có lẽ chúng ta nên cố gắng giải quyết những vấn đề nan giải đó?

Chúng ta có thể thử thực hiện phi tập trung ở cấp độ hạ tầng. Ví dụ, tích hợp hỗ trợ ENS vào getaddrinfo, để tất cả các trình duyệt có thể hỗ trợ IPFS một cách nguyên bản, và nâng cao tốc độ IPFS để cạnh tranh với CDN tiên tiến nhất hiện nay. Chúng ta cũng có thể cải thiện JSON-RPC của Ethereum để nó trở nên thực tế hơn cho các ứng dụng phi tập trung (dApps). Nhưng đó chỉ là phần đơn giản.

Để thay thế cơ sở dữ liệu và máy chủ tập trung, chúng ta cần phát triển một loạt công nghệ mà hiện tại chưa tồn tại. Có thể cần một hệ thống tính toán phân tán dựa trên chứng minh không kiến thức (ZK), có thể nhận phần thưởng khi chạy mã, hoặc một Ethereum siêu hiệu quả có thể thực thi các chỉ thị x86 thông dụng.

Hơn nữa, chúng ta cũng cần tìm ra giải pháp phi tập trung cho tất cả những dịch vụ được xây dựng xung quanh tiền điện tử. Chúng ta cần thiết kế các cơ chế khuyến khích mới - ai sẽ trả tiền cho những tài nguyên tính toán này? Trong một hệ thống thực sự phi tập trung, mô hình kinh doanh SaaS hiện tại sẽ không hoạt động. (Nhưng hy vọng rằng chi phí cho những dịch vụ này có thể được thanh toán bằng tiền điện tử mà không cần thẻ tín dụng.)

Ngoài ra, chúng ta cũng phải đảm bảo rằng trải nghiệm phát triển của hệ sinh thái mới này ít nhất phải tốt như các nền tảng tập trung hiện tại. Những nền tảng đó đã đầu tư hàng tỷ đô la vào thời gian kỹ thuật để mài dũa và đã đầu tư lớn vào marketing để tràn ngập các hướng dẫn trên mạng, cố gắng thuyết phục mọi người rằng giải pháp của họ là tốt nhất.

Điều này có thực sự quan trọng không?

'Các nhà khoa học của bạn quá chú trọng vào tính khả thi của công nghệ, mà không dừng lại để xem xét xem liệu điều đó có phù hợp hay không.' - Trích từ (Công viên kỷ Jura)

Nhưng liệu lớp ứng dụng có thực sự cần phải phi tập trung không?

Nouns đã cho chúng ta thấy rằng có thể chỉ cần phi tập trung của blockchain là đủ. Nouns có một hệ sinh thái ứng dụng phát triển mạnh mẽ, tất cả ứng dụng tương tác với cùng một hợp đồng. Bạn có thể bỏ phiếu thông qua Camp hoặc Agora, điều đó không quan trọng, bạn chỉ cần chọn giao diện mà bạn thích.

Để thu hút hàng tỷ người dùng, tiền điện tử có thể cần trở thành một thành phần tích hợp liền mạch trong hệ thống hiện tại. Điều này có nghĩa là trải nghiệm tiền điện tử lý tưởng là người dùng thậm chí không biết họ đang sử dụng tiền điện tử, vì nó đã được trừu tượng hóa đến mức không quan trọng. Ví dụ, chỉ cần chạm vào điện thoại để mua cà phê, còn sử dụng USDC hay mạng Visa thì người dùng không quan tâm.

Thị trường đã tìm ra một giải pháp tối ưu cục bộ:

  • Blockchain như một lớp nền là phi tập trung, nó bảo vệ hàng nghìn tỷ đô la tài sản và cung cấp hỗ trợ mạnh mẽ cho quyền sở hữu và chống kiểm duyệt.

  • Lớp ứng dụng thì lại là tập trung. Các công ty phát triển các ứng dụng tập trung để cung cấp trải nghiệm người dùng tốt nhất. Hệ thống mã nguồn đóng của chúng tạo ra rào cản cạnh tranh, nhưng những ứng dụng này vẫn tương tác với cùng một blockchain.

Các công cụ còn thiếu

Tôi hy vọng sự cân bằng này nghiêng nhiều hơn về phi tập trung. Tôi muốn có thể chạy phiên bản Nouns Camp hoặc Agora của riêng mình một cách đơn giản như nhấp vào một liên kết. Tôi hy vọng chúng ta có thể có một số công cụ giúp việc xây dựng những ứng dụng phi tập trung trở nên đơn giản, mà không ảnh hưởng đến trải nghiệm người dùng.

BasePaint thật tuyệt vời. Đây là một hệ sinh thái tự duy trì: nghệ sĩ sáng tạo tác phẩm, nhà sưu tập mua và thu lợi nhuận trên thị trường thứ cấp, chủ sở hữu có thể ảnh hưởng đến công việc hàng ngày thông qua việc bỏ phiếu. Mô hình này hoạt động hiệu quả, và chúng tôi đã phân phối hơn một triệu đô la cho các nhà sáng tạo thông qua cách này.

Tuy nhiên, mắt xích yếu nhất trong toàn bộ hệ thống lại là đội ngũ của chúng tôi. Duy trì ứng dụng cần rất nhiều nỗ lực, chẳng hạn như sửa lỗi và nâng cao trải nghiệm người dùng. Đồng thời, chúng tôi cũng đang cố gắng làm cho hệ thống trở nên phi tập trung hơn, chẳng hạn như làm cho ứng dụng dễ tự lưu trữ hơn, từ bỏ kiểm soát quyền thay vì đặt ra rào cản.

Kết luận

Các ứng dụng phi tập trung (dApps) dường như đã mất sức sống, vì lợi thế của 'phi tập trung' hiện tại không phải là điều mà người dùng quan tâm, vì vậy các nhà phát triển cần điều chỉnh. Chúng tôi đã ngừng phát triển những công cụ nhằm làm cho ứng dụng phi tập trung.

May mắn thay, cơ sở hạ tầng nền tảng của blockchain hiện vững chắc hơn bao giờ hết. Công nghệ nền tảng vững chắc hơn, và lộ trình phát triển cũng đầy hứa hẹn. Chúng ta thực sự có cơ hội xây dựng một nền tảng tính toán toàn cầu.

Tuy nhiên, thật tiếc khi cuộc thảo luận về cách cải thiện giao diện người dùng đã không được chú ý đủ. Khái niệm dApp đã tạm thời bị gác lại...