Tiêu đề gốc: "7 đổi mới giúp Solana trở thành Blockchain quy mô web đầu tiên》
Bản dịch gốc: Lianwen strong>
Nguồn gốc: Anatoly Ykovenko
Các hệ thống Bằng chứng Công việc như Bitcoin và Ethereum hỗ trợ khoảng 10 Giao dịch mỗi giây (TPS). Các hệ thống Proof-of-Stake (PoS) dựa trên Dung sai lỗi Byzantine thực tế (PBFT), chẳng hạn như Tendermint, có thể hỗ trợ khoảng 1.000 TPS với 100-200 nút. Solana là một chuỗi khối PoS tương tự như PBFT, hỗ trợ tới 50.000 TPS với hơn 200 nút trong phiên bản testnet hiện tại, khiến nó trở thành chuỗi khối có hiệu suất cao nhất và là mạng lưới phi tập trung quy mô web đầu tiên trên thế giới.
Kể từ khi Solana thành lập, nhóm Solana, bao gồm những người tiên phong về công nghệ từ Qualcomm, Intel, Netscape và Google, đã xây dựng những đột phá công nghệ cần thiết này về tiêu chuẩn hoạt động tình dục.
Để tạo một mạng phi tập trung, không cần cấp phép có thể phù hợp với hiệu suất của một nút duy nhất, Solana Nhóm đã phát triển 7 công nghệ chủ chốt sau:
Bằng chứng lịch sử (POH) : Thời điểm trước khi đồng thuận;
Tháp BFT: PoH của PBFT Phiên bản tối ưu hóa ;
р span> Turbine :Giao thức truyền khối;
Gulf Stream : Giao thức chuyển tiếp giao dịch nhanh;
© Máy ảo đường ống : Thời gian chạy hợp đồng thông minh song song;
Cloudbreak : cơ sở dữ liệu tài khoản được chia tỷ lệ theo chiều ngang;
Trình sao chép :Lưu trữ sổ cái phân tán
Trong bài viết này, chúng tôi sẽ giải thích ngắn gọn từng kỹ thuật trên. Nếu bạn muốn tìm hiểu thêm, bạn có thể nhấp vào liên kết ở trên để được hướng dẫn chi tiết.
Bằng chứng lịch sử
Nếu toàn bộ mạng blockchain phù hợp với hiệu suất của từng nút riêng lẻ, điều này có nghĩa là băng thông không thể là nút thắt cổ chai, nhưng tính toán thì có. Để đạt được điều này, trước tiên chúng ta cần tối ưu hóa giao tiếp nút trong mạng.
Mạng di động không dây có nhiều điểm tương đồng với các mạng dựa trên blockchain. Mạng di động không dây từ lâu đã là Mạng luôn có là về việc tối ưu hóa truyền thông mạng. Từ góc độ quy mô, không có tháp không dây nào có đủ băng thông để cho phép mỗi điện thoại phân bổ tần số không dây riêng để truyền dẫn, vì vậy các công ty viễn thông cần "công nghệ đa truy cập" để ép nhiều điện thoại vào cùng một tần số cuộc gọi.
Đa truy nhập phân chia theo thời gian (TDMA) là một trong những công nghệ chính giúp đạt được khả năng mở rộng quy mô lớn của mạng di động. TDMA chỉ định rằng các tháp chia mỗi tần số vô tuyến thành các khe thời gian và ấn định các khe thời gian đó cho mỗi cuộc gọi điện thoại. Bằng cách này, các tháp di động cung cấp đồng hồ có sẵn trên toàn cầu cho mạng. Điều này cải thiện đáng kể khả năng mở rộng trên băng thông hạn chế, cho phép mỗi tần số hỗ trợ nhiều kênh dữ liệu đồng thời và giảm nhiễu từ nhiều thiết bị cầm tay phát sóng đồng thời trên cùng một tần số.
Các mạng dựa trên blockchain hiện tại đang gặp phải vấn đề về đồng hồ. Mỗi khi một khối mới được tạo ra, đồng hồ của chúng sẽ "tích tắc". Đối với Ethereum, điều này xảy ra cứ sau 15 giây, do đó chỉ có rất nhiều thông tin có thể được nhồi nhét vào một khối. Đối với các mạng dựa trên blockchain, cơ chế xung nhịp tương tự TDMA phải có độ chi tiết dưới một giây và được tất cả các nút xác thực đồng ý để chúng có thể xử lý giao dịch hiệu quả hơn.
Đổi mới cốt lõi của Solana là "Proof of History, POH", là một giải pháp A có sẵn trên toàn cầu, không cần cấp phép nguồn thời gian có thể chạy trên mạng cho đến khi đạt được sự đồng thuận. POH không phải là một giao thức đồng thuận, cũng không phải là cơ chế kháng Sybil. Có thể nói POH là giải pháp cho vấn đề thời gian.
Trong trường hợp các chuỗi khối khác yêu cầu người xác thực liên lạc với nhau để xác nhận rằng thời gian đã trôi qua, mỗi trình xác thực Solana sẽ thực hiện việc này bằng cách mã hóa thời gian thành một đơn giản Hàm trễ xác minh hàm băm chuỗi SHA-256 (VDF) duy trì đồng hồ riêng. Solana không sử dụng VDF cho tính ngẫu nhiên; thay vào đó, người xác nhận sử dụng VDF để duy trì đồng hồ của riêng họ. Bởi vì mỗi trình xác nhận duy trì đồng hồ riêng của mình nên người dẫn đầu được chọn trước và một kỷ nguyên hoàn chỉnh sẽ được thực hiện sau đó. Giống như Tendermint, lịch trình kỷ nguyên có thể kéo dài hàng nghìn khối. Tuy nhiên, không giống như Tendermint, mạng không bao giờ chờ đợi các nút bị lỗi. Mỗi trình xác thực chạy VDF để chứng minh rằng nó đã được cấp một khe để truyền các khối và trình xác thực. Mỗi người xác thực sẽ được trả thù lao khi làm như vậy, giống như các nhà sản xuất khối được khen thưởng khi sản xuất các khối.
Như lịch sử đã chứng minh, các nhà lãnh đạo tiếp tục luân chuyển và bất kể điều kiện mạng như thế nào, mạng với tư cách là một toàn bộ trở đi. Điều này có nghĩa là mạng không bao giờ dừng lại và có thể quyết định xoay vòng trình xác thực mà không cần bất kỳ trình xác thực nào liên lạc với nhau. Đây là một sự thay đổi tinh tế nhưng sâu sắc và không có blockchain nào khác có cơ chế tương tự. Trong tất cả các blockchain khác, người xác nhận phải giao tiếp để đưa ra quyết định, nhưng ở Solana, các quyết định luân chuyển người lãnh đạo được gọi là không đồng bộ.
Sự đổi mới cốt lõi này mở ra một không gian thiết kế được cải tiến toàn diện. Ngoài việc cung cấp đồng hồ cho dấu thời gian, POH còn cho phép Solana tối ưu hóa thời gian khối (800ms), lan truyền khối (log200(n)), thông lượng (50K-80=K TPS) và sổ cái có sẵn trên mạng Storage(pb) .
Tháp BFT
Dựa trên lịch sử đã được chứng minh, Solana điều hành Tower Consensus, một thuật toán đồng thuận giống PBFT được thiết kế đặc biệt để tận dụng tối đa lợi thế của đồng hồ được đồng bộ hóa. Nhưng không giống như PBFT, Tower Consensus ủng hộ hoạt động hơn là tính nhất quán. Giống như PBFT, các nút sẽ nhân thời gian chờ để đạt được thỏa thuận, nhưng vì sổ cái blockchain cũng là nguồn thời gian không đáng tin cậy nên các nút có thể quan sát và kiểm tra mạng
Hãy tưởng tượng bạn đang ở trên một hòn đảo biệt lập và một cái chai lơ lửng với ổ flash USB bên trong. Có một sổ cái Solana được lưu trong ổ USB. Nếu chỉ nhìn vào sổ cái, bạn sẽ thấy rằng mỗi nút có thể tính toán số lượng trình xác thực hiện tại, trạng thái của mỗi trình xác thực - và quan trọng nhất là số lần mỗi trình xác thực đã gửi tới bất kỳ khối nào trong mạng. Chỉ dựa trên cấu trúc dữ liệu, không có bất kỳ thông báo mạng ngang hàng nào, người xác thực có thể đưa ra quyết định bỏ phiếu và mạng có thể đạt được sự đồng thuận tương ứng.
Tua bin
Vì lớp đồng thuận Solana không dựa vào các tin nhắn mạng ngang hàng nên nó có thể tối ưu hóa cách truyền các khối qua mạng một cách độc lập với sự đồng thuận. Công nghệ lan truyền khối của Solana có tên là Turbine và nó chủ yếu “ăn trộm” BitTorrent. Khi một khối được phát trực tuyến, nó được chia thành các gói nhỏ cùng với mã xóa và sau đó trải rộng trên một tập hợp lớn các khối ngang hàng ngẫu nhiên. Với số lượng 200 gói, lớp thứ hai của mạng có thể đạt tới 40.000 trình xác thực. Do đó, người xác nhận có thể truyền bá các khối có tác động log200(n) đến tính hữu hạn. Đối với tất cả các mục đích thực tế, nếu mỗi kết nối là 100 mili giây thì đối với mạng có 40.000 nút, việc sao chép có thể được hoàn thành trong 400 mili giây và đạt được kết quả cuối cùng chỉ trong 500 mili giây.
Cơ chế quạt ra phải có khả năng chống lại sự cố. Do đó, trình xác minh sử dụng mã hóa Reed-Solomon để mã hóa dữ liệu dưới dạng mã xóa, cung cấp khả năng chịu lỗi ở mức độ nào đó.
Gulf Stream
Trong các mạng hiệu suất cao, quản lý nhóm bộ nhớ là một vấn đề mới, nhưng nó không quá cấp bách đối với các chuỗi khối khác. Gulf Stream hoạt động bằng cách đẩy bộ nhớ đệm giao dịch và chuyển tiếp đến rìa mạng. Vì mỗi trình xác nhận đều biết thứ tự của các nhà lãnh đạo sắp tới trong kiến trúc Solana, nên khách hàng và người xác thực sẽ chuyển tiếp trước các giao dịch đến các nhà lãnh đạo dự kiến. Điều này giúp người xác thực thực hiện trước các giao dịch dễ dàng hơn, giảm thời gian xác nhận, chuyển đổi người lãnh đạo nhanh hơn và giảm áp lực bộ nhớ đối với người xác thực từ nhóm giao dịch chưa được xác nhận.
Khách hàng (chẳng hạn như ví) ký các giao dịch tham chiếu đến một khối băm cụ thể. Khách hàng chọn một khối băm gần đây mới được mạng xác nhận đầy đủ. Các khối được đề xuất khoảng 800 ms một lần và yêu cầu thời gian chờ tăng theo cấp số nhân để mở rộng từng khối mới. Sử dụng đường cong thời gian chờ mặc định của chúng tôi, hàm băm khối được xác nhận đầy đủ sẽ dài 32 khối trong trường hợp xấu nhất. Giả sử thời gian khối là 800 ms, điều này tương đương với 25,6 giây.
Sau khi một giao dịch được chuyển tiếp tới bất kỳ người xác thực nào, người xác thực sẽ chuyển tiếp giao dịch đó đến một trong những người lãnh đạo sắp tới. Khách hàng có thể đăng ký xác nhận giao dịch từ người xác thực. Khách hàng biết rằng hàm băm khối sẽ hết hạn trong một khoảng thời gian giới hạn hoặc giao dịch được mạng xác nhận. Điều này tạo điều kiện thuận lợi cho khách hàng ký các giao dịch được đảm bảo thực hiện hoặc không thành công. Khi mạng vượt qua điểm khôi phục sao cho khối băm được tham chiếu bởi giao dịch hết hạn, khách hàng biết chắc chắn rằng giao dịch không hợp lệ và sẽ không bao giờ được thực thi trên chuỗi.
Máy ảo đường ống
Chúng tôi đã xây dựng máy ảo Pipeline (VM) để tận dụng tối đa mạng hiệu suất cao của Solana, một công cụ xử lý giao dịch siêu song song được thiết kế để mở rộng quy mô sang GPU và SSD. Một điều cần lưu ý: tất cả các blockchain khác đều là máy tính đơn luồng. Solana là blockchain duy nhất hỗ trợ thực hiện giao dịch song song (không chỉ xác minh chữ ký) trong một phân đoạn duy nhất.
Giải pháp cho vấn đề này chủ yếu dựa vào công nghệ trình điều khiển hệ điều hành có tên là "scatter-gather". Các giao dịch xác định trước trạng thái mà chúng sẽ đọc và ghi khi được thực thi. Bộ thực thi có thể tìm thấy tất cả các chức năng chuyển đổi trạng thái không chồng chéo xảy ra trong một khối và thực thi chúng song song (còn gọi là thực thi song song) trong khi tối ưu hóa việc lập lịch đọc và ghi vào trạng thái trên mảng SSD RAID 0.
Mặc dù bản thân Pipeline là một máy ảo lên lịch giao dịch, nhưng Pipeline thực tế không nằm trong máy ảo Thực thi giao dịch. Thay vào đó, Pipeline chuyển các giao dịch đến phần cứng cục bộ và thực hiện chúng trực tiếp bằng cách sử dụng mã byte đã được ngành chứng minh có tên là Bộ lọc gói Berkeley (BPF). Mã byte này được thiết kế cho các bộ lọc gói hiệu suất cao, được tối ưu hóa từ đầu những năm 1990 và được triển khai trong môi trường sản xuất trên hàng triệu thiết bị chuyển mạch trên toàn thế giới để hoạt động trên mạng 40 gigabit, xử lý 60 triệu gói mỗi giây.
Mỗi khi Nvidia tăng gấp đôi số lượng luồng SIMD có sẵn, sức mạnh tính toán mạng của chúng tôi sẽ tăng gấp đôi. Trên thực tế, tất cả các chuỗi khối máy tính đơn luồng khác không thể mở rộng quy mô theo cách này.
Sử dụng LLVM, trình biên dịch tương tự cho WASM, chúng tôi cung cấp cho các nhà phát triển một bộ công cụ tuyệt vời có thể sử dụng với C/C++ và High -hợp đồng thông minh hiệu suất được viết bằng ngôn ngữ Rust và được thực thi trên GPU. Mặc dù Solana không sử dụng WASM nhưng các nhà phát triển có thể biên dịch lại mã C và Rust được viết cho trình biên dịch WASM trong trình biên dịch Solana chỉ với những sửa đổi nhỏ. Do đó, các nhà phát triển có thể dễ dàng di chuyển ứng dụng của họ từ các chuỗi WASM chính thống khác như Dfinity, EOS, Polkadot và Ethereum 2.0.
Ethereum đã gặp một số lỗ hổng do kiến trúc phần mềm của nó. Cho hai ví dụ có liên quan:
Nhiều thủ thuật chẵn lẻ through Cuộc gọi đại biểu mạnh mẽ>
Lỗi cho thuê DAO thông qua "cuộc gọi"
Nhiều cuộc tấn công ví Parity thông qua lệnh gọi đại biểu
Lỗ hổng đăng nhập lại DAO do "gọi"
Việc viết mã Solidity an toàn là hoàn toàn có thể, giống như có thể viết phần mềm phức tạp bằng C mà không cần bảo vệ bộ nhớ. Tuy nhiên, chừng nào hành vi không an toàn còn dễ thêm vào và khó phát hiện thì khó khăn trong việc xác minh hành vi phần mềm phức tạp sẽ tăng theo cấp số nhân. Cả nhóm Solana và Libra đều sớm nhận ra vấn đề này và phát triển các kiến trúc duy trì sự phân tách trạng thái nghiêm ngặt giữa các mô-đun khác nhau.
Ngôn ngữ di chuyển giới thiệu Tài nguyên và Tập lệnh dưới dạng các khái niệm cấp cao. Cả hai đều phù hợp một cách tự nhiên với thời gian chạy Solana Pipeline cũng như chương trình gốc của chúng tôi. Mục tiêu của chúng tôi là hỗ trợ Move như ngôn ngữ cấp một để các tài nguyên có thể chạy giống như các chương trình Solana gốc và có thể được phát triển và soạn thảo bằng Move hoặc Rust ABI bản địa của chúng tôi mà không có bất kỳ hình phạt nào về hiệu suất hoặc bảo mật.
Cloudbreak — Bộ nhớ có thể mở rộng theo chiều ngang
Chỉ tính toán có khả năng mở rộng là chưa đủ. Bộ nhớ dùng để theo dõi tài khoản có thể nhanh chóng trở thành điểm nghẽn về kích thước và tốc độ truy cập. Ví dụ: LevelDB, công cụ cơ sở dữ liệu gốc được nhiều blockchain hiện đại sử dụng, thường được cho là không thể hỗ trợ hơn 5.000 TPS.
Một giải pháp hơi ngây thơ là duy trì trạng thái chung trong RAM. Tuy nhiên, cũng không hợp lý khi mong đợi một máy tính dành cho người tiêu dùng có đủ RAM để lưu trữ trạng thái toàn cầu. Đối với Solana, chúng tôi đã thiết kế Cloudbreak, một kiến trúc trạng thái được tối ưu hóa cho việc đọc và ghi đồng thời trải rộng trên cấu hình SSD RAID 0. Mỗi đĩa bổ sung sẽ tăng dung lượng lưu trữ có sẵn cho các chương trình trên chuỗi và tăng số lượng chương trình đọc và ghi đồng thời có thể được thực thi trong quá trình thực thi.
Kết hợp với thiết kế giao dịch của chúng tôi, kiến trúc này hỗ trợ các giao dịch trước thời hạn (Ahead Of Time, AOT) ) thực hiện. Sau khi trình xác thực quan sát giao dịch, Pipeline VM có thể bắt đầu tìm nạp trước tất cả các tài khoản từ đĩa và chuẩn bị chúng để thực thi thời gian chạy. Người xác thực và nhà sản xuất khối thậm chí có thể bắt đầu thực hiện giao dịch trước khi chúng được mã hóa thành một khối, cho phép chúng tôi tối ưu hóa hơn nữa thời gian khối và độ trễ xác nhận.
Trình sao chép
ở tốc độ 1GBPS , chuỗi khối mạng sẽ tạo ra 4 PB dữ liệu cho sổ cái mỗi năm. Lưu trữ dữ liệu sẽ sớm trở thành vectơ tập trung chính, làm mất đi mục đích mà blockchain mang lại.
Trên Solana, dữ liệu đã lưu trữ được tải xuống từ trình xác thực xuống một bản sao được gọi là mạng Nút sao chép. Người sao chép không tham gia vào sự đồng thuận. Lịch sử trạng thái được chia thành nhiều phần và mã xóa được thực hiện. Các bộ sao chép lưu trữ một phần nhỏ của trạng thái. Thỉnh thoảng, mạng sẽ yêu cầu người sao chép chứng minh rằng họ vẫn đang lưu trữ dữ liệu mà lẽ ra họ phải lưu trữ. Khái niệm Proof of Replication (PoRep) được Solana sử dụng phần lớn được mượn từ Filecoin.
Chúng tôi có thể sử dụng bằng chứng lịch sử - đồng hồ trước khi đạt được sự đồng thuận - để tối ưu hóa cách tạo PoReps. Các nút sao chép không tham gia vào sự đồng thuận và sử dụng PoH để tạo ra các bằng chứng nhẹ qua đó các phần của sổ cái có thể được sao chép và trình xác thực có thể xác thực chúng theo đợt trên các GPU.
Bản sao có thể là các nút nhẹ (chẳng hạn như máy tính xách tay). Với mã xóa, mạng sao chép có thể đảm bảo tính khả dụng cho dữ liệu của bạn vượt xa mọi thứ mà AWS hoặc GCE có thể hy vọng cung cấp.
Tóm tắt
Nhờ có 7 cải tiến lớn này, Mạng Solana là công nghệ sổ cái phân tán nhanh như chớp và sẽ tiếp tục hoạt động mãi mãi. Nó sẽ không chậm lại vì sự đồng thuận. Ngoài ra, hệ thống tối ưu hóa việc phổ biến dữ liệu, sử dụng nhiều GPU song song để xử lý giao dịch và không tạo gánh nặng cho người xác thực với việc lưu trữ dữ liệu lịch sử trên chuỗi rộng rãi.
Nguyên tắc chủ đạo của thiết kế phần mềm Solana là nó không được cản trở phần cứng để nó có thể chạy ở công suất tối đa của nó. Kết quả là Solana mở rộng quy mô băng thông, SSD và lõi GPU một cách tự nhiên. Đây là blockchain duy nhất đạt được các mục tiêu trên và thông qua những đổi mới trên, Solana có thể đạt được 50.000 TPS trên mạng gồm 200 nút vật lý khác nhau trên khắp thế giới.
Để hiểu sâu hơn về 7 cải tiến lớn giúp mạng Solana trở nên khả thi, vui lòng tham khảo bài đăng blog sau:
Bằng chứng lịch sử (POH) : Thời điểm trước khi đồng thuận; p>
Tháp BFT : Phiên bản PBFT được tối ưu hóa PoH;
Turbine : Giao thức truyền khối;
Gulf Stream : Không có giao thức chuyển tiếp giao dịch nhóm bộ nhớ;
Máy ảo đường ống : Thời gian chạy hợp đồng thông minh song song;
Cloudbreak : Cơ sở dữ liệu tài khoản được chia tỷ lệ theo chiều ngang;
Trình sao chép : Lưu trữ sổ cái phân tán
Trạng thái mạng
Solana testnet hiện đang trực tuyến. Bạn có thể nhấp vào testnet.solana.com View. Vì lý do chi phí, chúng tôi chỉ chạy một vài nút. Tuy nhiên, trong nhiều trường hợp, chúng tôi đã mở rộng quy mô lên hơn 200 nút vật lý khác nhau (không phải trên phần cứng dùng chung) trên 23 trung tâm dữ liệu trên AWS, GCE và Azure nhằm mục đích đo điểm chuẩn.
Mạng hiện đang chạy bình thường và các nhà phát triển hiện có thể triển khai mã trên mạng thử nghiệm. Họ có thể xây dựng các hợp đồng thông minh bằng C và chúng tôi cũng đang tích cực phát triển chuỗi công cụ Rust. Rust sẽ trở thành ngôn ngữ hàng đầu để phát triển hợp đồng thông minh Solana. Chuỗi công cụ Rust được cung cấp công khai như một phần của Solana Javascript SDK và chúng tôi đang tiếp tục cải tiến bộ công cụ phát triển phần mềm.
Solana sẽ sớm ra mắt phiên bản beta công khai, những người xác nhận được khuyến khích vượt qua Tour de SOL span> Chạy các nút - tương tự như cuộc thi Game of Stakes của Cosmos – Điều này trình bày một thách thức đối với công chúng trong việc kiểm tra các giới hạn của mạng Solana trong khi kiếm được token.
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

