Phân tích

Rainbow bridge giữa ETH-NEAR (Phần 1)

NEAR không muốn các nhà phát triển Ethereum phải lựa chọn giữa NEAR với Ethereum và chỉ sử dụng một trong hai, mà muốn có cùng một nội dung trên cả hai blockchain và thậm chí có thể xóa bỏ ranh giới để các ứng dụng giao tiếp liền mạch. Vì vậy, NEAR đã xây dựng một cây cầu, được gọi là RAINBOW, để kết nối chuỗi khối Ethereum và NEAR, bạn chỉ cần tin tưởng những gì nó kết nối, chuỗi khối NEAR – Ethereum mà không cần tin tưởng vào chính cầu nối.

Cụ thể, để tin tưởng cây cầu, bạn nên:

  • Tin tưởng rằng các khối Ethereum là cuối cùng sau khi xác nhận X. Hiện tại, việc triển khai cầu nối quyết định X cho nhà phát triển ứng dụng, nhưng các nhà phát triển ứng dụng sẽ sớm có thể xác định X cho chính họ. Nó có thể là 25 nếu bạn là một nhà phát triển ứng dụng điển hình hoặc 500 nếu bạn siêu thận trọng;
  • Hãy tin tưởng rằng không có lúc nào 2/3 số người xác nhận đặt cược vào chuỗi khối NEAR là không trung thực. Không chỉ cầu nối mà tất cả các ứng dụng khác trên NEAR đều hoạt động theo giả định này;
  • Cho đến khi EIP665 được chấp nhận, bạn sẽ cần phải tin tưởng rằng không thể tăng theo cấp số nhân giá gas tối thiểu của các khối Ethereum lên hơn 2 lần với mỗi khối trong hơn 4 giờ. Giả sử giá gas cơ bản là 40gwei và 14bps, bạn có thể dễ dàng tính toán rằng việc cố gắng tăng giá gas lên gấp 2 lần sẽ rất nhanh chóng khiến nó vượt qua bất kỳ giới hạn hợp lý nào trước khi kết thúc 4 giờ. Phần này sẽ được giải thích thêm về nguyên nhân của hạn chế này bên dưới.

Vì cầu RAINBOW không yêu cầu người dùng tin tưởng bất cứ thứ gì ngoài chính các blockchain, nên chúng tôi gọi nó là không tin cậy.

Mô hình không tin cậy này dẫn đến số độ trễ sau đây cho các tương tác trên toàn cầu:

  • Đối với các tương tác ETH -> NEAR, độ trễ là tốc độ tạo ra các khối Ethereum X, khoảng 6 phút cho 25 khối;
  • Đối với các tương tác NEAR -> ETH, độ trễ là 4 giờ và sẽ mất khoảng 14 giây sau khi EIP665 được chấp nhận.

Lưu ý rằng độ trễ sẽ giảm đáng kể như thế nào nếu chỉ EIP665 được chấp nhận. Do nhiều giải pháp khả năng mở rộng yêu cầu thời gian chờ đợi lên đến 7 ngày để có khả năng tương tác, NEAR cho rằng cầu của chúng tôi nhanh chóng. Tốc độ chỉ bị giới hạn bởi việc thiếu EIP665 và số lượng xác nhận cho các khối Ethereum, đây cũng là hạn chế áp dụng cho bất kỳ dự án dựa trên Ethereum nào.

Sau khi mở rộng, cầu nối sẽ không yêu cầu sự cho phép để triển khai, duy trì hoặc sử dụng. Bất kỳ ai cũng có thể triển khai một cây cầu mới, sử dụng một cây cầu hiện có hoặc tham gia bảo trì một cây cầu hiện có mà không cần nhận được sự chấp thuận của bất kỳ ai khác, thậm chí không phải NEAR Foundation, điều này làm cho cây cầu của NEAR được phân cấp.

Bất kỳ thông tin nào được cung cấp bằng mật mã trên NEAR đều có thể sử dụng được trong các hợp đồng Ethereum và ngược lại. Thông tin sau có thể được cung cấp bằng mật mã cho cả hai blockchain:

  • Bao gồm một giao dịch trong một khối;
  • Thực hiện một giao dịch với một kết quả cụ thể;
  • Tình trạng của hợp đồng.

Ngoài ra, thông tin cụ thể về blockchain có thể được cung cấp, chẳng hạn như nội dung của tiêu đề khối cụ thể, trong Ethereum sẽ bao gồm những thứ như 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. Thông tin có thể chứng minh bằng mật mã cho phép NEAR xây dựng nhiều trường hợp sử dụng khác nhau:

  • Có thể kết nối các mã thông báo có thể thay thế, mã thông báo không thể thay thế hoặc bất kỳ loại tài sản nào;
  • Có thể viết các hợp đồng Ethereum sử dụng trạng thái của hợp đồng hoặc trình xác thực từ NEAR
  • Có thể thực hiện các cuộc gọi hợp đồng chéo trên toàn cầu.

Mặc dù sự đa dạng của các trường hợp sử dụng có vẻ không giới hạn, nhưng NEAR hiện chỉ có hỗ trợ ngoại vi để chuyển mã thông báo ERC20 từ Ethereum sang chuỗi khối NEAR và ngược lại. Tuy nhiên, NEAR sẽ thêm hỗ trợ ngoài hộp cho các trường hợp sử dụng khác dựa trên nhu cầu. Ngoài ra, bất kỳ ai cũng có thể tham gia và thêm hỗ trợ vào trường hợp sử dụng cá nhân của họ mà không cần đợi hoặc làm việc với cơ sở mã của NEAR.

Để hiểu lý do tại sao và các thuộc tính đã liệt kê ở trên, chúng ta cần hiểu thiết kế của nó.

Anton Bukov đã phát triển một phần lớn thiết kế Cầu Rainbow trong quá trình làm việc tại NEAR. Anh ấy hiện là CTO của sàn 1inch exchange , nhưng anh ấy vẫn là người hướng dẫn nâng cấp cây cầu.

Ý tưởng cốt lõi đằng sau cây cầu là nó triển khai thực hiện hai light clients:

  • Một light client Ethereum được triển khai trong Rust dưới dạng hợp đồng NEAR;
  • Một light client NEAR được triển khai trong Solidity dưới dạng hợp đồng Ethereum.

Light clients là một phần mềm kết nối với các nút đầy đủ để tương tác với blockchain. Không giống như các đối tác nút đầy đủ của chúng, các nút nhẹ không cần chạy 24/7 hoặc đọc và ghi nhiều thông tin trên blockchain. Trên thực tế, các Light clients không tương tác trực tiếp với blockchain; thay vào đó sử dụng các nút đầy đủ làm trung gian. Light clients dựa vào các nút đầy đủ cho nhiều hoạt động, từ yêu cầu tiêu đề mới nhất đến yêu cầu số dư của tài khoản.

Nếu bạn đã quen thuộc với khái niệm Light client, bản phác thảo ngắn này đã giải thích các đảm bảo được liệt kê ở trên. Nói tóm lại, một Light client blockchain là một đặc điểm kỹ thuật hoặc một triển khai của đặ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. 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.

NEAR nhận ra rằng 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 Cầu Rainbow khả thi.

Light client Ethereum sử dụng nhiều tài nguyên hơn vì nó yêu cầu theo dõi từng tiêu đề đơn lẻ của chuỗi khối Ethereum và nó yêu cầu xác minh Ethash. Light client NEAR ít tốn tài nguyên hơn vì nó chỉ yêu cầu theo dõi một khối trên mỗi kỷ nguyên, trong đó một kỷ nguyên xấp xỉ 43 nghìn khối (đây là chất lượng cần thiết vì NEAR tạo ra các khối nhanh hơn nhiều so với Ethereum). Vì vậy, chúng ta có thể chạy một light client Ethereum trong chuỗi khối NEAR tự do về mặt tính toán hơn và ít tốn kém hơn trong chuỗi khối Ethereum vốn bảo thủ về mặt tính toán. Bạn có thể tìm thấy thông số kỹ thuật của light client tại đây.