Blockchain scaling là gì? Sự hình thành của các giải pháp mở rộng blockchain
![Avatar](/_next/image?url=https%3A%2F%2Ffiles.amberblocks.com%2Fuserdata%2Fusr9580exg5m50m04fo1iskezbg3s5nt%2Fprofile-pictures%2Ffk49yv2ifvrm1tgz9wtzk9c0fe8cktvf%2Fava.jpeg&w=3840&q=20)
![blockchain scaling là gì](https://files.amberblocks.com/thumbnail/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/fs0tip267izw3f1be38fb5ua2r4iih0l/blockchain-scaling-la-gi.jpeg)
Blockchain scaling là gì?
Blockchain scaling là khả năng mở rộng của một mạng lưới blockchain. Blockchain scaling còn được gọi là blockchain scalability, hay vấn đề mở rộng trong blockchain.
Việc mở rộng nhằm tăng thông lượng (TPS) của mạng, giúp blockchain có thể đáp ứng với nhu cầu giao dịch ngày càng tăng nhưng không làm giảm tính bảo mật, tốc độ xử lý hay sự phi tập trung.
![blockchain scaling là gì](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/fpea8rlquz7ml50k6amvf2xhf5dhx7vj/blockchain-scaling-la-gi.png)
Tại sao blockchain cần mở rộng?
Blockchain scaling là một trong ba vấn đề lớn nhất của các mạng lưới, chúng nằm trong tam giác bất khả thi - Blockchain Trilemma, còn được gọi là Scalability Trilemma.
Tam giác này chỉ ra rằng có một sự đánh đổi giữa ba yếu tố quan trọng trong blockchain, bất kỳ blockchain nào cũng chỉ có thể đáp ứng 2 trong 3 yếu tố: phi tập trung, mở rộng và bảo mật. Không có blockchain nào ngoại lệ, đáp ứng được cả 3. Vì vậy, việc cố gắng nâng cấp yếu tố này sẽ đánh đổi với một hoặc/và hai yếu tố còn lại.
- Phi tập trung (Decentralization): Tập trung vào sự phân cấp của mạng.
- Mở rộng (Scalability): Đề cập đến sức mạnh tính toán của mạng, thể hiện qua tốc độ xử lý và thông lượng giao dịch (TPS).
- Bảo mật (Security): Tập trung vào khả năng chống lại sự xâm nhập và khả năng phục hồi sau tấn công của hệ thống.
![tam giác bất khả thi blockchain trilemma](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/f39chnryg7o8lgk0xzapbhmnjzouyi3o/blockchain-trilemma.webp)
Khi các mạng lưới như Bitcoin và Ethereum trở nên phổ biến, chúng gặp khó khăn trong việc xử lý hiệu quả một lượng lớn giao dịch trong thời gian ngắn. Điều này dẫn đến việc phí cao hơn và thời gian xác nhận kéo dài.
Với kỳ vọng tương lai khi blockchain đi vào “mass adoption”, việc xử lý và đáp ứng đầy đủ nhu cầu của người dùng được xem là ưu tiên hàng đầu.
Vậy bước phát triển đầu tiên cho các giải pháp mở rộng blockchain xuất hiện lúc nào?
Các nỗ lực giải quyết blockchain scaling của Bitcoin
Tăng block size, giảm block time
Bitcoin, mạng lưới blockchain đầu tiên (2007), được tạo ra với mục đích chính là phát triển một hệ thống thanh toán ngang hàng P2P và an toàn. Kích thước khối (block size) của Bitcoin lúc này được cố định ở mức 1 MB. Thời điểm này mạng hoạt động hoàn toàn ổn định.
Tuy nhiên, khi sự phổ biến của Bitcoin tăng lên, giới hạn 1 MB không đáp ứng được nhu cầu của người dùng. Một đề xuất tăng kích thước khối từ 1 MB lên 8 MB đã được đưa ra. Vì cộng đồng không đạt được sự đồng thuận, blockchain đã bị phân nhánh (fork).
Một phần cộng đồng vẫn giữ blockchain Bitcoin Core ban đầu với giới hạn kích thước khối 1 MB. Phần còn lại chọn blockchain Bitcoin Cash và tăng giới hạn kích thước khối lên 8 MB, sau đó họ tiếp tục tăng lên 32 MB vào năm 2010. Với các khối lớn hơn 32 lần, Bitcoin Cash có thể xử lý nhiều giao dịch trong cùng một thời gian.
Một cách khác để tăng thông lượng mạng là giảm thời gian tạo khối (block time). Litecoin là blockchain được tạo ra từ việc sao chép mã nguồn của Bitcoin. Sự khác biệt chính là thời gian tạo khối của Litecoin - 2.5 phút, nhanh gấp 4 lần so với Bitcoin 10 phút. Điều này cho phép nó xử lý giao dịch nhanh hơn, đạt được tốc độ cao nhất là 56 TPS.
Đọc thêm: Bitcoin Cash Hard Fork - Ảnh hưởng của Hash War.
Segregated Witness (SegWit)
Năm 2017, Segregated Witness (SegWit) được đề xuất bởi nhóm phát triển Bitcoin Core. SegWit là một bản nâng cấp cho mạng Bitcoin, giúp giảm kích thước của các giao dịch và tăng cường khả năng xử lý giao dịch.
Mặc dù hứa hẹn tăng kích thước khối từ 1 MB lên 4 MB, tuy nhiên các chuyên gia tin rằng điều kiện mạng sẽ không cho phép kích thước khối lớn hơn 2.1 MB. Thực tế, kích thước khối trung bình hiện nay chỉ lớn hơn khoảng 1 MB một chút.
Tuy nhiên, khía cạnh quan trọng khác của SegWit là nó cho phép triển khai loại giải pháp mở rộng blockchain mới, được gọi là giải pháp mở rộng Layer 2. Năm 2018, Lightning Network ra mắt, cung cấp giải pháp Layer 2 đầu tiên trên Bitcoin.
Sau Bitcoin, Ethereum là blockchain lớn thứ 2 trong thị trường crypto. Công nghệ và cơ sở hạ tầng của Ethereum cũng được xem là nền móng để phát triển các cải tiến của thị trường chung. Phần dưới sẽ khai thác về sự hình thành các khái niệm mới bắt nguồn từ Ethereum.
Đọc thêm: Bitcoin Layer 2 là gì? Tại sao Bitcoin nên cần Layer 2?
Sự hình thành cuộc chiến các giải pháp blockchain scaling
Sự ra đời của monolithic blockchain và giải pháp on-chain scaling
Năm 2015, Vitalik Buterin giới thiệu Ethereum tới cộng đồng với khái niệm về một blockchain được sử dụng cho mục đích chung (general-purpose programmable blockchain). Ethereum mở ra nhiều khía cạnh phát triển mới về mặt cơ sở hạ tầng, smart contract, dApp, EVM… giúp giải quyết những vấn đề của các mạng lưới blockchain thời điểm đó.
Hiện nay, có nhiều cách phân chia kiến trúc của một blockchain. Tuy nhiên, về bản chất, xét từ khía cạnh vai trò và mục đích, nó được chia thành 4 lớp chính, bao gồm:
- Execution Layer: xử lý giao dịch và cập nhật thay đổi trạng thái mạng lên blockchain.
- Settlement Layer: giải quyết, xác minh tính hợp lệ của giao dịch, đồng thời đảm bảo “tính cuối cùng" (finality) của giao dịch.
- Data Availability Layer: đảm bảo dữ liệu giao dịch luôn có sẵn để các node truy cập và sử dụng.
- Consensus Layer: đảm bảo tính đồng thuận của mạng.
![các thành phần của blockchain](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/f6junh1rtd2vvpqxfl9uhpwuwcw0uxke/kien-truc-blockchain.png)
Vậy các nhà phát triển có thể mở rộng ở phần nào trong khối kiến trúc này?
Từ khía cạnh Ethereum, nó là blockchain thuộc kiến trúc monolithic, hoạt động như một khối thống nhất xử lý cả 4 chức năng song song. Mặc dù điều này mang lại tính bảo mật cao cho hệ thống nhưng nó tạo ra rào cản về mặt hiệu suất.
Dù đã thực thi nhiều đợt nâng cấp mang lại lợi ích nhất định cho mạng. Tuy nhiên, tất cả dường như vẫn chưa đủ.
![lộ trình cải tiến của ethereum](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/fiuv8bqnidu5gspmfgsuy3uxgi4rst14/cai-tien-ethereum.jpg)
Bên cạnh đó, dựa trên nguồn “tài nguyên” về khía cạnh kỹ thuật và cơ sở hạ tầng mạng từ Ethereum, đã có rất nhiều giải pháp mở rộng với các phương pháp tiếp cận mới được thử nghiệm trên các blockchain Layer 1 sau này.
Nhìn chung, các giải pháp mở rộng trên chính Layer 1 được gọi là on-chain scaling solution. Một số giải pháp nổi bật bao gồm:
- Tăng giới hạn kích thước khối (block size).
- Sharding: cho phép xử lý song song giao dịch - parallel execution.
- Cải tiến thuật toán đồng thuận.
![kiến trúc sharding blockchain](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/f4aix9xcb16k4jun02vy6lbiymdnjv69/shard-chain-ethereum.png)
Sự hình thành của modular blockchain và giải pháp off-chain scaling
Tuy nhiên, chúng không đáp ứng đủ kỳ vọng mở rộng mạng, vì vậy các giải pháp mở rộng Layer 2 được chú trọng nhiều hơn. Vitalik và các nhà phát triển đã tạo ra một lộ trình tập trung vào giải pháp rollup, gọi là rollup-centric cho Ethereum.
![các giải pháp mở rộng ethereum](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/f36366ypku9vsp6iphuuopptcnszhciz/cac-giai-phap-mo-rong-layer2-ethereum.png)
Trong đó, Ethereum vẫn giữ nguyên tác vụ xử lý của settlement, consensus và data availability, ngoại trừ phần execution sẽ được hỗ trợ thực thi thêm bởi các hệ thống khác - rollup.
Lúc này, khái niệm modular blockchain được ra đời. Modular blockchain đề cập đến các blockchain có 1 trong 4 layer được đảm nhiệm bởi thành phần ngoài mạng lưới. Nói cách khác là họ outsource bên thứ ba thực thi tác vụ của một/nhiều layer trong kiến trúc blockchain.
![thực thi kiến trúc modular blockchain](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/fzhmtrtjzr6t10apgr3ujkhmvfdzqy7q/ethereum-scaling.png)
Từ đó, chúng ta có thể thấy, rất nhiều các loại hình cơ sở hạ tầng được triển khai. Nó mở ra nhiều hướng tiếp cận khác nhau, mặc dù khiến cho việc vận hành mạng nhìn tổng thể cồng kềnh hơn, nhưng có nhiều thực thể độc lập được trích xuất giá trị từ nền kinh tế chung thay vì tập trung vào một vài blockchain như thời kỳ đầu.
![kiến trúc rollup centric trên modular blockchain](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/fj33o7e26qbzj5umouglhs1c7oj8vs9t/rollup-centric-ethereum-blockchain.png)
Một số giải pháp off-chain scaling nổi bật:
- Rollup: bao gồm Optimistic rollup và zero knowledge rollup
- Sidechains
- State Channel
- Plasma Chain
- Validium Chain
Đọc thêm: Các giải pháp mở rộng Ethereum: Con đường tới tham vọng của Ethereum.
Phương pháp mở rộng blockchain
Sau khi có cái nhìn rõ ràng hơn về kiến trúc blockchain cùng các giải pháp mở rộng, các nhà phát triển vẫn tiếp tục đào sâu nghiên cứu để tìm ra cách triển khai các giải pháp này tối ưu hơn.
Các mạng lưới blockchain có hai cách tiếp cận chính để mở rộng mạng:
- Vertical Scaling: mở rộng theo chiều dọc
- Horizontal Scaling: mở rộng theo chiều ngang
Hầu hết ở thời kỳ đầu, các blockchain đều mở rộng theo hướng vertical, sự nâng cấp phụ thuộc vào các bên tham gia trong mạng lưới. Mặc dù mang lại hiệu quả nhưng gặp rào cản về mặt thực thi, đồng thời vẫn không đáp ứng đủ nhu cầu của người dùng.
Bên cạnh đó, với sự tiến bộ của ngôn ngữ lập trình (coding language) và công nghệ mật mã (cryptography), các nhà phát triển đã tạo ra các triển khai phương pháp mở rộng mới - horizontal scaling.
![giải pháp mở rộng blockchain](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/fqbh9q7c6banvtr4uaupjjcdag2aengq/phuong-phap-scaling-blockchain.jpeg)
Cả hai phương pháp này đều cung cấp các cách tiếp cận khác nhau để tăng cường khả năng mở rộng của blockchain, mỗi phương pháp đều có ưu điểm và hạn chế riêng.
Sự lựa chọn giữa mở rộng theo chiều ngang và mở rộng theo chiều dọc phụ thuộc vào nhu cầu cụ thể của dự án và yêu cầu về hiệu suất, tính linh hoạt và tính bảo mật.
Tuy nhiên, cần lưu ý rằng, không nhất thiết phải chọn “giữa" cách mở rộng theo chiều ngang hoặc chiều dọc. Các mạng lưới cũng có thể kết hợp chúng một cách linh hoạt để mạng có thể thực hiện các tác vụ hiệu quả hơn, từ đó đem lại hiệu suất tổng thể cao hơn.
![sự kết hợp cả vertical và horizontal trong mở rộng](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/fptbvmyvq4uvay6rk6x44v6tmjof7ct3/ket-hop-vertical-horizontal-scaling.png)
Vertical Scaling
Vertical scaling đề cập đến khả năng mở rộng bằng cách tăng cường hiệu suất cho các node trong hệ thống. Điều này nhằm tăng thông lượng giao dịch (TPS) cho các mạng lưới, xử lý nhiều giao dịch hơn và nhanh hơn.
Vertical scaling cũng được xem là triết lý mở rộng của mạng lưới Solana nhằm tối đa hóa việc sử dụng phần cứng, cũng như bước tiến trong việc thực thi Máy ảo song song - parallel Virtual Machine.
Đọc thêm: Vertical scaling là gì? Mở rộng monolithic blockchain theo chiều dọc.
Horizontal Scaling
Horizontal scaling là phương pháp mở rộng theo chiều ngang, cho phép thêm nhiều node (máy chủ) vào cấu trúc hiện có. Thay vì tăng cường tài nguyên cho một node (như vertical scaling), horizontal scaling tập trung vào việc tăng số lượng node, từ đó phân chia gánh nặng xử lý giao dịch và các hoạt động mạng trên nhiều node.
![horizontal scaling trong blockchain](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pyger2vk820kyhea/fnxeg2whynmhu7y1z3ng6333j99qtnbk/horizontal-scaling.png)
Phương pháp này thường được sử dụng để tăng khả năng chịu tải của hệ thống mà không cần phải thay đổi kiến trúc hiện có, đồng thời cũng giúp giảm thiểu điểm đơn điệu (single point of failure).