Topics BlockchainCurrent Page

Hiệu Suất và Khả Năng Mở Rộng Blockchain Ethereum

Trung Cấp
Blockchain
20 Th04 2022
18 phút

Tóm tắt AI

Hiển thị thêm

Tóm tắt chi tiết

Giống như Bitcoin, lý do chính cho vấn đề khả năng mở rộng Ethereum là giao thức mạng mà mỗi nút trong mạng lưới phải xử lý trên mỗi giao dịch. Ethereum 1.x triển khai một phiên bản sửa đổi nhẹ của cơ chế đồng thuận proof-of-work (PoW). Trong Ethereum, thợ khai thác phải chạy đua để tìm ra cơ hội đạt được độ khó mục tiêu. Mỗi nút mạng cần xác minh rằng công việc của thợ khai thác là hợp lệ và giữ một bản sao chính xác của trạng thái mạng hiện tại. Điều này hạn chế đáng kể năng lực và thông lượng quy trình giao dịch của mạng blockchain Ethereum. Hiện tại, nó chỉ có thể xử lý 12-15 giao dịch mỗi giây.

Bộ Ba Bất Khả Thi về Khả Năng Mở Rộng Blockchain

Lần đầu tiên được sử dụng bởi Vitalik Buterin, bộ ba bất khả thi về khả năng mở rộng là một khái niệm trong blockchain liên quan đến năng lực giải quyết những vấn đề về khả năng mở rộng, phân quyền và bảo mật mà không ảnh hưởng đến bất kỳ vấn đề nào trong số chúng. Bộ ba bất khả thi này tuyên bố rằng gần như không thể đạt được cả ba thuộc tính trong một hệ thống blockchain:

Phi tập trung: Đây là nguyên lý cốt lõi mà Bitcoin và blockchain được tạo ra. Phi tập trung cho phép kháng cự lại sự kiểm duyệt và cho phép bất kỳ ai muốn tham gia vào hệ sinh thái phi tập trung mà không cần cơ quan trung ương hoặc trung gian.

Bảo mật: Điều này đề cập đến tính toàn vẹn và bất biến của sổ cái công khai và khả năng chống lại tấn công 51% hoặc DDoS như các cuộc tấn công mạng.

Khả năng mở rộng: Điều này liên quan đến khả năng xử lý số lượng giao dịch ngày càng tăng trong mạng lưới blockchain. Để blockchain Ethereum trở thành vi tính thế giới như nhà phát minh đã hình dung, nó cần phải phù hợp với thông lượng giao dịch của nhiều hệ thống tập trung, như Amazon, Visa hoặc Mastercard.

Sơ đồ sau là một minh họa về bộ ba bất khả thi về khả năng mở rộng trong blockchain:

Diagram is an illustration of the scalability trilemma in the blockchain

Blockchain bộ ba bất khả thi khả năng mở rộng

Thách thức quan trọng của khả năng mở rộng là tìm cách đạt được cả ba ở lớp cơ sở. Những lựa chọn thiết kế của Bitcoin và Ethereum ưu tiên sự phân quyền và bảo mật, đồng thời hy sinh khả năng mở rộng.

Những Giải Pháp Mở Rộng Quy Mô Ethereum

Giải pháp khả năng mở rộng Ethereum là một trong những chủ đề được bàn tán tích cực nhất trong cộng đồng Ethereum. Sau đây là một số mối lo ngại mà cộng đồng đang cố gắng giải quyết cho tương lai của Ethereum:

Thời gian xử lý giao dịch và tạo khối với PoW, thợ khai thác có thể xử lý tất cả các giao dịch và tạo một khối mới thông qua khai thác nhanh như thế nào?

Tính cuối cùng của giao dịch – mạng phi tập trung có thể đạt được sự đồng thuận trong bao lâu khi một giao dịch đã xảy ra và không thể hoàn nguyên? Hiện tại, mất khoảng sáu khối với Bitcoin và 3-4 phút với Ethereum để mạng lưới xem xét một khối được hoàn thiện trong chuỗi chính. Độc giả quan tâm nên kiểm tra khối của Vitalik để quyết toán giao dịch và xác suất cuối cùng của khối.

Các giải pháp đang được triển khai hoặc đề xuất, thuộc ba loại: giải pháp trên chuỗi, giải pháp ngoài chuỗi, và các giao thức cơ chế đồng thuận. Có một số lý thuyết hoặc hiển nhiên, như tăng kích thước khối hoặc chia một blockchain thành nhiều chuỗi altcoin độc lập. Do tính chất ngang hàng, phương pháp chia tỷ lệ ngang truyền thống có thể không hiệu quả. Cụ thể với mạng lưới Ethereum, một số cân nhắc cũng được đưa ra đối với smart contracts có trạng thái hoặc không trạng thái, góp phần vào những vấn đề về khả năng mở rộng. Chúng ta sẽ xem xét các khái niệm cấp cao của tất cả các giải pháp này và sau đó đi sâu hơn vào một số giải pháp đầy hứa hẹn.

Kích Thước khối

Điều này tương tự như cách tiếp cận theo tỷ lệ dọc. Một số altcoin, như Bitcoin Cash, Ethereum Core, v.v., đang triển khai kích thước khối lớn hơn để đạt được hiệu suất giao dịch tổng thể. Lý thuyết đằng sau cách tiếp cận này là bởi vì khai thác PoW là nút thắt cổ chai chính trong toàn bộ quá trình, bằng cách tăng kích thước khối, chúng ta có thể có nhiều giao dịch được xử lý hơn cho mỗi lần khai thác. Có thể mất nhiều thời gian hơn một chút để tạo đồ thị không chu trình có hướng (DAG) cho khai thác dựa trên chuỗi ký tự ẩn, nhưng thời gian trung bình để hoàn thiện việc khai thác có thể không tệ hơn, vì dù sao hầu hết các máy khách Ethereum đều lưu vào bộ nhớ cache của DAG.

Sơ đồ sau minh họa cách thức hoạt động của kỹ thuật này:

DAG

Tuy nhiên, giống như mở rộng theo chiều dọc, nói chung, giải pháp này đòi hỏi các nút mạng phải có khả năng tính toán tốt hơn để xử lý các khối có kích thước lớn. Điều này có thể dẫn đến một kịch bản trong đó một mạng lưới tập trung vào một số ít những người giàu, vậy nên, cuối cùng có thể ảnh hưởng đến sự phân cấp và bảo mật, các nguyên lý chính của blockchain.

Altcoin

Một giải pháp khác là không có một blockchain khổng lồ, nhưng có nhiều blockchain và altcoin nhỏ hơn. Cuối cùng điều này có thể đúng như vậy, vì nhiều ngành công nghiệp theo chiều dọc đang tạo ra hoặc có kế hoạch tạo ra các chuỗi dành riêng cho ngành. Điều này sẽ làm giảm hoạt động của người dùng trên từng blockchain riêng lẻ và do đó, sẽ cho phép một hệ sinh thái có thể mở rộng hơn.

Biểu đồ sau minh họa cách thức hoạt động của kỹ thuật này:

Difference of Chains

Tuy nhiên, có một số vấn đề với tùy chọn này. Một là lo ngại về bảo mật. Người ta thường tin rằng mạng lưới sẽ an toàn hơn nếu có nhiều nút mạng hơn tham gia vào quá trình xử lý giao dịch trong blockchain. Với sự phân phối các chuỗi altcoin rộng rãi hơn, sẽ có ít nút mạng hơn hoạt động trên bất kỳ blockchain nhất định nào. Điều này có thể khiến blockchain kém an toàn hơn, vì một mạng lưới altcoin nhỏ hơn có thể dễ bị tấn công hơn. Giả sử, chúng ta có khoảng 10.000 nút trên mạng lưới lớn hơn, nó sẽ yêu cầu ít nhất 5.001 nút mạng (hay được gọi là 51%) bị xâm phạm để khởi động một cuộc tấn công trên mạng lưới. Nếu chúng ta chia 10.000 nút mạng thành 50 chuỗi nhỏ hơn, mỗi chuỗi bao gồm 200 nút và chỉ yêu cầu 101 nút để loại bỏ bất kỳ chuỗi nào nhỏ hơn, đó là thứ mà chúng ta gọi là vấn đề tấn công 1%. Một vấn đề khác là tích hợp chuỗi chéo. Mặc dù có một số giải pháp để xử lý tích hợp blockchain chéo, nhưng mức độ phức tạp tổng thể của việc tích hợp các chuỗi và altcoin nhỏ hơn sẽ tăng lên đáng kể.

Các Giải Pháp Trên Chuỗi

Các giải pháp trên chuỗi, đôi khi còn được gọi là giải pháp Layer 1, nhằm tìm kiếm các giải pháp để giải quyết các vấn đề về khả năng mở rộng và hiệu suất ở lớp cơ sở của mạng lưới blockchain Ethereum. Một trong những giải pháp như vậy là sharding (phân đoạn cơ sở dữ liệu). Sharding không phải là một khái niệm mới vì RDBMS truyền thống và các nền tảng dữ liệu lớn mới đã sử dụng sharding như một cách để cải thiện khả năng mở rộng và hiệu suất trong nhiều năm.

Với mạng lưới Ethereum, mục đích của sharding là nhóm các nút mạng, blockchain và trạng thái toàn cầu thành các phân đoạn khác nhau và mỗi phân đoạn sẽ đạt được sự đồng thuận về trạng thái giao dịch trên toàn phân đoạn giữa các nút mạng trong nhóm đó. Ở cấp độ khái niệm, điều này có thể không khác nhiều so với Plasma, cách tiếp cận side-chain Layer 2, nhưng độ khó kỹ thuật, hàm ý và nỗ lực mạng lại hoàn toàn khác.

Một giải pháp trên chuỗi hoặc Layer 1 khác là chuyển sang cơ chế đồng thuận Proof of Stake (PoS), đây là một trong những lĩnh vực nghiên cứu tích cực nhất nhằm giải quyết các vấn đề về khả năng mở rộng và hiệu suất trong Ethereum. Có rất nhiều tranh luận về ưu điểm và nhược điểm của cơ chế đồng thuận dựa trên PoW. Nó khá hiệu quả trong việc bảo mật blockchain trong mạng lưới phi tập trung, nhưng đây cũng là một nút thắt lớn trong hoạt động của blockchain.

Nói một cách đơn giản, Proof of Stake là một trong những thuật toán đồng thuận phổ biến nhất trong mạng lưới blockchain. Trái ngược với sự đồng thuận PoW, nơi thợ khai thác được thưởng khi giải các câu đố mật mã, trong thuật toán đồng thuận PoS, một nhóm các trình xác nhận được chọn sẽ thay phiên nhau đề xuất các khối mới. Trình xác nhận được chọn theo một cách xác định, tùy thuộc vào tài sản của nó, cũng được định nghĩa là một stake. Bất kỳ ai ký gửi coin của họ dưới dạng stake đều có thể trở thành người xác nhận. Cơ hội tham gia có thể tỷ lệ thuận với số tiền họ stake. Giả sử, Alice, Bob, Catherine và David lần lượt stake 40 Ether, 30 Ether, 20 Ether và 10 Ether để tham gia; họ sẽ có 40%, 30%, 20% và 10% cơ hội được chọn là người tạo khối.

Sau đây là cách nó hoạt động trong cơ chế đồng thuận PoS. Như được hiển thị trong sơ đồ sau, blockchain theo dõi một tập hợp các trình xác nhận, đôi khi còn được gọi là trình tạo khối hoặc trình giả mạo. Bất cứ lúc nào, bất cứ khi nào các khối mới cần được tạo, blockchain sẽ chọn ngẫu nhiên một trình xác nhận. Trình xác nhận được chọn sẽ xác minh các giao dịch và đề xuất các khối mới để tất cả trình xác nhận đồng ý. Các khối mới sau đó được bỏ phiếu bởi tất cả các trình xác nhận hiện tại. Quyền biểu quyết dựa trên số stake mà trình xác nhận đặt vào. Bất kỳ ai đề xuất các giao dịch không hợp lệ hoặc chặn hoặc bỏ phiếu một cách độc hại, có nghĩa là họ cố ý xâm phạm tính toàn vẹn của chuỗi, thì stakes của họ có thể sẽ bị mất. Đối với việc tạo khối, nút mạng sẽ không nhận được phần thưởng. Tiền thù lao được trả cho giao dịch. Khi các khối mới được chấp nhận, người tạo khối có thể thu phí giao dịch làm phần thưởng cho việc tạo ra các khối mới. Có hai tùy chọn lựa chọn nút mạng cơ bản có thể có:

  • Ngẫu nhiên từ các nút mạng "giàu nhất";

  • Ngẫu nhiên từ các nút mạng cũ nhất.

Nodes

PoS được coi là tiết kiệm năng lượng và thân thiện với môi trường hơn so với cơ chế PoW. Nó cũng được coi là an toàn hơn. Về cơ bản, nó làm giảm nguy cơ bị tấn công 51% vì các trình xác nhận độc hại sẽ cần tích lũy hơn 50% tổng số stakes để tiếp quản mạng lưới blockchain. Một thuật toán như vậy được thiết kế để ngăn chặn những kẻ tấn công xác nhận các giao dịch giả mạo vì nguy cơ mất “thế chấp”.

Tương tự như PoW, phân quyền hoàn toàn có thể không hoàn toàn khả thi trong blockchain công khai dựa trên PoS. Điều này là do một số nút mạng giàu có thể độc quyền stakes trong mạng lưới. Những người đặt nhiều stakes hơn có thể kiểm soát hiệu quả hầu hết các cuộc bỏ phiếu và có nhiều cơ hội để tạo ra một khối mới hơn. Cả hai thuật toán đều phụ thuộc vào vấn đề kinh tế và xã hội khi nó giúp người giàu càng trở nên giàu có hơn.

Các Giải Pháp Ngoài Chuỗi

Tương tự như nhân tố căn bản cho giải pháp trên chuỗi, cộng đồng Ethereum cũng đang tích cực tìm kiếm các giải pháp ngoài chuỗi, đôi khi được gọi là giải pháp Layer 2. Một là giải pháp side-chain với Plasma. Thay vì đặt tất cả các giao dịch trong chuỗi chính, Plasma cho phép bất kỳ ai tạo chuỗi phụ và liên kết chuỗi phụ vào blockchain toàn cầu. Điều này tương tự như giải pháp Lighting Network trong Bitcoin.

Một giải pháp khác là state channel với Raiden, tương tự như các kênh thanh toán bằng Bitcoin. Giả thuyết đằng sau cách tiếp cận này là nhiều giao dịch giữa các bên chỉ cần được xác thực bởi các bên liên quan, và không cần phải có tất cả các giao dịch được xác thực bởi toàn bộ mạng lưới.

Một giải pháp trực quan để cải thiện khả năng mở rộng và thông lượng là tạo nhiều chuỗi nhỏ. Điều này nghe có vẻ là một giải pháp hợp lý vì có thể phù hợp với nhu cầu kinh doanh và xã hội. Lấy chính chúng ta làm ví dụ: với tư cách là khách hàng hoặc công dân, chúng ta mua trái cây và rau quả từ cửa hàng tạp hóa ở địa phương chúng ta, điều này có thể tận dụng một blockchain để đảm bảo truy xuất nguồn gốc và an toàn thực phẩm thông qua toàn bộ chuỗi cung ứng sản phẩm tươi sống.

Khi kết thúc mua sắm, bạn có thể thanh toán trực tiếp cho cửa hàng tạp hóa thông qua blockchain thanh toán P2P. Khi bạn đăng ký khoản vay thế chấp hoặc khoản vay kinh doanh, bạn có thể được chấp thuận thế chấp và khoản vay thông qua blockchain thế chấp, v.v. Chúng ta có nhiều khả năng gặp tất cả các chuỗi dọc hoặc chuỗi tư nhân này trước khi chúng ta thấy một chuỗi toàn cầu khổng lồ.

Tuy nhiên, điều này tạo ra các vấn đề về tích hợp xuyên chuỗi và thực thi bảo mật. Đây là những gì Plasma đang cố gắng giải quyết. Nó được Joseph Poon và Vitalik Buterin đề xuất lần đầu tiên vào tháng 8 năm 2017. Ý tưởng thiết kế này nhằm giảm tải các giao dịch cho nhiều chuỗi bên nhanh hơn và ít đông đúc hơn, còn được gọi là chuỗi Plasma. Tương tự như cách tiếp cận state channel, chuỗi Plasma sẽ cam kết định kỳ các giao dịch của nó với chuỗi gốc Ethereum.

Bảo mật và tính toàn vẹn sẽ được thực thi thông qua chuỗi gốc. Nếu có bất kỳ nghi ngờ gian lận nào được phát hiện trong chuỗi plasma, các giao dịch sẽ được khôi phục và người dùng Plasma có thể thoát khỏi chuỗi plasma và chuyển ra chuỗi gốc.

Sơ đồ sau đây cho thấy một mạng lưới Plasma trông như thế nào:

Plasma network

Mỗi chuỗi plasma là một blockchain riêng lẻ. Chúng được liên kết với một chuỗi gốc Ethereum thông qua một smart contract. Smart contract về cơ bản kết nối toàn bộ chuỗi con với chuỗi gốc, hoạt động như một cầu nối. Bất kỳ ai cũng có thể tạo chuỗi plasma và viết một smart contract ràng buộc chuỗi plasma với chuỗi gốc.

Như sơ đồ sau đây cho thấy, tại mỗi thời kỳ, các tiêu đề khối của mỗi khối trong chuỗi plasma được đệ trình lên chuỗi gốc và được ghi lại trong các khối của chuỗi gốc.

Các giao dịch trong chuỗi plasma sẽ ở trên mỗi chuỗi plasma. Sau đó, bằng chứng Merkle trong tiêu đề khối sẽ được sử dụng để xác minh dữ liệu trên chuỗi con. Điều này cho phép hàng chục và hàng nghìn giao dịch được xử lý song song trong nhiều chuỗi plasma và cũng để lại thông tin tiêu đề Merkle tối thiểu và đủ trên chuỗi gốc để thực thi bảo mật.

Independent Plasma Chains

Chuỗi Plasma Độc Lập

Chuỗi gốc sẽ đóng vai trò trọng tài, tương tự như hệ thống tòa án liên bang ở Hoa Kỳ, nơi chuỗi gốc là tòa án tối cao và chuỗi plasma là các tòa án vi phạm, hoặc tòa án quận. Trong hệ thống tòa án liên bang, một khi tòa án quận liên bang đã quyết định một vụ án, vụ việc có thể được kháng cáo lên tòa án vi phạm hoặc tòa án tối cao để phân xử.

Khi gian lận xảy ra trong chuỗi plasma, cho dù đó là chi tiêu kép trên toàn chuỗi hoặc bạn rút ra nhiều hơn số tiền bạn có trong tất cả các tài khoản, bất kỳ ai cũng có thể cung cấp bằng chứng gian lận để chứng minh giao dịch không hợp lệ. Nếu được chứng minh là các giao dịch gian lận, giao dịch đó sẽ bị hoàn tác.

Người dùng plasma có thể thoát khỏi chuỗi plasma con và chuyển các Ether trở lại chuỗi chính. Các đề xuất ban đầu giới thiệu một khái niệm trình xác thực duy nhất, với tư cách là nhà điều hành cho blockchain plasma, để xác thực và thêm các giao dịch vào các khối, cũng như quản lý trạng thái của blockchain con.

Ý tưởng đằng sau cách tiếp cận này là tính bảo mật và tính toàn vẹn của blockchain ở cấp độ toàn cầu được thực thi bởi chuỗi gốc, sử dụng PoW hoặc có thể là giao thức đồng thuận PoW và PoS kết hợp. Trong trường hợp trình xác thực của chuỗi plasma có thể giữ quỹ và thực hiện các hoạt động gian lận, thì bất kỳ ai cũng có thể cung cấp bằng chứng gian lận chống lại trình xác thực cho chuỗi gốc.

Sau khi bị chứng minh là gian lận từ trình xác thực, chuỗi gốc sẽ cho phép tất cả các tài khoản bị ảnh hưởng trên chuỗi plasma chuyển ra chuỗi gốc. Đây được gọi là kịch bản thoát hàng loạt. Trong trường hợp này, từng tài khoản cá nhân sẽ được di chuyển lần lượt vào chuỗi gốc, giao dịch không hợp lệ sẽ được khôi phục và trình xác thực của chuỗi plasma sẽ bị phạt với số tiền mà nó stake trong smart contract. Tùy thuộc vào số lượng tài khoản cần được di chuyển, có thể mất một lúc để hoàn tất quá trình thoát hàng loạt.

Mặc dù đây là một trong những chủ đề thú vị và được bàn tán tích cực nhất trong cộng đồng nghiên cứu Ethereum, nhưng vẫn chưa có bản phát hành công khai nào về việc triển khai plasma. Thay vào đó, một phiên bản thu nhỏ của đề xuất ban đầu, còn được gọi là plasma khả thi tối thiểu, hoặc MVP, đã được đề xuất để triển khai đơn giản, bao gồm mô hình bảo mật đơn giản hóa và các thao tác cơ bản để thoát khỏi chuỗi plasma.

Một khía cạnh rất thú vị của MVP là việc giới thiệu lại mô hình UTXO. Một điểm khác biệt chính trong Ethereum là chuyển từ mô hình UTXO của Bitcoin sang một mô hình tài khoản được xác định rõ hơn, trong đó số dư tài khoản là đối tượng trạng thái được duy trì ở trạng thái toàn cầu.

Mô hình tài khoản Ethereum giúp việc xác minh giao dịch và chuyển tiền trở nên đơn giản, với sự hy sinh của cấu trúc song song. Đây có thể không phải là một nhược điểm đáng kể, vì tất cả các giao dịch cần được xác minh bởi tất cả các nút mạng. Nhưng với Plasma, khi chuỗi gốc chuyển từ xử lý giao dịch sang thực thi bảo mật và phân xử, điều quan trọng là có thể xác minh các giao dịch không hợp lệ song song.

Cấu trúc cây của các blockchain, sau đó là cây của các UTXO từ tất cả các chuỗi con, giúp dễ dàng áp dụng các thuật toán song song phân tán để xác minh bằng chứng gian lận và thực thi bảo mật trên tất cả các chuỗi plasma.

Biểu đồ sau đây cho thấy những tiềm năng Plasma có thể mang lại cho mạng lưới blockchain Ethereum khi một cây của chuỗi con plasma Ethereum được liên kết với chuỗi plasma mẹ, và cuối cùng được kết nối và bảo mật thông qua chuỗi gốc Ethereum.

Etherium Root Chain

Khả năng mở rộng lớn sẽ đạt được thông qua việc giảm tải các tính toán đắt tiền cho các chuỗi con và cho phép chuỗi gốc cung cấp các dịch vụ bảo mật và trọng tài được chia sẻ cho blockchain ở cấp độ toàn cầu. Có một số giải pháp tương tác chuỗi chéo tương tự, như mạng Cosmos. Được tuyên bố là mạng của các blockchain, mạng Cosmos cung cấp cấu trúc tích hợp hub-spoke (trục bánh xe và nan hoa). Các blockchain độc lập, như các khu vực hoặc nan hoa, được gắn vào blockchain chính làm trung tâm. Mục đích của nó là tạo điều kiện thuận lợi cho việc tích hợp blockchain thông qua giao thức IBC (giao thức giao tiếp xuyên chuỗi).

Bybit App
Kiếm Tiền Thông Minh