BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Hướng dẫn đầy đủ về Trình sắp xếp tổng số: Khái niệm, Trạng thái và Sắp xếp được chia sẻ

Foresight News
特邀专栏作者
2023-05-09 13:00
Bài viết này có khoảng 5170 từ, đọc toàn bộ bài viết mất khoảng 8 phút
Sequencer là một thiên tài của người thợ đồng hồ, thiết lập lịch sử của Rollup và theo dõi nó tích tắc đến trạng thái định mệnh của nó.
Tóm tắt AI
Mở rộng
Sequencer là một thiên tài của người thợ đồng hồ, thiết lập lịch sử của Rollup và theo dõi nó tích tắc đến trạng thái định mệnh của nó.

Phần tổng hợp gốc: 0x11, Tin tức tầm nhìn xa

Phần tổng hợp gốc: 0x11, Tin tức tầm nhìn xa

Shared Sequencer đang phát triển với những bước nhảy vọt và đã đến lúc phân tích sâu xem nó là gì và tại sao nó tồn tại. Đối tượng phân tích trong bài viết này được giới hạn ở Bản tổng hợp lạc quan và những người theo dõi ZK đều được chào đón đến và đưa ra lời khuyên.

Máy phân loại là gì?

Trình sắp xếp thứ tự là một vai trò bán đáng tin cậy trong Tổng hợp lạc quan. Mặc dù các giao dịch có thể được sắp xếp theo chính chuỗi chính, nhưng điều này không kinh tế và người dùng phải gửi riêng các giao dịch chuỗi chính tương ứng với các giao dịch Tổng hợp của họ và trả phí trên chuỗi chính. Người đặt hàng giải quyết những vấn đề này cho người dùng bằng cách cho phép các giao dịch Rollup chia sẻ một giao dịch chuỗi chính duy nhất.

Bộ sắp xếp tổng hợp nhiều giao dịch người dùng ngoài chuỗi để bổ sung cho việc phân loại chuỗi chính và gửi chúng đến chuỗi chính dưới dạng một tập hợp giao dịch duy nhất và chi phí giao dịch được chia sẻ giữa những người dùng. Bộ sắp xếp cũng có thể nén các bộ sưu tập giao dịch, tiếp tục tiết kiệm chi phí sẵn có của dữ liệu chuỗi chính. Người dùng tự đặt hàng sẽ trả nhiều tiền hơn cho các giao dịch có trong Tổng số so với người dùng dựa vào người đặt hàng.

Tuy nhiên, bộ sắp xếp có thể kiểm soát thứ tự của các giao dịch trong bộ sưu tập giao dịch. Nó có thể chọn không bao gồm các giao dịch của người dùng, do đó buộc người dùng phải tự sắp xếp và trả chi phí chuỗi chính cao hơn. Nó cũng có thể trích xuất MEV trong các tập hợp giao dịch bằng phương pháp sắp xếp lại và trích xuất chèn. Họ thực sự có quyền ghi ưu tiên vào Rollup. Điều đáng chú ý là vì người đặt hàng có thể tương tác với hợp đồng, nên chỉ các giao dịch đáng tin cậy tuyệt đối mới có thể được thực thi một cách đáng tin cậy bởi cơ chế trên chuỗi và các giao dịch không đáng tin cậy có khả năng thất bại khi buộc phải đặt hàng.

Điều này làm cho người đối chiếu trở thành một bên bán đáng tin cậy cho người dùng Rollup. Mặc dù người đặt hàng không thể ngăn người dùng truy cập Tổng số, nhưng họ có thể trì hoãn quyền truy cập của người dùng, khiến người dùng phải trả thêm phí và trích xuất giá trị từ giao dịch của người dùng. Hạn chế hơn nữa hành vi của máy phân loại thông qua phân quyền là một biện pháp tích cựcđề tài nghiên cứu

Sự khác biệt giữa sắp xếp và thực thi là gì?

Trình sắp xếp là phần bổ sung cho chuỗi sắp xếp chính, nó không tính toán trạng thái của Rollup, trên thực tế, nó có thể chọn sắp xếp các giao dịch không hợp lệ. Nút Tổng số phải phân tích cú pháp và làm sạch dữ liệu sắp xếp, xuất lịch sử hợp lệ cho Tổng số và thực thi lịch sử để tạo ra trạng thái mới nhất. Trình sắp xếp thứ tự hoàn toàn nằm ngoài quy trình này.

Tuy nhiên, như bạn tôiFredNhư tôi thường xuyên được nhắc nhở, một khi các giao dịch được sắp xếp theo trình tự, kết quả sẽ mang tính quyết định. Điều này có nghĩa là tất cả các nút Tổng số sẽ thống nhất về kết quả theo thứ tự do bộ sắp xếp tạo ra. Tổng số có trạng thái chính xác với lịch sử đã biết. Khi một nút tìm thấy trạng thái này, một hoặc nhiều người đề xuất sẽ gửi nó đến hợp đồng Rollup của chuỗi chính.

Về lý thuyết, bất kỳ nút nào cũng có thể là người đề xuất, không cần quyền. Người đề xuất cam kết trạng thái với chuỗi chính cùng với trái phiếu. Nếu bằng chứng gian lận hóa ra là trạng thái không hợp lệ, tiền đặt cọc sẽ bị mất. Hợp đồng chấp nhận bằng chứng sau khi bộ đếm thời gian hết hạn và các giao dịch người dùng có trong đó sau đó được thực hiện trên chuỗi chính. Nút thực thi đảm bảo tính trung thực của người đề xuất thông qua trò chơi gian lận và chúng tôi có xu hướng gọi nút thực thi là "Nút đầy đủ cuộn lên" hoặc "trình xác thực".

Nói cách khác, một khi thứ tự được cam kết với chuỗi chính, trạng thái sẽ trở thành cuối cùng và không thay đổi. Người đề xuất tính toán và báo cáo trạng thái cuối cùng cho hợp đồng Rollup để duy trì lợi ích của cầu nối tài sản từ Rollup đến chuỗi chính. Những người đề xuất không tạo ra trạng thái, họ chỉ tính toán và chứng minh điều đó. Hợp đồng Rollup không tạo hoặc hoàn thiện Rollup, nó chỉ lấy trạng thái Rollup từ người đề xuất.

Tại sao đặt hàng và đề xuất riêng biệt?

Đây là một vấn đề phức tạp. Về cơ bản, chúng được tách biệt bởi vì chúng là riêng biệt. Điều này nghe có vẻ trùng lặp, nhưng có vẻ như phải mất một thời gian dài mọi người mới nhận ra điều đó. Chúng tôi nhìn lại và thấy rằng lịch sử các ý tưởng của Rollup đã trải qua nhiều năm trong các kênh Plasma và trạng thái. Trong những ngày đầu của Proto-Rollup dựa trên Bitcoin, không có người đặt hàng và người dùng chỉ cần đăng các giao dịch của họ lên chuỗi chính. Sau đó, thiết kế này đã biến mất trong nhiều năm, cuối cùng vìBarrycông việc lại xuất hiện. Giữa Barry và Celestia, nghiên cứu của Rollup tập trung vào sự tương tác của cầu nối Rollup với chuỗi chính. Trước khi có Sovereign Rollup, thậm chí không ai nhận ra rằng chúng tôi đang thực sự xây dựng một Mastercoin tốt hơn.

Đặt nguồn gốc sang một bên, các trình sắp xếp theo trình tự giải quyết một vấn đề cụ thể: giảm thiểu chi phí giao dịch cho người dùng. Tuy nhiên, quy trình này đưa ra một vấn đề mới: bộ sắp xếp có thể tạo ra nhiều kết quả sắp xếp cho cùng một giao dịch cùng một lúc. Nếu việc sắp xếp được thực hiện hoàn toàn bởi chuỗi chính, thì sẽ có một cách sắp xếp chính tắc duy nhất, nhưng phí giao dịch của người dùng sẽ đắt hơn. Chúng tôi đã chọn sử dụng bộ sắp xếp để cải thiện trải nghiệm người dùng trong Tổng số.

Giả sử rằng có nhiều người đặt hàng vì có nhiều người đề xuất. Bộ sắp xếp có thể gửi các thứ tự xung đột và giờ chúng tôi cần một cơ chế để "chuẩn hóa" các lô được sắp xếp cụ thể trên chuỗi chính. Tổng số hiện tại thực hiện điều này thông qua một người đặt hàng duy nhất, cụ thể, đã biết, bán đáng tin cậy. Việc chọn một máy phân loại duy nhất cho phép chúng tôi giải quyết vấn đề này cho đến khi máy phân loại phi tập trung xuất hiện. Vì chúng tôi muốn có nhiều người đề xuất nhưng chỉ có một người đặt hàng nên hai vai trò này phải được tách biệt.

Sự phụ thuộc dữ liệu là một lý do quan trọng khác: người đề xuất cần đặt hàng, nhưng người đặt hàng không cần trạng thái. Người đề xuất phụ thuộc vào kết quả công việc của người đặt hàng, nhưng người đặt hàng không phụ thuộc vào người đề xuất. Bởi vì dữ liệu phụ thuộc là một chiều, nên ranh giới cần được vạch ra giữa các vai trò và các tác nhân được phép tập trung vào một vai trò duy nhất.

Để trả lời câu hỏi ban đầu, chúng tôi tách người đề xuất và người đặt hàng vì bản thân họ là riêng biệt. Người đề xuất làm việc ở hạ lưu của người đặt hàng. Rollup trao niềm tin và quyền hạn cho người đặt hàng, trong khi người đề xuất chỉ là một công nhân bình thường.

Trạng thái của Người đặt hàng, Người đề xuất và Người xác nhận

Arbitrum và Optimism là hai chương trình ORU phổ biến. Tôi muốn giới thiệu ngắn gọn các vai trò chính trong số đó, không có mã nào liên quan, chỉ có đặc điểm kỹ thuật và tài liệu. Thảo luận về sự lạc quan sẽ được giới hạn trong thiết kế (chưa được triển khai) của Bedrock.

Arbitrum

Ngoài việc tạo khối và nén các giao dịch của người dùng, bộ đối chiếu Arbitrum cũng chạy một nút đầy đủ. Các giao dịch được gửi trực tiếp đến người đặt hàng, tạo nguồn cấp dữ liệu WebSocket đáng tin cậy khi các giao dịch được đặt hàng. Arbitrum sử dụng nguồn cấp dữ liệu này làm nguồn xác nhận "mềm". Trình sắp xếp đưa ra lời hứa về kết quả sắp xếp và người dùng thường có thể dựa vào sự sắp xếp đó. Các nút, Người tìm kiếm MEV hoặc các tác nhân khác có thể sử dụng nguồn cấp dữ liệu này để tính toán trước trạng thái Tổng số.

Trình sắp xếp xuất bản định kỳ các giao dịch được nén đã sắp xếp lên chuỗi chính. Việc hoàn thiện chuỗi chính thể hiện xác nhận "cứng" của Rollup. Sau khi thứ tự được thiết lập trên chuỗi chính, nó sẽ trở thành một phần bất biến của chuỗi Arbitrum, trong đó tất cả các giao dịch trong thứ tự trở thành cuối cùng và trạng thái kết quả trở thành cuối cùng.

Đương nhiên, vì trình sắp xếp thứ tự đặt thứ tự giao dịch, nên nó có quyền truy cập ghi ưu tiên. Bộ sắp xếp có thể kiểm soát những gì được sắp xếp và do đó, thứ tự của các giao dịch trong lịch sử Tổng số. Tất nhiên, người dùng có thể sử dụngdelayed inboxBắt buộc bao gồm các giao dịch. Những người tìm kiếm đã nỗ lực hết sức để giảm thiểu độ trễ của nguồn cấp dữ liệu giao dịch WebSocket của họ, vì vậy họ có thể sẽ hình thành một thị trường MEV mạnh mẽ để sắp xếp các giao dịch Arbitrum.

Có 13 người đề xuất Arbitrum được phê duyệt, mỗi người trong số họ làRBlockETH được ký quỹ trong một cam kết cụ thể là . Người dùng có thể chọn dựa vào tỷ lệ phần trăm cổ phần của họ để đưa ra quyết định cuối cùng về Rollup mà không cần chạy nút đầy đủ Rollup. Mặc dù những người xác thực Arbtirum có thể xác định gian lận, nhưng chỉ những người đề xuất mới có thể thách thức tính hợp lệ của các cam kết thông qua bằng chứng gian lận. Trên thực tế, chỉ những người đề xuất mới có thể trở thành người xác nhận đầy đủ.

Công lý, giống như một người theo dõi, bị mù, nó phải mang theo một thanh kiếm

Optimism

Giống như Arbitrum, bộ đối chiếu Optimism chạy một nút đầy đủ bên cạnh việc tạo khối và nén các giao dịch của người dùng. Các giao dịch được gửi trực tiếp đến người đặt hàng, điều này tạo ra các xác nhận trước đáng tin cậy khi đặt hàng. Người lạc quan có thể sử dụng những xác nhận này như một nguồn xác nhận mềm cuối cùng. Bộ sắp xếp đưa ra lời hứa về thứ tự và người dùng thường có thể dựa vào thứ tự đó. Các nút, Người tìm kiếm MEV hoặc các tác nhân khác có thể sử dụng các xác nhận này để tính toán trước trạng thái Tổng số.

Trình sắp xếp xuất bản định kỳ các giao dịch được nén đã sắp xếp lên chuỗi chính. Việc hoàn thiện chuỗi chính thể hiện xác nhận "cứng" của Rollup. Khi chuỗi chính đã thiết lập một trình tự, nó sẽ trở thành một phần không thể thay đổi trong lịch sử của chuỗi Lạc quan. Tất cả các giao dịch được sắp xếp trong đó trở thành trạng thái cuối cùng và trạng thái kết quả cũng trở thành trạng thái cuối cùng.

Đương nhiên, vì trình sắp xếp thứ tự đặt thứ tự giao dịch, nên nó có quyền ghi trước. Bộ sắp xếp có thể kiểm soát những gì được sắp xếp và do đó, thứ tự của các giao dịch trong lịch sử Tổng số. Tất nhiên, người dùng có thể buộc các giao dịch được đưa vào chuỗi chính. Với tư cách là người khởi xướng khái niệm đấu giá MEV, có vẻ như một thị trường MEV mạnh mẽ để đặt hàng các giao dịch Lạc quan sẽ được hình thành.

Lạc quan có 1người đề xuất được cấp phépbản tóm tắt

bản tóm tắt

máy phân loại dùng chung

máy phân loại dùng chung

Với hiểu biết mới về máy sắp xếp, hãy chuyển sang chủ đề tôi thực sự muốn nói: máy sắp xếp dùng chung. Điều gì xảy ra khi Tổng số chia sẻ cùng một bộ sắp xếp?

Các Rollup khác nhau có nghĩa là gì?

vay mượnĐịnh nghĩa của Ben, chúng ta nên coi Tổng số như một trạng thái, chức năng chuyển đổi trạng thái và hệ thống bằng chứng. Một Rollup có các hợp đồng và tài khoản, đồng thời nó có một máy ảo để xử lý các giao dịch nhằm cập nhật các hợp đồng và tài khoản đó, trong khi Rollup không có chủ quyền có một hệ thống bằng chứng để chạy cầu nối với chuỗi chính. Mỗi thành phần có nhiều kiểu dáng và chúng có thể được kết hợp và kết hợp ở một mức độ nào đó.

Tuy nhiên, một số thành phần bình đẳng hơn những thành phần khác. Nhìn chung, có lẽ chúng ta nên coi trạng thái là bản chất của chuỗi. Chuỗi không có xu hướng thay đổi trạng thái của họ. Rốt cuộc, các nhà phát triển Ethereum đã thay đổi máy ảo nhiều lần, thay đổi cơ chế đồng thuận nhiều lần nhưng chỉ thay đổi trạng thái một lần. Trạng thái là Rollup, máy ảo và hệ thống bằng chứng tồn tại để hỗ trợ nó. Do đó, Rollup khác nhau có trạng thái khác nhau. Chúng có thể chia sẻ một hệ thống bằng chứng hoặc STF, nhưng hai Bản tổng hợp không bao giờ có thể chia sẻ cùng một trạng thái.

Trích xuất, kiểm tra và lọc

Các bản tổng hợp lấy trạng thái của chúng từ lịch sử chuỗi chính. Để thực hiện việc này, mỗi Tổng số phải xác định chức năng "tìm nạp". Hàm trích xuất chia lịch sử chuỗi chính thành lịch sử Tổng số và lịch sử không Tổng số. STF xử lý lịch sử Tổng số để tạo trạng thái Tổng số. Trên thực tế, chức năng tìm nạp trở thành một "ống kính" mà qua đó Rollup kiểm tra chuỗi chính.

Tổng số cho phép trình sắp xếp chọn trích xuất đầu ra của lần chạy hàm tiếp theo. Bộ sắp xếp chọn dữ liệu mà nút Tổng số sẽ xem và xử lý tiếp theo, do đó, nó có một số quyền kiểm soát đối với hoạt động và trạng thái tiếp theo của STF.

máy phân loại dùng chung

máy phân loại dùng chung

Bộ sắp xếp được chia sẻ cung cấp đầu vào cho các chức năng trích xuất của hai hoặc nhiều Tổng số. Do đó, nó thiết lập các bản ghi lịch sử mới cho cả hai, kiểm soát đầu vào của STF. Nó có thể làm điều này cho từng Rollup riêng lẻ hoặc cho cả hai. Khi lịch sử được đặt riêng lẻ, nó hoạt động chính xác như bộ sắp xếp không chia sẻ.

Tuy nhiên, khi tạo lịch sử mới cho hai Tổng số cùng một lúc, Trình sắp xếp thứ tự được chia sẻ có thể thực hiện một số quyền bổ sung bằng cách "liên kết" nguyên tử lịch sử của hai Tổng số. Trình sắp xếp trình tự tạo đồng thời các trình tự cho từng Tổng số và đảm bảo rằng cả hai đều được xác nhận hoặc không được xác nhận. Điều này cho phép người đặt hàng kiểm soát lịch sử của cả hai chuỗi và do đó có một số mức độ kiểm soát đối với trạng thái tiếp theo của Rollup.

Bao gồm nguyên tử (không thực hiện nguyên tử)

Tại thời điểm này, tôi phải nhắc lại rằng một máy phân loại có thể thực hiện rất nhiều quyền quyết định đối với các loại mà nó tạo ra. Điều này có nghĩa là mặc dù người dùng có thể sử dụng trình đặt hàng được chia sẻ để giao dịch trên nhiều Rollup mà không cần tương tác với chuỗi chính, nhưng họ không nhất thiết phải dựa vào trình đặt hàng để tạo bất kỳ mối quan hệ cụ thể nào giữa các giao dịch đó. Những người ủng hộ bộ sắp xếp dùng chung hình dung ra một cấu trúc mới trong đó người dùng có thể chỉ định tính nguyên tử của ngăn chặn, nghĩa là bộ sắp xếp có thể buộc phải sắp xếp một tập hợp các giao dịch trong nhiều Tổng số cùng một lúc thông qua cơ chế đặt hàng bắt buộc dùng chung. Điều này sẽ cho phép người dùng đảm bảo rằng tất cả các giao dịch nguyên tử này đều được đưa vào lịch sử Tổng số hoặc không có giao dịch nào cả.

Nó không tốt như vẻ ngoài của nó. Bởi vì chỉ các giao dịch không thể sai lầm mới có thể thực thi đặt hàng, chỉ các bộ giao dịch không thể sai lầm mới được đảm bảo thực thi nguyên tử khi được đưa vào nguyên tử. Như chúng tôi đã nói trước đây, ngăn chặn và thực thi là riêng biệt. Tổng số lọc các giao dịch không hợp lệ thông qua chức năng lọc sau khi đưa vào và trước khi thực hiện. Giả sử người đặt hàng tìm nạp bộ nguyên tử của người dùng và khiến giao dịch không thành công hoặc vô hiệu. Giao dịch sẽ được lọc sau khi sắp xếp và sẽ không được thực hiện. Điều này có nghĩa là việc bao gồm nguyên tử là không đủ để đảm bảo thực thi nguyên tử trừ khi tất cả các giao dịch liên quan đều không thể sai lầm.

Cụ thể, việc gửi và rút tiền đơn giản có thể được thực hiện nguyên tử, nhưng bất kỳ thứ gì dễ xảy ra lỗi, như giao dịch hoán đổi hoặc tương tác DeFi, thì không thể. Thật không may, hầu hết các tương tác có giá trị cao bao gồm 1 hoặc nhiều giao dịch dễ xảy ra lỗi, do đó, có vẻ khó thực hiện việc bao gồm nguyên tử. Điều này loại trừ hiệu quả khả năng kết hợp DeFi đối với các Rollup chéo thông qua trình sắp xếp thứ tự được chia sẻ. Người đặt hàng được chia sẻ không phải là thuốc chữa bách bệnh, tài sản của người dùng có thể bị khóa trong mô hình chuỗi chéo không đồng bộ cho đến khi kết thúc quá trình.

Nguyên tử thực thi thành phần tổng số

Hãy nhớ cách chúng ta nói về cách người đặt hàng cung cấp đảm bảo thực hiện đáng tin cậy trước khi xuất bản đơn đặt hàng lên chuỗi chính? Bạn có thể tưởng tượng một trình sắp xếp thứ tự được chia sẻ làm điều tương tự cho nhiều hệ thống Rollup. Người đặt hàng được chia sẻ có thể chạy các nút đầy đủ cho mỗi Rollup và sử dụng chúng để xác định xem giao dịch có thành công hay không. Sau đó, nó có thể hứa rằng nó sẽ không tạo ra một trật tự các bộ giao dịch nguyên tử mà không phải tất cả đều thành công.

Tất nhiên, hệ thống này là đáng tin cậy. Bạn sẽ tin tưởng người phân loại không nói dối. Bây giờ có lẽ bạn đang nghĩ "liệu chúng ta có thể biến hệ thống này thành một hệ thống không đáng tin cậy bằng cách hạn chế hành vi của trình sắp xếp thứ tự không?" Tôi rất vui/buồn/bối rối khi nói câu trả lời là "có, nhưng". Có, nhưng cách chúng tôi làm là kết hợp các STF của mỗi Tổng số để tạo một STF duy nhất thực hiện tất cả các giao dịch Tổng số được kết hợp. Đó là, chúng ta phải làm cho tất cả các máy ảo nguyên tử giữa tất cả các Rollup. Điều này tương đương với việc biến chúng thành Rollup giống nhau. Vì vậy, có, chúng ta có thể đạt được khả năng thực thi nguyên tử không đáng tin cậy bằng cách kết hợp nhiều Bản tổng hợp thành một. Đây có thể là một ý tưởng hay1, nhưng tôi nghi ngờ tính khả thi của nó.

Thực hiện nguyên tử của các mối quan hệ ngẫu nhiên

Tôi đã viết về điều này ở nơi khác và một tùy chọn chắc chắn khác là tích hợp các mối quan hệ ngẫu nhiên rõ ràng giữa các giao dịch và trạng thái Tổng số. Điều này chuyển gánh nặng đánh giá các trường hợp ngẫu nhiên lên người đề xuất, vì họ phải tính toán và đề xuất gốc trạng thái dựa trên sự tin tưởng của họ đối với các bản tổng hợp từ xa. Tuy nhiên, tôi nghĩ chúng ta có thể đơn giản hóa nó bằng cách áp dụng nhiều lần chức năng bộ lọc. Giả sử khả năng dự phòng là rõ ràng trong một giao dịch và khối nhất định, chúng ta có thể chạy bộ lọc hai lần, một lần giả định trạng thái dự đoán là hợp lệ và một lần giả định trạng thái dự đoán là không. Điều này có thể được mở rộng thành n trạng thái dự đoán với chi phí 2^n đánh giá chức năng bộ lọc.

Tóm lại là

Tóm lại là

Sequencer là một thiên tài của người thợ đồng hồ, thiết lập lịch sử Rollup và theo dõi nó tích tắc đến trạng thái định sẵn. Không có nhiều sự khác biệt giữa Lạc quan và Arbitrum, nhưng có sự khác biệt về bảo mật giữa hai loại này. Không ai biết máy phân loại làm gì. Bộ sắp xếp được chia sẻ có thể thực hiện bao gồm nguyên tử, nhưng không thực hiện nguyên tử và việc bao gồm nguyên tử không thể được tích hợp vào thực thi nguyên tử mà không có thành phần Rollup hoặc một số cơ chế thực thi khác. Tất cả những điều này khoe khoang về việc chia sẻ một trình sắp xếp thứ tự để có khả năng tương tác liền mạch là khoa học rác.

Optimism
Arbitrum
MEV
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk
Tài khoản chính thức
https://twitter.com/OdailyChina
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk