Trước khi đi vào chủ đề chính, để bạn đọc có thể hình dung về monolithic và modular blockchain, GFS Blockchain xin giới thiệu đến bạn đọc 1 câu chuyện trở thành huyền thoại về monolithic và modular, câu chuyện về chip CPU và GPU.
Khởi nguyên của những chiếc chip CPU và GPU chỉ là một phiến silicon được gọi là khuôn silicon, như hình dưới, dân trong ngành gọi là khuôn ép monolithic hay chip monolithic (nguyên khối).
Do những đặc tính của vật liệu đã nảy sinh một vấn đề cản trở việc cải tiến để nâng cao hiệu suất chip đó là “khuôn càng lớn, tỷ lệ sai hỏng sẽ tăng theo cấp số nhân, do vậy việc sản xuất ngay từ đầu sẽ đắt hơn”. Tại một số thời điểm, khuôn trở nên quá lớn và tỷ lệ sai hỏng quá cao khiến nó trở nên không thể sản xuất được. Vì vậy, sự kém hiệu quả này có nghĩa là chi phí sản xuất khuôn tăng siêu tuyến tính với kích thước.
Vào năm 2019, CPU nhanh nhất của Intel là Xeon Platinum, một CPU 28 lõi có giá đáng kinh ngạc 10.000 USD. AMD đã cho ra mắt một CPU 64 lõi, có giá 4.000 USD và đánh bại hoàn toàn chip tốt nhất của Intel lúc đó. Nhân đôi hiệu suất với giá bằng một nửa, vậy AMD đã tạo nên kỳ tích như thế nào? Họ đã modular hóa khuôn đúc monolithic.
Thay vì một phiến khổng lồ, giờ đây bạn có 8 modular nhỏ gọi là “chiplet” và một khuôn cỡ trung bình ở giữa điều phối mọi thứ chứa các yếu tố chung được chia sẻ trên các chiplet như bộ điều khiển bộ nhớ và I/O. Tất cả các khuôn nhỏ này kết hợp lại có thể lớn hơn một khuôn monolithic duy nhất (các bạn có thể xem hình bên dưới). Ngoài ra, với chi phí siêu tuyến tính của các khuôn lớn hơn, nó cũng sẽ rẻ hơn nhiều để sản xuất. Đây là cách AMD mang lại hiệu suất gấp đôi với chi phí chỉ bằng một nửa và đánh bại định luật Moore.
Và nay, thiết kế modular đã trở nên thịnh hành của ngành sản xuất chip dù mỗi hãng đặt cho nó cái tên khác nhau. Intel kẻ dẫn đầu sản xuất chip theo thiết kế monolithic giờ đây đã cho ra đời chip siêu máy tính Ponte Vecchio chứa 47 khuôn nhỏ hơn đáng kinh ngạc để tạo thành một bộ hoàn chỉnh, nó là 1 thiết kế modular.
Câu chuyện mà mình chia sẻ có thể hơi dài, nhưng liệu có liên quan gì đến blockchain không?
Blockchain Monolithic là gì?
Cũng giống như chip, thời kỳ đầu của ngành công nghiệp blockchain cũng là các Blockchain Monolithic như Bitcoin, Ethereum (toàn bộ bài viết nói về Ethereum là Ethereum 1.0). Vậy Blockchain Monolithic là gì?
Để dễ hình dung, chúng ta có thể hiểu đơn giản rằng một Blockchain có ba nhiệm vụ cơ bản: thực thi, bảo mật và tính khả dụng của dữ liệu. Blockchain Monolithic là một blockchain phải tự làm tất cả những điều này. Ban đầu, có ít công việc phải làm và nhu cầu sử dụng thấp nên blockchain vẫn được xem là hiệu quả so với các giải pháp truyền thống. Nhưng sau đó, khối lượng công việc cao gấp nhiều lần trong khi yêu cầu sử dụng cũng cao hơn, nên sự kém hiệu quả xảy ra và việc tăng tính khả dụng của dữ liệu (mở rộng) trở nên khó khăn hơn khi vẫn phải giữa nguyên khả năng thực thi (phi tập trung) và bảo mật. Một casestudy điển hình của thiết kế Monolithic Blockchain là Ethereum blockchain. Những vấn đề của Ethereum 1.0 đang gặp phải cũng là vấn đề mà Blockchain Monolithic gặp phải.
Hoạt động của Ethereum 1.0 như thế nào?
Các hợp đồng thông minh chạy trên Ethereum được kích hoạt bởi các giao dịch (từ người dùng hoặc các hợp đồng khác). Khi người dùng gửi một giao dịch đến một hợp đồng, mọi node trên mạng sẽ chạy code của hợp đồng và ghi kết quả đầu ra. Nó thực hiện điều này bằng cách sử dụng Máy ảo Ethereum (EVM), chuyển đổi các hợp đồng thông minh thành các hướng dẫn mà máy tính có thể đọc được.
Để cập nhật trạng thái, một cơ chế đặc biệt được gọi là khai thác (đào) sẽ được sử dụng (đối với Ethereum hiện tại). Việc khai thác được thực hiện bằng một thuật toán gọi là bằng chứng Công việc (Proof of Work), cái này tương tự với Bitcoin.
Vấn đề của Ethereum 1.0 là gì?
Vào năm 2014, Ethereum đã đưa ra một đề xuất mới để xây dựng các ứng dụng phi tập trung. Sẽ có một blockchain duy nhất, nơi mọi người có thể triển khai bất kỳ loại chương trình nào. Ethereum đạt được điều này bằng cách biến lớp ứng dụng thành một máy ảo được gọi là Máy ảo Ethereum (EVM). Máy ảo này có thể xử lý các chương trình được gọi là hợp đồng thông minh mà bất kỳ nhà phát triển nào cũng có thể triển khai vào chuỗi khối Ethereum trong một mô hình trustless. Cách tiếp cận mới này cho phép hàng nghìn nhà phát triển bắt đầu xây dựng các ứng dụng phi tập trung (dApps). Tuy nhiên, những hạn chế của phương pháp này đã sớm trở nên rõ ràng và vẫn tồn tại cho đến ngày nay.
Sự phổ biến của trò chơi CryptoKitties là một ví dụ kinh điển về những hạn chế của Ethereum theo khía cạnh này. Vào năm 2017, trò chơi được xây dựng trên Ethereum này đã thúc đẩy hàng loạt người dùng cùng thực hiện các giao dịch, để tham gia vào việc nhân giống mèo kỹ thuật số của riêng họ (được biểu thị dưới dạng token không thể thay thế). Trò chơi phổ biến đến mức các giao dịch đang chờ xử lý tăng vọt, dẫn đến tình trạng tắc nghẽn mạng Ethereum cực kỳ nghiêm trọng trong một khoảng thời gian.
Ba vấn đề nan giải khi mở rộng blockchain Ethereum 1.0
Có phải chỉ cần tăng giới hạn gas theo khối thì điều này sẽ giảm bớt các vấn đề về khả năng mở rộng. Theo logic, mức trần càng cao, càng có nhiều giao dịch có thể được xử lý trong một khung thời gian nhất định?
Thật không may, điều này không khả thi nếu Ethereum không hy sinh một số thuộc tính chính của mình. Như Vitalik Buterin từng nói về Blockchain Trilemma – 3 vấn đề nan giải về blockchain đó là “phi tập trung – bảo mật – khả năng mở rộng” để giải thích sự cân bằng mong manh mà các blockchain phải đạt được.
Bằng cách chọn tối ưu hóa hai trong ba đặc điểm trên, tính chất thứ ba sẽ phải giảm bớt. Ethereum đã chọn ưu tiên tính bảo mật và phi tập trung. Các thuật toán đồng thuận giúp chúng đảm bảo an ninh cho mạng, thứ được tạo thành bởi hàng nghìn node, nhưng điều này đã dẫn đến hạn chế khả năng mở rộng mạng. Với rất nhiều node nhận và xác thực giao dịch, hệ thống chậm hơn nhiều so với các lựa chọn tập trung.
Có thể hiểu, khi giới hạn gas theo khối có thể được dỡ bỏ để mạng đạt được tính bảo mật và khả năng mở rộng, thì nó cũng không còn phi tập trung như trước.
Đó là bởi vì nhiều giao dịch trong một khối sẽ dẫn đến việc tạo ra các khối lớn hơn. Tuy nhiên, các node trên mạng cần tải xuống và truyền tải chúng theo định kỳ. Và quá trình này đòi hỏi rất nhiều về phần cứng. Khi giới hạn gas được tăng lên, các node sẽ khó xác thực, lưu trữ và truyền các block.
Do đó, các node yếu hơn sẽ không thể theo kịp và bị cho ra khỏi mạng. Bằng cách này, chỉ một phần nhỏ các node mạnh có thể tham gia – dẫn đến việc tập trung hóa nhiều hơn. Bạn có thể kết thúc với một blockchain an toàn và có thể mở rộng, nhưng nó sẽ không còn phi tập trung.
Cuối cùng, chúng ta chỉ còn có thể tập trung vào sự phi tập trung và khả năng mở rộng. Để vừa nhanh vừa phi tập trung, cần phải hy sinh thuật toán đồng thuận hiện đang được sử dụng, chấp nhận khả năng bảo mật yếu hơn.
Ngắn gọn để dễ hiểu thì vấn đề gặp phải của Blockchain Monolithic cũng như Ethereum đó là:
- Mạng càng bảo mật khi càng nhiều node xác thực -> nhưng nhiều node xác thực thì mạng càng chậm -> thời gian thực hiện 1 giao dịch càng lớn.
- Dỡ bỏ giới hạn gas -> mạng vẫn đảm bảo bảo mật và mở rộng -> giảm tính phi tập trung.
- Nếu giảm số lượng node xác thực -> bảo mật yếu hơn -> nhưng mạng nhanh hơn, và phi tập trung.
Và Blochain Monolithic đang gặp rào cản là nâng cao hiệu suất như câu chuyện chip CPU và GPU ở trên.
Blockchain là một cuộc cách mạng và giờ đây tiếp tục cần làm cách mạng blockchain để tiếp tục phát triển, các blockchain kiểu Monolithic giờ đây đang cản trở sự phát triển cho ngành công nghiệp blockchain. Một kiến trúc Modular đang được coi sẽ là giải pháp giúp blockchain mở rộng quy mô lên hàng triệu TPS, trong khi vẫn bảo mật và phi tập trung cao. Đó là thứ tự có tầm quan trọng tốt hơn về khả năng mở rộng, bảo mật và phân quyền. Vậy kiến trúc Blockchain Modular là như thế nào, hoạt động ra sao và giải quyết như thế nào.
Blockchain Modular là gì?
Kiến trúc blockchain modular là gì
Như nói trên, một blockchain thực hiện 3 nhiêm vụ cơ bản là: thực thi, bảo mật và tính khả dụng của dữ liệu, 1 Blockchain Monolithic sẽ phải hết cả 3 nhiệm vụ cơ bản này. Còn Blochain Modular hiểu đơn giản là blockchain L1 gốc thay vì làm tất cả thì giờ đây sẽ tách rời và chuyên môn hóa từng nhiệm vụ để giải quyết. Cũng giống như sự phân công lao động, việc tách rời ba bộ phận này cho phép chúng ta tối ưu hóa từng bộ phận và tạo ra sản phẩm tốt hơn, làm cho tổng thể lớn hơn tổng các bộ phận của nó. Mình sẽ phân tích về Polkadot network để làm casestudy cho điển hình cho mô hình modular blockchain.
Polkadot là gì
Polkadot là một blockchain cho phép khả năng mở rộng bằng cách cho phép các blockchain chuyên biệt giao tiếp với nhau trong một môi trường an toàn, trustless.
Polkadot được xây dựng để kết nối và bảo mật các chuỗi khối duy nhất, cho dù chúng là mạng công khai, mạng không cần quyền, chuỗi liên minh tư nhân hay oracles và các công nghệ Web3 khác. Nó cho phép một mạng internet nơi các blockchain độc lập có thể trao đổi thông tin theo các đảm bảo an ninh chung.
Polkadot đã thiết kế thành modular như thế nào
Để hiểu về Blockchain Modular, chúng ta cùng tìm hiểu về cách mà Polkadot đã modular hóa công việc.
Mạng Polkadot sử dụng mô hình phân đoạn trong đó các phân đoạn được gọi là “Parachain”, cho phép các giao dịch được xử lý song song thay vì tuần tự. Để làm việc này Polkadot tạo ra các loại modul:
- Modul trung tâm gọi là Relay Chain là chain chính của hệ thống.
- Modul chức năng gọi là Parachain, có 100 Parachain và mỗi Parachain có thể xây dựng chức năng riêng cho mình.
Polkadot giải quyết bộ ba “phi tập trung, bảo mật, mở rộng” như thế nào
Để giải quyết 3 nhiệm vụ của blockchain, chúng ta cùng làm rõ nhiệm vụ từng modular của Polkadot.
- Relay Chain: tất cả các trình xác nhận của Polkadot đều được đặt trên Relay Chain trong DOT và xác nhận cho Relay Chain. Relay Chain bao gồm một số lượng tương đối nhỏ các loại giao dịch bao gồm các cách tương tác với cơ chế quản trị, đấu giá Parachain và tham gia NPoS. Trách nhiệm chính là điều phối toàn bộ hệ thống, bao gồm cả các Parachain. Các công việc cụ thể khác được giao cho các Parachain, có các cách triển khai và tính năng khác nhau.
- Parachain: chúng ta có thể hình dùng các Parachain như các lõi chip CPU trong máy tính (tựa chip 64 lõi của AMD mà các bạn đã đọc ở trên). Hầu hết việc tính toán xảy ra trên toàn bộ mạng Polkadot sẽ được ủy quyền cho các Parachain triển khai, xử lý các trường hợp sử dụng cụ thể khác nhau.
Bảo mật
Toàn bộ các node xác thực của mạng Polkadot được đặt trên Relay Chain, hoạt động xác thực sẽ theo cơ chế NPOS (bằng chứng cổ phần được đề cử) để chọn trình xác thực. Relay Chain sẽ trở thành bộ bảo mật cho quá trình chuyển đổi trạng thái của Parachain, Parachain sẽ chỉ có nhu cầu chạy một vài node (Collator) đối chiếu để giữ cho trình xác thực được thông báo về các chuyển đổi trạng thái và bằng chứng/nhân chứng mới nhất. Sau đó, validator trên Relay Chain sẽ kiểm tra chúng để biết các Parachain mà chúng được chỉ định. Bằng cách này, các Parachain mới ngay lập tức được hưởng lợi từ tính bảo mật tổng thể của Polkadot ngay cả khi chúng vừa được khởi chạy.
- Các bạn có thể hình dung như thế này: 1 thành phố, đã có sẵn công an để đảm bảo an ninh (Relay Chain) và các doanh nghiệp (Parachain) tới chỉ cần báo cáo và xây dựng làm ăn trên thành phố đó. Modul Relay Chain như là công an, và modul Parachain như là các doanh nghiệp.
- Bảo mật trên Polkadot là bảo mật cao ngay từ khi các Parachain bắt đầu cắm vào Relay Chain để hoạt động, còn các Blockchain Monolithic thì khi hoạt động ban đầu số lượng validator ít thì bảo mật thấp, theo thời gian, số lượng validator tăng lên thì bảo mật tăng lên, như mạng Ethereum chẳng hạn.
- Bảo mật trên mạng Polkadot không phụ thuộc vào số lượng Parachain mà phụ thuộc vào số lượng validator trên Relay Chain. Validator càng nhiều -> bảo mật càng cao
Phi tập trung
Đồng thuận là một phương pháp để đi đến thống nhất về một trạng thái được chia sẻ. Để trạng thái của blockchain tiếp tục xây dựng và tiến lên phía trước, tất cả các node trong mạng phải đồng ý và đi đến đồng thuận (đây có thể hiểu là tính phi tập trung của mạng lưới). Ban đầu, các blockchain sử dụng cơ chế POW như Bitcoin, Ethereum… tiếp đến là cơ chế POS, mạng Polkadot sử dụng cơ chế NPOS.
Có thể diễn đạt cơ chế NPOS một cách đơn giản như sau:
Khi một giao dịch xảy ra trên Parachain thì Collator thu thập các giao dịch trên Parachain từ người dùng và tạo bằng chứng chuyển đổi trạng thái cho trình xác thực Relaychain.
Các Validator được tham gia vào quá trình tạo block và bảo mật do Nominator đề cử. Đầu tiên các Validator sẽ xác minh rằng thông tin có trong một tập hợp các khối parachain được chỉ định là hợp lệ (do Collator gởi lên) (chẳng hạn như danh tính của các bên giao dịch và đối tượng của hợp đồng). Sau khi nhận được xác nhận tuyên bố hợp lệ từ các validator khác, tiếp theo các validator tham gia vào cơ chế đồng thuận để tạo ra các block trên Relaychain. Cả trong 2 nhiệm vụ này, các validator được lựa chọn ngẫu nhiên theo VRF.
Với cơ chế này của Polkadot không những tăng tính bảo mật hệ thống, mà còn đạt được khả năng phi tập trung cao cũng như duy trì tính kinh tế cho toàn bộ các validator.
- So sánh với POW: dù đơn giản và hiệu quả trong việc đạt được sự đồng thuận phi tập trung về nhà sản xuất khối tiếp theo, nhưng bằng chứng công việc với sự đồng thuận của Nakamoto tiêu thụ một lượng năng lượng đáng kinh ngạc, không có tính kinh tế hoặc tính cuối cùng có thể chứng minh được và không có chiến lược hiệu quả trong việc chống lại các “gã nhà giàu”.
- So sánh với POS truyền thống: trong các hệ thống PoS truyền thống, sự tham gia sản xuất khối phụ thuộc vào việc nắm giữ mã thông báo thay vì sức mạnh tính toán. Trong khi các nhà phát triển PoS thường có một người đề xuất cho sự tham gia bình đẳng theo cách phi tập trung, hầu hết các dự án cuối cùng lại đề xuất một số cấp độ hoạt động tập trung, trong đó số lượng người xác nhận có đầy đủ quyền tham gia bị hạn chế. Những người xác nhận này thường được coi là những người giàu có nhất và do đó, ảnh hưởng đến mạng PoS vì họ là những người được đặt cược nhiều nhất -> giảm tính phi tập trung và bảo mật. Thông thường, số lượng các ứng viên để duy trì mạng lưới với kiến thức (và thiết bị) cần thiết bị hạn chế -> điều này cũng có thể trực tiếp làm tăng chi phí hoạt động.
Mở rộng
Câu chuyện thực tế: Có một cái bếp để làm ra bánh, ban đầu chỉ vài đầu bếp cùng dùng cái bếp đó thì số lượng bánh làm ra nhiều hơn 1 đầu bếp làm (giả định tay nghề tương đương) số lượng bánh sẽ tăng lên theo số đầu bếp. Nhưng đến một lúc nào đó, quá nhiều đầu bếp dùng chung cái bếp, thì giờ nó trở nên chật chội và không đủ chỗ để đầu bếp làm ra bánh, vì thế mà số lượng bánh lại không tăng lên dù càng tăng số lượng đầu bếp.
Cũng như vậy, với các Blockchain Monolithic như Bitcoin hay Ethereum, số lượng validator tăng đến một điểm tới hạn thì việc tăng thêm validator không làm ảnh hưởng bảo mật mạng, nhưng giảm thông lượng, mặt khác số validator cũng chỉ được phép giảm đến một điểm tới hạn nào đó mà mạng còn bảo mật để giải quyết tăng thông lượng.
Với Polkadot thì chọn mở rộng theo cách là tăng số lượng bếp lên cho các nhóm đầu bếp, và các bếp này làm việc song song với nhau để làm ra nhiều bánh hơn.
Đây chính là mô hình phân đoạn – sharding của Polkadot, các phân đoạn này được gọi là “Parachain”, các Parachain này làm việc song song với nhau.
Polkadot không có ràng buộc nào đối với những gì Parachain có thể làm ngoài việc chúng phải có khả năng tạo ra bằng chứng có thể được xác thực bởi trình xác thực được chỉ định cho Parachain. Bằng chứng này xác minh sự chuyển đổi trạng thái của Parachain. Mỗi Parachain có thể dành riêng cho một ứng dụng cụ thể, hoặc các Parachain có thể tập trung vào các tính năng cụ thể như hợp đồng thông minh, quyền riêng tư, khả năng mở rộng… cũng có thể là kiến trúc thử nghiệm không nhất thiết phải là blockchain. Các Parachain có thể kết nối với nhau, kết nối với các blockchain L1 khác. Nói chung, với các Parachain, Polkadot có thể mở rộng thoải mái mà không gặp phải giới hạn nào về bảo mật mạng hay tính phi tập trung.
Kết luận
Các bạn nếu đã đọc đến đây, thật tuyệt vời và cảm ơn bạn đã chịu khó đọc những vấn đề chuyên sâu của blockchain, thật sự vì nó hơi khó hiểu. Mình xin được tóm gọn lại một số ý chính để các bạn có thể cô đọng lại:
- Blockchain Monolithic đang gặp phải vấn đề khi giải quyết 3 vấn đề lớn của blockchain: “phi tập trung- bảo mật – mở rộng”. Như Bitcoin hay Ethereum là ví dụ điển hình gặp phải của vấn đề này, họ đã lựa chọn “bảo mật – phi tập trung” và giảm yếu tố “mở rộng” -> điều này đã đưa đến hệ quả là phí giao dịch trên Ethereum có lúc lên đến hàng trăm USD cho giao dịch 1000 USD, và mạng liên tục tắc nghẽn. Dù rất nhức nhối nhưng vẫn chưa thể giải quyết được.
- Blockchain Modular tạo ra từng modul riêng lẻ với các chức năng khác nhau, cùng làm việc song song để xử lý vấn đề “phi tập trung – bảo mật – mở rộng” mà điển hình nổi bật nhất trong model thiết kế này là Polkadot. Polkadot với mô hình Relay Chain và Parachain để giải quyết vấn đề “bảo mật – phi tập trung” độc lập với “mở rộng”. Nghĩa là việc mở rộng đến hết mức có thể (nhiệm vụ của modul Parachain) không ảnh hưởng đến “bảo mật – phi tập trung” (nhiệm vụ của modul Relay Chain) và ngược lại.
Đến đây, các bạn có thể thấy được ưu điểm tuyệt vời của mô hình Blockchain Modular so với Blockchain Monolithic.
Với case study của Polkadot, mình nghĩ rằng trong tương lai gần, Blockchain Modular sẽ là xu hướng tất yếu thay thế cho Blockchain Monolithic, cũng giống như cách mà model thiết kế chip CPU đã thay đổi hoàn toàn sang modular.
Với tầm nhìn của Tiến sỹ Gavin Wood, mình kỳ vọng năm 2022, Polkadot sẽ là phát súng đầu tiên của model “modular” tấn công vào thành trì model “monolithic”.
Hàng tuần, GFS Blockchain sẽ cập nhật các thông tin mới nhất về thị trường Crypto, mọi người hãy thường xuyên theo dõi tại website và đừng quên tham gia vào nhóm cộng đồng của GFS để thảo luận với các thành viên khác nhé:
- Nhóm Telegram của GFS Blockchain -> Click tại đây
- Nhóm Facebook của GFS Blockchain -> Click tại đây
- Kênh thông tin Telegram của GFS Blockchain -> Click tại đây
- Kênh Twitter của GFS Blockchain -> Click tại đây