TL;DR: Học các kỹ năng bạn cần để chuyển từ Web 2.0 sang web3 như một nhà phát triển.
Phát triển phần mềm là một lĩnh vực luôn thay đổi với nhiều công cụ và kỹ thuật mới. Công nghệ blockchain và web3 là một trong những tiến bộ đáng chú ý nhất gần đây.
Vậy làm thế nào để một nhà phát triển làm việc trong Web 2.0 chuyển sang web3? Những kỹ năng nào của họ sẽ hữu ích nhất?
Đọc tiếp để tìm hiểu về các kỹ năng có thể chuyển đổi từ phát triển truyền thống và những khái niệm mới trong web3 mà bạn cần nắm vững để thành công.
Kỹ năng chuyển đổi cho phát triển web3
Nhiều kỹ năng của nhà phát triển truyền thống, từ frontend đến backend, đều áp dụng được trong web3.
Các kỹ sư frontend viết bằng Javascript hoặc Typescript có thể sử dụng các thư viện cụ thể của web3 như Web3.js, Viem, Wagmi, WalletConnect, và Ethers.js, cùng với các framework quen thuộc như React và Vue.js.
APIs vẫn rất quan trọng. Các giao thức như The Graph cung cấp RESTful và GraphQL APIs, trong khi các nhà cung cấp dữ liệu như Pinax cung cấp các HTTP và WebSocket APIs dễ truy cập.
Trong lĩnh vực web3, các nhà phát triển thường kết hợp công nghệ truyền thống và phi tập trung. Trên backend, các cơ sở dữ liệu như PostgreSQL và MongoDB là những công cụ quan trọng cho việc lưu trữ dữ liệu phức tạp, ngoài chuỗi. Các thành phần này giao tiếp với blockchain thông qua các thư viện được xây dựng chuyên biệt, đảm bảo quá trình trao đổi dữ liệu giữa hệ thống phi tập trung và hệ thống tập trung diễn ra hiệu quả.
Khi bắt đầu bước vào lĩnh vực này với vai trò là một lập trình viên web, tôi nhận ra rằng… hầu hết các kỹ năng web dev trước đây của tôi đều áp dụng được. Vì web3 là bước tiến tiếp theo của Web 2.0, tôi nghĩ rằng gần như bất kỳ lập trình viên nào từ bất kỳ nền tảng nào cũng có thể tìm thấy chỗ đứng của mình trong không gian web3, vì nhiều công nghệ giống nhau đều được sử dụng trong cả hai lĩnh vực.
– Samuel Papineau, Lập trình viên full-stack tại Pinax
Nền tảng điện toán đám mây serverless như AWS Lambda và Google Cloud Functions cung cấp cơ sở hạ tầng mở rộng cho việc chạy mã backend và quản lý lưu trữ ngoài chuỗi. Bằng cách kết hợp backend này với các công nghệ container hóa như Docker và Kubernetes, nhà phát triển có thể triển khai và quản lý các ứng dụng lai phức tạp trên nhiều môi trường khác nhau.
Các khái niệm mới trong web3
Mặc dù các ứng dụng phi tập trung (dApps) chia sẻ các khái niệm về giao diện người dùng (UI), API và backend như trong các ứng dụng truyền thống, nhưng chúng có thêm một lớp khác phía sau backend: đó là các hợp đồng thông minh trên blockchain – thành phần cốt lõi tạo nên lớp web3.
Blockchain là một bản ghi bất biến của mọi thao tác tính toán đã trả phí giao dịch và được ghi lại trong một khối, sau đó được sao chép trên hàng trăm máy tính khác nhau trong mạng lưới.
Blockchain tính phí để giúp các nhà vận hành node trang trải chi phí sao lưu và duy trì dữ liệu trên nhiều node. Hầu hết các nhà phát triển chỉ đưa những giao dịch quan trọng nhất lên chuỗi để giảm thiểu chi phí phát sinh từ các loại phí này.
Tuy nhiên, các nhà xây dựng (builders) vẫn sẵn sàng trả những khoản phí đó để tận dụng các lợi thế của hợp đồng thông minh, chẳng hạn như thương mại điện tử gốc (native e-commerce) và hệ thống tài khoản người dùng.
Trên blockchain, người dùng sở hữu ví và tài sản của họ. Do đó, các nhà phát triển có thể cung cấp trải nghiệm tài khoản và thương mại điện tử đầy đủ và liền mạch. Vì người dùng thực sự sở hữu tài sản, họ có thể giao dịch tài sản đó trên các thị trường thứ cấp, thậm chí tạo ra các công cụ tài chính với tài chính phi tập trung (DeFi).
Tokenization (Mã hóa tài sản)
Những lợi ích này phần lớn có được nhờ vào tokenization – quá trình phân phối các token trên blockchain. Đây là một trong những trường hợp sử dụng chính của hệ thống blockchain.
Token trên sổ cái phân tán (distributed ledger) cũng giống như các token ở khu trò chơi – là đại diện cho giá trị, được sử dụng cho một mục đích nào đó trong hệ thống. Người dùng có thể chứng minh quyền sở hữu của họ đối với các token này thông qua các bằng chứng toán học ngay trong hệ thống blockchain.
Ví dụ:
- Mạng Bitcoin phát hành token Bitcoin và chấp nhận Bitcoin để thanh toán phí giao dịch trên mạng.
- Tương tự, Ether là token gốc của mạng Ethereum và được sử dụng để thanh toán “phí gas” khi triển khai hoặc tương tác với các hợp đồng thông minh trên mạng.
Các nhà phát triển không ngừng tạo ra các cơ chế token mới như:
- Token tiện ích (utility tokens)
- Token không thể thay thế (NFTs): mỗi NFT là duy nhất, không thể chia nhỏ, giống như đồ sưu tầm.
- Token Soulbound (SBTs): là một dạng NFT không thể chuyển nhượng, thích hợp cho các chứng chỉ thành tích, bằng chứng tham dự, v.v.
Ngoài ra còn có các tiêu chuẩn token mới như token bán thay thế (semi-fungible), NFT thế chấp, và nhiều loại khác.
Tokenomics (Kinh tế học token)
Khi ứng dụng sử dụng token hóa, một không gian thiết kế mới được mở ra. Thay vì chỉ tập trung vào trải nghiệm UI, nhà phát triển còn phải suy nghĩ về cách người dùng tương tác với nền kinh tế nội bộ của ứng dụng cũng như nền kinh tế bên ngoài.
Tokenomics cho phép sử dụng các động lực thúc đẩy hành vi, ví dụ:
- Thưởng (incentives): tặng phần thưởng khi người dùng thực hiện hành động cụ thể.
- Phạt (disincentives): áp dụng hình phạt khi người dùng có hành vi không mong muốn.
Các nhà phát triển cần cân nhắc kỹ lưỡng để tránh vô tình tạo ra các cơ chế khuyến khích sai lệch, có thể bị khai thác.
Token hóa cũng mở ra không gian DeFi – tài chính phi tập trung, nơi người dùng có thể:
- Giao dịch tài sản,
- Hoán đổi tài sản mà không cần sổ lệnh,
- Tạo khoản vay có tài sản thế chấp,
- Tạo ra các công cụ tài chính phức tạp chỉ với dữ liệu on-chain.
Vì là hợp đồng thông minh trên mạng công khai, các công cụ DeFi thường là không cần cấp phép và khó bị kiểm duyệt.
Truy cập dữ liệu blockchain
Để sử dụng dữ liệu từ blockchain, nhà phát triển cần có quyền truy cập vào dữ liệu đó. Phương pháp phổ biến là Remote Procedure Call (RPC). Các nền tảng như Pinax cung cấp các điểm truy cập RPC được quản lý, giúp dễ dàng mở rộng mà không cần tự chạy node.
Đối với truy cập phi tập trung, các dịch vụ lập chỉ mục và truy vấn nâng cao như The Graph sử dụng công nghệ Firehose và Substreams để cung cấp quyền truy cập dữ liệu blockchain hiệu quả, theo thời gian thực, qua các API được xác định rõ ràng.
Công nghệ lưu trữ phi tập trung như IPFS được sử dụng để lưu trữ dữ liệu ngoài chuỗi. Cơ sở dữ liệu tập trung vẫn hữu ích cho các dữ liệu không nhạy cảm và dễ thay đổi cần truy cập nhanh. Khi kết hợp cả hai, nhà phát triển có thể tận dụng sức mạnh của cả hai hệ thống mà không đánh đổi tính phi tập trung.
Ngoài ra, Oracle là các trung gian đáng tin cậy giúp lấy dữ liệu từ thế giới bên ngoài blockchain (chẳng hạn như giá token, sự kiện đời thực…) và truyền lại cho blockchain. Nhờ đó, hợp đồng thông minh có thể phản ứng với các điều kiện bên ngoài, mở ra nhiều khả năng mới cho các ứng dụng phi tập trung năng động.
“Thử thách khó nhất với tôi chính là đường cong học tập. Trước khi vào làm tại Pinax, tôi hầu như không biết gì về cách blockchain hoạt động phía sau. Giờ đây tôi vẫn đang tiếp tục học hỏi mỗi ngày, và tôi không nghĩ điều đó sẽ dừng lại sớm. Đó cũng chính là điều làm cho web3 trở nên hấp dẫn với các lập trình viên – không ngừng đổi mới, luôn có cái mới để đọc, để thử nghiệm – thật sự là một không gian tuyệt vời cho sáng tạo.”
— Samuel Papineau, Lập trình viên full-stack tại Pinax
Những sai lầm phổ biến khi phát triển web3
Các nhà phát triển mới nên tránh một số lỗi phổ biến như:
- Giữ cho mọi thứ đơn giản: DApps vốn đã phức tạp, thêm nhiều tính năng dễ dẫn đến lỗi không lường trước. UI phức tạp cũng ảnh hưởng đến trải nghiệm người dùng.
- Thử nghiệm và audit hợp đồng thông minh là bắt buộc: Nếu không kiểm tra kỹ trên testnet, lỗi trên mạng chính có thể không thể đảo ngược và gây tổn thất tài chính.
- Bảo mật khóa cá nhân: Mọi giao dịch blockchain đều không thể đảo ngược. Mất quyền kiểm soát khóa đồng nghĩa mất toàn bộ tài sản.
- Xử lý tình huống xảy ra fork blockchain: Khi các node mạng có sổ cái khác nhau tạm thời.
- Tối ưu chi phí gas: Code không hiệu quả sẽ khiến phí giao dịch cao, làm giảm mức sử dụng ứng dụng.
Những điều cần cân nhắc khi triển khai trên mạng công khai
Làm việc với mạng công khai như Ethereum, Avalanche, v.v. yêu cầu các kiến thức và ý thức đặc biệt:
- Blockchain công khai và minh bạch: Cần ý thức cao về quyền riêng tư, không lưu trữ dữ liệu nhạy cảm trên chuỗi nếu không mã hóa.
- Hợp đồng thông minh bất biến: Khi triển khai mà không có khả năng nâng cấp, bất kỳ lỗi nào cũng sẽ vĩnh viễn tồn tại.
- Tuân thủ pháp lý: Việc phát hành token cần tuân thủ các quy định pháp lý đang thay đổi nhanh chóng. Nên theo dõi và tham khảo chuyên gia để tránh rủi ro pháp lý.
Xây dựng tương lai của Internet
Xây dựng trên nền web3 giúp nhà phát triển tạo ra những ứng dụng mạnh mẽ với:
- Tích hợp tài khoản người dùng và thanh toán ngay lập tức,
- Logic nghiệp vụ minh bạch qua hợp đồng thông minh,
- Quyền truy cập dữ liệu on-chain khổng lồ.
Khi tận dụng kỹ năng sẵn có và tiếp cận các khái niệm mới, nhà phát triển có thể nâng cấp giải pháp của mình bằng sức mạnh của web3: phân quyền, minh bạch và động lực khuyến khích tích cực.
Blockchain là nền tảng cho những ứng dụng không thể ngăn cản. Nhưng đi cùng sức mạnh đó là trách nhiệm to lớn. Dù có kinh nghiệm, các lập trình viên vẫn sẽ gặp những thử thách đặc biệt trong quá trình thiết kế và triển khai. Tuy nhiên, với sự chuẩn bị và thực hiện đúng đắn, những đội ngũ tài năng có thể vượt qua rào cản này để thay đổi bộ mặt của Internet.
No Comments