1. Rainbow Bridge là gì?
Rainbow Bridge là một giao thức chung, không phân quyền (permissionless) và không cần sự tin cậy (trustless) để kết nối các blockchain. Rainbow Bridge cho phép bất kỳ thông tin nào có thể được cung cấp bằng mật mã trên NEAR có thể sử dụng được trong các hợp đồng Ethereum và ngược lại, bao gồm khả năng đọc trạng thái và lên lịch các với các lệnh gọi lại trên chuỗi khác. Ví dụ, người dùng có thể bỏ phiếu với số dư ETH của họ trong NEAR DAO mà không cần gửi giao dịch trên Ethereum.
Bản chất của Rainbow Bridge vẫn hoàn toàn phi tập trung và có thể thích ứng với bất kỳ thay đổi giao thức nào trong tương lai ở cả hai phía.
Rainbow Bridge ra đời nhằm giúp người dùng chuyển giao tài sản giữa hai hệ sinh thái NEAR Protocol và Ethereum. Ở giao thức NEAR, Rainbow Bridge không muốn các nhà phát triển Ethereum lựa chọn giữa NEAR hoặc Ethereum. Rainbow Bridge muốn họ có cùng một tài sản trên cả hai blockchain và thậm chí có các ứng dụng liên lạc liền mạch qua mức giới hạn. Vì vậy, các nhà phát triển đã xây dựng một cầu kết nối được gọi là Rainbow Bridge, để kết nối các blockchain giữa Ethereum và NEAR. Họ tạo ra mức độ tin cậy thấp nhất mà nó có thể là một trong những giải pháp tương thích, bạn chỉ cần tin tưởng kết nối blockchain giữa NEAR và Ethereum. Bạn không cần phải tin vào Rainbow Bridge vì không ai có thẩm quyền ngoài các Miner Ethereum và các Validator NEAR.
2. Cách thức hoạt động
Rainbow Bridge cho phép các nhà phát triển sử dụng tài sản Ethereum và hợp đồng thông minh trên NEAR. Giúp giao dịch diễn ra nhanh chóng, dễ dàng mở rộng và chi phí thấp. Bridge có sức mạnh để tăng tốc phát triển cộng đồng vì nó cho phép người dùng hệ sinh thái ETH dễ dàng truy cập vào các ứng dụng của hệ sinh thái NEAR.
Các token phổ biến trên ERC20 giờ đây sẽ có thể tương tác với NEAR.
- Stablecoin như USDT, DAI và TUSD.
- Wrapped các tài sản giống như wBTC và wETH.
- Các DEX có token như UNI và 1INCH.
- Lending token như AAVE và COMP.
Người dùng có thể gửi các tài sản ERC20 trực tiếp từ MetaMask hoặc các ví Web3 khác tới ví và ứng dụng NEAR hoặc ngược lại. Bản chất của Rainbow Bridge vẫn hoàn toàn phi tập trung. Có thể thích ứng với bất kỳ thay đổi giao thức nào trong tương lai ở cả hai phía.
Cũng như phần còn lại của trải nghiệm phát triển trên nền tảng NEAR, Rainbow Bridge được xây dựng để mọi người dùng có thể truy cập dễ dàng nhờ thiết kế trực quan và ETH Faucet để tham gia trực tiếp từ MetaMask. Chi phí và tốc độ sử dụng của Rainbow Bridge chủ yếu phụ thuộc vào chi phí và tốc độ sử dụng mạng Ethereum hiện tại.
Khi ở trên NEAR, các giao dịch sẽ xác nhận sau 1-2 giây và có giá dưới 1 đô la trong hầu hết các trường hợp. Vì Rainbow Bridge yêu cầu các giao dịch trên Ethereum đối với NEAR – Ethereum. Gửi tài sản từ Ethereum đến NEAR mất khoảng sáu phút (20 blocks) và đối với ERC20 chi phí trung bình khoảng 10-20 đô la. Gửi tài sản từ NEAR trở lại Ethereum hiện mất tối đa mười sáu giờ (do thời gian hoàn tất của Ethereum) và chi phí khoảng 60-200 đô la (do chi phí gas ETH và giá ETH hiện tại).
Bất kỳ thông tin mã hóa nào được xác nhận trong NEAR đều có thể sử dụng trong các hợp đồng Ethereum và ngược lại. Các thông tin sau đây là các thông tin mã hóa có thể xác nhận cho cả hai blockchain:
- Bao gồm một giao dịch trong một khối
- Thực hiện giao dịch với kết quả cụ thể
- Trạng thái của hợp đồng
Ngoài ra, thông tin cụ thể về blockchain có thể được xác nhận, chẳng hạn như nội dung của một tiêu đề khối cụ thể, trong Ethereum sẽ bao gồm những thông tin về người khai thác và trong NEAR sẽ bao gồm thông tin về trình xác thực.
3. Ví dụ mô phỏng
Giả sử muốn chuyển 100 DAI từ blockchain 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à cần đưa 100 DAI ra khỏi mạng lưới Ethereum và mang 100 DAI vào NEAR nhằm giữ nguồn cung DAI toàn cầu không thay đổi. Để làm được điều đó thì cần qua các bước:
- Thông báo cho blockchain Ethereum rằng muốn chuyển 100 DAI tới một mạng lưới khác
- Ethereum sẽ khóa 100 DAI đó vào một smart contract
- Khi chắc chắn là 100 DAI đã được khóa trên Ethereum, tiến hành yêu cầu NEAR tạo ra 100 DAI trên mạng lưới của nó.
- NEAR yêu cầu chứng minh rằng đã có 100 DAI vừa được khóa trên Ethereum
- Chứng minh việc đã khóa 100 DAI trên blockchain Ethereum cho NEAR biết
- NEAR xác minh smart contract, thực hiện tạo ra 100 DAI trên NEAR
Để chuyển ngược 100 NEAR từ NEAR tới Ethereum, các bước vẫn tiến hành tương tự như trên nhưng hoán đổi 2 mạng lưới cho nhau.
4. Giải thích hoạt động
Nhằm hiểu cách tất cả các yếu tố trên hoạt động cùng nhau để 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:
- Bắt đầu việc chuyển 100 DAI từ Ethereum sang NEAR bằng cách sử dụng Rainbow Bridge UI
- Khi 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 ERC20 Connector trên Ethereum (do DAI là một ERC20 token), chuyển và khóa 100 DAI trong vault của nó. Số 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 block transaction, Rainbow Bridge UI sẽ tạo ra một bằng chứng rằng nó đã thực sự khóa 100 DAI bằng smart contract.
- Tiếp theo hệ thống yêu cầu mạng NEAR tạo 100 DAI thay thế chỗ DAI vừa khóa trên Ethereum, hệ thống chờ Relayer gửi khoảng 100 header Ethereum block tới LiteNode đang chạy trên NEAR. Việc làm này nhằm mục đích bảo mật, đảm bảo sự chính xác cho cả giao dịch.
- Sau thời gian chờ đợi, Rainbow Bridge UI sẽ cho phép thực hiện bước hai trong quy trình – yêu cầu ERC20 Connector trên NEAR tạo 100 DAI mới trên mạng NEAR.
- Khi thực hiện yêu cầu này của ERC20 Connector, hệ thống cung cấp bằng chứng đã nhận được ở bước 3, chứng minh việc đã khóa 100 DAI trên Ethereum.
- Sau đó, ERC20 Connector trên NEAR sẽ rà soát header Ethereum block trong LiteNode đang chạy trên NEAR và thực hiện tính toán một cách độc lập để xác minh bằng chứng là đúng.
- Nếu bằng chứng cung cấp khớp với bằng chứng mà ERC20 Connector tính toán thì hệ thống biết rằng 100 DAI đã được khóa an toàn ở trên Ethereum – và chính người dùng là người đã khóa – và tiếp tục tạo 100 DAI mới trên NEAR và chuyển chúng đến ví của người dùng.
Khi 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 100 DAI trong NEAR - burn số DAI đó - và sau đó cung cấp bằng chứng về việc burn đó 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 burn kia và giải phóng 100 DAI từ vault của nó sau đó gửi chúng đến ví Ethereum của người dùng.
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 người dùng 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.
5. Thiết kế
Anton Bukov đã phát triển một phần lớn thiết kế Rainbow Bridge trong quá trình làm việc tại NEAR. Mặc dù hiện đang là CTO của sàn giao dịch 1INCH, nhưng anh ấy vẫn hướng dẫn thiết kế cấp cao của cầu kết nối.
Ý tưởng cốt lõi đằng sau cầu kết nối là nó thực hiện giao dịch giữa 2 light client:
- Một light client Ethereum thực hiện trong Rust như là một hợp đồng NEAR.
- Một light client NEAR thực hiện trong Solidity như là một hợp đồng Ethereum.
Một blockchain light client là một đặc điểm kỹ thuật hoặc việc thực hiện đặc điểm kỹ thuật này theo dõi trạng thái của blockchain mà không cần chạy tính toán nặng, nhưng vẫn có thể xác minh trạng thái mà nó theo dõi một cách không cần tin cậy (trustless). Trọng tâm chính là có thể theo dõi và xác minh trạng thái chỉ với một lượng nhỏ tính toán. Việc số lượng tính toán có thể nhỏ đến mức có thể chạy một light client trong một hợp đồng. Đây là chìa khóa để làm cho Rainbow Bridge khả thi.
Light client Ethereum cần rất nhiều tài nguyên vì nó cần để theo dõi Header của Ethereum block và đòi hỏi phải xác minh Ethash. Các light client của NEAR cần ít tài nguyên hơn bởi vì nó cần theo dõi các block trong epoch, một epoch khoảng xấp xỉ 43000 block (đây là số lượng cần thiết vì NEAR tạo block nhanh hơn nhiều so với Ethereum, điều này làm cho việc theo dõi tất cả các Header NEAR trong một Ethereum contract gặp nhiều khó khăn và tiêu tốn chi phí lớn). May mắn thay, giới hạn gas của NEAR cho việc tính toán đắt hơn Ethereum. Vì vậy, các nhà phát triển có thể chạy một light client Ethereum phức tạp trong blockchain NEAR sẽ thoải mái tính toán hơn trong khi chạy một NEAR light client đơn giản trong blockchain Ethereum để tối ưu việc tính toán. Bạn có thể tìm thêm về các đặc điểm kỹ thuật của light client NEAR tại đây: https://nomicon.io/ChainSpec/LightClient.html
Đây là sơ đồ đơn giản của các light client hoạt động trong cầu kết nối:
Lưu ý, ngoài các hợp đồng thông minh mà triển khai các light client có hai dịch vụ khác, được gọi là Relay, thường gửi các header cho các light client. Eth2NEARRelay gửi mỗi header cho hợp đồng EthOnNEARClient, trong khi NEAR2EthRelay gửi một header mỗi 4 giờ vào hợp đồng EthOnNEARClient. Đối với cặp hợp đồng EthOnNEARClient và NEAROnEthClient thì có thể có một số cặp dịch vụ Eth2NEARRelay và NEAR2EthRelay. Mỗi người bảo trì của cầu kết nối có thể chạy các cặp dịch vụ của họ. Các cặp dịch vụ này có thể cạnh tranh với nhau.
6. Kết luận
Rainbow Bridge có vai trò rất quan trọng cho hệ sinh thái NEAR, là cửa ngõ kết nối người dùng ETH sang dùng các sản phẩm của NEAR, giúp thúc đẩy thu hút dòng tiền từ hệ sinh thái ETH đổ về hệ sinh thái NEAR. Tuy nhiên sản phẩm vẫn trong giai đoạn beta, phí ETH còn cao và tốc độ còn chậm, đây là điểm trừ cần khắc phục. Hi vọng Rainbow Bridge sẽ sớm ra bản mainnet, để giúp hệ sinh thái NEAR phát triển hơn nữa.
Đọc thêm