Blockchain _ Ch15

Chương 15: Giảm thiểu tấn công  


Tôi sẽ thảo luận về ba loại tấn công có thể xảy ra khác nhau trong hệ thống Bitcoin -

Cuộc đua tấn công
Là một kẻ tấn công, bạn có thể gửi cùng một đồng tiền cho các nhà cung cấp khác nhau liên tiếp, có thể bằng cách sử dụng hai máy khác nhau. Nếu các nhà cung cấp không chờ xác nhận khối trước khi giao hàng, họ sẽ sớm nhận ra rằng giao dịch đã bị từ chối trong quá trình khai thác. Giải pháp cho loại tấn công này là nhà cung cấp phải chờ ít nhất một xác nhận khối trước khi gửi hàng.

Tấn công Finney
Trong trường hợp này, kẻ tấn công là người khai thác. Người khai thác khai thác một khối với giao dịch của anh ta và không giải phóng nó trong hệ thống. Bây giờ anh ta sử dụng các đồng tiền tương tự trong một giao dịch thứ hai và sau đó phát hành khối được khai thác trước. Rõ ràng, giao dịch thứ hai cuối cùng sẽ bị từ chối bởi các thợ mỏ khác, nhưng điều này sẽ mất một thời gian. Để giảm thiểu rủi ro này, người bán nên đợi ít nhất sáu xác nhận khối trước khi phát hành hàng hóa.

Tấn công 51%
Trong kiểu tấn công này, chúng tôi đưa ra một giả định không thực tế rằng ai đó sở hữu 51% sức mạnh tính toán của mạng. Kẻ tấn công trong loại tấn công này khai thác một blockchain riêng, nơi anh ta nhân đôi số tiền.
Khi anh ta sở hữu phần lớn sức mạnh tính toán, anh ta được đảm bảo rằng blockchain riêng của mình tại một thời điểm nào đó sẽ dài hơn chuỗi mạng trung thực. Sau đó, ông phát hành blockchain riêng của mình trong hệ thống khiến tất cả các giao dịch trước đó được ghi lại trong blockchain trung thực là không hợp lệ.
Kiểu tấn công này là hư cấu vì rất tốn kém để có được sức mạnh tính toán bằng hoặc vượt quá 51% sức mạnh tính toán của toàn bộ mạng.


**********

Mục lục: 


Chương 1: Giới thiệu về Blockchain 
Chương 2: Chi tiêu gấp đôi (Double Spending) 
Chương 3: Sơ lược về lịch sử phát triển của Blockchain 
Chương 4: PKI (Public Key Cryptography) - Mật mã khóa công khai 
Chương 5: Hàm Băm (Hashing) 
Chương 6: Khai phá (Mining) 
Chương 7: Chuỗi khối (Chaining Blocks) 
Chương 8: Bằng chứng công việc 
Chương 9: Mạng và khai thác 
Chương 10: Phần thưởng cho người khai thác 
Chương 11: Cây Merkle (Merkle Tree) 
Chương 12: Xác minh thanh toán 
Chương 13: Giải quyết xung đột 
Chương 14: Quyền riêng tư 
Chương 15: Giảm thiểu tấn công 
Chương 16: Kết luận

Categories

AI (13) AI programming (1) ASP (1) Android (32) App Honeygain (4) Assembly (17) Biểu diễn thuật toán (1) Bubble-Sort (1) Bài giảng (2) Bài giảng lập trình C và Cpp (21) Bài viết hay (108) Bản đồ tư duy (1) C Plus Plus (103) C/C++ (16) CDSL phân tán (1) CSS (2) Cơ sở dữ liệu (11) Danh ngôn lập trình (1) Datamining (4) Genetic Algorithm (1) Giáo trình (2) Giải thuật tiến hóa - thuật toán di truyền (2) Google App Engine (2) Góc học tập (34) HTML (1) Hướng dẫn kiếm tiền online tại nhà (6) Hướng dẫn sử dụng Emu8086 (1) Học lập trình (131) Học lập trình C và CPP qua ví dụ (17) Java (54) Java Căn bản (6) JavaScript (5) Kỹ năng đọc hiệu quả (1) Kỹ thuật lập trình (16) Kỹ thuật đồ họa máy tính (10) Lý thuyết Cơ sở dữ liệu (2) Lý thuyết đồ thị (11) Lập trình Cơ sở dữ liệu (2) Lập trình Python (2) Lập trình căn bản (8) Lập trình hướng đối tượng với Java (7) Lập trình mobile (9) Lập trình mạng (6) Lập trình nhúng (1) Lập trình trí tuệ nhân tạo (2) ML (1) MMO (6) MS Access (1) Machine learning (2) Mạng máy tính (1) Mẹo tìm kiếm trên Google (1) Nghiên cứu khoa học (3) Ngôn ngữ lập trình (2) Những cuốn sách hay mà bạn nên đọc khi còn trẻ (1) Pascal (3) Phương pháp tính toán tối ưu (2) Phương pháp tối ưu (2) Quản lý dự án CNTT (1) SEO (1) SQL (5) Swift (9) Sách hay (4) Thiết kế Web (2) Thuật toán (51) Thuật toán Sắp Xếp -Sort (9) Thuật toán Tìm kiếm - Search (5) Thuật toán di truyền (4) Thực hành Android (2) Tin học văn phòng (5) Tiện ích máy tính (3) Toán rời rạc (13) Treo máy kiếm tiền (3) Trí tuệ nhân tạo (18) Tài liệu tham khảo (4) Tìm hiểu Blockchain (2) Tự học Android (3) Tự học Android qua ví dụ (1) Tự học JavaScript (1) Tự học lập trình (9) Tự học lập trình Android (17) Tự học lập trình C và CPP (14) Tự học lập trình java qua các ví dụ (8) XML (1) blockchain (2) bài giảng quản lý dự án CNTT (1) bài tập java (3) bài tập lập trình (4) cấu trúc dữ liệu giải thuật (15) hướng dẫn viết báo (1) học lập trình Java (11) học máy (5) hợp ngữ (8) lập trình viên (3) phưng pháp đơn hình (2) thuật toán AI (2) tài liệu CNTT miễn phí (3) tính toán tối ưu (1) tự học lập trình iOS (8) tự học lập trình python (1) ví dụ Assembly (1) Đại số gia tử và ứng dụng (1) Đồ họa (4)