Nhiều người gặp phải thuật ngữ RPC khi thêm RPC mạng vào các ví như MetaMask theo cách thủ công. Tuy nhiên, RPC là công nghệ nền tảng không thể thiếu cho các ứng dụng blockchain như Dapps, Wallet và CEX. RPC là viết tắt của “Cuộc gọi thủ tục từ xa”. Trong Web2, RPC là một kỹ thuật giao tiếp cho phép một máy tính gọi và thực thi chương trình trên máy tính khác. Thông qua RPC, người gọi chỉ cần chuyển tên dịch vụ và thông số để liên lạc, một khái niệm rộng. Trong bối cảnh blockchain, RPC là giao thức cho phép khách hàng tương tác với blockchain. Người dùng có thể truy vấn thông tin liên quan đến blockchain (chẳng hạn như chiều cao khối, chi tiết khối và kết nối nút) và gửi giao dịch qua giao diện RPC.
Trang bổ sung mạng Metamask (Nguồn: Metamask)
Điều quan trọng là phải hiểu ba vai trò chính của RPC:
Biểu đồ cuộc gọi RPC (nguồn: Google)
Kiến trúc kỹ thuật chi tiết được thể hiện trong hình trên. Để giải thích cho bạn rõ hơn, chúng tôi lấy quá trình người quản lý dự án hoàn thành báo cáo làm ví dụ để giải thích quy trình gọi chi tiết:
Để làm sáng tỏ bằng cách sử dụng một phép loại suy đơn giản, hãy tưởng tượng bạn là người quản lý dự án cần một báo cáo phức tạp. Bạn có thể không giỏi về mặt kỹ thuật, vì vậy bạn phải thuê một nhà phân tích dữ liệu. Bạn:
Do tính chất phi tập trung và phân tán của chuỗi khối, dữ liệu được lưu trữ trên nhiều nút. Đáng chú ý, để chạy một nút và tham gia xác thực khối, máy tính cần phải đáp ứng các tiêu chí phần cứng và phần mềm cụ thể. Trong các mạng như ETH và ADA, các nút đang chạy cũng yêu cầu đặt cọc một lượng token nhất định.
Không phải mọi nút đều có thể sử dụng giao thức RPC. Thông thường, chỉ những máy tính chạy phần mềm máy khách blockchain mới có thể hoạt động như các nút RPC. Hầu hết các dự án không thể chịu được chi phí vận hành và bảo trì của các nút đang chạy, do cần có rất nhiều thời gian, nhân lực và nguồn lực. Điều này đã tạo ra các nút RPC và nhà cung cấp dịch vụ chuyên dụng.
Từ phần trước, rõ ràng chức năng quan trọng của RPC (Cuộc gọi thủ tục từ xa) là thiết lập kết nối giữa các ứng dụng đầu cuối và chuỗi khối. Do đó, trong quá trình phát triển, mục đích sử dụng chính của RPC là chọn nhà cung cấp dịch vụ RPC thích hợp để cho phép người dùng thực hiện các giao dịch và truy vấn trên chuỗi.
Đối với người dùng Web3 trung bình, trường hợp sử dụng trực tiếp nhất là chuyển sang cổng RPC có độ trễ thấp hơn khi tắc nghẽn mạng, từ đó giảm độ trễ và tăng tốc độ thực hiện giao dịch. Về lý thuyết, RPC có thể được áp dụng cho bất kỳ dự án nào yêu cầu giao dịch blockchain hoặc truy vấn thông tin.
RPC riêng
Phần lớn các blockchain cung cấp RPC công khai miễn phí để thử nghiệm ứng dụng. Tuy nhiên, những điều này đi kèm với những hạn chế về tốc độ, dẫn đến sự xuất hiện của RPC riêng. Điểm cuối RPC riêng tư có một URL duy nhất và chỉ chủ sở hữu của nó mới có thể sử dụng URL này để gửi giao dịch đến nhóm bộ nhớ chung, do đó cung cấp kết nối trực tiếp đến nhà cung cấp nút. Lợi ích của việc sử dụng RPC riêng trong thực tế bao gồm:
Về việc sử dụng RPC trong quá trình phát triển, nhà phát triển nên tham khảo tài liệu. Bài viết này sử dụng công tắc RPC trong ví, như MetaMask, làm ví dụ minh họa: Đi tới cài đặt, chọn mạng, nhấp vào tên mạng mà bạn muốn thay đổi RPC, sửa đổi URL RPC ở bên phải và lưu để hoàn tất thay đổi. Người dùng nên xem xét mức độ trễ vì việc chuyển sang RPC có độ trễ cao có thể làm chậm tốc độ giao dịch.
MetaMask có trang thay đổi RPC (nguồn: phiên bản web MetaMask).
Khi sử dụng nó, điều quan trọng là phải so sánh mức độ trễ. Nếu bạn chuyển sang RPC có độ trễ cao hơn, tốc độ giao dịch có thể chậm lại.
Do sự phức tạp của việc thiết lập và vận hành các nút, đã xuất hiện một loại hình doanh nghiệp chuyên vận hành các nút này để cung cấp các dịch vụ như RPC/API cho các dự án. Các dự án có thể gửi yêu cầu tới các nhà cung cấp này thông qua Internet. Các nhà cung cấp này chạy các nút luôn được cập nhật, được đồng bộ hóa hoàn toàn, sẵn sàng 24/7, thay vì các dự án gửi yêu cầu đến các nút cục bộ của họ. Nhiều nhà cung cấp không chỉ cung cấp các dịch vụ RPC; họ cũng cung cấp nhiều dịch vụ liên quan khác nhau như API, SDK, v.v. Đối với các nhà phát triển và người dùng cá nhân, khi chọn nhà cung cấp, điều cần thiết là phải xem xét các yếu tố như tốc độ giao dịch, chi phí, dịch vụ khách hàng và phạm vi công cụ mà họ cung cấp.
Các nhà cung cấp dịch vụ RPC cũng cung cấp các RPC riêng được đề cập trước đó. Hầu hết các nhà cung cấp RPC phục vụ cho các hoạt động đa chuỗi và thường cung cấp các phiên bản dùng thử và công khai miễn phí. Dưới đây là một số nhà cung cấp dịch vụ RPC phổ biến:
Flashbot
Flashbots là một công ty định hướng nghiên cứu tập trung vào Giá trị có thể trích xuất của thợ mỏ (MEV), nhằm giảm thiểu các tác động bên ngoài tiêu cực và rủi ro mà MEV gây ra cho các chuỗi khối hợp đồng thông minh. Dịch vụ RPC của họ, Flashbots Protect, bao gồm cả RPC và API. Các nhà phát triển có thể dễ dàng nhúng nó vào ứng dụng của họ bằng API. Người dùng thông thường có thể thêm RPC của nó vào ví của họ, chuyển hướng giao dịch của họ tới Flashbots. Quá trình này liên quan đến việc gửi các giao dịch trực tiếp đến các thợ mỏ thay vì nhóm công cộng, ngăn chặn “cuộc tấn công bánh sandwich” phổ biến trong MEV. Hiện tại, Flashbots là đơn vị hàng đầu trong ngành nghiên cứu MEV.
Lưu ý: Tấn công sandwich đề cập đến chiến thuật hoàn thành giao dịch ngay trước khi giao dịch của người dùng được xác nhận, khiến giá tăng và sau đó bán với giá cao hơn sau khi giao dịch của người dùng hoàn tất để kiếm lợi nhuận.
Infura
Infura là một sản phẩm IaaS (Cơ sở hạ tầng dưới dạng dịch vụ) được thiết kế để giúp các nhà phát triển và người dùng truy cập dữ liệu Ethereum dễ dàng hơn. Hoạt động như một nút Ethereum đầy đủ, nó cung cấp giao diện API cho phép DApps được kết nối nhanh chóng với nền tảng Ethereum để tương tác mà không cần chạy nút Ethereum cục bộ. Nhóm khách hàng của nó bao gồm Metamask, Uniswap, Hợp chất, v.v.
Giả kim thuật
Alchemy cung cấp SDK và API để xây dựng Web3 DApps đa chuỗi, đồng thời hướng dẫn người dùng cách sử dụng các công cụ này thông qua các sáng kiến giống như cộng đồng và trường đại học. Alchemy đã hỗ trợ giá trị giao dịch trực tuyến hơn 100 tỷ USD, có hơn 10 triệu người dùng cuối và đã tạo ra hơn 1,5 tỷ USD tiền bản quyền. Các khách hàng đáng chú ý bao gồm Opensea, GMX và AAVE.
ankr
Ankr cung cấp nhiều dịch vụ nút khác nhau, bao gồm các nút công khai và riêng tư, hỗ trợ hơn 30 chuỗi khối. Ankr cũng cung cấp giao diện API dựa trên giao thức RPC và WebSocket, cũng như một số công cụ phát triển và SDK, như Web3.js và Truffle, cho phép các nhà phát triển dễ dàng xây dựng và triển khai các ứng dụng blockchain. Cơ sở khách hàng của họ bao gồm Binance, Sushiswap, Meta Apes, v.v.
Nút nhanh
QuickNode cung cấp dịch vụ API trực tiếp cho người dùng thông qua các nút chuyên dụng. Nó hỗ trợ nhiều khu vực khác nhau, nhiều mạng thử nghiệm và nút lưu trữ, mang đến cho các nhà phát triển hiệu suất truy cập blockchain nâng cao và độ ổn định cao hơn. Các tính năng bao gồm bảng điều khiển trực quan, bộ phân tích và trình ghi lệnh gọi thủ tục từ xa, hỗ trợ hơn 20 chuỗi. Khách hàng bao gồm Nansen, Algofi và Dapprader.
BlockPI
BlockPI là một RPC có cấu trúc mạng phân tán, lớp tăng tốc đa chuỗi phân tán tham gia vào môi trường Web3 phi tập trung. Vào đầu năm 2023, nó đã nâng cấp thành công RPC công khai, cung cấp dịch vụ RPC miễn phí ổn định hơn và nhanh hơn. Về lý thuyết, kiến trúc của nó giải quyết cơ bản vấn đề tắc nghẽn của các yêu cầu RPC và có khả năng mở rộng vô hạn.
Với sự trưởng thành liên tục của công nghệ blockchain và việc áp dụng Web3 ngày càng tăng, các dịch vụ RPC, với tư cách là một trong những dịch vụ nền tảng, có một tương lai đầy hứa hẹn. Nhu cầu từ các nhà phát triển dịch vụ RPC được dự đoán sẽ tăng lên. Từ quan điểm của một cá nhân, những người giao dịch thường xuyên yêu cầu tốc độ giao dịch nhanh hơn có thể được hưởng lợi rất nhiều từ việc chọn RPC công cộng ít được sử dụng hơn hoặc đầu tư vào RPC riêng tư, đặc biệt là cho các hoạt động như airdrop hoặc đúc NFT.
Nhiều người gặp phải thuật ngữ RPC khi thêm RPC mạng vào các ví như MetaMask theo cách thủ công. Tuy nhiên, RPC là công nghệ nền tảng không thể thiếu cho các ứng dụng blockchain như Dapps, Wallet và CEX. RPC là viết tắt của “Cuộc gọi thủ tục từ xa”. Trong Web2, RPC là một kỹ thuật giao tiếp cho phép một máy tính gọi và thực thi chương trình trên máy tính khác. Thông qua RPC, người gọi chỉ cần chuyển tên dịch vụ và thông số để liên lạc, một khái niệm rộng. Trong bối cảnh blockchain, RPC là giao thức cho phép khách hàng tương tác với blockchain. Người dùng có thể truy vấn thông tin liên quan đến blockchain (chẳng hạn như chiều cao khối, chi tiết khối và kết nối nút) và gửi giao dịch qua giao diện RPC.
Trang bổ sung mạng Metamask (Nguồn: Metamask)
Điều quan trọng là phải hiểu ba vai trò chính của RPC:
Biểu đồ cuộc gọi RPC (nguồn: Google)
Kiến trúc kỹ thuật chi tiết được thể hiện trong hình trên. Để giải thích cho bạn rõ hơn, chúng tôi lấy quá trình người quản lý dự án hoàn thành báo cáo làm ví dụ để giải thích quy trình gọi chi tiết:
Để làm sáng tỏ bằng cách sử dụng một phép loại suy đơn giản, hãy tưởng tượng bạn là người quản lý dự án cần một báo cáo phức tạp. Bạn có thể không giỏi về mặt kỹ thuật, vì vậy bạn phải thuê một nhà phân tích dữ liệu. Bạn:
Do tính chất phi tập trung và phân tán của chuỗi khối, dữ liệu được lưu trữ trên nhiều nút. Đáng chú ý, để chạy một nút và tham gia xác thực khối, máy tính cần phải đáp ứng các tiêu chí phần cứng và phần mềm cụ thể. Trong các mạng như ETH và ADA, các nút đang chạy cũng yêu cầu đặt cọc một lượng token nhất định.
Không phải mọi nút đều có thể sử dụng giao thức RPC. Thông thường, chỉ những máy tính chạy phần mềm máy khách blockchain mới có thể hoạt động như các nút RPC. Hầu hết các dự án không thể chịu được chi phí vận hành và bảo trì của các nút đang chạy, do cần có rất nhiều thời gian, nhân lực và nguồn lực. Điều này đã tạo ra các nút RPC và nhà cung cấp dịch vụ chuyên dụng.
Từ phần trước, rõ ràng chức năng quan trọng của RPC (Cuộc gọi thủ tục từ xa) là thiết lập kết nối giữa các ứng dụng đầu cuối và chuỗi khối. Do đó, trong quá trình phát triển, mục đích sử dụng chính của RPC là chọn nhà cung cấp dịch vụ RPC thích hợp để cho phép người dùng thực hiện các giao dịch và truy vấn trên chuỗi.
Đối với người dùng Web3 trung bình, trường hợp sử dụng trực tiếp nhất là chuyển sang cổng RPC có độ trễ thấp hơn khi tắc nghẽn mạng, từ đó giảm độ trễ và tăng tốc độ thực hiện giao dịch. Về lý thuyết, RPC có thể được áp dụng cho bất kỳ dự án nào yêu cầu giao dịch blockchain hoặc truy vấn thông tin.
RPC riêng
Phần lớn các blockchain cung cấp RPC công khai miễn phí để thử nghiệm ứng dụng. Tuy nhiên, những điều này đi kèm với những hạn chế về tốc độ, dẫn đến sự xuất hiện của RPC riêng. Điểm cuối RPC riêng tư có một URL duy nhất và chỉ chủ sở hữu của nó mới có thể sử dụng URL này để gửi giao dịch đến nhóm bộ nhớ chung, do đó cung cấp kết nối trực tiếp đến nhà cung cấp nút. Lợi ích của việc sử dụng RPC riêng trong thực tế bao gồm:
Về việc sử dụng RPC trong quá trình phát triển, nhà phát triển nên tham khảo tài liệu. Bài viết này sử dụng công tắc RPC trong ví, như MetaMask, làm ví dụ minh họa: Đi tới cài đặt, chọn mạng, nhấp vào tên mạng mà bạn muốn thay đổi RPC, sửa đổi URL RPC ở bên phải và lưu để hoàn tất thay đổi. Người dùng nên xem xét mức độ trễ vì việc chuyển sang RPC có độ trễ cao có thể làm chậm tốc độ giao dịch.
MetaMask có trang thay đổi RPC (nguồn: phiên bản web MetaMask).
Khi sử dụng nó, điều quan trọng là phải so sánh mức độ trễ. Nếu bạn chuyển sang RPC có độ trễ cao hơn, tốc độ giao dịch có thể chậm lại.
Do sự phức tạp của việc thiết lập và vận hành các nút, đã xuất hiện một loại hình doanh nghiệp chuyên vận hành các nút này để cung cấp các dịch vụ như RPC/API cho các dự án. Các dự án có thể gửi yêu cầu tới các nhà cung cấp này thông qua Internet. Các nhà cung cấp này chạy các nút luôn được cập nhật, được đồng bộ hóa hoàn toàn, sẵn sàng 24/7, thay vì các dự án gửi yêu cầu đến các nút cục bộ của họ. Nhiều nhà cung cấp không chỉ cung cấp các dịch vụ RPC; họ cũng cung cấp nhiều dịch vụ liên quan khác nhau như API, SDK, v.v. Đối với các nhà phát triển và người dùng cá nhân, khi chọn nhà cung cấp, điều cần thiết là phải xem xét các yếu tố như tốc độ giao dịch, chi phí, dịch vụ khách hàng và phạm vi công cụ mà họ cung cấp.
Các nhà cung cấp dịch vụ RPC cũng cung cấp các RPC riêng được đề cập trước đó. Hầu hết các nhà cung cấp RPC phục vụ cho các hoạt động đa chuỗi và thường cung cấp các phiên bản dùng thử và công khai miễn phí. Dưới đây là một số nhà cung cấp dịch vụ RPC phổ biến:
Flashbot
Flashbots là một công ty định hướng nghiên cứu tập trung vào Giá trị có thể trích xuất của thợ mỏ (MEV), nhằm giảm thiểu các tác động bên ngoài tiêu cực và rủi ro mà MEV gây ra cho các chuỗi khối hợp đồng thông minh. Dịch vụ RPC của họ, Flashbots Protect, bao gồm cả RPC và API. Các nhà phát triển có thể dễ dàng nhúng nó vào ứng dụng của họ bằng API. Người dùng thông thường có thể thêm RPC của nó vào ví của họ, chuyển hướng giao dịch của họ tới Flashbots. Quá trình này liên quan đến việc gửi các giao dịch trực tiếp đến các thợ mỏ thay vì nhóm công cộng, ngăn chặn “cuộc tấn công bánh sandwich” phổ biến trong MEV. Hiện tại, Flashbots là đơn vị hàng đầu trong ngành nghiên cứu MEV.
Lưu ý: Tấn công sandwich đề cập đến chiến thuật hoàn thành giao dịch ngay trước khi giao dịch của người dùng được xác nhận, khiến giá tăng và sau đó bán với giá cao hơn sau khi giao dịch của người dùng hoàn tất để kiếm lợi nhuận.
Infura
Infura là một sản phẩm IaaS (Cơ sở hạ tầng dưới dạng dịch vụ) được thiết kế để giúp các nhà phát triển và người dùng truy cập dữ liệu Ethereum dễ dàng hơn. Hoạt động như một nút Ethereum đầy đủ, nó cung cấp giao diện API cho phép DApps được kết nối nhanh chóng với nền tảng Ethereum để tương tác mà không cần chạy nút Ethereum cục bộ. Nhóm khách hàng của nó bao gồm Metamask, Uniswap, Hợp chất, v.v.
Giả kim thuật
Alchemy cung cấp SDK và API để xây dựng Web3 DApps đa chuỗi, đồng thời hướng dẫn người dùng cách sử dụng các công cụ này thông qua các sáng kiến giống như cộng đồng và trường đại học. Alchemy đã hỗ trợ giá trị giao dịch trực tuyến hơn 100 tỷ USD, có hơn 10 triệu người dùng cuối và đã tạo ra hơn 1,5 tỷ USD tiền bản quyền. Các khách hàng đáng chú ý bao gồm Opensea, GMX và AAVE.
ankr
Ankr cung cấp nhiều dịch vụ nút khác nhau, bao gồm các nút công khai và riêng tư, hỗ trợ hơn 30 chuỗi khối. Ankr cũng cung cấp giao diện API dựa trên giao thức RPC và WebSocket, cũng như một số công cụ phát triển và SDK, như Web3.js và Truffle, cho phép các nhà phát triển dễ dàng xây dựng và triển khai các ứng dụng blockchain. Cơ sở khách hàng của họ bao gồm Binance, Sushiswap, Meta Apes, v.v.
Nút nhanh
QuickNode cung cấp dịch vụ API trực tiếp cho người dùng thông qua các nút chuyên dụng. Nó hỗ trợ nhiều khu vực khác nhau, nhiều mạng thử nghiệm và nút lưu trữ, mang đến cho các nhà phát triển hiệu suất truy cập blockchain nâng cao và độ ổn định cao hơn. Các tính năng bao gồm bảng điều khiển trực quan, bộ phân tích và trình ghi lệnh gọi thủ tục từ xa, hỗ trợ hơn 20 chuỗi. Khách hàng bao gồm Nansen, Algofi và Dapprader.
BlockPI
BlockPI là một RPC có cấu trúc mạng phân tán, lớp tăng tốc đa chuỗi phân tán tham gia vào môi trường Web3 phi tập trung. Vào đầu năm 2023, nó đã nâng cấp thành công RPC công khai, cung cấp dịch vụ RPC miễn phí ổn định hơn và nhanh hơn. Về lý thuyết, kiến trúc của nó giải quyết cơ bản vấn đề tắc nghẽn của các yêu cầu RPC và có khả năng mở rộng vô hạn.
Với sự trưởng thành liên tục của công nghệ blockchain và việc áp dụng Web3 ngày càng tăng, các dịch vụ RPC, với tư cách là một trong những dịch vụ nền tảng, có một tương lai đầy hứa hẹn. Nhu cầu từ các nhà phát triển dịch vụ RPC được dự đoán sẽ tăng lên. Từ quan điểm của một cá nhân, những người giao dịch thường xuyên yêu cầu tốc độ giao dịch nhanh hơn có thể được hưởng lợi rất nhiều từ việc chọn RPC công cộng ít được sử dụng hơn hoặc đầu tư vào RPC riêng tư, đặc biệt là cho các hoạt động như airdrop hoặc đúc NFT.