Chuỗi khối tổng hợp

Trung cấpFeb 25, 2024
Bài viết này sẽ đi sâu vào tìm hiểu lớp tổng hợp là gì, nó hoạt động như thế nào và nó khác với các trình xác thực hoặc trình xác thực được chia sẻ như thế nào.
Chuỗi khối tổng hợp

Tôi muốn đưa ra hai yêu cầu:

  1. Không có chuỗi đơn lẻ nào, dù là L1 hay L2, có thể hỗ trợ thông lượng cần thiết để đạt quy mô Internet.
  2. Mở rộng quy mô chuỗi khối có nghĩa là mở rộng quy mô truy cập vào tính thanh khoản và trạng thái chia sẻ. Việc thêm không gian khối thông qua nhiều chuỗi sẽ không hoạt động nếu nó làm giảm tính thanh khoản.

Điều này thể hiện một thách thức đối với cả quan điểm mô-đun và quan điểm nguyên khối về khả năng mở rộng blockchain. (1) là một thách thức đối với quan điểm nguyên khối, cho rằng một chuỗi thông lượng cao duy nhất là cách tốt nhất để mở rộng quy mô. (2) là một thách thức đối với quan điểm mô-đun, bởi vì điều đó có nghĩa là hệ sinh thái đa chuỗi hoặc đa cuộn là không đủ để mở rộng quy mô theo nghĩa có ý nghĩa: tăng khả năng tiếp cận trạng thái chia sẻ và tính thanh khoản..

Nếu (1) và (2) đúng thì việc giải quyết vấn đề về khả năng mở rộng đòi hỏi phải mở rộng quyền truy cập vào trạng thái chia sẻ và tính thanh khoản trên nhiều chuỗi. Giải pháp của Polygon là Lớp tổng hợp hoặc “AggLayer”. AggLayer cung cấp sự an toàn cho các giao dịch xuyên chuỗi gần như tức thời và cho phép trạng thái và tính thanh khoản thống nhất trên các chuỗi.

Bài đăng này sẽ đi sâu vào AggLayer là gì, nó hoạt động như thế nào và nó khác với trình xác thực hoặc trình chuẩn hóa được chia sẻ như thế nào.

Vấn đề

Có một vấn đề với L2: tính thanh khoản và trạng thái bị phân mảnh giữa các lần tổng hợp và L1.

Điều này không tốt từ góc độ khả năng sử dụng vì nó gây ra sự phức tạp nhưng cũng tốn kém. Thanh khoản bị phân mảnh có nghĩa là độ trượt giá cao hơn và khả năng khớp lệnh kém hơn. Optimistic Rollups (OR) yêu cầu người dùng phải trả phí cầu nối đắt tiền cho bên thứ ba để tránh bị chậm trễ rút tiền trong bảy ngày. Ngay cả ZK Rollups (ZKR) cũng yêu cầu người dùng truy cập khứ hồi tới Ethereum để thực hiện các giao dịch chuỗi chéo không đáng tin cậy.

Tính cuối cùng và hiệu lực

Đây là lý do tại sao hiện không thể thực hiện được các giao dịch chuỗi chéo có độ trễ thấp, không đáng tin cậy.

Giả sử có hai chuỗi cuộn, Chuỗi A và Chuỗi B, có chung một cầu nối đến L1. Alice ở Chuỗi A muốn trả tiền cho Bob ở Chuỗi B, vì vậy Alice khóa hoặc đốt mã thông báo trên Chuỗi A để chuyển sang Chuỗi B.

Hai điều cần thiết để Chuỗi B ghi có những mã thông báo đó cho Bob một cách an toàn.

  1. Lô chứa giao dịch của Alice phải được hoàn tất trên Ethereum L1.
  2. Chuỗi B phải có khả năng xác minh rằng trạng thái kết quả của Chuỗi A là hợp lệ sau giao dịch của Alice.


Nếu lô chứa các giao dịch của Alice không được hoàn tất trên Ethereum thì Chuỗi A có thể tương đương với Chuỗi B và chi tiêu gấp đôi bằng cách giữ tiền của Alice trên Chuỗi A và đúc tiền của Bob trên Chuỗi B. Tương tự, nếu Chuỗi B không kiểm tra bằng chứng hợp lệ cho A, thì Chuỗi A có thể bao gồm một giao dịch không hợp lệ và đánh cắp tiền từ B.

(1) và (2) có nghĩa là các giao dịch chuỗi chéo không đáng tin cậy không thể có độ trễ thấp. (1) hiện yêu cầu 12 phút, trong khi (2) yêu cầu chờ trong khoảng thời gian thử thách trong OR và vài phút để tạo bằng chứng trên ZKR.

UX tốt không tương thích với độ trễ 20 phút. Lớp tổng hợp được thiết kế để giải quyết vấn đề này.

Lớp tổng hợp

Polygon là một hệ sinh thái gồm các L2 do ZK cung cấp dựa trên Ethereum. Lớp tổng hợp là một giao thức phi tập trung được vận hành bởi các nút đặt cược nhằm đảm bảo an toàn cho các giao dịch xuyên chuỗi, có độ trễ thấp và là cầu nối thống nhất [1].

Trong ngữ cảnh này, “an toàn” có nghĩa như sau:

Trạng thái tổng hợp không thể được hoàn tất/giải quyết trên Ethereum nếu trạng thái chuỗi đó phụ thuộc vào trạng thái không hợp lệ hoặc chưa hoàn tất từ một chuỗi khác hoặc nếu nó bao gồm một giao dịch từ gói nguyên tử [2] chưa được thực hiện thành công trên tất cả các chuỗi khác.

Nói cách khác, trạng thái của Chuỗi B không thể được hoàn thiện trên Ethereum nếu nó phụ thuộc vào trạng thái không hợp lệ hoặc chưa hoàn thiện của Chuỗi A.

Sự đảm bảo này rất quan trọng. Nó cho phép Chuỗi B tương tác an toàn với Chuỗi A với độ trễ cực thấp, trước khi trạng thái Chuỗi A hoàn tất trên Ethereum hoặc bằng chứng đã được tạo.

Cách lớp tổng hợp hoạt động

Lớp tổng hợp hoạt động theo ba giai đoạn. Giả sử Chuỗi A là chuỗi được hỗ trợ bởi ZK chạy trong hệ sinh thái Polygon.

  1. Xác nhận trước: Chuỗi A gửi tiêu đề cho khối/lô A1 mới tới
  2. AggLayer cùng với bằng chứng ứng dụng khách nhẹ. Tiêu đề bao gồm các cam kết với tất cả
  3. các khối và gói khác mà Ar phụ thuộc vào (B1, C1, v.v.). Khi có lô mới
  4. được chấp nhận mà không có bằng chứng hợp lệ, nó được AggLayer coi là "được xác nhận trước".
  5. Xác nhận: Chuỗi A hoặc bất kỳ nút đầy đủ nào của A, tạo bằng chứng cho A1 và gửi nó đến AggLayer. Sau khi bằng chứng được AggLayer xác minh, A1 sẽ được xác nhận nếu tất cả các lô mà nó phụ thuộc cũng được xác nhận.
  6. Hoàn thiện: Sau khi A1 được xác nhận, bằng chứng của nó được tổng hợp cùng với các đợt từ các bản tổng hợp khác thành một bằng chứng duy nhất được đăng lên Ethereum. Bằng chứng tổng hợp chứng minh rằng các trạng thái và gói của chuỗi phụ thuộc là nhất quán.

Các chuỗi có thể điều hướng không gian cân bằng giữa độ trễ và sự đảm bảo về tính sống động cho chính chúng. Một chuỗi có thể chọn tương tác với một chuỗi khác sau bước xác nhận trước đối với các giao dịch chuỗi chéo có độ trễ siêu thấp, nhưng về cơ bản, mô hình này tương thích với các chuỗi đang chờ xác nhận hoặc thậm chí là hoàn tất.

Việc đảm bảo an toàn cho các giao dịch xuyên chuỗi được thực thi ở bước thứ ba. Hãy tìm hiểu sâu hơn về cách thiết kế này cho phép tương tác chuỗi chéo an toàn.

Khả năng tương tác không đồng bộ

Lấy ví dụ đầu tiên về chuyển giao chuỗi chéo. Alice trên Chuỗi A muốn khóa hoặc đốt một số mã thông báo trong khối A1 để đúc và chuyển mã thông báo cho Bob trên Chuỗi B. Nếu Chuỗi B không đợi cho đến khi A1 được hoàn tất trên Ethereum với bằng chứng hợp lệ thì Chuỗi A có thể lập lờ hoặc cung cấp cho Chuỗi B trạng thái không hợp lệ.

Lớp tổng hợp giải quyết vấn đề này một cách đơn giản. Chuỗi B có thể tạm thời cho rằng A1 là hợp lệ và sẽ được hoàn thiện trên Ethereum mà không cần chờ bằng chứng. Trình sắp xếp chuỗi cho Chuỗi B cam kết gốc A1 trạng thái Chuỗi A đã được xác nhận quyền sở hữu dưới dạng phần phụ thuộc trong tiêu đề cho B1 (dưới dạng B1A1 ) trước khi gửi đến Lớp Tổng hợp. Độ trễ cần thiết để Chuỗi B xây dựng B1 giảm từ 20 phút xuống nhiều nhất là vài giây.

Ở bước Xác nhận, Lớp tổng hợp xây dựng biểu đồ phụ thuộc cho từng khối/đợt được gửi. Ví dụ: nếu A1 phụ thuộc vào B1, thì B1 lại phụ thuộc vào B1, thì C1 sẽ được xác nhận ngay sau khi bằng chứng πC1 được gửi. Tuy nhiên, ngay cả khi nhận được πA1, πA1 chỉ được xác nhận với cả πC1 và πB1. Khía cạnh quan trọng của thiết kế này là mạch tổng hợp bằng chứng thực thi tính nhất quán giữa các phần phụ thuộc. Nếu B1A1 không nhất quán với khối A1 mà Chuỗi A gửi hoặc thiếu bằng chứng cho A1′ thì B1 không thể được đưa vào lô tổng hợp được hoàn thiện trên Ethereum.

Cơ chế này đảm bảo rằng nếu Chuỗi A không hợp lệ hoặc gửi một khối không hợp lệ, chẳng hạn như A1′, thì bất kỳ lô nào phụ thuộc vào gốc trạng thái không hợp lệ hoặc không rõ ràng đối với Chuỗi A đều không thể được hoàn tất/giải quyết trên Ethereum. Ngay cả khi bản thân AggLayer không rõ ràng, các chuỗi có đảm bảo bằng mật mã rằng bất kỳ khối nào phụ thuộc vào khối không hợp lệ hoặc không rõ ràng đều không thể được hoàn thiện, bởi vì hai bằng chứng cho trạng thái chuỗi không nhất quán hoặc không hợp lệ không thể được tổng hợp lại với nhau trong mạch tổng hợp bằng chứng. Điều này đảm bảo rằng đặc tính an toàn được mô tả ở trên được bảo tồn.

Khả năng tương tác nguyên tử

Cơ chế an toàn có thể được mở rộng cho trường hợp nguyên tử. Giả sử người dùng gửi một gói giao dịch nguyên tử tới nhiều chuỗi. Gói này được đặt hàng, do đó kết quả thực hiện giao dịch trên Chuỗi A được chuyển đến Chuỗi B và tương tự, trạng thái cập nhật của Chuỗi B được chuyển đến Chuỗi C, v.v. Nếu tất cả các giao dịch được thực hiện thành công trên tất cả các chuỗi thì gói đó sẽ được bao gồm; nếu không, nó bị từ chối.

Sẽ là lý tưởng nếu cung cấp khả năng bao gồm các giao dịch nguyên tử mà không cần:

  1. Yêu cầu người vận hành Chuỗi B chạy một nút đầy đủ cho tất cả các chuỗi khác có trong một gói; hoặc
  2. Chấp nhận rủi ro rằng gói có thể được đưa vào một phần trên Ethereum (gây tổn hại cho các chuỗi tham gia).

Điều này đặt ra một vấn đề an toàn tương tự như trong trường hợp không đồng bộ: Chuỗi A có thể lập lờ và gửi một lô không thực sự bao gồm gói nguyên tử hoặc gửi kết quả không hợp lệ đến Chuỗi B.

May mắn thay, cơ chế tương tự từ trường hợp không đồng bộ có thể được sử dụng lại cho trường hợp nguyên tử. Chuỗi B cam kết bó và nhận kết quả giao dịch từ chuỗi khác. Lớp tổng hợp (và mạch tổng hợp bằng chứng) kiểm tra xem các gói có nhất quán trên các chuỗi hay không. Một lô chứa gói từ Chuỗi B chỉ có thể được hoàn tất/thanh toán trên Ethereum nếu tất cả các giao dịch trong gói được thực hiện thành công.

Khả năng kết hợp chuỗi chéo

Lớp tổng hợp cho phép khả năng kết hợp chuỗi chéo có độ trễ siêu thấp thông qua các lệnh gọi chuỗi chéo không đồng bộ. Đây là một nguyên thủy cực kỳ mạnh mẽ: các hợp đồng có thể gọi các hợp đồng trên các chuỗi khác một cách an toàn với độ trễ cực thấp mà không cần chờ đợi kết quả cuối cùng của Ethereum. Người dùng có thể tham gia thông qua chuỗi OKX trên Polygon và ngay lập tức gửi tiền vào thị trường cho vay có tính thanh khoản cao trên Aave trên một chuỗi khác chỉ bằng một cú nhấp chuột mà không cần phải chuyển đổi khỏi tài sản tổng hợp được bao bọc.

Cơ sở hạ tầng phối hợp khẩn cấp

AggregationLayer đảm bảo rằng các tương tác chuỗi chéo gần như tức thời sẽ an toàn [3]. Nhưng đây chỉ là một nửa trận chiến. Làm thế nào để các nhà vận hành chuỗi chia sẻ và tin cậy trạng thái chuỗi của nhau? Làm thế nào để họ phối hợp sản xuất các bó nguyên tử?

Mục tiêu thiết kế của AggLayer là nó phải ở mức tối thiểu. Mục đích của nó là đảm bảo an toàn và cung cấp nền tảng cho phép mọi người xây dựng cơ sở hạ tầng phối hợp mang lại sự sống động trong nhiều môi trường khác nhau.

Người vận hành chuỗi có thể tự do lựa chọn giữa các cơ chế phối hợp mới nổi tùy thuộc vào các giả định về độ tin cậy của họ - chúng có thể bao gồm các cơ chế chuyển tiếp, cơ sở hạ tầng chứng minh được chia sẻ hoặc các cụm trình sắp xếp hợp lệ được chia sẻ [4]. Những điều này bảo vệ chuỗi khỏi các vấn đề về độ sống khi phụ thuộc vào các trạng thái hoặc gói khác của chuỗi.

Hệ sinh thái Polygon ưu tiên sự lựa chọn và chủ quyền cho các chuỗi. Các chuỗi có thể chạy các môi trường thực thi được sửa đổi của riêng chúng, sử dụng mã thông báo của riêng chúng để đặt cược và phí gas, chọn cơ chế sẵn có dữ liệu của riêng chúng, v.v. Tương tự, các chuỗi nên quyết định cách xử lý sự cân bằng giữa khả năng tương tác và nguy cơ xảy ra lỗi về khả năng hoạt động. Có một số lựa chọn:

  1. Chuỗi B có thể từ chối hoàn toàn khả năng tương tác nhanh và lớp tổng hợp. Nó có thể chỉ cần gửi các lô và bằng chứng trực tiếp tới Ethereum và việc hoàn thiện không bao giờ bị trì hoãn.
  2. Chuỗi B chỉ có thể chấp nhận trạng thái của Chuỗi A khi trạng thái của Chuỗi A được AggLayer xác nhận. Chuỗi B sẽ chỉ bị trì hoãn nếu AggLayer không rõ ràng.
  3. Chuỗi B có thể chấp nhận trạng thái của Chuỗi A khi Chuỗi A được AggLayer xác nhận trước. Chuỗi B sẽ bị trì hoãn nếu AggLayer không rõ ràng hoặc Chuỗi A không đưa ra được bằng chứng.
  4. Chuỗi B có thể chấp nhận trạng thái của Chuỗi A trong cài đặt ngang hàng mà không cần kiểm tra xem Chuỗi A có được xác nhận trước trên AggLayer hay không. Chuỗi B sẽ bị trì hoãn nếu Chuỗi A không rõ ràng hoặc không đưa ra được bằng chứng.

Một điều quan trọng cần lưu ý là người dùng không thể gây ra lỗi hoạt động mà chỉ gây ra các chuỗi hoạt động sai hoặc trục trặc. Sự tương đương và việc gửi một khối không hợp lệ có thể bị phạt nặng, thông qua việc cắt giảm hoặc loại bỏ các chuỗi khỏi AggLayer và ngăn cản khả năng tương tác liền mạch của chúng. Vì vậy, lỗi sống động là cực kỳ hiếm.

Các chuỗi có thể thực hiện các biện pháp phòng ngừa bổ sung để giảm thiểu rủi ro về các vấn đề tồn tại, bằng cách duy trì danh sách trắng hoặc danh sách đen của các chuỗi khác mà chúng tương tác và đặt giới hạn về số lượng chuỗi có thể tham gia chung vào bất kỳ lô nào. Họ có thể dựa vào các bên thứ ba chạy các nút đầy đủ để đảm bảo rằng nếu một chuỗi ngoại tuyến trước khi nó có thể tạo ra bằng chứng thì sẽ có một bộ chứng minh dự phòng.

Cơ chế phối hợp các chuỗi để tiếp nhận các bó nguyên tử cũng rất linh hoạt. Ví dụ: một tập hợp con các chuỗi có thể tương tác với nhau trong cụm trình tự hợp lệ được chia sẻ với độ trễ cực thấp hoặc chúng có thể dựa vào các rơle.

Trình chuyển tiếp được bảo mật bằng tiền điện tử có thể cho phép khả năng tương tác giữa Chuỗi A và B bằng cách chạy một nút đầy đủ cho cả hai chuỗi và chứng thực rằng các trạng thái từ mỗi chuỗi là hợp lệ. Ngay cả khi Chuỗi A hoặc B xác nhận trước một đợt mới và sau đó ngoại tuyến, cơ sở hạ tầng chứng minh dùng chung có thể bước vào để tạo bằng chứng.

Bạn có thể tưởng tượng cơ sở hạ tầng phối hợp mới nổi lên trên nền tảng an toàn do AggLayer cung cấp, cho phép các hình thức tương tác mới và tốt hơn cũng như thanh khoản chung. Điều quan trọng là toàn bộ hệ sinh thái Polygon không cần phải chia sẻ cùng một cơ sở hạ tầng hoặc các giả định về độ tin cậy. Nó không cần phải hoạt động theo một trình tự xác thực hoặc trình chứng minh hợp lệ được chia sẻ duy nhất. Đây là một lợi thế cực kỳ quan trọng so với OR.

Đóng

Lớp tổng hợp về cơ bản cho phép chúng tôi tạo ra một hệ sinh thái đa chuỗi giống như sử dụng một chuỗi duy nhất. Đó là sự tổng hợp của các luận điểm nguyên khối và mô-đun: trạng thái thống nhất, tính thanh khoản và khả năng kết hợp, với khả năng mở rộng không giới hạn của hệ sinh thái đa chuỗi.

Tổng hợp trong ZK so với hệ thống lạc quan

Đây là tầm nhìn về cơ bản chỉ có sẵn cho các hệ thống dựa trên ZK. Tôi sẽ mở rộng điểm này trong một bài đăng sau, nhưng các hệ sinh thái Lạc quan muốn có khả năng tương tác nhanh phải dựa vào các trình sắp xếp hợp lệ được chia sẻ. Đây là một thỏa thuận tồi đối với các chuỗi: nó hạn chế chúng phân phối lại phí trình tự sắp xếp và MEV, trình sắp xếp trình tự hợp lệ được chia sẻ buộc các chuỗi có khả năng chấp nhận các hạn chế đối với môi trường thực thi của chúng và khả năng tương tác trong các hệ thống dựa trên OR buộc các chuỗi phải chấp nhận các giả định tin cậy bổ sung để đổi lấy mức thấp. độ trễ.

Hơn nữa, khả năng tương tác chuỗi chéo phá vỡ một thuộc tính quan trọng đối với OR. Với OR chuỗi đơn, bất kỳ ai cũng có thể chạy một nút đầy đủ cho OR và ngay lập tức xác nhận rằng các giao dịch là hợp lệ và được hoàn tất ngay khi chúng được đăng lên L1. Điều này không còn đúng trong trường hợp nhiều chuỗi - giờ đây cần phải chạy một nút đầy đủ cho mọi chuỗi mà OR tương tác với nó.

Ngược lại, tầm nhìn của Polygon là tầm nhìn mà các chuỗi có chủ quyền. Họ có thể sử dụng bất kỳ môi trường thực thi nào, có thể dựa vào bất kỳ trình sắp xếp tập trung hoặc phi tập trung nào và có thể điều hướng sự cân bằng giữa độ trễ chuỗi chéo và khả năng tồn tại của chính họ.

Đây là một tầm nhìn phản ánh Internet hiện có. Internet là một môi trường hợp nhất, không cần cấp phép và có khả năng mở rộng linh hoạt. Tương tự như vậy, AggLayer có thể mở rộng và không cần cấp phép - nó không áp đặt hạn chế nào đối với các chuỗi tham gia - và cho phép người dùng di chuyển nội dung và trạng thái một cách liền mạch trong toàn hệ sinh thái, thể hiện một giao diện thống nhất cho lớp giá trị của Internet.

Đây là tương lai của Polygon: không nguyên khối, không hoàn toàn theo mô-đun mà được tổng hợp.

[1] Một phần của việc đảm bảo tính thanh khoản thống nhất là loại bỏ UX khủng khiếp của các token tổng hợp được bọc trên các cây cầu. Người dùng cầu LxLy của Polygon có thể chuyển tài sản qua các chuỗi một cách liền mạch trong khi vẫn duy trì được khả năng thay thế. Tuy nhiên, để thực hiện việc này một cách an toàn, chúng ta cần bảo vệ khỏi bảo mật liên kết yếu nhất - hoặc kẻ tấn công làm hỏng một chuỗi duy nhất và tiêu hết tiền trên tất cả các chuỗi trong cầu. Tôi sẽ thảo luận cách thực hiện việc này trong một bài đăng sau, nhưng AggLayer có thể tận dụng bước tổng hợp bằng chứng để thực thi kế toán cấp chuỗi, tránh bảo mật liên kết yếu nhất.

[2] Khi tôi đề cập đến các giao dịch xuyên chuỗi nguyên tử, ý tôi là khả năng người dùng gửi “gói” hoặc tập hợp các giao dịch trên nhiều chuỗi. Gói nguyên tử có đặc tính là các giao dịch của nó được bao gồm trong mỗi chuỗi liên quan khi và chỉ khi tất cả các giao dịch thực hiện thành công. Nếu một giao dịch không thành công thì gói đó không thể được đưa vào bất kỳ chuỗi nào.

Ví dụ cơ bản nhất một lần nữa là chuyển giao chuỗi chéo của chúng tôi. Giả sử Alice muốn gửi 1 ETH cho Bob, nhưng Alice ở Chuỗi A và Bob ở Chuỗi B. Giả sử có một cầu nối chung cho cả hai lần cuộn, Alice có thể ghi ETH của mình trên Chuỗi A và đúc ETH trên Chuỗi B, điều này được chuyển giao cho Bob. Nhưng điều quan trọng là phải đảm bảo rằng cô ấy không thể đúc ETH mà không đốt nó hoặc ngược lại - cô ấy có thể mất ETH hoặc tài sản thế chấp cho cây cầu không đủ.

Đây là lý do tại sao các giao dịch nguyên tử rất quan trọng. Để cho phép tương tác có độ trễ thấp giữa các chuỗi và làm cho việc sử dụng hệ sinh thái Polygon có cảm giác giống như sử dụng một chuỗi duy nhất, cần có các đảm bảo nguyên tử.

[3] Đây là một điểm tế nhị, nhưng từ góc độ hệ sinh thái - AggLayer mang lại sự an toàn, nhưng từ góc độ của một chuỗi duy nhất, thiết kế này ưu tiên sự sống động hơn là sự an toàn, vì Chuỗi B có thể phụ thuộc vào trạng thái chuỗi từ Chuỗi A điều đó không hợp lệ. Trong trường hợp này, Chuỗi B sẽ không được AggLayer chấp nhận (được thực thi bởi mạch tổng hợp bằng chứng) và sẽ cần xây dựng một khối mới mà không phụ thuộc vào A.

[4] Cách tiếp cận tổng thể của chúng tôi phụ thuộc rất nhiều vào thiết kế Trình tự tính hợp lệ được chia sẻ từ Umbra Research.

9/2/24 - Đã cập nhật bản dự thảo này để làm rõ một số so sánh giữa trình tự tổng hợp và trình tự chia sẻ. Luận điểm tổng hợp phụ thuộc vào các cơ chế như trình sắp xếp trình tự, rơle và trình xây dựng được chia sẻ để tạo điều kiện phối hợp giữa các chuỗi. Lớp agg lần lượt đảm bảo an toàn.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [[Nông dân Brendan], Mọi bản quyền thuộc về tác giả gốc [Nông dân Brendan]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn , họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.
Şimdi Başlayın
Kaydolun ve
100 USD
değerinde Kupon kazanın!
Üyelik oluştur