Vertical scaling là gì? Mở rộng monolithic blockchain theo chiều dọc
![Avatar](/_next/image?url=https%3A%2F%2Ffiles.amberblocks.com%2Fuserdata%2Fusr9580exg5m50m04fo1iskezbg3s5nt%2Fprofile-pictures%2Ffk49yv2ifvrm1tgz9wtzk9c0fe8cktvf%2Fava.jpeg&w=3840&q=20)
![vertical scaling](https://files.amberblocks.com/thumbnail/chnbzaa92ook5tnj/posts/p3iv7kj2y4k2q1gm/fgpl5trne25bwaob57obxjq8wwqv3r52/vertical-scaling.jpg)
Vertical scaling là gì?
Vertical scaling là phương pháp giúp mở rộng blockchain thông qua việc tăng cường sức mạnh tính toán của các node trong hệ thống. Nói cách khác, phương pháp này giúp mạng có thể xử lý nhiều giao dịch hơn, tăng thông lượng giao dịch (TPS) và đáp ứng được nhu cầu ngày càng tăng của người dùng.
Vertical scaling còn được gọi là mở rộng theo chiều dọc.
![vertical scaling là gì](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/p3iv7kj2y4k2q1gm/fyyf1vxhktbzzd2w0j2gxpatv34mz4mp/vertical-scaling-la-gi.png)
Làm thế nào để tăng cường sức mạnh tính toán theo hướng vertical scaling?
Trong kiến trúc máy chủ-trạm của blockchain, thường gọi là client-server, tăng cường sức mạnh tính toán của hệ thống đồng nghĩa với việc phải tăng cường sức mạnh tính toán của từng node riêng lẻ (single full-node) trên toàn mạng lưới. Cụ thể, các node sẽ phải tự nâng cấp để đồng bộ được với giới hạn tối thiểu mà mạng yêu cầu.
Các nâng cấp này có thể đến từ nhiều cách, bao gồm:
- Tối ưu hóa về phần mềm, tăng hiệu suất sử dụng tài nguyên máy tính.
- Triển khai các máy ảo song song - parallel VM.
- Sử dụng data pipeline giúp tự động hóa quy trình di chuyển, biến đổi và xử lý dữ liệu.
- Sử dụng giao thức mạng (networking protocol) tốc độ cao mang lại hiệu suất tốt hơn.
- Nâng cấp về phần cứng máy tính.
Trong các giải pháp nêu trên, nâng cấp về phần cứng máy tính được xem là phổ biến nhất đối với người vận hành node, gọi là node operator. Mỗi node phải nâng cấp CPU hoặc tối ưu hóa cách sử dụng CPU nhằm tích hợp thêm sức mạnh xử lý và bộ nhớ của hệ thống. Ngoài ra còn có nâng cấp RAM, bộ nhớ lưu trữ…
CPU (Central Processing Unit), hay còn gọi là bộ xử lý trung tâm, là thành phần chính trong mỗi máy tính. Chúng chịu trách nhiệm thực hiện các phép tính và quản lý các hoạt động của hệ thống. Trong một hệ thống blockchain phân tán, mỗi node đều có một CPU để thực hiện các phép tính và xử lý giao dịch trên mạng.
Khi nâng cấp CPU, không chỉ có một máy chủ cụ thể phải nâng cấp, mà mỗi node trong hệ thống cũng cần phải nâng cấp để đảm bảo hiệu suất chung của blockchain. Tuy nhiên, việc nâng cấp CPU có thể được thực hiện dần dần theo nhu cầu cụ thể của từng node hoặc theo kế hoạch tổng thể của mạng.
Vertical scaling được áp dụng như thế nào?
Khi mở rộng mạng theo hướng vertical, có thể triển khai từ hai khía cạnh người thực thi trên mạng:
- Validator tại lớp thực thi - execution layer
- Node operator để tăng khả năng lưu trữ dữ liệu
Nâng cấp về phần cứng của Validator
Yêu cầu nâng cấp phần cứng giúp tăng sức mạnh tính toán của validator. Từ đó giúp cho công việc ở lớp thực thi được xử lý nhanh hơn, thực hiện được nhiều tính toán hơn trong mỗi giây. Tuy nhiên, điều này sẽ khiến mạng bị hạn chế về số lượng validator vì yêu cầu tối thiểu của phần cứng quá cao.
Ngoài ra, việc duy trì tính phi tập trung của mạng còn phụ thuộc vào định luật Moore. Theo đó, các cấu trúc điện tử trong các vi mạch tính toán tăng gấp đôi sau 2 năm, chi phí khấu hao của máy tính cũng tăng theo hàng năm. Điều này khiến validator chịu chi phí cao hơn theo thời gian để vận hành.
Có thể thấy, nâng cấp về phần cứng tạo ra rào cản trong việc trở thành validator. Chúng phần nào đánh đổi tính phi tập trung của mạng. Điều này thể hiện chính xác lý thuyết tam giác bất khả thi của blockchain - blockchain trilemma.
![blockchain trilemma](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/p3iv7kj2y4k2q1gm/fkw0nibpqkjkwrnrfbnoe9vuszmcl96f/blockchain-trilemma.webp)
Nâng cấp về phần cứng của Node Operator
Tương tự như việc mở rộng trong lớp thực thi blockchain, nâng cấp về phần cứng của node operator sẽ giúp tăng khả năng lưu trữ của mạng. Giới hạn lưu trữ cao hơn giúp giảm bớt chi phí lưu trữ, full node có khả năng lưu trữ số lượng trạng thái (state) giao dịch nhiều hơn.
Điều này giúp dữ liệu được lưu trữ trực tiếp on-chain, thuận tiện cho việc truy cập và tải xuống của các full node. Đồng thời giảm thiểu sự phụ thuộc vào các bên thứ ba hoặc các giải pháp lưu trữ off-chain.
State đại diện cho trạng thái mạng mà trong đó blockchain về cơ bản là một cỗ máy lưu trữ trạng thái - state machine.
Tuy nhiên, sự phình to của khối lượng giao dịch theo thời gian khiến việc thực thi bị ảnh hưởng theo, tăng áp lực tổng thể cho toàn mạng lưới.
Đọc thêm: Không gian khối ảnh hưởng như thế nào đến khả năng lưu trữ của mạng?