BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Khám phá sâu hơn về rủi ro ngẫu nhiên trong chữ ký Bitcoin

Đọc bài viết này mất 13 phút
Số ngẫu nhiên của bạn có an toàn không?

Tiêu đề gốc: "Thảo luận thêm về rủi ro ngẫu nhiên trong chữ ký Bitcoin"

Nguồn gốc: Babbitt



Như chúng ta đã biết, mọi người nên biết k ngẫu nhiên khi ký giao dịch Bitcoin Giá trị quan trọng đến mức nào, chúng ta thậm chí có thể nói rằng tính ngẫu nhiên của giá trị k cũng quan trọng như tính ngẫu nhiên của khóa riêng. Bây giờ chúng ta hãy khám phá chủ đề này sâu hơn.


Không an toàn Ngẫu nhiên bộ tạo số có thể khiến giá trị k bị lặp lại (giá trị r tương ứng tất nhiên cũng sẽ được lặp lại), từ đó khiến khóa riêng bị lộ, vì vậy bạn nên đảm bảo rằng giá trị k không bị lặp lại, phải không?

Filippo thậm chí còn đề cập rằng bitcoin-core/qt không đủ an toàn (các cải tiến Pull-Request năm 2013 vẫn chưa được hợp nhất vào trung kế) và tất nhiên cả blockchain.info (vì nó phụ thuộc vào trình duyệt ) giải số ngẫu nhiên). Quan điểm của ông về giá trị của k là "k phải bí mật và duy nhất. KHÔNG CẦN THIẾT NGẪU NHIÊN" (Giá trị của k phải bí mật và duy nhất và không nhất thiết phải ngẫu nhiên).


Câu này thực sự không nghiêm ngặt lắm, bởi vì "bí mật và duy nhất" thực sự có nghĩa là ngẫu nhiên "đúng" nhất có thể, ít nhất là tính ngẫu nhiên được bảo mật bằng mật mã, nếu không thì "bí mật và duy nhất" chẳng ích gì cả. có thể được coi là một phương pháp tạo số ngẫu nhiên được bảo mật bằng mật mã được thiết kế đặc biệt. Đối với bảo mật Bitcoin, điều quan trọng nhất vẫn là tính ngẫu nhiên, bởi những gì chúng ta gặp phải không chỉ là nguy cơ “các giá trị k trùng lặp được sử dụng trong các giao dịch khác nhau được đăng xuất bằng cùng một khóa riêng” mà còn có những rủi ro tiềm ẩn khác. và các nhà phát triển Bitcoin cần tìm hiểu về khả năng rò rỉ khóa riêng và tin tặc có thể đang bận nghiên cứu và phân tích dữ liệu blockchain lịch sử để tìm kiếm cơ hội đánh cắp tiền.


Khả năng 1:


Người dùng A và người dùng B sử dụng cùng một giải pháp ví vì trình tạo số ngẫu nhiên mà ví dựa vào không đủ an toàn, khiến A và B sử dụng cùng một giá trị k để ký Giao dịch , hiện tượng được thấy trong dữ liệu blockchain là các giao dịch được kiểm tra bởi hai địa chỉ Bitcoin khác nhau có cùng giá trị r. Trong trường hợp này, hacker với tư cách là người quan sát bên thứ ba có thể không làm được gì với hai địa chỉ này, nhưng về mặt lý thuyết, nếu A ghi giá trị k của chính nó thì nó có thể tính ra khóa riêng của B và ngược lại. Tất nhiên, vì không ai hoặc bất kỳ phần mềm ví nào sẽ ghi lại giá trị k được sử dụng trong các chữ ký trước đây (nếu nó được ghi lại thì sẽ rắc rối hơn, vì nếu ai đó lấy được giá trị k mà bạn đã sử dụng trước đó, họ có thể suy ra rằng khóa riêng của bạn và sau đó đánh cắp Bitcoin của bạn), do đó, nói chung, nguy cơ trùng lặp các giá trị r như vậy nhỏ hơn nhiều so với việc trùng lặp các giá trị r đối với các giao dịch được kiểm tra bởi cùng một địa chỉ. Tuy nhiên, không loại trừ khả năng tin tặc sẽ phân tích lỗ hổng số ngẫu nhiên của ví và cố gắng bẻ khóa giá trị k bằng cách thu hẹp không gian xác suất, từ đó đánh cắp tài sản Bitcoin của người dùng ví.


Khả năng 2:


Người dùng A và Người dùng B sử dụng cùng một giải pháp ví vì trình tạo số ngẫu nhiên mà ví dựa vào không đủ an toàn. Điều này dẫn đến hai giá trị k trùng lặp giữa A và B (không phải với chính chúng mà với nhau), nghĩa là A đã sử dụng k1 và k2, và B cũng sử dụng k1 và k2. Trong trường hợp này, bất kỳ hacker bên thứ ba nào cũng có thể khấu trừ khóa riêng của A và khóa riêng của B và tài sản Bitcoin của cả hai người sẽ bị đánh cắp.


Khả năng 3:


Vì trình tạo số ngẫu nhiên được một giải pháp ví nhất định dựa vào không đủ an toàn nên giá trị k được sử dụng khi ký giao dịch sẽ khác từ khóa riêng tư Các khóa giống nhau (phần mềm ví thường sử dụng cùng một thuật toán số ngẫu nhiên để tạo khóa riêng tư và tính toán giá trị k). Đừng lo lắng, số xu sẽ bị mất ngay khi giao dịch được phát sóng. Nếu hacker là may mắn và chương trình chạy nhanh hơn, thậm chí có thể có khả năng chi tiêu gấp đôi giao dịch vừa được phát sóng.
Nhìn thấy những khả năng trên, bạn sẽ hiểu tính ngẫu nhiên của giá trị k quan trọng như thế nào đối với tính bảo mật của Bitcoin bên cạnh tính bảo mật của khóa riêng, phải không? Chúng ta đều biết rằng khóa riêng Bitcoin có thể được coi là 2^256 ngăn kéo trong vũ trụ (thực tế phạm vi của khóa riêng nhỏ hơn con số này), việc tạo khóa riêng tương đương với việc ngẫu nhiên rút một ngăn kéo ra và đặt tiền trong đó. Bằng cách này, chúng ta cũng có thể coi giá trị k là có 2^256 chìa khóa trong vũ trụ. Mỗi lần tiêu tiền, chúng ta phải nhặt một chiếc chìa khóa và vứt nó đi sau khi sử dụng. Cả hai quá trình đều phải ngẫu nhiên để tránh bị người khác sao chép. Việc lặp lại chúng có thể dẫn đến tổn thất tài sản. Đây là lý do cơ bản tại sao Xiaotai cho biết "tính ngẫu nhiên là huyết mạch của Bitcoin".

Những giá trị r có vấn đề này đều đã xuất hiện trong lịch sử. Giá trị r lặp đi lặp lại của một địa chỉ đã trực tiếp dẫn đến việc mất tiền nhiều lần (tình huống này là dễ bị tin tặc phán đoán nhất) và bài viết này Tất cả những khả năng này đã xảy ra, nhưng không biết liệu chúng có thực sự khiến người dùng mất tiền hay không, bởi vì ngay cả khi họ làm mất tiền, người dùng có thể không biết tại sao, ai đã đánh cắp và họ đã đánh cắp nó như thế nào. không biết. Như đã đề cập trước đó, không gian xác suất của giá trị k là 2^256. Ngay cả khi tất cả mọi người trên trái đất đều giao dịch bằng Bitcoin từ sáng đến tối hàng ngày thì không được phép trùng lặp. Hiện tại, chỉ có hàng triệu ví và hàng chục triệu giao dịch đã gây ra nhiều vấn đề về giá trị r như vậy, điều này đủ cho thấy nhiều giải pháp ví hiện nay là “quá phi ngẫu nhiên”. Trong một khối lịch sử (322925), nhiều giao dịch với nhiều địa chỉ có giá trị r lặp lại. (Anh ơi, anh đã sử dụng cùng một giá trị k khi ký các giao dịch Bitcoin. Anh có viết một vòng lặp không?).

Một điều nữa cần nói thêm ở đây là nếu mọi người sử dụng trình tạo số ngẫu nhiên "đúng" và an toàn bằng mật mã nhất có thể để tạo ra giá trị k, thì có lý do r trên toàn bộ chuỗi khối Các giá trị cũng nên được phân phối ngẫu nhiên và khi số lượng giao dịch trên blockchain tăng lên, theo thống kê, việc phân phối các giá trị r sẽ ngày càng trở nên đồng đều hơn. Nhưng thực tế là việc phân phối các giá trị r trên toàn bộ blockchain rất tập trung (có lẽ do giải pháp số ngẫu nhiên không an toàn được một số ví áp dụng). Khi số lượng giao dịch tiếp tục tăng, xác suất va chạm với các địa chỉ có vấn đề cũng tăng lên. Nó ngày càng cao hơn. Đây cũng là một mối nguy hiểm tiềm ẩn rất lớn cho sự phát triển trong tương lai của Bitcoin. Nó cần thu hút đủ sự chú ý từ các nhà cung cấp giải pháp ví và các công ty Bitcoin. Có thể tin tặc chú ý đến nó nhiều hơn bạn!

Cuối cùng, hãy để tôi hỏi bạn một câu, các số ngẫu nhiên của bạn có an toàn không?


Liên kết gốc: https://www.8btc. com/article/36023


Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi