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

16/10/2026

vMaaS cập nhật thêm mô hình AI mới - Một API, nhiều mô hình lựa chọn linh hoạt, chi phí không đổi

Viettel Model as a Service (vMaaS) cập nhật thêm Gemma 3, Qwen3-VL và Llama Nemotron, đồng thời hỗ trợ thêm hơn 40 mô hình AI theo nhu cầu. Tìm hiểu cách chọn mô hình phù hợp qua một API.

15/10/2026

Thông báo về việc tổ chức đấu giá tài sản thanh lý tháng 10/2026

Công ty Cổ phần Viettel – CHT thông báo về việc đấu giá đối với danh mục tài sản: Tài sản thanh lý bao gồm: Lô 1 - Bình ắc quy + Lô 2 - Tủ Rack và thiết bị cơ điện.

14/10/2026

So sánh IDS và IPS: Sự khác biệt và cách lựa chọn phù hợp

So sánh IDS và IPS giúp doanh nghiệp hiểu rõ cách hai giải pháp phát hiện, ngăn chặn xâm nhập và lựa chọn phương án bảo vệ hệ thống mạng phù hợp.

14/10/2026

NVMe Hosting là gì? Ưu điểm, so sánh và cách lựa chọn

NVMe Hosting là gì? Tìm hiểu ưu điểm, so sánh với SSD SATA và HDD, cùng cách lựa chọn hosting phù hợp để tối ưu hiệu năng website.

14/10/2026

Sự khác biệt giữa các dịch vụ hosting của Việt Nam với quốc tế

Tìm hiểu sự khác biệt giữa các dịch vụ hosting của Việt Nam với quốc tế về tốc độ, chi phí, công nghệ và hỗ trợ kỹ thuật để chọn giải pháp phù hợp.

14/10/2026

So sánh dịch vụ hosting tại Viettel IDC với những nhà cung cấp khác: Nên chọn bên nào?

So sánh dịch vụ hosting tại Viettel IDC với những nhà cung cấp khác về giá, cấu hình, hiệu năng và bảo mật để chọn giải pháp phù hợp cho doanh nghiệp.

14/10/2026

Những nền tảng điện toán đám mây nào phù hợp nhất cho doanh nghiệp nhỏ? Cách lựa chọn hiệu quả

Những nền tảng điện toán đám mây nào phù hợp cho doanh nghiệp nhỏ? Tìm hiểu các lựa chọn phổ biến và tiêu chí chọn nền tảng phù hợp.

14/10/2026

Cách chọn máy chủ phù hợp cho website nhỏ tại Việt Nam: Từ cấu hình đến chi phí

Cách chọn máy chủ phù hợp cho website nhỏ tại Việt Nam dựa trên cấu hình, nhu cầu sử dụng, chi phí và khả năng mở rộng.

14/10/2026

Những yếu tố quan trọng khi lựa chọn dịch vụ Cloud Database để đảm bảo khả năng mở rộng và độ tin cậy

Những yếu tố quan trọng khi lựa chọn dịch vụ Cloud Database giúp doanh nghiệp đảm bảo khả năng mở rộng, hiệu năng và độ tin cậy cho hệ thống.

14/10/2026

Lỗi SQL Server Setup failed: Nguyên nhân và cách khắc phục

Lỗi SQL Server Setup failed do đâu? Tìm hiểu nguyên nhân, cách kiểm tra và khắc phục lỗi để cài đặt SQL Server thành công.