Article by Matt Henderson of Aurora
NEAR Rainbow Bridge là công nghệ độc nhất trong thế giới tiền mã hóa, nó là cầu nối không phân quyền (permissionless) và không cần sự tin cậy (trustless), duy nhất tới Ethereum. Trong bài viết này, chúng ta sẽ tìm hiểu cách thức hoạt động của NEAR Rainbow Bridge.
Giao thức NEAR đã tạo ra Rainbow Bridge, một ứng dụng vừa độc nhất và vừa giá trị trong không gian tiền mã hóa, nó là một cầu nối hoàn toàn “không tin cậy” để chuyển các token giữa Ethereum và NEAR – và cuối cùng là Aurora. Bạn có thể tìm thấy những mô tả kỹ thuật về Rainbow Bridge ở đâu đó, tuy nhiên bài viết này có mục đích giúp những người chỉ với kiến thức cơ bản về tiền mã hóa cũng có thể hiểu được cách thức hoạt động của Rainbow Bridge.
Khái niệm
Hãy bắt đầu bằng việc tưởng tượng tôi muốn chuyển 20 DAI từ Ethereum sang NEAR. Do việc chuyển giao các token một cách vật lý giữa các mạng lưới là không thể, có nghĩa là chúng ta cần đưa 20 DAI ra khỏi lưu thông trên mạng lưới Ethereum và mang 20 DAI vào lưu thông trên NEAR nhằm giữ nguồn cung DAI toàn cầu không thay đổi.
Và đây là cách để tôi làm được việc này mà không cần sự cho phép cũng như không cần sự tin tưởng:
- Tôi thông báo tới mạng lưới Ethereum rằng tôi muốn chuyển 20 DAI tới một nơi khác.
- Mạng Ethereum khóa 20 DAI của tôi vào trong một kho tiền (một hợp đồng thông minh), để chúng có thể được đưa ra ngoài lưu thông của Ethereum.
- Khi tôi chắc chắn rằng 20 DAI đó đã được khóa lại trên Ethereum, tôi sẽ yêu cầu mạng NEAR tạo ra 20 DAI cho tôi trên NEAR.
- Tất nhiên, NEAR không tin tưởng tôi và nó yêu cầu tôi chứng minh rằng tôi đã khóa 20 DAI ở trên Ethereum.
- Tôi cung cấp cho NEAR bằng chứng rằng tôi đã khóa 20 DAI trên Ethereum.
- NEAR xác minh bằng chứng của tôi một cách độc lập và sau đó tạo ra 20 DAI để tôi sử dụng trên NEAR.
Sau đó, nếu tôi muốn chuyển DAI từ NEAR về lại Ethereum thì tôi chỉ đơn giản đảo ngược lại quy trình bên trên. Khá gọn gàng phải không nào?
Những thành phần chính
Bây giờ chúng ta cùng xem xét tất cả những điều trên trong thực tế sẽ diễn ra như thế nào bằng cách sử dụng Rainbow Bridge.
Câu chuyện sẽ liên quan đến một số thành phần kỹ thuật tạo nên cầu nối này:
Rainbow Bridge UI (Giao diện Rainbow Bridge) – đây là một trang web, nơi mà bạn – người sử dụng, tương tác với cây cầu để chuyển những tài sản giữa các mạng lưới.
LiteNode – giống như một nút trên chuỗi khối, ngoại trừ việc nó chỉ lưu trữ các header của các khối, nhằm giảm đáng kể không gian lưu trữ cần thiết. LiteNode được triển khai dưới dạng hợp đồng thông minh và chúng ta có 2 LiteNode – một lưu trữ header khối NEAR được triển khai trên mạng Ethereum, và một lưu trữ header khối Ethereum và được triển khai trên mạng NEAR.
(Ở trong các bài viết khác, LiteNode ở đây thực ra được gọi là “light client” vì những lý do lịch sử. Nếu bạn hỏi tôi, “Cái gì lưu trữ dữ liệu blockchain?”, điều đầu tiên tôi nghĩ đến là một “node” (nút mạng) và trong bài viết này tôi sẽ gọi nó là LiteNode.)
Relayers (Bộ chuyển tiếp) – Vì LiteNode là những hợp đồng thông minh nên chúng không thể tự chạy và cập nhật. Relayers là các tập lệnh chạy trên các máy chủ truyền thống, định kỳ đọc các khối từ một blockchain và giúp chúng giao tiếp với LiteNode đang chạy trên blockchain kia. Vì vậy có thể hiểu Relayer giúp cập nhật LiteNode.
Vì có phí giao dịch – tức phí gas – nên mỗi lần Relayer cập nhật một LiteNode thì LiteNode trên NEAR (chứa các khối Ethereum) được cập nhật trên mỗi khối Ethereum (vì phí gas trên NEAR rất rẻ), trong khi tần suất cập nhật trên Ethereum (chứa các khối NEAR) có thể cấu hình và được xác định bởi một ngân sách kinh tế (hiện tại là khoảng 12 giờ đến 16 giờ).
Connectors (Trình kết nối) – là những hợp đồng thông minh chịu trách nhiệm về tất cả logic liên quan đến việc quản lý chuỗi chéo của một loại tài sản nhất định. Giống như LiteNode, các Connector tồn tại theo cặp – một chạy trên Ethereum và một chạy trên NEAR. Ví dụ có một cặp “ETH Connectors” chịu trách nhiệm chuyển ETH giữa hai mạng và có một cặp “ERC-20 Connectors” chịu trách nhiệm chuyển các ERC-20 token. Ai đó có thể viết một “NFT” Connector, một “Prediction Market Outcome” Connector, hoặc một “DAO Vote Results” Connector nếu họ muốn. Bất kỳ tài sản hoặc dữ liệu nào cũng có thể được chuyển qua Rainbow Bridge, miễn là các Connector có liên quan tới tài sản hoặc dữ liệu đó tồn tại.
Kết nối các mảnh ghép lại với nhau
Nhằm hiểu cách tất cả các yếu tố trên hoạt động cùng nhau để tôi chuyển các token giữa Ethereum và NEAR mà không cần sự cho phép (permissionless) và sự tin cậy (trustless), hãy cùng xem lại ví dụ ban đầu của chúng ta:
- Tôi bắt đầu việc chuyển 20 DAI từ Ethereum sang NEAR bằng cách sử dụng Rainbow Bridge UI
- Khi tôi xác nhận giao dịch đầu tiên trong hai giao dịch trên MetaMask, Rainbow Bridge sẽ giao tiếp với ERC-20 Connector trên Ethereum (do DAI là một ERC-20 token), chuyển và khóa 20 DAI trong kho tiền của nó. Những DAI này sau đó không còn được lưu hành trên mạng Ethereum nữa.
- Dựa trên dữ liệu header trong khối giao dịch của tôi, Rainbow Bridge UI sẽ tạo ra một bằng chứng mật mã rằng tôi đã thực sự khóa 20 DAI.
- Tiếp theo chúng ta sẽ yêu cầu mạng NEAR tạo một số DAI dựa trên những gì vừa xảy ra trên Ethereum, trước tiên chúng ta chờ Relayer gửi khoảng 20 header khối Ethereum tới LiteNode đang chạy trên NEAR. Việc làm này nhằm mục đích bảo mật, giống như cách mà sàn giao dịch tiền mã hóa khiến bạn đợi một số lần xác nhận trước khi sử dụng số tiền đã ký gửi của mình.
- Sau thời gian chờ đợi, Rainbow Bridge UI sẽ cho phép chúng ta thực hiện bước hai trong quy trình – yêu cầu ERC-20 Connector trên NEAR tạo 20 DAI mới cho chúng ta trên mạng NEAR.
- Khi thực hiện yêu cầu này của ERC-20 Connector, chúng ta cung cấp bằng chứng mật mã mà chúng ta đã nhận được trước đó, chứng minh rằng chúng ta đã khóa 20 DAI trên Ethereum.
- Sau đó, ERC-20 Connector trên NEAR sẽ tra cứu header khối Ethereum của chúng ta trong LiteNode đang chạy trên NEAR và thực hiện tính toán một cách độc lập bằng chứng mật mã.
- Nếu bằng chứng mà chúng ta cung cấp khớp với bằng chứng mà ERC-20 Connector tính toán thì nó biết rằng 20 DAI đã được khóa an toàn ở trên Ethereum – và chính tôi là người đã khóa! – và tiếp tục tạo (đúc) 20 DAI mới trên NEAR và chuyển chúng đến ví của tôi.
Khi chúng ta muốn chuyển DAI từ NEAR về lại Ethereum, quá trình sẽ diễn ra ngược lại, tức là thay vì khóa 20 DAI trong NEAR, chúng ta phá hủy chúng (hay còn gọi là đốt cháy), và sau đó chúng ta cung cấp bằng chứng về việc đốt cháy đó cho Connector chạy trên Ethereum. Connector chạy trên Ethereum này có quyền truy cập vào các khối NEAR trong LiteNode chạy trên Ethereum, nó xác thực bằng chứng của chúng ta và giải phóng 20 DAI từ kho tiền của nó và gửi chúng đến ví của chúng ta!
Tóm lại, đó là cách Rainbow Bridge hoạt động. Đây là chiếc cầu nối Ethereum duy nhất hoạt động theo cách này – hiện tại nó cho phép bạn chuyển tài sản giữa Ethereum và NEAR (và sắp tới là Aurora) mà không cần sự cấp phép cũng như không cần đặt bất kỳ sự tin tưởng nào vào bên thứ ba. Quá tuyệt vời!
Những mảnh ghép khác
Sau đây là một số điểm đáng chú ý khác ngoài những gì được trình bày ở trên:
- Do NEAR-to-Ethereum Connector chỉ gửi header khối NEAR đến Ethereum LiteNode sau mỗi 16 giờ, nên sẽ có độ trễ 16 giờ giữa bước một và bước hai khi di chuyển token theo hướng từ NEAR tới Ethereum. (Điều này là do phí gas trên Ethereum khiến cho việc Relayer cập nhật mỗi khối trên LiteNode trở nên đắt đỏ). Có một số phương pháp giúp chúng ta giảm thiểu sự chậm trễ này và nhóm phát triển đang tích cực làm việc để đưa chúng vào thực tế.
- Trên NEAR, LiteNode lưu trữ tất cả các header khối Ethereum trong quá khứ. Để dung lượng lưu trữ không bị cạn kiệt, LiteNode “cắt tỉa” (xóa) những khối được tạo ra khoảng trên hai tuần trước đó. Điều này có nghĩa là nếu bạn chuyển từ Ethereum sang NEAR và đi chơi trong ba tuần giữa bước một và bước hai, bạn sẽ không thể hoàn tất quá trình chuyển token của mình, vì dữ liệu Ethereum được lưu trữ trên NEAR rất cần thiết cho việc xác minh bằng chứng của bạn thì đã bị xóa mất!
- Một thuộc tính thú vị của thiết kế header khối NEAR là với một header khối đơn, chúng ta có thể tính toán lịch sử của các khối trước đây trong một khoảng thời gian khá dài. Vì vậy, về lý thuyết, LiteNode trên Ethereum chỉ cần một khối NEAR duy nhất; tuy nhiên, chúng ta vẫn giữ chúng vì chi phí gas cần thiết để thực hiện việc cắt tỉa về cơ bản sẽ là một sự lãng phí.
- Nhóm tạo ra Rainbow Bridge cũng chính là nhóm đã tạo ra Aurora – NEAR EVM. Do nhóm tạo ra Rainbow Bridge đã tách ra thành một nhóm riêng, nhóm sẽ quản lý, vận hành, bảo trì và phát triển Rainbow Bridge trong tương lai.
- Nhóm Aurora đang làm việc trên tính năng “tự động hoàn thiện” (auto-finalization) cho Rainbow Bridge, bạn sẽ không còn phải thực hiện thủ công bước số hai trong những lần chuyển token nữa. Điều này sẽ rất thuận tiện cho người dùng (có nghĩa là bạn có thể bắt đầu việc chuyển từ Ethereum sang NEAR rồi thực hiện chuyến đi nghỉ của bạn!)
- Việc chuyển tài sản giữa Ethereum và Aurora được thực hiện bởi Aurora Bridge, sử dụng công nghệ lõi tương tự như Rainbow Bridge, nhưng được ẩn đi bước chuyển NEAR / Aurora trong quá trình chuyển.
- Giao diện người dùng (UI) và trải nghiệm người dùng (UX) của Aurora Bridge hiện hơi khác so với Rainbow Bridge, nhưng trong tương lai gần điều này sẽ được cải thiện để đem lại trải nghiệm tốt hơn cho người dùng.
Mặc dù một số chi tiết kỹ thuật đã được đơn giản hóa, bây giờ bạn đã nắm được những hiểu biết cơ bản về cách Rainbow Bridge hoạt động.
Bạn có thể đọc bản bài viết này nếu muốn tìm hiểu sâu hơn về Rainbow Bridge và hãy cập nhật mọi thứ liên quan tới Aurora.
Hãy nhớ theo dõi Aurora trên Twitter!