Blockchain scaling là gì? Phương pháp mở rộng blockchain
1. Blockchain scaling là gì?
1. Blockchain scaling là gì?
Khả năng mở rộng của một mạng lưới blockchain được gọi là blockchain scaling, hay còn gọi là blockchain scalability, hoặc vấn đề mở rộng trong blockchain.
Việc mở rộng nhằm mục đích tăng thông lượng (TPS) của mạng lưới, giúp blockchain có thể xử lý nhiều giao dịch hơn mà không làm giảm tính bảo mật, tốc độ xử lý, hay tính phi tập trung.
Các giải pháp blockchain scaling từ Layer 1 tới Layer 2
2. Tại sao blockchain cần mở rộng?
2. Tại sao blockchain cần mở rộng?
Khả năng mở rộng của blockchain là một trong ba vấn đề lớn nhất của các mạng lưới, nằm trong tam giác bất khả thi của blockchain - hay còn gọi là Scalability Trilemma.
Tam giác này cho thấy có sự đánh đổi giữa ba yếu tố quan trọng của blockchain, rằng bất kỳ blockchain nào cũng chỉ có thể đáp ứng được 2 trong 3 yếu tố: phi tập trung, mở rộng và bảo mật. Không có blockchain nào có thể thỏa mãn cả ba yếu tố cùng lúc. Do đó, việc cố gắng cải thiện một yếu tố sẽ ảnh hưởng đến một hoặc cả hai yếu tố còn lại.
- Phi tập trung (Decentralization): Tập trung vào việc phân cấp mạng lưới.
- Mở rộng (Scalability): Đề cập đến khả năng tính toán của mạng, thể hiện qua tốc độ xử lý và lượng giao dịch (TPS).
- Bảo mật (Security): Tập trung vào khả năng chống lại tấn công và khả năng phục hồi của hệ thống.
Tam giác bất khả thi blockchain trilemma
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ả lượng lớn giao dịch trong thời gian ngắn. Điều này dẫn đến phí giao dịch cao và thời gian xác nhận kéo dài.
Với mong đợi trong tương lai khi blockchain được "mass adoption", việc xử lý và đáp ứng đầy đủ nhu cầu của người dùng là ưu tiên hàng đầu.
3. Những nỗ lực giải quyết blockchain scaling của Bitcoin
3. Những nỗ lực giải quyết blockchain scaling của Bitcoin
Tăng block size và giảm block time
Bitcoin là 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 của Bitcoin lúc này được cố định ở mức 1 MB. Khi đó, mạng hoạt động hoàn toàn ổn định.
Tuy nhiên, khi Bitcoin trở nên phổ biến, giới hạn 1 MB không còn đá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 tách (fork).
Một phần cộng đồng vẫn giữ nguyên 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 đó 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 hơn 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. 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 là 10 phút. Điều này cho phép nó xử lý giao dịch nhanh hơn, đạt tốc độ cao nhất là 56 TPS.
Segregated Witness (SegWit)
Năm 2017, Segregated Witness (SegWit) được nhóm phát triển Bitcoin Core đề xuất. Đây là một bản nâng cấp cho mạng Bitcoin, giúp giảm kích thước giao dịch và tăng cường khả năng xử lý giao dịch.
Mặc dù SegWit hứa hẹn tăng kích thước khối từ 1 MB lên 4 MB, các chuyên gia cho rằng điều kiện mạng sẽ không cho phép kích thước khối vượt quá 2.1 MB. Thực tế, kích thước khối trung bình hiện tại chỉ lớn hơn 1 MB một chút.
Một khía cạnh quan trọng khác của SegWit là nó mở đường cho việc triển khai các giải pháp mở rộng blockchain mới, gọi là giải pháp mở rộng Layer 2. Năm 2018, Lightning Network ra đời, cung cấp giải pháp Layer 2 đầu tiên cho Bitcoin.
Sau Bitcoin, Ethereum là blockchain lớn thứ hai trên thị trường crypto. Công nghệ và cơ sở hạ tầng của Ethereum cũng được coi là nền tảng cho các cải tiến trong thị trường. Phần dưới sẽ thảo luận về sự hình thành các khái niệm mới từ Ethereum.
4. Cuộc chiến của các giải pháp blockchain scaling
4. Cuộc chiến của các giải pháp blockchain scaling
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ó thể lập trình cho mục đích chung. 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... nhằm giải quyết các vấn đề của các mạng lưới blockchain vào 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 các thay đổi trạng thái mạng lên blockchain.
- Settlement Layer: giải quyết và 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 của giao dịch.
- Data Availability Layer: đảm bảo luôn có sẵn dữ liệu giao dịch để các node truy cập và sử dụng.
- Consensus Layer: đảm bảo được tính đồng thuận của mạng.
Những thành phần trong kiến trúc của blockchain
Từ khía cạnh Ethereum, đây là một 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 đem lại tính bảo mật cao cho hệ thống, nhưng nó lại tạo ra rào cản về mặt hiệu suất.
Dù đã thực hiện nhiều đợt nâng cấp mang lại lợi ích nhất định cho mạng, nhưng tất cả dường như vẫn chưa đủ.
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ó 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à giải pháp mở rộng on-chain. 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.
- Cải tiến thuật toán đồng thuận.
Kiến trúc của sharding chain
Modular blockchain và giải pháp off-chain scaling
Tuy nhiên, các giải pháp mở rộng mạng không đáp ứng đủ kỳ vọng, do đó 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, được gọi là rollup-centric cho Ethereum.
Theo đó, Ethereum vẫn giữ nguyên các tác vụ xử lý của settlement, consensus và data availability, ngoại trừ phần execution sẽ được hỗ trợ bởi các hệ thống khác - rollup.
Khái niệm blockchain mô-đun ra đời từ đây. Blockchain mô-đun đề cập đến các blockchain có một trong bốn layer được đảm nhiệm bởi thành phần ngoài mạng lưới. Nói cách khác, họ outsource bên thứ ba để thực hiện một hoặc nhiều layer trong kiến trúc blockchain.
Cách vận hành mạng của modular blockchain
Do đó, chúng ta có thể thấy nhiều loại 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ù làm cho việc vận hành mạng trở nên cồng kềnh hơn, nhưng lại cho phép nhiều thực thể độc lập khai thác giá trị từ nền kinh tế chung thay vì chỉ tập trung vào một vài blockchain như trước đây.
Một số giải pháp mở rộng ngoài chuỗi nổi bật bao gồm:
- Rollup: bao gồm Optimistic rollup và zero knowledge rollup
- Sidechains
- State Channel
- Plasma Chain
- Validium Chain
5. Phương pháp mở rộng blockchain
5. Phương pháp mở rộng blockchain
Sau khi hiểu rõ hơn về cấu trúc của blockchain và các phương pháp mở rộng, các nhà phát triển đang tiếp tục nghiên cứu sâu hơn để tìm cách triển khai chúng một cách hiệu quả nhất.
Có hai cách tiếp cận chính để mở rộng mạng lưới blockchain:
- Mở rộng theo chiều dọc: Tăng cường từng phần của mạng.
- Mở rộng theo chiều ngang: Mở rộng mạng lưới theo hướng rộng hơn.
Ban đầu, hầu hết các blockchain chọn cách mở rộng theo chiều dọc, tuy nhiên, việc này gặp khó khăn trong việc thực thi và không đáp ứng đủ nhu cầu.
Nhờ vào sự tiến bộ trong ngôn ngữ lập trình và công nghệ mật mã, các nhà phát triển đã tạo ra các phương pháp mở rộng mới - mở rộng theo chiều ngang.
Cả hai phương pháp này đều có thể cải thiện khả năng mở rộng của blockchain, nhưng mỗi phương pháp đều có ưu và nhược điểm riêng.
Quyết định giữa mở rộng theo chiều ngang và 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, linh hoạt và bảo mật.
Tuy nhiên, không nhất thiết phải chọn giữa cả hai. Các mạng lưới có thể kết hợp chúng một cách linh hoạt để tối ưu hóa hiệu suất tổng thể.
Vertical Scaling
Vertical scaling là việc nâng cao khả năng của mỗi nút trong hệ thống để tăng hiệu suất. Mục tiêu là tăng số lượng giao dịch mà hệ thống có thể xử lý trong một khoảng thời gian cụ thể, tạo ra nhiều giao dịch và xử lý chúng nhanh hơn.
Triết lý của mạng lưới Solana cũng tương tự như vertical scaling, nhằm tối đa hóa sử dụng tài nguyên phần cứng và thúc đẩy sự phát triển của Máy ảo song song.
Horizontal Scaling
Horizontal scaling là cách mở rộng theo chiều ngang, cho phép thêm nhiều node (máy chủ) vào hệ thống 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ừ đó chia sẻ gánh nặng xử lý giao dịch và các hoạt động mạng trên nhiều node.
Cách để tiếp cận mở rộng blockhain theo hướng horizontal
Phương pháp này thường được sử dụng để nâng cao khả năng chịu tải của hệ thống mà không cần thay đổi kiến trúc hiện có, đồng thời giúp giảm thiểu điểm yếu duy nhất (single point of failure).