Tổng quan

Bạn có luôn tự hỏi rằng tại sao trong hàng trăm blockchain, lại có những blockchain nổi bật hơn cả và nhận được nhiều sự chú ý từ giới chuyên gia. Có phải vì blockchain đó “ngon – bổ – rẻ”, nhanh chóng, an toàn, hay là còn sự ẩn giấu nào khác?

Câu trả lời đó chính là điểm độc đáo. Điểm độc đáo thường là cơ sở gây dựng thành công của một hệ sinh thái lớn. Điển hình như Ethereum có EVM, Cosmos có IBC, Near có Simple Nightshade… và Polkadot có Substrate.

Có thể bạn đã nghe nói rất nhiều về Polkadot, nhưng lại ít khi biết về sự tồn tại của Substrate. Trong bài viết này, chúng ta hãy cùng tìm hiểu cặn kẽ về Substrate, về công dụng, ứng dụng cũng như những hiểu lầm về nó, giúp cho bạn đọc nắm vững kiến thức về một trong những sản phẩm tuyệt vời nhất của thế giới blockchain.

Substrate là gì?

Một cách cơ bản nhất ta có thể hiểu, Substrate là khung sườn của Polkadot tuy nhiên lại chưa có da thịt, hình hài, đặc điểm riêng biệt của một blockchain. Các nhà phát triển blockchain có thể tận dụng bộ mã nguồn này để tạo nên một mạng lưới của riêng mình mà không cần bỏ quá nhiều công sức. Nhiều người tin rằng, với Substrate, việc xây dựng blockchain chỉ còn là một “trò chơi xếp hình” cỏn con.

Sự hình thành

Từ những ngày đầu tiên của nền công nghiệp blockchain hiện đại, Gavin Wood, một trong những người đồng sáng lập Ethereum, đã thấy được những ưu nhược điểm của các thế hệ blockchain tiền nhiệm (Bitcoin và Ethereum), và quyết tâm xây dựng một blockchain mới toàn diện hơn thông qua phát triển những điểm mạnh và khắc phục các điểm yếu.

Năm 2016, ông rời bỏ Ethereum, thành lập 2 công ty mới là Parity Technologies và Web 3 Foundation, với định hướng xây dựng một mạng lưới Web 3 đúng nghĩa: linh hoạt, tự do sáng tạo và phi tập trung. Vì thế, Polkadot đã được ra đời, và trở thành một trong những blockchain phát triển nhất hiện nay.

Trong quá trình xây dựng Polkadot, đội ngũ Parity nhận ra rằng nhiều thành phần code trong Polkadot Relay Chain có thể sẽ hữu ích cho các Parachain sau này. Họ đã tổng hợp chúng lại thành những mô đun nền tảng và tạo ra một khung sườn đầu tiên cho việc xây dựng blockchain (giống như việc xây nhà, nhưng đã có sẵn các block phòng khách, phòng ngủ, phòng bếp,… việc còn lại là sắp xếp các block phòng, nối đường điện nước, trang bị nội thất, đưa ra các quy định theo ý muốn).

Khung sườn đó được gọi là Substrate, một bộ công cụ phát triển phần mềm (Software development kit – SDK).

Substrate - tạo nên những điều vượt trội
Substrate: tạo nên những điều vượt trội

Các điểm nổi bật của Substrate

Substrate cho phép các nhà phát triển tùy ý xây dựng một blockchain của riêng mình một cách nhanh nhất với ít rào cản nhất có thể.

Ví dụ việc sử dụng code nguồn của Ethereum để xây dựng blockchain dẫn đến nhiều hạn chế như: phải đặt logic kinh doanh của mạng lưới tương thích với EVM, sử dụng ngôn ngữ lập trình tương thích với EVM, bị giới hạn trong những phương thức giao dịch của Ethereum (ví dụ các quy định về hình thức thực hiện phí gas, cách ghi sổ cái, giao tiếp giữa các node) và thiếu khả năng nâng cấp những yếu tố cốt lõi. Điều này chẳng khác nào tự đẩy mình vào thế khó với những ràng buộc về logic của code, ngăn cản sự đổi mới và những ý tưởng độc đáo.

Để loại bỏ những hạn chế đó, họ phải phát triển một blockchain mới từ đầu, thông thường mất từ nhiều tháng đến nhiều năm. Tuy nhiên, với Substrate, thời gian này được rút ngắn còn vài tuần, thậm chí vài ngày nếu chỉ sử dụng một vài mô đun đơn giản. Các nhà lập trình không chỉ không không bị ảnh hưởng tới tiềm năng sáng tạo mà còn có thể tiếp tục nâng cấp trong tương lai kể cả khi đã khởi chạy.

Để hiểu thêm về sản phẩm này, chúng ta hãy cùng nhìn vào các điểm nổi bật sau:

Cụ thể

Việc có sẵn một khung sườn và các mô đun khiến việc xây dựng blockchain trở nên rất cụ thể, không còn bị trừu tượng và khó khăn trong việc triển khai, đặc biệt là ở giai đoạn đầu.

Sự linh hoạt

Substrate đem lại khả năng chỉnh sửa mà không bị bó buộc, giúp bạn linh hoạt cải tiến và thiết kế mạng lưới của mình sao cho đạt hiệu suất cao nhất (ví dụ có thể setup một số tính toán off-chain, setup điều kiện để tránh thực hiện nhiệm vụ trùng lặp, đa dạng phương thức thu phí…)

Ví dụ, trong tường hợp của Acala Network (sẽ được làm rõ ở phần một số Substrate blockchain tiêu biểu), native token có thể là một cản trở trong việc mở rộng (native token tăng giá khi mạng lưới được chú ý, khiến phí gas tăng theo) và thu hút người dùng mới (phải mua ACA trước rồi mới được thực hiện giao dịch) , nên vì thế họ cài đặt phí gas để chấp nhận mọi loại token (có thể sử dụng stable coin) giúp người dùng mới dễ sử dụng , và phí gas được bão hòa theo thị trường chứ không bị phụ thuộc vào một loại token.

Với Substrate, bạn không chỉ tự do lựa chọn các thông số về phí gas, quản trị và sự đồng thuận, mà bạn còn tự do chọn cách blockchain của bạn được triển khai hay cách nó sẽ giao tiếp với các mạng khác.

Nhanh chóng

Xác định một blockchain nhanh hay chậm không chỉ phụ thuộc vào tốc độ giao dịch mà còn tốc độ phát triển, cập nhật và trải nghiệm người dùng. Bằng cách sử dụng Substrate, nhà phát triển có thể tạo nên một blockchain đầy đủ theo ý mình một cách nhanh chóng. Các thông số tạo block, phí giao dịch, khả năng mở rộng theo hàng ngang, sắp xếp thứ tự giao dịch ưu tiên,… đều có thể tùy chỉnh để tăng tốc độ mạng lưới và tăng trải nghiệm người dùng. Forkless upgrade giúp việc cập nhật diễn ra trong “một nốt nhạc”, thậm chí người dùng có thể còn không nhận ra.

Forkless upgrade

Đây có lẽ là một điều vô cùng giá trị ở Substrate, bởi vì cách tiếp cận truyền thống yêu cầu sự phối hợp của tất cả những người vận hành node một lúc (gọi là fork) để triển khai update, điều này trước đây đã dẫn đến hard fork, mạng bị chia cắt và thậm chí là chia rẽ cộng đồng. Còn đối với những node vận hành trên Substrate blockchain có một cách tiếp cận tự động mà không cần sự can thiệp của con người nên hoàn toàn không thể dẫn đến hard fork vì những sự vô ý, mâu thuẫn.

Đó là vì trong bộ code của Substrate có một điểm đặc biệt là runtime (chức năng chuyển đổi trạng thái, thứ cần được update) được lưu trữ trong blockchain state (trạng thái blockchain). Về cơ bản sẽ có một bản update được tạo ra như một giao dịch và đi vào mạng lưới blockchain thông qua cơ chế đồng thuận (tức là các node đã đồng ý xác nhận bản update/giao dịch này). Sau đó, khi mà các node đồng thời phân bổ và cập nhật sổ cái (cập nhật blockchain state) cũng là lúc tự động update runtime của mình.

cơ chế Forkless upgrades
Cơ chế Forkless upgrades

Đa dạng công cụ

Nếu substrate chỉ có những khung sườn, mô đun được tạo sẵn và ta chỉnh sửa trên đó thôi thì chưa đủ để gọi là một bộ công cụ phát triển phần mềm (SDK). Điều khiến Substrate trở thành SDK chính là những tool (công cụ) được tích hợp kèm vào. Các lập trình viên có thể sử dụng những công cụ toàn diện, chất lượng cao sẵn có của Substrate hoặc sử dụng những công cụ được đóng góp từ cộng đồng để giúp việc giúp việc phát triển và xây dựng nhanh hơn (như là các công cụ về Debug, kiểm tra hiệu suất, kiểm tra giao dịch, phân tích data,…)

Không chỉ vậy, còn có những công cụ cho người dùng cuối như là ultra-light client (giúp kết nối trực tiếp với mạng blockchain bằng trình duyệt mà không cần phụ thuộc vào bên thứ ba hoặc phải chạy cơ sở hạ tầng bổ sung), sharding keys, ví…

Khả năng tương tác cao và an toàn

Với việc được xây dựng bằng Substrate, khả năng tương tác của blockchain đó với những Substrate blockchain khác là điều tương đối dễ dàng vì có những điểm tương đồng.

Tuy nhiên, cơ hội lớn nhất của Substrate blockchain chính là trở thành parachain của Polkadot hoặc Kusama và tận hưởng một sự tương tác rộng khắp với các parachain khác mà không cần đến bridge. XCMP (bộ máy truyền thông điệp chuỗi chéo) cho phép các parachain chuyển token trực tiếp giữa các mạng mà không cần tin tưởng, vì tất cả đều được Relay Chain cập nhật và cực kì an toàn (mức độ bảo mật của Polkadot/Kusama).

Trong khi những blockchain khác phải tương tác qua bridge, token sẽ chỉ được chuyển gián tiếp và bridge sẽ đóng vai trò như “sự tin tưởng”, nhưng đôi khi “sự tin tưởng” này còn bị hack (ví dụ cầu Horizon của Harmony mới bị hack 100 triệu đô gần đây), cho thấy việc giao tiếp này không an toàn (vì chỉ nhận mức độ bảo mật của bridge đó).

Ngoài ra, với Substrate, khả năng tương tác giữa các node trong nội bộ blockchain cũng cực kì liền mạch vì sử dụng công nghệ đám mây.

Khả năng liên tục cải tiến

Blockchain đang phát triển với tốc độ nhanh chóng và thúc đẩy sự đổi mới trong nhiều lĩnh vực khác như zero-knowledge, cơ chế đồng thuận, mật mã học, v.v. Nhưng phát triển công nghệ là một chuyện, tích hợp công nghệ đó vào blockchain lại là một chuyện khác.

Đối với các mạng lưới khác, việc nâng cấp là vô cùng mệt mỏi, đơn cử như việc Ethereum từ POW sang POS cũng “ngót nghét” gần 2 năm. Tuy nhiên, vì cấu trúc nền tảng (không thể thay đổi) của Substrate là vô cùng đơn giản, trong khi những mô đun công nghệ (có thể chỉnh sửa) được “gắn” ở trên, blockchain dễ dàng đồng bộ hóa công nghệ mới khi nó xuất hiện.

Substrate blockchain có thể nâng cấp bằng cách gắn thêm mô đun (ví dụ nâng cấp lên ZK rollups bằng cách gắn thêm mô đun ZK rollups ở cấu trúc “xác thực giao dịch”) hoặc thay thế những mô đun cũ vốn đã lạc hậu. Ngoài ra, với Forkless upgrades, tiến trình “thay áo mới” của Substrate blockchain là vô cùng nhanh chóng.

Không chỉ vậy, số lượng mô đun hiện đại có sẵn ngày càng tăng đến từ cả Parity Technologies và cộng đồng. Chúng có thể kết hợp với nhau tạo thành nhiều tổ hợp độc đáo, đáp ứng nhu cầu của nhà phát triển, cũng như đem lại sự sinh động cho thế giới blockchain.

Cộng đồng

Tầm nhìn của Polkadot

Có thể nói Substrate được xây dựng với tầm nhìn dành cho tương lai rất rất xa, thời điểm mà mạng lưới giá trị  (blockchain) thay thế mạng lưới thông tin (internet).

Polkadot Web 3.0

Substrate đáp ứng hai mục tiêu chính trong tầm nhìn Web 3 của Polkadot:

  • Công nghệ nền tảng giúp xây dựng Polkadot Relay Chain.
  • Giúp các parachain xây dựng và triển khai chuỗi của họ trên Polkadot.

Có một nền tảng phát triển blockchain linh hoạt như Substrate là đặc biệt quan trọng đối với Polkadot trong quá trình trở thành “internet of blockchain”. Nếu không có Substrate, việc xây dựng một blockchain tương thích với Polkadot sẽ cực kì khó, và thậm chí sẽ bị bó buộc trong những điều kiện logic của hệ sinh thái, một điều cấm kị của “internet blockchain”. Nếu không có Substrate, Polkadot sẽ không có gì nổi trội so với các mạng lưới mạnh mẽ khác.

Sự phi tập trung và tính khả dụng

Đây là 2 yếu tố quan trọng nhất để đem lại sự thành công cho web 3.0 trong tương lai, nên vì thế Substrate Polkadot đã thể hiện rõ tinh thần này của mình từ giai đoạn đầu phát triển.

  • Phi tập trung: mạng lưới các node được điều hành từ cộng đồng, thư viện Substrate được phát triển và bổ sung từ cộng đồng.
  • Khả dụng: một bộ công cụ gọn nhẹ, dễ dàng sử dụng, được tích hợp những công nghệ mở và các mô đun (như Web assembly và libp2p) có khả năng tương thích rộng rãi trên nền tảng web 2.0 . Không chỉ vậy, công nghệ ultra-light client trong Substrate cũng giúp đưa trình duyệt truyền thống và blockchain sát lại nhau hơn. Tất cả những điều này kì vọng cho mạng lưới sẽ trở nên thân thiện với người dùng, và dần trở thành một phần của cuộc sống.

Nhiều nền tảng blockchain hiện nay chỉ tập trung vào tính phi tập trung nhưng chưa hề quan tâm đến tính khả dụng khi chuyển giao từ Web 2.0. Polkadot với Substrate có thể coi là một điểm sáng công nghệ đưa người dùng đến với sự độc lập, tự chủ của Web 3.0.

Một số hiểu nhầm về Substrate

Đến đây, chắc hẳn bạn đã có những hiểu biết khá đầy đủ về Substrate – một bộ công cụ phát triển blockchain. Tuy nhiên trong quá trình tìm hiểu về công nghệ này, chúng ta cũng có những hiểu nhầm nhất định. Vì thế GFS quyết định liệt kê ra một số hiểu nhầm phổ biến để phân tích dưới đây

Substrate giống EVM

Để trả lời cho việc này, chúng ta trước tiên cần phải biết code được thực hiện như thế nào?

Quá trình thực thi code
Quá trình thực thi code

Thực thi code có 3 giai đoạn:

  • Viết code: đây là quá trình chúng ta viết code trên một chương trình lập trình như Solidity, Rust, Python, Java.
  • Dịch code: các code trên các chương trình đấy sau đó phải được biên dịch thành bytecode để máy tính có thể đọc được. Ở trên Substrate sẽ có máy dịch là WASM, Ethereum có Ethereum compiler.
  • Chạy code: các code được chạy trực tiếp trên máy cá nhân hoặc là sử dụng một máy ảo online của bên thứ ba (như một ổ cứng mở rộng). Đối với Ethereum đó chính là máy ảo EVM. Trong Substrate sẽ có một bộ phận thực thi code từ WASM.

Vậy EVM chính là máy chạy code ở giai đoạn thứ ba, chuyên chạy Solidity bytecode, vậy Substrate ở đâu?

Vì được gọi là một SDK, Substrate chính là tất cả. Substrate có một khung sườn được viết bằng Rust, các câu lệnh được viết sẵn chính là các mô đun để người dùng có thể thoái mái lựa chọn (giai đoạn 1). Sau đó cũng trên chính Substrate, sẽ có WASM để dịch Rust code sang bytecode (giai đoạn 2). Và có một công cụ khác để chạy bytecode từ WASM (giai đoạn 3).

Các parachain cần phải build bằng Substrate

Mặc dù hỗ trợ lẫn nhau, Polkadot và Substrate không phụ thuộc vào nhau. Polkadot parachains có thể được xây dựng và duy trì mà không cần sử dụng Substrate (mặc dù cách này vẫn còn nhiều hạn chế) và các Substrate blockchain cũng không nhất thiết phải kết nối thành parachain với Polkadot hoặc Kusama, chúng có thể tồn tại như một blockchain độc lập.

Substrate với Cosmos SDK

Cả Cosmos lẫn Polkadot đều cho ra bản SDK của mình nhằm hướng tới “Internent of Blockchain”. Có thể nói cả 2 đều rất tiềm năng và khó nói trước được ứng dụng nào mạnh hơn, tuy nhiên, chúng cũng có một vài điểm khác biệt.

Cosmos SDK với Substrate
Cosmos SDK với Substrate

Ở Substrate vì sử dụng máy dịch WASM có hỗ trợ trực tiếp 3 ngôn ngữ là C++, Rust, C và hỗ trợ gián tiếp 3 ngôn ngữ khác là Go, Java và C#, nên Substrate và các nhà phát triển xung quanh khá linh động. Trong khi Cosmos SDK chỉ hỗ trợ Go, làm nó trở nên kén chọn trong đội dev và có thể bị thụt lùi khi có những mô đun công nghệ mới.

Nhưng bù lại, cấu trúc thiết kế của Cosmos SDK lại dễ sử dụng và có độ tương thích cao hơn Substrate. Điển hình là Cosmos không chỉ liên kết với những Cosmos SDK Blockchain, mà còn liên kết được với những loại blockchain khác như Ethereum, BNB… Nếu những blockchain này muốn trở thành parachain của Polkadot sẽ gặp nhiều hạn chế vì không sử dụng Substrate.

Ngoài ra, Cosmos đã mainnet từ năm 2019, trong khi Polkadot là 2021, một sự chậm trễ khiến hệ sinh thái này không chỉ đánh mất niềm tin trong mắt người dùng, mà còn đánh mất thị phần vào tay Cosmos SDK.

Trong tương lai, Substrate có lẽ sẽ chỉ chiến thắng nếu họ phát triển được những mô đun công nghệ độc quyền nổi bật. Khi thị trường downtrend, đó chính là mùa “build and build” bắt đầu, chúng ta hãy cùng chờ xem Substrate và Cosmos SDK, ai mới đích thị là bộ công cụ phát triển phần mềm blockchain tốt nhất.

Tổng kết

Như vậy, qua bài viết này, bạn đọc đã hiểu được Substrate là gì, sự tiện dụng tuyệt vời của nó cũng như những đóng góp trong tầm nhìn Web 3.0 của Polkadot. Có thể, trong tương lai, Substrate blockchain sẽ càng ngày càng trở nên phổ biến và nhiều mô đun công nghệ mới được phát triển, tạo nên vòng tuần hoàn phát triển vô hạn cho hệ sinh thái này. Tuy nhiên Cosmos SDK cũng là một đối thủ rất đáng gờm và cũng nên được chú ý đến trong con đường tiến tới “Internet of blockchain”.

Nếu bạn thích bài viết này, hãy comment xuống dưới và chia sẻ cùng tụi mình nhé!