Giống như những con đường cần đèn giao thông và các quốc gia hiện đại sẽ không hoạt động nếu không có luật lệ, mọi blockchain để đạt được tiềm năng tối đa (không tắc nghẽn, sụp đổ hoặc quá tốn chi phí cho các giao dịch và tương tác hợp đồng thông minh) phải mở rộng quy mô. Thành phần thiết yếu của mở rộng quy mô blockchain và chủ đề chính của loạt bài này là sử dụng các layer có sẵn và layer bổ sung dựa trên layer nền tảng một cách hiệu quả.
Giới thiệu về các layer blockchain và khả năng mở rộng
Liệu việc sử dụng thông minh các tùy chọn khả năng mở rộng của blockchain (có sẵn trong các layer cụ thể) có thể cung cấp chìa khóa để giải quyết bộ ba khả năng mở rộng của blockchain (blockchain scalability trilemma), nguyên nhân khiến blockchain không thể đạt được sự đồng tồn tại hài hòa của ba tính năng thiết yếu - bảo mật, mở rộng và phi tập trung? Hoặc, nếu không thành công, ít nhất nó có thể giúp dịu bớt những “nỗi đau” công nghệ bắt nguồn từ các vấn đề về khả năng mở rộng?
Nếu đây là lần đầu tiên bạn đọc về bộ ba (blockchain scalability trilemma) và các vấn đề về khả năng mở rộng blockchain thì đây là loạt bài viết phù hợp với bạn. Chương đầu tiên của loạt bài này, sẽ cung cấp thông tin cơ bản về các layer - đóng vai trò như các block xây dựng (building blocks) của blockchain. Chương thứ hai sẽ giải thích bộ ba khả năng mở rộng blockchain là gì, những khó khăn mà nó tạo ra cho các dự án blockchain ngày nay và cách một kiến trúc thông minh sử dụng các layer đúng cách có thể đóng một vai trò quan trọng trong việc giải quyết nó (bộ ba) một cách tốt đẹp. Sau khi có được nền tảng cần thiết, các chương sau sẽ xem xét sâu hơn về các layer cụ thể, cách nâng cấp khả năng mở rộng blockchain và các tính năng mà chúng có thể cung cấp cho một blockchain.
Blockchain layer là gì?
Những “trình bao bọc” công nghệ (technological “wrappers” ) này đóng gói các giao thức hoạt động như các block xây dựng cơ bản trong công nghệ CNTT ngày nay. Và điều tương tự cũng xảy ra đối với blockchain.
Bài viết này nhằm cung cấp cho bạn hiểu biết cơ bản về các khái niệm cơ bản về khả năng mở rộng của blockchain và sau đó cung cấp một cách tổng quan công nghệ rộng hơn về các block xây dựng blockchain. Để làm được điều này, chúng tôi sẽ dựa trên sự tương tự của một mô hình đơn giản hóa của một thành phố.
Hãy nghĩ về các giao thức blockchain (như cơ sở hạ tầng) và luật pháp của một thành phố. Các giao thức blockchain giữ cho 'thành phố' hoạt động có trật tự, được quy định và sắp xếp hợp lý. Các thành phố trong thế giới thực sử dụng các yếu tố của mình theo nhiều cách khác nhau:
Họ cung cấp các đường phố, khu vực và quận huyện cho các chức năng hoặc mục đích cụ thể.
Họ tối ưu hóa tải trọng trên các phần riêng lẻ bằng cách phân bổ người qua nhiều loại phương tiện giao thông trong thành phố, chẳng hạn như ô tô, xe buýt, xe lửa và các loại khác.
Theo cách tương tự, kiến trúc của một dự án blockchain chỉ định một số công nghệ nhất định cho các layer khác nhau.
Sự tương đồng này cũng hoạt động với sự mở rộng. Các thành phố hiện đại mở rộng theo cả chiều ngang và chiều dọc để chứa nhiều công dân nhất có thể và để bổ sung thêm sự đa dạng về chức năng - chúng ngày càng rộng hơn và cao hơn. Sau đó, đỉnh cao của đô thị hóa là các tòa nhà chọc trời và các khối căn hộ, sử dụng ít không gian nhất để chứa nhiều người và tiện nghi nhất.
Bằng cách mở rộng hơn, thành phố có thể có được chức năng mới và cũng giảm tải dân số. Điều này có thể được chứng minh.
Ví dụ, bằng cách thêm một phần thành phố mới dành riêng cho các trường Đại học và chỗ ở cho sinh viên, mục đích của việc này là tạo ra một khu vực cho những người cùng công năng hoạt động và sinh sống mà không gây quá tải cho giao thông chính của thành phố và khả năng lưu trú.
Đồng thời, các blockchain cũng có xu hướng đặt một thứ gì đó bên cạnh kiến trúc cơ bản của chúng dưới dạng bổ sung cho layer cơ bản hoặc bằng cách thêm một layer bổ sung vào nó, để đáp ứng sự phát triển theo cấp số nhân của các giao dịch người dùng hoặc thêm các khả năng mới, chẳng hạn như như khả năng tương thích của EVM với thế giới Bitcoin cho phép các mạng dựa trên Bitcoin sử dụng các hợp đồng thông minh Solidity.
Và đó là khi, tương tự như thành phố, các blockchain "trở nên rộng hơn", có nghĩa là việc áp dụng một side-chain hỗ trợ khả năng của mainchain và gánh một số gánh nặng về thông lượng dữ liệu của nó, trong khi chia sẻ cùng một layer gốc (same ontological layer), Layer 1.
Main-chain và side-chain được kết nối bởi một cầu nối xuyên chuỗi (cross-chain bridge) trong khi chia sẻ cùng một layer công nghệ là một cách tiếp cận khả năng mở rộng sẽ nâng cao năng lực của blockchain. Cách tiếp cận này không phải là điều duy nhất có thể được thực hiện để giúp một blockchain hoạt động tốt hơn.
Một cách khác là thêm nhiều node blockchain hơn để nâng cao hiệu quả của blockchain, chẳng hạn như khả năng mở rộng hoặc thông lượng. Khi chúng ta thêm nhiều đơn vị có cùng chức năng vào một hệ thống với mục đích nâng cao khả năng của nó, chúng ta đang nói về khái niệm mở rộng theo chiều ngang (horizontal scaling).
Ý nghĩa quan trọng của việc "mở rộng hơn" có thể cho thấy một sự sửa đổi các quy tắc của thành phố. Nhiều công dân hơn có nghĩa là nhiều người dùng blockchain ngang hàng hơn (p2p user); nhiều người dùng hơn tạo ra nhu cầu cao hơn cho giao thông của thành phố, hay như giao dịch blockchain. Nhu cầu cao hơn đối với dữ liệu được truyền từ điểm A đến điểm B có thể dẫn đến yêu cầu đối với các block (block) blockchain lớn hơn. Trong khi các block lớn hơn, có thể hình dung như đường cao tốc rộng hơn với các làn xe bổ sung, có thể giúp xử lý nhiều lưu lượng giao thông hơn, với blockchain, đây sẽ là vấn đề về số lượng block được khai thác (blocks mined) cùng với khả năng thông lượng giao dịch tổng thể (transaction throughput ability) của blockchain.
Cao hơn hoặc mở rộng theo chiều dọc, đơn giản có nghĩa là sử dụng tốt hơn các nguồn tài nguyên không gian mà thành phố sở hữu. Một cái gì đó giống như việc sử dụng "nâng cấp cấu trúc" để biến các tòa nhà lớn của thành phố thành kích thước của Landmark 81, các thuộc tính trong đó nâng cao khả năng lưu trú của cùng một khu vực thành phố bằng cách sử dụng kích thước dọc.
Đối với phần cứng blockchain, các node và container cho phép blockchain có thể được nâng cấp theo cách tương tự. Ở đây, chúng tôi không thêm máy tính bổ sung để làm điều tương tự như với tỷ lệ ngang mà nâng cấp layer phần cứng hiện tại để tăng khả năng của hệ thống. Khi chúng tôi đang nâng cấp các yêu cầu phần cứng để tăng khả năng, chúng tôi đang nói về khái niệm mở rộng theo chiều dọc.
Cả hai khái niệm này, xuất phát từ lĩnh vực phát triển cơ sở dữ liệu, đều có ưu và nhược điểm, nhưng việc áp dụng chúng trong bối cảnh mạng phi tập trung mang lại những đánh đổi bổ sung.
Để minh họa khái niệm nói trên theo cách đơn giản nhất có thể, hãy để tôi trích dẫn lời của ông Jonathan R. Brandt, từ một cuộc phỏng vấn cho một bài báo Cointelegraph về Mở rộng quy mô blockchain dọc và ngang, đã giải thích:
“Trong chiến đấu chống tội phạm, Hulk mở rộng theo chiều dọc, và Justice League mở rộng theo chiều ngang. Trong Bitcoin, một máy chủ khai thác có thể được mở rộng theo chiều dọc bằng cách tăng bộ nhớ hoặc nâng cấp GPU của nó và nó có thể được mở rộng theo chiều ngang bằng cách kết hợp các máy chủ lại với nhau ”.
Mặc dù sự tương tự của các yếu tố thành phố với các layer blockchain không phải là hoàn hảo, nhưng nó vẫn có thể áp dụng một cách đáng ngạc nhiên vì blockchain và cấu trúc của một thành phố thực sự có nhiều điểm chung:
- Cả hai đều là hệ sinh trưởng và tiến hóa hữu cơ.
- Các đường phố, quận, huyện và giao thông của thành phố có thể có các cấp riêng, là một phần của cùng một layer; ô tô, xe buýt và xe lửa là một phần của giao thông thành phố.
- Cả hai đều tuân theo một tập hợp các quy tắc cốt lõi đơn giản xác định cách chúng được dự kiến, xây dựng và cách chúng hoạt động.
- Cả hai đều yêu cầu cơ sở hạ tầng phải được xây dựng trước.
Chúng có những điểm tương đồng khác mà từ đó chúng ta có thể xây dựng các phép loại suy:
- Giao thông thành phố như một dự án blockchain
+ Main-chain (L1) như mạng lưới giao thông chính với side-chain là đường cao tốc vòng quanh thành phố (L1)
+ Lưu lượng giao thông thành phố so sánh với số lượng block được khai thác; số lượng người được vận chuyển tương ứng số lượng giao dịch blockchain.
Kế hoạch, kiến trúc và hơn thế nữa
Bố cục cơ sở của thành phố được lên kế hoạch và thiết kế chỉ cho những năm tồn tại ban đầu của chúng, với một số khả năng mở rộng hoặc phát triển thêm nếu dân số tăng theo cấp số nhân trong một thời gian ngắn. Sau đó, cách một thành phố phát triển phần lớn dựa trên các điều kiện phát sinh, chẳng hạn như di cư hoặc cơ hội làm việc. Bất kỳ kế hoạch nghiêm ngặt nào được làm ra chủ yếu là để phản ứng với những điều kiện này.
Điều tương tự cũng xảy ra đối với các dự án blockchain. Mỗi dự án trong số đó được thiết kế để phục vụ một mục đích nhất định, giải quyết một vấn đề và làm hài lòng nhiều người dùng nhất có thể. Tuy nhiên, mọi thứ đều có giới hạn của nó và giới hạn mà bạn đang lên kế hoạch có thể đột nhiên bị vượt qua đáng kể, chẳng hạn như do thành công của việc áp dụng hàng loạt. Khi đạt đến hoặc vượt quá các giới hạn đó, phải áp dụng nâng cấp hoặc mở rộng cấu trúc hiện tại để ngăn hệ thống khỏi tắc nghẽn giao dịch hoặc sự cố hệ thống.
Và đó là những gì các giải pháp khả năng mở rộng blockchain có sẵn trong các Layer 0 - 3.
Hai cách tiếp cận đối với các layer blockchain
Có hai quan điểm mà chúng ta cần lưu ý khi nghĩ về các layer của blockchain.
Quan điểm 1: Kiến trúc blockchain
Quan điểm đầu tiên trong số hai quan điểm này xem tất cả các block xây dựng blockchain tạo ra kiến trúc phân chia layer của blockchain, được phân loại thành năm layer. Mô tả ngắn gọn tóm tắt các layer này - từ trên xuống dưới:
Layer ứng dụng và trình diễn: Layer mà các hợp đồng thông minh và ứng dụng chạy trên đó - Cho phép giao tiếp giữa thiết bị người dùng (front-end) và blockchain (back-end)
Layer đồng thuận: Layer này chạy giao thức yêu cầu một số lượng node nhất định để xác minh một giao dịch. Do đó, mọi giao dịch được xử lý bởi nhiều node sau đó phải đi đến cùng một kết quả và đồng ý về tính hợp lệ của nó (Tham khảo: Deteminism - Phần 1). Duy trì tính chất phi tập trung của blockchain vì không có node nào có quyền kiểm soát duy nhất đối với bất kỳ dữ liệu giao dịch nào và vai trò được phân phối giữa các node - Đạt được sự nhất trí giữa các node tham gia - Thiết lập một tập hợp các thỏa thuận rõ ràng giữa các node trong mạng P2P - Đảm bảo rằng không có bên nào có quyền kiểm soát hoàn toàn mạng blockchain nhờ phân quyền và chỉ có chain dài nhất có hiệu lực.
Layer mạng: Còn được gọi là layer Truyền bá (Propagation), là nền tảng cho giao tiếp giữa các node, nơi mỗi node phải có khả năng phát hiện ra các node khác - Nó là một khung P2P được thiết kế để cho phép kiểm tra tính hợp lệ của dữ liệu giao dịch trong sự đồng thuận của hệ thống tạo block, bổ sung và phát hiện block.
Layer dữ liệu: Thông tin giao dịch được đóng gói và lưu trữ dưới dạng các block đã ký và xác minh - Mỗi block tiếp theo được liên kết với các block trước đó, được kết nối với block đầu tiên từng được khai thác, block Genesis. Quá trình này được lặp lại mỗi khi block mới được thêm vào (Tham khảo: Deteminism - Phần 1). Mọi giao dịch đều được ký điện tử bằng prrivate key của ví người gửi. Chỉ người gửi mới có quyền truy cập vào khóa này, do đó đảm bảo rằng dữ liệu không thể bị truy cập hoặc bị can thiệp bởi bất kỳ ai khác.
Layer phần cứng: Thiết bị và hệ thống giữ cho blockchain hoạt động - Xương sống công nghệ cho phép kết nối ngang hàng của hàng nghìn máy tính yêu cầu dữ liệu của nhau - Máy tính trong blockchain được gọi là node, là một phần cứng chạy phần mềm máy khách và xác minh ngẫu nhiên dữ liệu giao dịch
Hình dung
Kiến trúc blockchain bắt đầu từ layer phần cứng / cơ sở hạ tầng, trên đó nó xây dựng các layer bổ sung. Những thứ này, khi kết hợp với nhau, sẽ tạo ra một xương sống blockchain.
Mỗi layer này đều có ý nghĩa và lý do tách biệt với các layer khác.
Ba layer dưới cùng của kiến trúc phân layer tạo ra một layer riêng biệt từ quan điểm của hệ thống phân cấp bản thể học (ontological hierarchy). Layer kết hợp này được gọi là Layer 0 (L0).
L0 là một network framework chạy bên dưới blockchain và được tạo thành từ các giao thức, kết nối, phần cứng, thợ mỏ, các node và hơn thế nữa tạo thành nền tảng của hệ sinh thái blockchain. Các thành phần này giúp biến blockchain thành hiện thực và công nghệ của chúng cho phép Bitcoin, Ethereum và các mạng blockchain khác hoạt động.
L1 bao gồm các khái niệm về mạng cơ sở (base network) và cơ sở hạ tầng cơ bản. Ở đây, chúng ta có thể tìm thấy sự đồng thuận, các giao thức L1 và main-chain và side-chain (nếu được sử dụng).
Quan điểm 2: Hệ thống phân cấp bản thể học của blockchain
Cách tiếp cận này tập trung vào các giải pháp khả năng mở rộng có thể có cho một blockchain đã được tạo.
Cho đến nay, chúng tôi đã mô tả năm layer kiến trúc blockchain tạo nên các nguyên tắc cơ bản để chạy một blockchain. Điều này cho phép chúng tôi tiến thêm một bước nữa để quan sát chức năng của nó. Hai hình ảnh sau đây tóm tắt cách tiếp cận chức năng chung và cung cấp các yếu tố bổ sung từ mỗi block bên dưới:
Bước cuối cùng chúng ta cần thực hiện trong quá trình khám phá blockchain là nhận ra rằng blockchain với tất cả các layer mà chúng ta vừa mô tả, đứng trên vai của internet. Để phù hợp với chủ đề của bài viết này, về cơ bản, blockchain là một layer internet bổ sung.
Như chúng ta thấy ở trên, Web chức năng sẽ không tồn tại nếu không có Internet. Các ứng dụng Blockchain cũng cần có Internet, nhưng chúng có thể vượt qua Web và cung cấp cho chúng ta, bên cạnh nhiều thứ khác, một phiên bản Web khác phi tập trung và độc đáo hơn. Phiên bản này của Web được gọi là Web3, và nó là một trong những bước đột phá lớn nhất của công nghệ blockchain.
Nói một cách dễ hiểu, một blockchain đứng trên các trụ cột của Internet và chính vì các layer internet mà một blockchain có mọi thứ nó cần để kết nối với các node và giao tiếp với các thợ đào blockchain, các node và các thành phần khác.
Khác
Nhưng dù sao thì những layer này là gì? Nói một cách chính xác, một "layer" trong ngôn ngữ máy tính là thứ được xây dựng và chạy dựa trên các dịch vụ được cung cấp bởi một giao thức khác, cơ bản hơn. Tóm lại, đó là cách giao thức IP - một trong những nền tảng của internet - được thiết kế ban đầu.
Ví dụ, giao diện mạng (network interface) là cơ sở của giao tiếp vật lý của internet là layer hỗ trợ các dịch vụ cho layer IP. Layer IP là cơ sở cho layer TCP và layer TCP là cơ sở cho layer HTTP. Vì vậy, hai máy có thể giao tiếp bằng giao thức HTTP nhờ tất cả các layer khác bên dưới chúng.
Lưu ý cuối cùng, một trong những yếu tố thiết yếu của blockchain là bộ Giao thức Internet, thường được gọi là TCP/IP. Nhờ TCP/IP, blockchain có thể hoạt động trên Internet và mọi thứ mà blockchain thực hiện đều dựa trên TCP/IP. Chức năng này được xác định là một trong những phần của Layer 0 của blockchain.
Tương tác giữa blockchain với TCP/IP giống như hơi thở — dịch vụ mà TCP/IP cung cấp cho blockchain giống như oxy mà hành tinh của chúng ta cung cấp. Nhờ sự ban tặng của thiên nhiên, được cung cấp để sử dụng với sự dồi dào hiện tại, chúng ta được phép phát huy hết khả năng của mình.
Nhiều blockchains có thể hoạt động bên ngoài TCP/IP. Tuy nhiên, tương tự như một nhóm nhỏ con người sẽ sống trên sao Hỏa trong tương lai gần, nó sẽ cực kỳ tốn kém về tài nguyên và hiện tại là không có hiệu quả. Tương tự như vậy, những người cố gắng sống trên sao Hỏa với lượng oxy khan hiếm sẽ có trải nghiệm sống khó khăn hơn trên Trái đất với lượng oxy dồi dào, một blockchain chạy không có TCP/IP sẽ kém hiệu quả hơn nhiều.
Kết luận
Nếu chúng ta hình dung sự kết nối toàn cầu như bánh xe thúc đẩy nền văn minh hiện đại tiến lên, TCP/IP giống như chiếc lốp khí nén được gắn vào bánh xe, đưa chúng ta từ thời đại của điện báo (electrical telegraph) sang thời đại của Internet.
Giờ đây, blockchain hứa hẹn sẽ thêm một layer nữa lên trên “lốp xe”, điều này sẽ nâng cao chức năng của bánh xe hơn nữa. Có lẽ, nếu mọi thứ diễn ra suôn sẻ, nó có thể giống như một “thiết bị” chống trọng lực, tạo cơ hội cho phương tiện ì ạch của nhân loại bay lên thiên đường.
Link bài gốc của Mickey Maler
Dịch bởi Minh Tuan. Biên tập và đăng tải bởi Paven Do.
If You love the post, you may wish to donate for this special charity: https://www.carryforwardvietnam.org/donate/
Nếu bạn thích bài viết, bạn có thể đóng góp cho dự án từ thiện: https://www.carryforwardvietnam.org/donate/