Tác giả: 0xKooKoo, Tư vấn kỹ thuật cho Geek Web3 &; Moledao, cựu Trưởng nhóm kỹ thuật tại Bybit
**Cảm ơn 0xmiddle đã giúp đỡ viết bài viết này. **
Giới thiệu****
Kể từ khi thành lập ngành công nghiệp blockchain, vô số L1 / L2 đã xuất hiện và hầu hết mọi chuỗi công khai đều đã phát triển hệ sinh thái DeFi của riêng mình. Một số người chỉ tương tác trên các chuỗi công khai cụ thể, trong khi nhiều người muốn tìm cơ hội doanh thu như giao dịch và khai thác trên các chuỗi khác nhau. Trong số đó, chuyển tiền xuyên chuỗi đã trở thành nhu cầu cứng nhắc không thể thiếu.
Ngoài người dùng thông thường, nhiều bên dự án cũng có nhu cầu chuyển tiền giữa các chuỗi khác nhau, hướng dẫn thanh khoản trên các chuỗi khác nhau và đạt được “một tiền cho nhiều mục đích”.
Nhưng các blockchain khác nhau là các hệ thống đồng thuận bị cô lập và không có cách nào để các quỹ chuyển trực tiếp từ chuỗi này sang chuỗi khác. Bản chất của các quỹ chuỗi chéo là cầu nối chuỗi chéo hoạt động như một đối tác công khai để nhận tiền của người dùng trên chuỗi nguồn và gửi tiền cho người dùng trên chuỗi đích (phát hành tài sản được ánh xạ hoặc giải phóng tiền cho người dùng từ nhóm thanh khoản của chuỗi đích).
Ban đầu, mọi người vẫn tin tưởng các sàn giao dịch tập trung, và có một câu nói rằng “sàn giao dịch tập trung là cầu nối chuỗi chéo tốt nhất”. Tuy nhiên, hoạt động “tính phí-hoán đổi-rút tiền” rất cồng kềnh, và mọi người hy vọng rằng sẽ có một phương pháp on-chain thuần túy để hoàn thành chuỗi chéo tiền trực tiếp hơn.
Hơn nữa, so với các sàn giao dịch tập trung, các cầu nối chuỗi chéo có thể hoàn thành thông điệp chuỗi chéo tổng quát hơn, không chỉ giới hạn trong việc chuyển tiền. Ví dụ: nếu bạn sử dụng dApp cho vay chuỗi chéo cung cấp tài sản thế chấp từ Chuỗi A và cho vay tài sản trên Chuỗi B, bạn sẽ cần sử dụng nhắn tin chuỗi chéo.
Nếu chúng ta nhìn vào nguồn gốc lịch sử của chuỗi chéo, chúng ta có thể theo dõi nó trở lại giai đoạn đầu của sự phát triển của công nghệ blockchain. Vào thời điểm đó, sự xuất hiện của các chuỗi công khai khác nhau khiến mọi người nhận ra rằng vấn đề khả năng tương tác giữa các chuỗi phải được giải quyết, nếu không sẽ có rất nhiều silo thông tin / vốn. Theo thời gian, các loại phương pháp tiếp cận chuỗi chéo khác nhau đã được đề xuất, dần dần hình thành mô hình chuỗi chéo phổ quát ngày nay.
Chúng ta hãy xem xét một số phát triển trong công nghệ chuỗi chéo.
Phương pháp luận****
1. Tìm đối tác của riêng bạn
Hãy suy nghĩ về nó, cách trực quan nhất để chuỗi chéo là gì? Giả sử bạn có 100 USDT trên chuỗi A và bạn muốn chuyển chúng sang chuỗi B. Tình cờ có một người có 100 USDT trong Chuỗi B và muốn chuyển USDT sang Chuỗi A. Hai người thấy chuyện này không đúng, cho nên mới đánh ra.
Nhưng khi bạn chuyển USDT đến địa chỉ của bên kia trên Chuỗi A, anh ta ăn năn và không chuyển USDT của mình đến địa chỉ của bạn trên Chuỗi B.
Do đó, mô hình giao dịch P2P này không đáng tin cậy lắm, thứ nhất, bên kia có thể phá vỡ hợp đồng, do đó bạn bị thua lỗ, không có bất kỳ sự bảo vệ nào và thứ hai, đối tác này không dễ tìm, bạn có thể phải đợi rất lâu để gặp một người dùng chỉ khớp với số tiền bạn muốn bước ra, nhưng hướng chuỗi chéo thì ngược lại, và thậm chí có thể không đợi lâu để chờ đợi một đối tác như vậy.
2. Đề án công chứng
2.1 Người làm chứng công chứng duy nhất
Vì vậy, chúng tôi nghĩ, vì bên kia có thể vỡ nợ, tôi có thể tìm thấy một bên thứ ba đáng tin cậy để giao dịch không? ** Tôi đưa tiền cho anh ta trên chuỗi nguồn trước, và sau đó anh ta hứa sẽ chuyển tiền cho tôi trên chuỗi mục tiêu. Ví dụ: người này có tài sản trên cả Chuỗi A và Chuỗi B, sau đó anh ta đảm bảo rằng miễn là anh ta nhận được 100 USDT của tôi trên Chuỗi A, anh ta chắc chắn sẽ chuyển 100 USDT từ Chuỗi B.
Điều này tốt hơn nhiều so với loại trao đổi tài sản liên chuỗi P2P đầu tiên, bởi vì có một đối tác công cộng đáng tin cậy có một thứ kỳ diệu trong tay gọi là “thanh khoản” mà bạn có thể giao dịch bất cứ lúc nào.
Nói cách khác, giao dịch của bạn với anh ta trở thành một giao dịch “ngang hàng”, chứ không phải là giao dịch “ngang hàng”. Nhưng bạn vẫn không cảm thấy chắc chắn, nếu bạn giao dịch 100 USDT với anh ta thì không sao, nếu bạn muốn giao dịch 1 triệu USDT với anh ta thì sao?
Trong phân tích cuối cùng, công chứng viên này đã thực sự giới thiệu một loại tập trung, vẫn không phải là phương pháp chuỗi chéo không tin cậy mà chúng tôi muốn.
2.2 Nhiều công chứng viên (MultiSig)
Điều gì sẽ xảy ra nếu công chứng viên không phải là một người, mà là một nhóm người? Chúng ta có thể thiết lập một tài khoản chung cư, nơi nhiều người ký cùng quản lý tài khoản và họ phải ký một tin nhắn, và số lượng chữ ký đạt đến ngưỡng (thường là 2/3) trước khi tiền được chuyển.
Trong trường hợp này, nếu một vài người trong số họ (không quá 1/3) có đầu óc quanh co và muốn thu tiền của tôi trên chuỗi nguồn, nhưng họ không muốn gửi tiền cho tôi trên chuỗi mục tiêu, hoặc nếu họ ngoại tuyến, điều đó không thành vấn đề, các công chứng viên trung thực khác vẫn sẽ ký và chuyển tiền nên được đưa cho tôi.
** Chương trình này đáng tin cậy hơn, làm suy yếu nguy cơ tập trung hóa và an toàn hơn. Ví dụ, có tổng cộng 20 công chứng viên có uy tín, và xác suất họ có đầu óc quanh co cùng một lúc vẫn còn rất thấp. (Điều này không bao gồm 20 nút của Multichain thực sự được quản lý bởi một người hoặc tin tặc đánh cắp 2/3 khóa ký của công chứng viên như cầu nối Axie.) )
**2.3 Nhiều công chứng viên (MPC) **
Tuy nhiên, cũng có nhiều bất tiện trong phương thức quản lý tài khoản đa chữ ký.
Multisig làm cho các quy tắc chữ ký dễ dàng hơn để hiển thị. ** Nếu đó là sơ đồ chữ ký 5/7, mã hợp đồng thông minh của ví đa chữ ký sẽ tiết lộ có bao nhiêu người ký và tin tặc có thể tìm thấy những người ký này theo cách được nhắm mục tiêu và chờ cơ hội đánh cắp khóa riêng.
**Multisig cần được điều chỉnh cho phù hợp với các chuỗi công khai khác nhau. Ví dụ: một số chuỗi công khai không hỗ trợ hợp đồng thông minh, bạn phải sử dụng các nguyên thủy mật mã đặc biệt của chuỗi để triển khai các tài khoản đa chữ ký, nếu điều này không được hỗ trợ, ví đa chữ ký của bạn sẽ không thể thực hiện được.
Không thể thay đổi đa chữ ký nếu người ký được đặt. Ví dụ: nếu bạn muốn thay đổi sang sơ đồ ký 6/8 hoặc nếu bạn muốn thay đổi người ký, bạn phải triển khai lại hợp đồng đa chữ ký và bạn cũng phải chuyển tiền sang hợp đồng đa chữ ký mới.
Sơ đồ chuỗi chéo của tBTC phái sinh BTC đầu tiên sử dụng phương pháp đa chữ ký, đã bị loại bỏ vì nó rất khập khiễng và khó sử dụng. ** Hầu hết các cầu nối chuỗi chéo hiện tại áp dụng cách tiếp cận MPC tiên tiến hơn. **
MPC là viết tắt của Multi-Party-Computation, là một công nghệ phân mảnh khóa riêng. Tài khoản đa chữ ký là tài khoản được quản lý bởi nhiều khóa riêng, trong khi tài khoản MPC được quản lý bởi khóa riêng để quản lý tài khoản, khóa riêng được chia thành nhiều đoạn và nhiều người ký mỗi người giữ một đoạn khóa riêng và chữ ký hoàn chỉnh có thể được tổng hợp khi số lượng người ký đạt đến ngưỡng và khóa riêng hoàn chỉnh sẽ không bị lộ trong quá trình ký.
Tài khoản MPC có những ưu điểm sau:**
**Bảo mật hơn so với ví đa chữ ký thông thường. **Khi cần chữ ký, ví dụ: 5/7 đoạn khóa riêng được sử dụng để ký với nhau và nhiều chữ ký phụ được hợp nhất thành một mảnh để tạo thành chữ ký pháp lý cuối cùng. Bằng cách này, những gì bạn nhìn thấy trên chuỗi là một chữ ký thông thường, duy nhất và bạn không thể biết liệu đó có phải là từ tài khoản MPC hay không, chứ đừng nói đến người ký đằng sau nó là ai và bạn không thể biết số lượng đoạn khóa riêng và quy tắc chữ ký cụ thể.
**Nó có thể được điều chỉnh tốt hơn cho hầu hết các chuỗi công khai so với ví đa chữ ký. MPC là một công nghệ đặc trưng và là chuỗi bất khả tri. Tài khoản MPC thực sự là một tài khoản thông thường, bất kể chuỗi công khai có hỗ trợ hợp đồng thông minh hay không, bạn có thể xây dựng tài khoản chung cư thông qua công nghệ MPC.
**MPC linh hoạt hơn trong việc thay đổi chữ ký. **Nó có thể hỗ trợ điều chỉnh linh hoạt hơn các quy tắc chữ ký, chẳng hạn như thay đổi số lượng đoạn khóa riêng và ngưỡng chữ ký bất cứ lúc nào và thay đổi người ký bất cứ lúc nào, chỉ cần chia sẻ lại khóa riêng.
3. Các biện pháp an ninh khác
3.1 Tách nóng và lạnh
**Sau khi tài khoản ký quỹ của công chứng viên nhận được 100 USDT của tôi trên Chuỗi A, anh ta đã chuyển 100 USDT đến địa chỉ của tôi trên Chuỗi B, làm thế nào để kích hoạt hành vi này?
Giả sử mỗi thành viên công chứng có một máy lắng nghe các giao dịch trên chuỗi A và khi họ phát hiện ra rằng tôi đã chuyển 100 USDT vào tài khoản ký quỹ cầu nối chuỗi chéo và giao dịch cho biết rằng tôi muốn nhận các USDT này tại địa chỉ có tên user2 trên chuỗi B.
Tại thời điểm này, các công chứng viên đã cùng nhau đồng ký và chuyển 100 USDT từ tài khoản cầu nối xuyên chuỗi trên Chuỗi B sang người dùng2. Quá trình này phải được viết bằng mã và tự động, nếu không công chứng viên sẽ phải trực tuyến trong thời gian thực và yêu cầu sẽ phải được vận hành ngay lập tức, điều này quá phi thực tế.
** Sẽ có một số phần trong chương trình tự động này **
Người nghe: Chịu trách nhiệm giám sát các giao dịch trên chuỗi nguồn, để lọc các giao dịch không liên quan hoặc giao dịch không hợp lệ, bước này có thể thực hiện một số xác minh định dạng cơ bản;
Quy trình xác minh: Điều này sẽ bao gồm ứng dụng khách nút nhẹ (hoặc nút đầy đủ) của blockchain được hỗ trợ, chịu trách nhiệm xác minh rằng một giao dịch trên chuỗi nguồn có mối quan hệ tương tác với hợp đồng cầu nối chuỗi chéo đã thực sự được đóng gói thành một khối và đưa vào chuỗi;
Chương trình chữ ký: Chịu trách nhiệm ký và bắt đầu giao dịch chuyển khoản cho người dùng trên chuỗi đích.
Nhưng tự động hóa cũng mang đến vấn đề là chương trình tự động này có thể bị hack và thao túng. Do đó, để kiểm soát rủi ro, cầu nối xuyên chuỗi sẽ có biện pháp phân tách nóng lạnh. ** Chương trình tự động điều khiển phím nóng, số tiền chuyển khoản bị giới hạn và trong trường hợp chuyển khoản lớn, công chứng viên phải ký thủ công bằng khóa lạnh. Các quy tắc tách nóng và lạnh có thể được thực hiện trong tài khoản MPC.
3.2 Cách ly rủi ro
Do đó, cần phải làm tốt công việc cách ly nhóm vốn và sử dụng nhiều tài khoản giám sát để quản lý các quỹ thanh khoản, chẳng hạn như cách ly theo các chuỗi công khai khác nhau, chẳng hạn như A và B, B và C, C và D đều là các nhóm vốn độc lập.
3.3 TEE
** Các thủ tục nghe và ký tự động do công chứng viên điều hành có thể được chạy trong thiết bị TEE, điều này có thể làm tăng đáng kể độ khó của các cuộc tấn công hack. **TEE là viết tắt của Trusted Execution Environment, là một môi trường máy tính chạy trên một thiết bị nhất định được cách ly với hệ điều hành chính, giống như một vùng tách rời.
Sự cô lập này được thực thi bằng phần cứng với độ bảo mật cực cao, vì vậy TEE có thể chạy các ứng dụng có yêu cầu bảo mật cao, chẳng hạn như quản lý khóa mật mã, xác thực sinh trắc học, xử lý thanh toán an toàn, v.v.
3.4 PoA bên trái, PoS bên phải
Để làm cho cầu nối chuỗi chéo an toàn hơn, có hai hướng trong việc lựa chọn công chứng viên:
** Một là chọn một công ty lớn hoặc tổ chức nổi tiếng với danh tiếng tốt càng nhiều càng tốt. Đối với các tổ chức này, cái giá của việc làm điều ác là vô cùng cao, và nó có thể phải trả giá bằng nhiều năm thiện chí. Ngoài ra, hãy cố gắng làm cho chúng đủ đa dạng về mặt địa lý (tránh tập trung trong cùng một khu vực pháp lý).
Ví dụ, dự án cầu nối chuỗi chéo Wormhole đã chọn một mô hình như vậy và 19 nút của nó đều là các tổ chức nổi tiếng với khối lượng lớn và quỹ mạnh, đó là cách của PoA.
Cách khác là để các công chứng viên không được phép thừa nhận, nhưng họ bắt buộc phải thực hiện một cam kết, và nếu họ hành xử sai, số tiền cam kết của họ sẽ bị cắt giảm. Đó là cách PoS hoạt động. Đó là những gì ZetaChain là tất cả về.
Thật không tốt khi trực tiếp và tùy tiện đưa ra kết luận về việc ai vượt trội và ai thấp kém hơn theo hai cách. Nó phụ thuộc vào việc các bên dự án cầu nối chuỗi chéo đang làm tốt như thế nào theo hướng tương ứng của họ.
Cho dù đó là PoA hay PoS, bạn có thể tạo cầu nối chuỗi chéo trực tiếp vào chuỗi công khai, nơi mỗi nút chạy cùng một chương trình và tất cả các yêu cầu và quy trình xử lý chuỗi chéo sẽ được ghi lại trên chuỗi này. Bản thân chuỗi cũng có thể lưu trữ các ứng dụng, do đó trở thành một trung tâm sinh thái.
3.5 Người quan sát
Một cách khác để tăng cường an ninh là thiết lập vai trò quan sát viên. Vai trò này chịu trách nhiệm giám sát hành vi chuỗi chéo và có thể báo cáo và hủy bỏ các giao dịch trên chuỗi nếu phát hiện ra vấn đề. Vì người quan sát cần một cửa sổ để phản ứng, thời gian đến của việc chuyển chuỗi chéo có thể bị trì hoãn, vì vậy người quan sát sẽ chỉ can thiệp nếu người dùng chấp nhận sự chậm trễ trong việc chuyển giao cho một giao dịch lớn hoặc hoạt động chuỗi chéo nhạy cảm.
Các giải pháp chuỗi chéo khác****
Khóa băm
Quay lại phương pháp đầu tiên được đề cập trong bài viết này: P2P để tìm đối tác hoán đổi tài sản chuỗi chéo. Nếu chúng ta sợ bên kia sẽ vỡ nợ, thì chúng ta có thể thiết lập một cơ chế, một khi ai đó ăn năn, bên kia có thể lấy lại tiền và trả lại cho Triệu.
Đây là khóa băm, sử dụng khéo léo khóa băm và khóa thời gian để buộc người nhận tiền xác định biên lai trước thời hạn và tạo chứng chỉ nhận trên chuỗi nguồn và người trả tiền phải lấy tài sản tương đương của người nhận trên chuỗi đích với bằng chứng biên lai này, nếu không tiền của cả hai bên sẽ được trả lại theo cách ban đầu.
Tuy nhiên, phương thức này chỉ có thể trao đổi tiền và không thể hoàn thành việc chuyển thông tin chuỗi chéo chung. Và ngay cả từ góc độ chuyển tiền xuyên chuỗi, trải nghiệm người dùng về khóa thời gian băm là rất tệ:
Nếu sự biến động của giá tiền tệ bất lợi cho đối tác (nhà cung cấp thanh khoản), anh ta có thể chọn không thực hiện một cách hợp lý;
Để hoàn tất hoán đổi chuỗi chéo, cả người dùng và đối tác phải thực hiện hai chữ ký.
Kết quả là, khóa thời gian băm, như một giải pháp chuỗi chéo, phần lớn đã bị loại bỏ. **Các cầu nối chuỗi chéo ban đầu sử dụng giải pháp này (ví dụ: cBridge, Connext) đều đã thay đổi hướng đi.
** Máy khách ánh sáng trên chuỗi **
Phương pháp này là triển khai hợp đồng máy khách nhẹ của chuỗi nguồn trực tiếp trên chuỗi đích. Nếu bạn triển khai hợp đồng trên một chuỗi, thì tất cả các nút của chuỗi đó sẽ chạy mã hợp đồng mà bạn đã triển khai. Do đó, giải pháp máy khách nhẹ on-chain thực sự là để chuỗi mục tiêu xác minh trực tiếp giao dịch từ chuỗi nguồn.
Phương pháp này cực kỳ an toàn, nhưng nó cũng đắt nhất. Đắt theo những cách sau:**
Hợp đồng khách hàng nhẹ của chuỗi đích cần nhận và xác minh tiêu đề khối mới từ chuỗi nguồn trong thời gian thực, quá trình này rất tốn khí, ngay cả khi ZK được sử dụng để đạt được bằng chứng ngắn gọn, mức tiêu thụ khí để xác minh bằng chứng ZK sẽ không dưới 400.000 Gas (ví dụ EVM) và trong sơ đồ MPC, chuỗi chỉ cần xác minh chữ ký và mức tiêu thụ Khí chỉ hơn 20.000, tệ hơn 20 lần! ** Một cây cầu an toàn hơn, nhưng đắt hơn 20 lần, bạn sẽ sử dụng nó chứ?**
Khối lượng công việc liên quan đến việc phát triển các hợp đồng khách hàng nhẹ là rất lớn và để các cầu nối chuỗi chéo tương thích với các chuỗi không đồng nhất hơn, bạn cần triển khai các hợp đồng khách hàng nhẹ cho nhau trong các môi trường phát triển hoàn toàn khác nhau trên các chuỗi khác nhau, đây là một thách thức địa ngục đối với các nhà phát triển. Điều này dẫn đến xác suất lỗi cao hơn trong việc viết hợp đồng, nghĩa là tính bảo mật của cầu khách hàng nhẹ chỉ ở cấp độ lý thuyết và nó rất không an toàn về mặt thực hành kỹ thuật. **
Để giảm số lượng công việc phát triển, một giải pháp khả thi là giới thiệu một chuỗi chuyển tiếp, để tất cả các chuỗi và chuỗi chuyển tiếp này có thể thiết lập các hợp đồng khách hàng nhẹ với nhau, điều này thực sự có thể giảm khối lượng công việc của C (n, 2) xuống n, nhưng nó vẫn không quá nhỏ. Những gì ban đầu là chuyển chuỗi chéo trực tiếp từ chuỗi nguồn đến chuỗi đích cũng đã trở thành truyền thứ tự thứ hai giữa chuỗi nguồn → chuỗi chuyển tiếp → chuỗi đích, điều này sẽ tạo ra mức tiêu thụ khí bổ sung và tiêu thụ thời gian.
Do đó, các giải pháp kỹ thuật của khách hàng nhẹ, hiện tại, không thể được sử dụng để xây dựng các cầu nối chuỗi phổ quát hơn.
Kết thúc trò chơi****
Trước hết, các chuỗi công cộng khác nhau có tập quán khác nhau, và có những tài nguyên khác nhau đằng sau chúng, chỉ cần chúng không thừa nhận thất bại, hệ sinh thái chắc chắn sẽ tồn tại, ngay cả khi sự phát triển không tốt trong thời gian ngắn, có thể một ngày nào đó chúng sẽ sống lại sau khi nâng cấp. Điều giống như loại cơ sở hạ tầng cơ bản này là để xem ai tồn tại trong một thời gian dài và ai điều chỉnh nhanh chóng theo thị trường. **
Bitcoin và Ethereum không thể giải quyết tất cả các kịch bản ứng dụng, hoặc trong một phân khu nhất định, luôn có những người không thích vị trí đầu tiên, vì vậy họ tạo ra một bánh xe mới, vì vậy tương lai chắc chắn sẽ là đa chuỗi. Hoặc trong tương lai, lớp dưới cùng sẽ không phải là một chuỗi, khi đó tương lai phải đa sinh thái, làm thế nào để truyền tải tiền và thông tin giữa nhiều hệ sinh thái, phải có công nghệ xuyên chuỗi/xuyên sinh thái!
Người dùng chú ý đến điều gì nhất trong vấn đề chuỗi chéo?
Tốc độ: Mất bao lâu để hoàn thành một hoạt động chuỗi chéo
Phí: Tôi cần trả bao nhiêu cho một hoạt động chuỗi chéo
Bảo mật: Liệu cầu nối chuỗi chéo có an toàn hay không và liệu tiền có bị mất hay không
Thanh khoản: Có đủ thanh khoản để hỗ trợ các giao dịch của tôi không và tác động giá chấp nhận được
Phạm vi kết nối: Bạn hỗ trợ bao nhiêu chuỗi và liệu bạn có hỗ trợ các chuỗi tôi cần cho hoạt động chuỗi chéo của mình hay không
Kinh nghiệm: Liệu hoạt động chuỗi chéo có thuận tiện hay không, chẳng hạn như liệu nó có hỗ trợ thanh toán gas hay không, ước tính chi phí có chính xác hay không, liệu nó có hỗ trợ truy vấn tiến độ và xem trình duyệt hay không, liệu lỗi có xảy ra thường xuyên hay không, cách xử lý lỗi, v.v.
**Trước tiên, hãy đưa ra cái nhìn tổng quan về các tính năng của một số dự án từ ba quan điểm rõ ràng: bảo mật, chi phí và phạm vi kết nối. **
Nhấp vào liên kết để xem bảng rõ ràng (bảng liên tục được cập nhật):
Để giải thích đầy đủ cầu nối chuỗi chéo, thực sự có nhiều khía cạnh cần được thảo luận, chẳng hạn như tất cả các kích thước và phân tích dữ liệu trong bảng trên. Vì vậy, những yếu tố nào bạn quan tâm khi cross-chaining?Cầu nối chuỗi chéo bạn thường sử dụng là gì?Bạn nghĩ cầu nối chuỗi chéo nên tập trung vào điều gì?Nếu bạn có ý tưởng của mình, chào mừng bạn đến giao tiếp với các tác giả.