Tuyển dụng
Viettel IDC

RPC là gì? Cách thức hoạt động và ý nghĩa trong blockchain

12/11/2025

RPC là một cơ chế giúp ứng dụng giao tiếp với hệ thống ở xa một cách đơn giản và hiệu quả mà không cần xử lý chi tiết mạng phức tạp. Trong bài viết dưới đây, Viettel IDC sẽ cùng bạn tìm hiểu RPC là gì và vì sao công nghệ này trở thành nền tảng quan trọng trong hệ thống phân tán và blockchain hiện đại.

RPC là gì?

RPC (Remote Procedure Call) là mô hình giao tiếp giữa các tiến trình phân tán. Trong đó, một chương trình (client) có thể gọi thực thi một hàm hoặc thủ tục trên một hệ thống từ xa (server) giống như thể nó là một hàm cục bộ. RPC cho phép ẩn đi chi tiết truyền dữ liệu mạng, giúp lập trình viên tập trung vào logic kinh doanh mà không cần lo lắng về cơ chế kết nối mạng. 

Ví dụ, khi một ứng dụng blockchain cần lấy số dư tài khoản hoặc gửi giao dịch, nó sẽ gọi các hàm RPC trên node thay vì tự triển khai giao thức mạng phức tạp. Hầu hết các hệ thống blockchain đều cung cấp JSON-RPC API tiêu chuẩn để các dApp và ví tương tác với chuỗi.

RPC là gì?

Nguyên tắc hoạt động của RPC

RPC sử dụng mô hình Client – Server với các stub (đại diện thủ tục) để thực thi các cuộc gọi thủ tục từ xa. Quy trình hoạt động cơ bản của RPC như sau:

- Client gọi stub: Ứng dụng client gọi một hàm cục bộ (stub) tương ứng với hàm từ xa. Các tham số được truyền vào stub giống như cuộc gọi hàm bình thường.

- Marshalling (đóng gói): Stub ở phía client đóng gói các tham số vào một thông điệp theo định dạng thỏa thuận (ví dụ JSON, Protobuf) và thực hiện cuộc gọi hệ thống để gửi thông điệp qua mạng.

- Giao tiếp mạng: Hệ điều hành gửi thông điệp từ máy khách đến máy chủ thông qua giao thức mạng (TCP/HTTP/HTTP2…).

- Server nhận và xử lý: Ở phía server, một stub của server nhận thông điệp, giải nén (unmarshal) tham số, sau đó gọi hàm tương ứng trên máy chủ.

- Trả kết quả: Sau khi thực thi xong hàm, server đóng gói kết quả (nếu có) vào thông điệp phản hồi và gửi trả lại client qua mạng.

- Client nhận kết quả: Stub phía client giải nén kết quả và trả về cho ứng dụng gọi. Khi đó, từ góc nhìn của ứng dụng, cuộc gọi thủ tục dường như diễn ra cục bộ, chỉ là server đã thực thi hàm từ xa và trả kết quả cho client một cách tự động.

Nguyên tắc hoạt động của RPC

Các giao thức triển khai phổ biến của RPC

RPC có nhiều biến thể và giao thức triển khai khác nhau, tùy mục đích sử dụng và đặc tính của hệ thống. Dưới đây là 3 giao thức RPC được sử dụng nhiều nhất.

gRPC

gRPC là gì? Đây là giao thức RPC hiện đại được Google phát triển, nổi bật nhờ hiệu suất vượt trội và khả năng xử lý khối lượng lớn truyền thông giữa các microservices. gRPC sử dụng HTTP/2 làm nền tảng truyền tải, cho phép truyền dữ liệu theo nhiều luồng song song cùng lúc, đồng thời hỗ trợ cơ chế streaming hai chiều giúp client và server trao đổi dữ liệu liên tục mà không cần chờ phản hồi.

SON-RPC

SON-RPC là giao thức RPC sử dụng JSON để truyền dữ liệu, thường hoạt động qua HTTP hoặc WebSocket. Nhờ có cấu trúc dễ đọc và dễ debug, JSON-RPC đặc biệt phổ biến trong lĩnh vực blockchain.

JSON-RPC không yêu cầu cấu trúc phức tạp hay ràng buộc nghiêm ngặt, giúp quá trình tích hợp trở nên nhanh chóng và linh hoạt. Đây cũng chính là lý do nó xuất hiện trong hầu hết các blockchain lớn như Ethereum, Bitcoin hay BNB Chain.

XML-RPC

XML-RPC là một trong những giao thức RPC lâu đời nhất, sử dụng XML làm định dạng dữ liệu và truyền tải thông qua giao thức HTTP. Điểm mạnh của XML-RPC nằm ở tính tương thích cao và khả năng xử lý dữ liệu có cấu trúc rõ ràng. 

Tuy nhiên, so với JSON hay Protobuf, XML cồng kềnh hơn, khiến tốc độ xử lý và truyền tải bị chậm lại đáng kể. Vì vậy, XML-RPC ngày nay ít được sử dụng trong các hệ thống hiện đại, chủ yếu tồn tại trong các ứng dụng legacy hoặc những nền tảng doanh nghiệp vẫn dùng XML làm tiêu chuẩn dữ liệu.

Các giao thức triển khai phổ biến của RPC

Ưu điểm và hạn chế của RPC

Ưu điểm của RPC

Trong các hệ thống phân tán hiện đại, RPC được xem là một trong những cơ chế giao tiếp hiệu quả nhất nhờ khả năng tối ưu tốc độ và đơn giản hóa kiến trúc. Những ưu điểm nổi bật của RPC bao gồm:

- RPC giúp ẩn toàn bộ chi tiết truyền thông mạng, cho phép lập trình viên gọi hàm từ xa giống như gọi hàm nội bộ, nhờ đó việc phát triển trở nên đơn giản và trực quan hơn.

- Giảm lượng mã nguồn phải viết, tăng tính module hóa và giúp hệ thống dễ bảo trì, dễ mở rộng trong môi trường microservices.

- Hỗ trợ đa ngôn ngữ lập trình, client và server có thể hoạt động trên các nền tảng khác nhau miễn là chia sẻ chung định dạng dữ liệu.

- Cho phép tái sử dụng các thủ tục trên server, giúp phân tán xử lý và tối ưu tài nguyên tính toán, đặc biệt phù hợp với ứng dụng backend tải cao.

- Trong blockchain, RPC cho phép dApp thực hiện các hành động như đọc số dư, truy vấn block hoặc gửi giao dịch mà không cần hiểu cách node lưu trữ dữ liệu, giúp đơn giản hóa kiến trúc ứng dụng Web3.

- Các giao thức RPC hiện đại như gRPC sử dụng Protocol Buffers và HTTP/2, giảm overhead mạng, tăng tốc độ xử lý và nâng cao hiệu suất truyền tải dữ liệu.

- RPC có thể duy trì trạng thái (stateful) nếu cần, mang lại sự linh hoạt trong các tác vụ giao tiếp phức tạp mà REST thường không tối ưu.

Hạn chế của RPC là gì?

Mặc dù mang lại nhiều lợi ích, RPC vẫn tồn tại những điểm hạn chế cần cân nhắc khi triển khai trong hệ thống phân tán. Các nhược điểm của RPC có thể kể đến:

- Phụ thuộc mạnh vào chất lượng mạng, độ trễ cao hoặc mất gói có thể khiến các cuộc gọi RPC bị lỗi hoặc xử lý chậm.

- Quá trình serialization và deserialization tiêu tốn tài nguyên, đặc biệt khi sử dụng XML hoặc JSON có kích thước lớn.

- Xử lý lỗi trong RPC phức tạp hơn, đòi hỏi thiết kế cơ chế retry, timeout và quản lý exception đầy đủ để tránh treo dịch vụ.

- RPC mở rộng bề mặt tấn công khi các endpoint bị lộ, vì vậy nếu không có xác thực và phân quyền, hệ thống dễ gặp rủi ro bảo mật.

- Không tồn tại một chuẩn RPC thống nhất, dẫn đến sự khác biệt giữa JSON-RPC, XML-RPC, Protobuf-RPC, gây khó khăn trong việc tích hợp hệ thống.

- Một số giao thức như JSON-RPC bị hạn chế định dạng dữ liệu (chỉ JSON), ít linh hoạt hơn REST vốn có thể trả về nhiều loại nội dung như JSON, XML, HTML.

- Chi phí bảo trì hệ thống tăng khi phải xử lý sự khác nhau giữa các phiên bản RPC hoặc khi triển khai nhiều dạng giao thức cùng lúc.

Hạn chế của RPC là gì?

Ứng dụng của RPC trong blockchain

RPC là cầu nối giúp ứng dụng blockchain truy cập dữ liệu on-chain và gửi giao dịch tới mạng lưới. Để hiểu rõ cách RPC vận hành trong Web3, cần nắm được các khái niệm quan trọng dưới đây.

RPC Node là gì?

RPC Node là một node blockchain (full node hoặc archive node) được cấu hình để cho phép nhận và phản hồi các lời gọi RPC từ bên ngoài. Nó hoạt động như một “máy chủ dữ liệu blockchain”, cung cấp thông tin về block, transaction, trạng thái smart contract, token balance và nhiều dữ liệu on-chain khác.

RPC Endpoint là gì?

RPC Endpoint là đường dẫn (URL) mà bạn sử dụng để gửi request RPC đến một RPC Node. Đây chính là “điểm truy cập” cho phép dApp hoặc ví kết nối với blockchain. Một RPC Endpoint thường có dạng:

https://mainnet.infura.io/v3/<API_KEY>

https://bsc-dataseed.binance.org/

https://polygon-rpc.com/

Vì sao lập trình blockchain phải dùng RPC?

RPC chính là API cốt lõi giúp Web3 vận hành. Không có RPC, blockchain chỉ là một chuỗi dữ liệu không thể truy cập. Với RPC crypto, blockchain trở thành nền tảng ứng dụng có thể kết nối, đọc, ghi và tương tác một cách liên tục.

- Truy cập dữ liệu on-chain: DApp cần đọc dữ liệu từ blockchain như số dư ví, lịch sử giao dịch, trạng thái smart contract, event log. Những dữ liệu này không có sẵn ở phía client mà phải truy vấn qua RPC Node.

- Gửi giao dịch (transaction): Mọi giao dịch như transfer token, mint NFT, swap, stake,… đều phải được ký và gửi qua RPC Endpoint để node broadcast lên mạng lưới. Không có RPC thì không thể tương tác on-chain.

- Đồng bộ trạng thái ứng dụng: Ví Web3, bot giao dịch, sàn DEX, công cụ theo dõi giá hay indexer đều phải lấy dữ liệu mới nhất từ blockchain thông qua RPC để đảm bảo tính chính xác theo thời gian thực.

Ứng dụng của RPC trong blockchain

Sự khác biệt giữa REST và RPC API là gì?

Dù cùng được sử dụng để xây dựng API, REST và RPC tuân theo hai triết lý thiết kế hoàn toàn khác nhau, ảnh hưởng trực tiếp đến cách ứng dụng giao tiếp với server. Bảng dưới đây sẽ giúp bạn thấy rõ sự khác biệt giữa REST và RPC API theo từng tiêu chí cụ thể.

 

Đặc điểm

REST API

RPC API

Mục tiêu chính

Tập trung vào tài nguyên: Mỗi URL đại diện cho một resource (đối tượng dữ liệu) và sử dụng HTTP verbs (GET/POST/PUT/DELETE) chuẩn.

Tập trung vào thủ tục/hàm: API định nghĩa các hàm (methods) cụ thể để gọi từ xa, giống gọi hàm nội bộ.

Phương thức HTTP

Sử dụng các HTTP verbs: GET (lấy dữ liệu), POST (tạo mới), PUT/PATCH (cập nhật), DELETE (xóa) trên URL định danh tài nguyên.

Thường dùng HTTP POST cho mọi cuộc gọi (đóng gói tên hàm và tham số trong body JSON). Một số triển khai RPC khác có thể dùng giao thức riêng như gRPC (HTTP/2).

Định dạng dữ liệu

Linh hoạt: Có thể dùng JSON, XML hoặc nhiều định dạng khác trong cùng API.

Cố định theo triển khai: ví dụ JSON-RPC buộc dùng JSON, XML-RPC buộc dùng XML, hoặc dùng Protobuf như gRPC. Khách hàng không thể thay đổi định dạng này.

Trạng thái (State)

Stateless: Server không lưu trạng thái phiên của client; mỗi yêu cầu độc lập hoàn toàn.

Có thể có trạng thái hoặc không: RPC có thể thiết kế stateful (lưu phiên, phiên dịch vụ) hoặc stateless tùy mục đích.

Interface/Endpoint

Uniform Interface: giao diện tiêu chuẩn, tài nguyên được xác định qua URL. Mỗi URL (được gọi là REST endpoint) xác định rõ tài nguyên và thao tác tùy HTTP verb.

Thủ tục tùy biến: endpoint thường là một URL duy nhất, và tên hàm (method) được truyền trong body request. Không có tiêu chuẩn bắt buộc cho đặt tên hàm và parameters; mỗi API RPC định nghĩa riêng hàm và tham số của nó.

Tái sử dụng/tiêu chuẩn

REST là một kiến trúc có chuẩn hóa cao, dễ hiểu và có khả năng caching (chế độ GET có thể dùng cache).

RPC linh hoạt hơn về thiết kế nhưng ít có chuẩn chung ngoài việc gọi hàm. Ví dụ JSON-RPC và XML-RPC là các chuẩn riêng.

Sử dụng điển hình

Thích hợp cho các thao tác CRUD (tạo/đọc/cập nhật/xóa) trên tài nguyên; dễ dàng đọc hiểu qua URL và HTTP verb.

Thích hợp để gọi các chức năng/tác vụ từ xa, đặc biệt khi cần thực hiện các phép tính phức tạp hay tác vụ đặc biệt trên server (ví dụ xử lý hình ảnh, thuật toán, giao dịch).

Kết luận

Thông qua nội dung trên, bạn đã hiểu rõ RPC là gì và vai trò của nó trong việc giúp ứng dụng giao tiếp với hệ thống từ xa một cách hiệu quả. Nhờ khả năng trừu tượng hóa toàn bộ lớp truyền thông mạng, RPC trở thành nền tảng quan trọng trong microservices, backend hiện đại và đặc biệt là blockchain.

Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:

- Hotline: 1800 8088 (miễn phí cước gọi)

- Fanpage: https://www.facebook.com/viettelidc  

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

28/09/2026

Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng

Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.

28/09/2026

Figma là gì? Nền tảng thiết kế và cộng tác trực tuyến

Figma là gì, có những tính năng nổi bật nào? Tìm hiểu Vector Network, Auto Layout, Dev Mode và vị thế hiện tại của Figma trong ngành thiết kế.

28/09/2026

Camera Cloud cần tốc độ mạng bao nhiêu? Cách tính băng thông cần thiết

Camera Cloud cần tốc độ mạng bao nhiêu? Tìm hiểu mức băng thông cần thiết, cách tính upload và các yếu tố ảnh hưởng đến tốc độ khi sử dụng Camera Cloud.

28/09/2026

Camera Cloud có bị hack không? Nguyên nhân và cách bảo mật

Camera Cloud có bị hack không? Tìm hiểu các rủi ro bảo mật, nguyên nhân bị xâm nhập và cách bảo vệ camera, tài khoản cùng dữ liệu hiệu quả.

28/09/2026

Viettel IDC: Nhà cung cấp VMware Sovereign Cloud duy nhất tại Đông Nam Á

Tại VMware Explore 2026 ở Las Vegas, Broadcom đã giới thiệu nhóm 57 nhà cung cấp dịch vụ đám mây chủ quyền trên nền tảng VMware Cloud Foundation. Viettel IDC là đơn vị duy nhất tại Đông Nam Á có tên trong danh sách này, đánh dấu bước tiến mới của doanh nghiệp Việt Nam trên thị trường hạ tầng cloud khu vực.

25/09/2026

Ghidra là gì? Chức năng và ứng dụng trong reverse engineering

Ghidra là gì? Tìm hiểu công cụ reverse engineering mã nguồn mở của NSA, các chức năng chính, ứng dụng thực tế và điểm khác biệt với IDA Pro.

25/09/2026

10 công cụ tối ưu hóa website theo từng mục tiêu

Tổng hợp 10 công cụ tối ưu hóa web cho tốc độ, SEO, trải nghiệm người dùng và chuyển đổi, kèm bảng so sánh và gợi ý lựa chọn theo nhu cầu.

25/09/2026

So sánh WHOIS và DNS Lookup: Điểm khác nhau và khi nào nên sử dụng

WHOIS và DNS Lookup khác nhau thế nào? Tìm hiểu định nghĩa, bảng so sánh, vai trò của RDAP thay thế WHOIS, và khi nào nên dùng công cụ nào.

25/09/2026

Cách test tải hệ thống: Quy trình và công cụ phổ biến

Cách test tải hệ thống hiệu quả gồm những bước nào? Tìm hiểu quy trình, chỉ số cần đo và công cụ phổ biến như JMeter, k6.

16/01/2025

Cloud Monitoring là gì? So sánh Hybrid Cloud và Multi Cloud Monitoring

Cloud Monitoring là quá trình theo dõi, quản lý và đánh giá hiệu suất của các tài nguyên và dịch vụ đám mây, bao gồm giám sát máy chủ, cơ sở dữ liệu, ứng dụng và hệ thống mạng