Báo cáo khảo sát tiến độ về tích hợp trực tiếp mạng DFINITY với mạng BTC
星球君的朋友们
2021-12-03 10:13
本文约4995字,阅读全文需要约20分钟
Sự tích hợp này cho phép các thùng chứa phần mềm (Canisters) của máy tính Internet trực tiếp giữ và gửi BTC của mạng chính Bitcoin, đồng thời mang các hợp đồng thông minh đến mạng Bitcoin.

Tác giả: icp league

Ngày 15/09/2021, hệ thống quản trị máy tính Internet NNSDự luật 20586Thông qua việc áp dụng, DFINITY Foundation sẽ tiếp tục phát triển phần mật mã, cho phép mạng máy tính Internet tích hợp trực tiếp với mạng BTC. Sự tích hợp này cho phép các thùng chứa phần mềm (Canisters) của máy tính Internet trực tiếp giữ và gửi BTC của mạng chính Bitcoin, đồng thời mang các hợp đồng thông minh đến mạng Bitcoin.

tiêu đề cấp đầu tiên

▍Tích hợp trực tiếp là gì

  1. Hãy để Canister nhận và giữ Bitcoin trực tiếp trên mạng Bitcoin;

  2. Hãy để các Canister theo dõi và truy vấn UTXO của riêng họ trong mạng Bitcoin;

  3. Các hộp có thể tạo các giao dịch Bitcoin, chấp nhận các giao dịch Bitcoin từ các hộp khác và chuyển tiếp các giao dịch tới mạng Bitcoin.

Sau khi Canisters có thể giữ Bitcoin trực tiếp, vì Canisters đã hoàn thành Turing, họ có thể viết doanh nghiệp và quyết định thời điểm giao dịch với những người dùng Bitcoin khác, bao gồm giao dịch Bitcoin với Canisters khác bằng mạng Bitcoin và doanh nghiệp chạy trên IC trong mạng.

Do đó, có thể sử dụng tính thanh khoản trên mạng Bitcoin để thực hiện các hợp đồng thông minh trên máy tính Internet mà không cần bất kỳ trung gian và cầu nối nào.

tiêu đề cấp đầu tiên

▍Yêu cầu chữ ký ECDSA ngưỡng

Chữ ký ECDSA được sử dụng rộng rãi trong các mạng Bitcoin và Ethereum, vì vậy các Canister trên máy tính Internet có thể có khóa công khai Bitcoin hoặc Ethereum và tạo chữ ký ECDSA để gửi giao dịch trong các mạng chuỗi công khai khác.

Rõ ràng, khóa tương ứng với khóa công khai Bitcoin không nên được lưu trữ ở trạng thái vùng chứa.Ngay cả khi Canister có thể đặt pirvate để đóng gói dữ liệu, khóa vẫn có thể được hiển thị cho tất cả các nút. Bởi vì trạng thái trong Canister sẽ được chia sẻ giữa các nút của mạng con, giống như tất cả các chuỗi khối, theo mô hình tin cậy của máy tính Internet, có thể có các nút độc hại và các nút độc hại có thể lấy khóa chữ ký thông qua các cuộc tấn công để đánh cắp tài sản.

tiêu đề cấp đầu tiên

▍Rủi ro và thách thức

Thách thức chính ở đây là xác định và triển khai một giao thức tính toán đa bên an toàn cho lược đồ chữ ký ECDSA ngưỡng và tích hợp nó với Giao thức máy tính Internet.

Những thách thức khác xung quanh ngưỡng giao thức chữ ký ECDSA là các giao thức tạo khóa phân tán an toàn và các sơ đồ sao lưu và khôi phục khóa an toàn cho các khóa ký riêng.

tiêu đề cấp đầu tiên

▍Giải pháp

Hãy xem lại ba yêu cầu trên:

  1. Hãy để Canister nhận và giữ Bitcoin trực tiếp trên mạng Bitcoin;

  2. Hãy để các Canister theo dõi và truy vấn UTXO của riêng họ trong mạng Bitcoin;

  3. Các hộp có thể tạo các giao dịch Bitcoin, chấp nhận các giao dịch Bitcoin từ các hộp khác và chuyển tiếp các giao dịch tới mạng Bitcoin.

Đối với chức năng (1), các hộp cần phải có ngưỡng khóa công khai ECDSA mà địa chỉ Bitcoin của chúng được lấy từ đó.

Đối với chức năng (2), các khối Bitcoin cần được trích xuất vào máy tính Internet để xác minh và theo dõi chuỗi khối Bitcoin. Sau khi có đủ công việc trong các khối tiếp theo trên chuỗi khối, giao dịch và UTXO của nó có thể được trích xuất và cung cấp cho Canisters theo yêu cầu;

Đối với chức năng (3), máy tính Internet phải thiết lập một kênh liên lạc bên ngoài (kênh liên lạc bên ngoài), dựa trên đó các giao dịch bên ngoài từ vùng chứa hợp đồng thông minh Bitcoin có thể được gửi đến mạng Bitcoin một cách đáng tin cậy.

image.png

Threshold ECDSA được tách biệt hoàn toàn về mặt chức năng với Bitcoin, được xây dựng trên IC như một chức năng riêng biệt, qua đó Canisters có được khóa công khai và API để ký giao dịch, cho phép hợp đồng thông minh hỗ trợ Bitcoin.

tiêu đề cấp đầu tiên

▍Cách kiểm tra trạng thái mạng Bitcoin

Các máy tính Internet sẽ giới thiệu các khối từ các mạng khác và xác minh rằng chúng là chính xác (định dạng, độ khó, v.v.) và xử lý các giao dịch sau một số lần xác nhận nhất định để đảm bảo tính chính xác. An ninh phụ thuộc vàoMáy tính Internet và mạng bitcoinhoạt động bình thường, và không phải các yếu tố khác. Trạng thái của Bitcoin chủ yếu được sử dụng để theo dõi số dư hiện tại của mỗi Hộp chứa Bitcoin.

Tuy nhiên, các nút của Bitcoin và Ethereum sẽ không chạy trên bản sao và chỉ các bộ điều hợp đặc biệt mới được định cấu hình trên bản sao để lấy các khối từ mạng P2P của Bitcoin và Ethereum. Bộ điều hợp sẽ có cùng sự đồng thuận như mạng chính của nó, vì vậy các bản sao sẽ có cùng trạng thái và hệ thống sẽ duy trì các thuộc tính bảo mật mong muốn.

Việc chuyển tiếp giữa máy tính Internet và mạng Bitcoin được triển khai trên nút IC theo cách phi tập trung nhất có thể: mỗi nút trong mạng con IC hỗ trợ tích hợp Bitcoin sẽ được kết nối ngẫu nhiên với nhóm nút Bitcoin của mạng tiền tệ . Cách tiếp cận này cũng cho phép phân phối nhanh chóng các giao dịch tới nhiều nút của mạng Bitcoin theo cách phân cấp cao.

Về các vấn đề bảo mật liên quan, DFINITY có kế hoạch mã hộp cát thực hiện các tác vụ nguy hiểm, chẳng hạn như phân tích nội dung không đáng tin cậy trong hộp cát bị hạn chế cao, để ngay cả khi ai đó phản hồi bằng cách phục vụ mạng độc hại (ví dụ: chúng tôi kết nối với nút Bitcoin của kẻ tấn công) thành công đã phát động một cuộc tấn công thực thi mã từ xa và chúng không thể thoát ra khỏi hộp cát để gây ra bất kỳ tác hại thực sự nào.

tiêu đề cấp đầu tiên

▍Sau khi tích hợp Bitcoin

Kiến trúc mạng bộ điều hợp đã đề cập ở trên được xây dựng một cách rất chung chung.Tất cả các chức năng này được cung cấp bởi một kiến ​​trúc thống nhất, duy nhất là một phần của chồng giao thức IC.Vì vậy, bên cạnh việc tích hợp Bitcoin, nó có thể được sử dụng cho một số mục đích:

  • Một cách sử dụng quan trọng khác ở đây là tích hợp Ethereum trong tương lai;

  • Cho phép vùng chứa thực hiện cuộc gọi http hoặc tạo kết nối mạng tùy ý.

Các giao thức khác nhau (BTC, ETH, http, TCP…) sẽ chia sẻ hầu hết các thành phần kiến ​​trúc, ví dụ: ở cấp độ mạng và mỗi giao thức nhận bộ điều hợp giao thức riêng. Bằng cách này, chúng tôi có thể giữ cho kiến ​​trúc có tính mô-đun cao nhưng vẫn mạnh mẽ, với càng ít khớp nối với giao thức IC càng tốt.

Kế hoạch hiện tại là tích hợp Bitcoin trước, sau đó là tích hợp Ethereum. Chúng tôi giới thiệu mã cụ thể cho các chuỗi khối này, chẳng hạn như bộ điều hợp chuyên dụng để kết nối với mạng P2P Bitcoin hoặc Ethereum. Hiện tại, hỗ trợ sẽ chỉ được thêm cho hai chuỗi khối này. Nếu việc tích hợp thành công rực rỡ và cộng đồng yêu cầu tích hợp Litecoin, Dogecoin và các mạng khác, tất nhiên chúng tôi có thể bỏ phiếu cho nó.

Tích hợp với Bitcoin sẽ tạo nền tảng cho khả năng thực hiện lệnh gọi HTTP bên ngoài, DFINITY có thểtiêu đề cấp đầu tiên

tiêu đề phụ

Cập nhật ngày 15 tháng 9:

  • tiêu đề phụ

Cập nhật ngày 22 tháng 9:

Cập nhật ngày 4 tháng 10

  • Triển khai chức năng Ngưỡng ECDSA: Một phần tốt của "cơ sở" đã được triển khai, chẳng hạn như các loại dữ liệu, ngưỡng tạo tác ECDSA cho nhóm tạo tác, để tạo và xác thực giao dịch, v.v. Cho đến nay, tất cả các triển khai trên đều được thực hiện ở trạng thái mô phỏng. Một số nguyên tắc mật mã đã được triển khai song song, nhưng cho đến nay vẫn chưa được tích hợp với sự đồng thuận.

  • tiêu đề phụ

Cập nhật ngày 19 tháng 10:

  • tiêu đề phụ

Cập nhật ngày 31 tháng 10:

  • Sau khi đặt mốc ngày 20 tháng 11, chúng tôi nhận ra rằng tính năng này có thể sẽ chỉ được phát hành vào năm tới. Thật khó để đưa ra một ước tính tốt ngay bây giờ, kế hoạch sẽ là trong quý đầu tiên.

  • tiêu đề phụ

Cập nhật ngày 4 tháng 11:

  • Quyết định cuối cùng về quản lý khóa đối với ngưỡng ECDSA vẫn đang được tranh luận;

  • Tất cả các khóa Canister trên một mạng con sẽ đến từ một khóa chính này;

  • Khi cùng một khóa chính được triển khai trên các mạng con khác nhau, tính bảo mật của khóa này sẽ phụ thuộc vào điểm yếu bảo mật của mạng con nơi khóa được triển khai. Điều này có nghĩa là chúng ta cần sử dụng một mạng con đủ an toàn để lưu trữ một khóa chính nhất định;

  • tiêu đề phụ

Cập nhật ngày 6 tháng 11:

  • Cộng đồng đề nghị quan chức cung cấp tùy chọn để Canister chọn xem anh ta muốn sử dụng mạng chính Bitcoin hay thử nghiệm. Điều này giúp kiểm tra mã vùng chứa dễ dàng hơn mà không cần thực hiện các giao dịch trên mạng chính Bitcoin.

  • Chức năng ECDSA ngưỡng có thể sẽ được chuyển sang năm 2022, điều này cũng sẽ làm trì hoãn việc triển khai tích hợp Bitcoin. Cộng đồng đề xuất rằng nếu các chức năng Bitcoin được hoàn thành trước thời hạn, chúng tôi nên cho phép họ truy cập các chức năng Bitcoin mà không cần ECDSA ngưỡng và mô phỏng quá trình phát triển chức năng ECDSA trong quá trình triển khai, điều này sẽ giúp rút ngắn thời gian triển khai các chức năng liên quan đến Bitcoin.

  • tiêu đề phụ

Cập nhật ngày 12 tháng 11:

  • Ngưỡng ECDSA: Các nhóm kỹ thuật cơ chế đồng thuận và mật mã hiện đang làm việc trên sự tích hợp đầu tiên giữa cơ chế đồng thuận và chữ ký ECDSA, một cột mốc quan trọng trong đó chúng tôi sẽ xác minh mạng con bốn nút tối thiểu cần thiết cho chữ ký ECDSA ngưỡng. Chúng tôi đã đặt thời hạn cho cột mốc này, đó là vào cuối tuần tới. Chúng tôi đã đạt được tiến bộ tốt cho đến nay.

  • Tích hợp giao thức của Bộ điều hợp Bitcoin với các Thành phần hệ thống Bitcoin: Nhóm kỹ thuật đã đạt được tiến bộ đáng kể trong tuần này, với giao thức giữa Bộ điều hợp Bitcoin ở lớp mạng và Thành phần hệ thống Bitcoin ở lớp thực thi bắt đầu hoạt động. Nghĩa là, các thành phần hệ thống Bitcoin có thể tìm nạp các khối từ bộ điều hợp, bộ điều hợp khớp yêu cầu với các khối được tìm nạp trước của nó và nếu khớp, sẽ cung cấp một khối Bitcoin mới, khối này được thành phần hệ thống xử lý. Yêu cầu khối từ một thành phần hệ thống Bitcoin bao gồm tất cả các hàm băm khối theo quan điểm của chuỗi khối Bitcoin mà thành phần hệ thống đó có. Bộ điều hợp phản hồi bằng một khối bitcoin trong trường hợp khối của nó khớp với chế độ xem cục bộ của thành phần hệ thống về khối "trên cùng". Việc tích hợp cấp độ giao thức này được thực hiện thông qua một bộ điều hợp duy nhất kết nối "trực tiếp" với các thành phần hệ thống Bitcoin, thay vì thông qua ngăn xếp IC. Điều này có nghĩa là các phần cốt lõi của chức năng liên quan đến Bitcoin hiện đang hoạt động trong hai thành phần chính này, nhưng các cơ chế giao tiếp mới sẽ tiếp tục được phát triển.

  • tiêu đề phụ

Cập nhật ngày 19 tháng 11:

  • tiêu đề phụ

Cập nhật ngày 20/11:

  • tiêu đề phụ

Cập nhật ngày 26 tháng 11:

  • Việc tích hợp các chức năng đồng thuận và nguyên tắc mã hóa của giao thức được ký trước đã được hoàn thành và chúng tôi cũng đã thêm các chức năng mã hóa. Trong số đó, chữ ký trước là phần phức tạp nhất trong quá trình triển khai chức năng ECDSA ngưỡng nhất và hiện tại chúng tôi vẫn đang làm việc từ đầu đến cuối với các phím tắt vẫn cần được "giải quyết". Đối với các lối tắt này, chúng tôi sẽ có đầy đủ chức năng sau khi giao thức ký được triển khai.

  • Để làm cho việc ký trước trở nên cụ thể hơn, chúng tôi đã trực quan hóa chức năng thông qua bảng điều khiển Grafana. Cac chi tiêt như sau:

  • tiêu đề phụ

chữ

  • tiêu đề phụ

Cập nhật ngày 29/11:

  • Taproot và ngưỡng chữ ký Schnorr có thể là bước tiếp theo sau ngưỡng ECDSA, nhưng chưa có quyết định chắc chắn nào được đưa ra. Khi triển khai Ngưỡng Schnorr, chúng ta hoàn toàn có thể tận dụng sức mạnh tổng hợp của công việc Ngưỡng ECDSA, tuy nhiên, chúng ta vẫn cần xác định đặc tả giao thức, bao gồm sơ đồ phái sinh khóa, chứng minh tính bảo mật của nó, tạo thiết kế hệ thống (khai thác sức mạnh tổng hợp) và triển khai Nó.

  • tiêu đề cấp đầu tiên

▍Tài nguyên

https://forum.dfinity.org/t/threshold-ecdsa-signatures/6152

https://forum.dfinity.org/t/direct-integration-with-bitcoin/6147

星球君的朋友们
作者文库