Tổng quan kỹ thuật về Cầu nối Bitcoin với Avalanche
Đầu tuần này, Avalanche đã công bố hỗ trợ cho việc bắc cầu native Bitcoin trên Avalanche Bridge. Hỗ trợ bắc cầu Bitcoin tận dụng phần lớn công nghệ và thiết kế của kiến trúc Avalanche Bridge ban đầu được xem ở đây. Đáng chú ý, có một ứng dụng Intel SGX (Software Guard Extensions) mới được thiết kế để hỗ trợ chuyển Bitcoin xuyên chuỗi. Intel SGX là một tập hợp các hướng dẫn bảo mật cho phép xây dựng các vùng bảo mật riêng tư, chống giả mạo. Nó là một công nghệ cho phép khóa cho phép Avalanche Bridge thực thi một cách an toàn mà không một bên nào có quyền truy cập vào các khóa bí mật. Ứng dụng cầu nối đang thực thi trong vùng bao phủ SGX dựa trên một tập hợp các trình xác minh và lập chỉ mục của bên thứ ba được mở rộng được gọi là “Wardens”. Tám wardens bảo vệ cây cầu là: Halborn, Avascan, Bware Labs, Ankr, Chainstack, Protofire, Blockdaemon và Ava Labs. Ngoài các chức năng Warden được mô tả trong tổng quan về Avalanche Bridge trước đây, Wardens hiện đã được mở rộng để lập chỉ mục chuỗi khối Bitcoin.
Xem cách kết nối Bitcoin với Avalanche bằng cách sử dụng tiện ích mở rộng Core:
BTC.b
Khi Bitcoin được bắc cầu với Avalanche, nó được đại diện bởi một token ERC20 trên chuỗi Avalanche C với ký hiệu BTC.b. “.b” là việc token đã được bắc cầu từ mạng Bitcoin, giống như token Avalanche Bridge bắc cầu từ Ethereum kết thúc bằng “.e”. Mỗi token BTC.b được hỗ trợ hoàn toàn bằng một Bitcoin bị khóa bởi ứng dụng mã hóa cầu nối. Bạn có thể tìm thấy hợp đồng token BTC.b trên Snowtrace tại đây và địa chỉ Bitcoin của ứng dụng mã hóa cầu nối có thể được xem tại đây.
Dòng chảy bắc cầu
Để bắt đầu bắc cầu từ Bitcoin đến Avalanche, một giao dịch được gửi trên Bitcoin từ Ví Core mới chuyển BTC đến địa chỉ cầu nối chỉ được kiểm soát bởi SGX enclave. Cầu nối được thiết kế để chỉ hỗ trợ các loại đầu ra Pay-To-Witness-Public-Key-Hash trên Bitcoin. Để đảm bảo rằng chuyển BTC có loại đầu ra này và đáp ứng tất cả các yêu cầu bắc cầu, người dùng nên luôn sử dụng giao diện người dùng cầu nối trong tiện ích Ví Core được xây dựng để cung cấp trải nghiệm bắc cầu nhanh chóng và dễ dàng. Khi giao dịch này được chấp nhận thành một khối trên Bitcoin và nhận được số lượng xác nhận cần thiết, nó sẽ được lập chỉ mục bởi các node Warden và báo cáo cho ứng dụng Intel SGX để xử lý. SGX enclave chỉ xử lý chuyển giao khi nó nhận được sự chấp thuận từ ít nhất 6 trong số 8 nút Warden. Tại thời điểm này, ứng dụng SGX kiếm (tạo) lượng BTC tương đương.b vào ví của người dùng đã gửi giao dịch Bitcoin bắt đầu. Chi tiết hơn về cách xác định địa chỉ ví của người dùng được giải thích trong phần tiếp theo. Tương tự như vậy, khi chuyển BTC.b từ Avalanche trở lại Bitcoin, người dùng sẽ gửi một giao dịch trên Avalanche gọi phương thức “mở” của hợp đồng BTC.b, phương thức này đốt (phá hủy) các token BTC.b. Các node Warden sẽ lập chỉ mục giao dịch này và nó sẽ được xử lý bởi SGX enclave bằng cách gửi số lượng BTC gốc tương đương trở lại ví của người dùng trên Bitcoin.
Khai báo địa chỉ
Việc mở rộng Avalanche Bridge để hỗ trợ chuyển Bitcoin xuyên chuỗi đòi hỏi các giải pháp duy nhất cho các vấn đề kỹ thuật cụ thể đối với Bitcoin. Một tính năng chính của Avalanche Bridge là cùng một ví người dùng được sử dụng trên tất cả các mạng. Đối với chuyển ERC20 từ Ethereum sang Avalanche, điều này rất đơn giản vì cả hai blockchain đều sử dụng định dạng địa chỉ EVM (Máy ảo Ethereum), vì vậy cầu nối có thể mintcác token được bọc đến cùng một địa chỉ đã bắt đầu chuyển bằng cách cung cấp tài sản thế chấp trên Ethereum. Tuy nhiên, Bitcoin sử dụng một lược đồ địa chỉ hoàn toàn khác. Để xác định địa chỉ Avalanche tương ứng với địa chỉ Bitcoin đã cung cấp tài sản thế chấp cho cây cầu, Wardens khôi phục khóa công khai của ví người dùng từ giao dịch đã ký trên mạng Bitcoin và sử dụng nó để lấy địa chỉ C chain của Avalanche. Bằng cách này, tiền trên cả hai mạng đều được kiểm soát bởi cùng một khóa cá nhân hoặc cụm từ ghi nhớ và bí mật đó không bao giờ thuộc quyền sở hữu duy nhất của ví của người dùng. Tương tự, khi người dùng chuyển tiền từ Avalanche trở lại Bitcoin, địa chỉ Bitcoin của người dùng được lấy từ khóa công khai được khôi phục từ giao dịch Avalanche đốt tài sản được bao bọc.
Một thách thức bổ sung đối với việc sử dụng phương pháp truy xuất địa chỉ này là thực tế là hầu hết tất cả các ví Bitcoin đều là ví xác định phân cấp (HD) sử dụng các khóa công khai và riêng tư khác nhau cho mỗi UTXO nhận được. Điều này trái ngược với mô hình tài khoản EVM, nơi các ví sử dụng cùng một khóa riêng cho tất cả các giao dịch. Ví HD không tương thích với Avalanche Bridge vì người dùng mong muốn tiền của họ đến một địa chỉ Avalanche duy nhất thay vì được chia thành nhiều địa chỉ. Để cung cấp trải nghiệm người dùng trực quan, tiện ích Ví Core mở rộng cung cấp chức năng ví Bitcoin và cũng cung cấp giao diện người dùng để kết nối Bitcoin với Avalanche. Ví Bitcoin trong tiện ích mở rộng Core sử dụng cùng một khóa riêng như được sử dụng cho địa chỉ C chain trên Avalanche, cho phép dễ dàng bắc cầu giữa hai chuỗi từ bên trong một ví duy nhất. Trong khi ví HD cung cấp thêm quyền riêng tư trên Bitcoin bằng cách sử dụng các địa chỉ mới cho mỗi giao dịch, chúng tôi nhận thấy việc sử dụng một ví địa chỉ duy nhất là một sự đánh đổi rất hợp lý để cho phép kết nối liền mạch hơn, vì tất cả các chuỗi dựa trên EVM, bao gồm cả chuỗi Avalanche C và Ethereum, theo mô hình này.
Xây dựng giao dịch bitcoin
Một thành phần quan trọng khác của hỗ trợ cầu Bitcoin liên quan đến việc quản lý các đầu ra giao dịch chưa sử dụng Bitcoin (UTXO). Trái ngược với EVM sử dụng mô hình dựa trên tài khoản, khi gửi một giao dịch bitcoin, các đầu vào và đầu ra rõ ràng phải được chỉ định. Điều này là một thách thức vì ứng dụng mã hóa Intel SGX không có kiến thức về UTXO, chỉ có các khóa bí mật kiểm soát ví của nó. Để tạo một giao dịch Bitcoin với một số tiền nhất định khi người dùng chuyển tiền từ Avalanche trở lại Bitcoin, trước tiên, enclave yêu cầu một Warden đề xuất sử dụng UTXO nào làm đầu vào cho giao dịch mới. Khi enclave có các UTXO này từ một Warden, nó sẽ yêu cầu tất cả các Wardens xác thực lựa chọn UTXO và xây dựng giao dịch thô sử dụng các UTXO đã cho và tạo các đầu ra mà nó chỉ định. Enclave sẽ chỉ tiếp tục với việc xử lý chuyển trở lại Bitcoin nếu ít nhất 6 trong số 8 Wardens đồng ý về các UTXO được đề xuất và xây dựng cùng một giao dịch thô. Trong trường hợp không mong muốn mà những người giám hộ không đồng ý về các UTXO được chọn bởi người đề xuất duy nhất, một Người quản lý khác sẽ được chọn để đề xuất những UTXO nào nên được sử dụng và quá trình này được lặp lại. Sau khi những người được giám hộ đồng ý về một tập hợp các UTXO được đề xuất và xây dựng giao dịch thô, giao dịch sẽ được ký bởi vùng bảo vệ và được truyền tải tới mạng Bitcoin thông qua Người quản lý. Rất quan trọng, chìa khóa được sử dụng để ký kết các giao dịch không bao giờ bị lộ ra bất cứ nơi nào bên ngoài vùng cấm. Trong trường hợp không mong muốn mà những người giám hộ không đồng ý về các UTXO được chọn bởi người đề xuất duy nhất, một Người quản lý khác sẽ được chọn để đề xuất những UTXO nào nên được sử dụng và quá trình này được lặp lại. Sau khi những người được giám hộ đồng ý về một tập hợp các UTXO được đề xuất và xây dựng giao dịch thô, giao dịch sẽ được ký bởi vùng bảo vệ và được truyền tải tới mạng Bitcoin thông qua Người quản lý. Rất quan trọng, chìa khóa được sử dụng để ký kết các giao dịch không bao giờ bị lộ ra bất cứ nơi nào bên ngoài vùng cấm. Trong trường hợp không mong muốn mà những người giám hộ không đồng ý về các UTXO được chọn bởi người đề xuất duy nhất, một Người quản lý khác sẽ được chọn để đề xuất những UTXO nào nên được sử dụng và quá trình này được lặp lại. Sau khi những người được giám hộ đồng ý về một tập hợp các UTXO được đề xuất và xây dựng giao dịch thô, giao dịch sẽ được ký bởi vùng bảo vệ và được truyền tải tới mạng Bitcoin thông qua Người quản lý. Rất quan trọng, chìa khóa được sử dụng để ký kết các giao dịch không bao giờ bị lộ ra bất cứ nơi nào bên ngoài vùng cấm.
Phí bắc cầu
Các khoản phí liên quan đến việc bắc cầu Bitcoin đến Avalanche và quay lại tuân theo một mô hình rất giống với việc bắc cầu từ Ethereum được mô tả trong Câu hỏi thường gặp về Avalanche Bridge tại đây. Tuy nhiên, việc ước tính phí giao dịch Bitcoin cho các giao dịch được gửi bởi cây cầu đưa ra một thách thức duy nhất do mô hình UTXO của Bitcoin. So với EVM, trong đó phí giao dịch tỷ lệ thuận với “trọng lượng” của giao dịch (tức là lượng gas nó sử dụng trong các hoạt động của nó), phí giao dịch Bitcoin tỷ lệ thuận với quy mô giao dịch, điều này phụ thuộc vào số lượng UTXO mà nó tiêu thụ. và tạo. Việc xác định chi phí bắc cầu chính xác yêu cầu cầu nối biết số lượng BTC được gửi và tập hợp các UTXO sẽ được sử dụng để trang trải số tiền đó. Cả hai thông tin này đều không có sẵn trước đó. Một giao dịch gửi 1,0 BTC cho Bob có thể có phí giao dịch gấp đôi so với một giao dịch khác gửi 1,0 BTC cho Alice nếu 1,0 BTC được gửi cho Bob được chia thành nhiều UTXO nhỏ hơn. Để cung cấp cho người dùng cầu một tỷ lệ phí nhất quán và có thể dự đoán được, chúng tôi đã triển khai một mô hình trong đó phí cầu được tính dựa trên phí giao dịch BTC dự kiến, được tính bằng cách sử dụng kích thước trung bình của các UTXO được kiểm soát bởi cầu và số BTC là bao nhiêu đang được chuyển nhượng. Nếu phí dự kiến được tính cho người dùng cao hơn một chút so với phí giao dịch BTC thực tế, thì số tiền được tính thêm sẽ được chuyển vào nhóm cầu nối có thể được sử dụng để bù đắp sự chênh lệch khi một khoản phí dự kiến thấp hơn một chút so với phí giao dịch BTC thực tế. Theo một nghĩa nào đó, nó có thể được coi là “hệ thống để lại một xu, nhận một xu” cung cấp trải nghiệm người dùng dễ đoán hơn khi kết nối trở lại với Bitcoin. Để duy trì sức khỏe của hệ thống, nó được định cấu hình để có một dòng chảy dương dự kiến nhẹ và trạng thái của hồ bơi được theo dõi liên tục.
Quản lý UTXO
Một thành phần mà chúng tôi lưu ý khi thiết kế cách cây cầu quản lý tập hợp các UTXO của nó là làm thế nào để tránh tích tụ bụi. Bụi UTXO là những UTXO kiểm soát một lượng giá trị rất nhỏ, thậm chí có khả năng thấp hơn mức phí mà người ta phải trả để di chuyển chúng. Có một số lượng lớn UTXO bụi là điều không mong muốn vì nó dẫn đến phí giao dịch BTC cao hơn như đã mô tả ở trên. Cây cầu có cách tiếp cận tương đối đơn giản để giảm thiểu bụi. Đầu tiên, có kích thước chuyển tối thiểu là 0,00125 BTC (có thể thay đổi) khi chuyển từ Bitcoin sang Avalanche. Mọi UTXO được gửi đến cầu nối nhỏ hơn kích thước này đều bị bỏ qua và sẽ không được xử lý. Thứ hai, khi xây dựng các giao dịch Bitcoin để thực hiện chuyển từ Avalanche trở lại Bitcoin, cây cầu sử dụng “số tiền thay đổi mục tiêu”.
Điều quan trọng là phải xem xét cách Wardens nên chọn UTXO nào để đề xuất sử dụng trong các giao dịch Bitcoin. Để khuyến khích các giao dịch được gửi bởi cầu được bao gồm trong một khối Bitcoin, Wardens thích sử dụng bất kỳ UTXO thay đổi nào chưa được xác nhận trong các giao dịch cầu tiếp theo. Bằng cách này, nếu tỷ lệ phí Bitcoin tăng lên, các giao dịch trước đó do cầu gửi vẫn nên được bao gồm trong các khối theo mô hình con trả cho cha mẹ. Nếu không có UTXO thay đổi nào chưa được xác nhận, người quản lý sẽ tổng hợp các UTXO cũ nhất còn lại cho đến khi đáp ứng đủ số lượng cho việc chuyển giao. Mặc dù điều này có thể không giảm thiểu hoàn toàn kích thước và phí giao dịch, nhưng nó cung cấp một cách tiếp cận đơn giản để cầu nối hoạt động thông qua các UTXO mà nó kiểm soát và đảm bảo các UTXO nhỏ hơn cuối cùng sẽ được xếp lại thành các UTXO lớn hơn.
Kết luận
Chúng tôi rất vui mừng được tiếp tục hỗ trợ sự phát triển của hệ sinh thái Avalanche DeFi bằng cách thêm hỗ trợ Bitcoin cho Avalanche Bridge. Việc sử dụng công nghệ Intel SGX đặt cây cầu vào một vị trí độc nhất để giải quyết các thách thức kỹ thuật khác nhau trong việc hỗ trợ chuyển Bitcoin và chúng tôi rất nóng lòng được xem cộng đồng sẽ thực hiện nó từ đâu.
Kết nối với cộng đồng Việt Nam tại:
Telegram VN|Twitter VN
Nguồn bài viết: https://medium.com/avalancheavax/bridging-bitcoin-to-avalanche-a-technical-overview-2535e7088b8