1) Tấn công DNS
5.4 Các cuộc tấn công từ chối dịch vụ phân tán
Một trong những cuộc tấn công phổ biến nhất đối với các dịch vụ trực tuyến là
cuộc tấn công từ chối dịch vụ (DDoS) phân tán [123]. Công nghệ chuỗi khối, và
mặc dù là một hệ thống ngang hàng, nhưng vẫn dễ bị tấn công DDoS. Các ứng dụng dựa trên chuỗi khối, chẳng hạn như Bitcoin và Ethereum, đã nhiều lần bị
các cuộc tấn công này [124] - [128]. Các cuộc tấn công DDoS tự thể hiện theo
một số cách, tùy thuộc vào bản chất ứng dụng, kiến trúc mạng và hành vi ngang hàng. Ví dụ, trong mạng Bitcoin, cuộc tấn công 51% có thể dẫn đến từ chối dịch vụ. Cụ thể, nếu một nhóm thợ đào có được sức mạnh băm đáng kể, họ có thể ngăn những thợ đào khác thêm các khối đã khai thác của họ vào Blockchain, làm mất hiệu lực các giao dịch đang diễn ra và gây ra lỗi dịch vụ trong mạng. Nĩa có chủ đích; nĩa là kết quả của hành vi ác ý; có thể biến thành hard fork, dẫn đến kết quả từ chối dịch vụ tương tự.
1) Kiểm tra căng thẳng: Một khả năng khác cho cuộc tấn công là do số lượng giao dịch trên mỗi khối bị hạn chế mà một ứng dụng Blockchain có thể xử lý trong một thời gian nhất định. Ví dụ: trung bình, mạng Bitcoin phải mất 10 phút để khai thác một khối có kích thước tối đa là 1MB. Mặc dù quy mô giao dịch bằng Bitcoin khác nhau, nhưng kích thước trung bình của một giao dịch bằng Bitcoin là khoảng 500 byte, cho phép trung bình khoảng 2.000 giao dịch trên mỗi khối — số lượng giao dịch tối đa được thêm vào một khối trong Bitcoin được báo
cáo là 2.210 [93] . Hơn nữa, thời gian trung bình cần thiết để khai thác một khối,
dựa trên độ khó được xác định trước, là khoảng 10 phút. Do đó, để tất cả các giao dịch hiện tại trong mạng được đưa vào Blockchain thành công, số lượng của chúng không được vượt quá 200 giao dịch mỗi phút. Có tính đến điều đó và thực tế là mỗi giao dịch yêu cầu tối thiểu hai đồng nghiệp (được xác định bằng hai số nhận dạng công khai khác nhau) tham gia vào một giao dịch, tổng số đồng cấp đang hoạt động được mạng phân phối mỗi phút (tức là trong đó một khối chứa giao dịch của họ sẽ được khai thác) sẽ không vượt quá 200 đồng nghiệp. Với những ràng buộc này, thông lượng của Bitcoin là 3-7 giao dịch mỗi giây. Thông lượng của Bitcoin thấp so với các bộ xử lý thanh toán chính thống như Visa Credit có thể xác minh tới 2.000 giao dịch mỗi giây.
Kẻ thù có thể khai thác thực tế hoạt động nói trên của hệ thống Bitcoin bằng cách giới thiệu danh tính Sybil; cùng một đối thủ cũng có thể kiểm soát nhiều ví. Hơn nữa, bằng cách sử dụng các danh tính đó, kẻ thù có thể phát hành một số giao dịch bụi (ví dụ: 0,001 BTC cho mỗi giao dịch) giữa các danh tính Sybil khác nhau dưới sự kiểm soát của anh ta. Bằng cách đưa vào một số lượng lớn các giao dịch có giá trị nhỏ trong một khoảng thời gian ngắn, mạng sẽ bị tắc nghẽn do tạo ra các khối chứa các giao dịch đó và dịch vụ cho người dùng hợp pháp trong
mạng sẽ bị từ chối. Kết quả của sự tắc nghẽn này, kẻ thù cũng có thể khởi động các cuộc tấn công khác; ví dụ: chi tiêu gấp đôi số token không được khai thác do tắc nghẽn.
Người ta có thể tranh luận rằng các thợ đào có thể chọn giao dịch nào để bao gồm trong một khối. Tuy nhiên, điều này không được khuyến khích bởi thiết kế bằng Bitcoin, như Satoshi đã phác thảo. Các khối ngày nay thậm chí còn bao gồm các giao dịch có giá trị thấp nhất là 0,0001 BTC, điều này làm cho mạng có thể tràn ngập các giao dịch giá trị thấp.
2) Mempool tràn ngập: Một hình thức tấn công DDoS khác được thực hiện tại các vùng nhớ (mempools) của cryp-tocurrencies để tăng phí khai thác. Như đã
trình bày trong Hình 1, mempools hoạt động như một bộ nhớ cache của các giao
dịch chưa được xác nhận.
Mặc dù kích thước khối bị giới hạn trong tiền điện tử, nhưng kích thước mempool không có giới hạn về kích thước. Tuy nhiên, người dùng ước tính kích thước của mempools để ưu tiên các giao dịch của họ. Nếu có nhiều giao dịch hơn trong mempool, thì sự cạnh tranh để khai thác sẽ trở nên cao. Để ưu tiên các giao dịch của họ, người dùng bắt đầu trả nhiều phí khai thác hơn như một động lực cho các thợ đào. Saad và cộng sự. [33], đã xác định một cuộc tấn công DDoS chi phí thấp vào các ứng dụng Blockchain trong đó kẻ thù cùng với các nút Sybil có thể làm ngập các mempools với các giao dịch chưa được xác nhận. Một cuộc tấn công như vậy tạo ra sự hoảng sợ cho những người dùng hợp pháp, những người bị cám dỗ trả phí khai thác cao hơn để ưu tiên các giao dịch của họ trong khi các giao dịch của kẻ tấn công không được khai thác. Kết quả là kẻ tấn công phát động một cuộc tấn công DDoS.
3) Nghiên cứu điển hình: Trong Bitcoin, những người dùng độc hại đã tràn ngập mempool với các giao dịch bụi để khiến những người dùng bắt chước hợp pháp phải trả phí khai thác cao hơn. Vào ngày 11 tháng 11 năm 2017, kích thước mempool Bitcoin đã vượt quá 115 nghìn lượt giao dịch chưa được xác nhận, dẫn
đến việc ngừng giao dịch trị giá 700 triệu USD [50]. Vào tháng 6 năm 2018,
mempool lại bị tấn công với 4.500 giao dịch spam chưa được xác nhận, làm tăng kích thước mempool thêm 45MB. Quy mô tăng lên dẫn đến phí khai thác tăng đột biến và người dùng hợp pháp phải trả phí cao hơn để khai thác các giao dịch của
họ [129]. Trong Hình 14, chúng em vẽ biểu đồ kích thước mempool và phí khai
thác của Bitcoin trong hai năm qua. Chúng em sử dụng chuẩn hóa tối thiểu để chia tỷ lệ các điểm dữ liệu.
4) Các cuộc tấn công DDoS trong các Blockchains riêng tư: Trong các
Blockchains riêng tư dựa trên PBFT, một cuộc tấn công DDoS có thể được phát
động nếu đối thủ kiểm soát được 33% bản sao [130]. Trong các Blockchains
riêng tư, quy mô của mạng được biết đến với các nút phân chia, cho phép kẻ thù tính toán số lượng nút tổng hợp mà anh ta cần đưa vào mạng để tấn công. Giả sử rằng kẻ thù kiểm soát f sybil node sao cho tổng kích thước mạng là n <3f + 1, thì kẻ tấn công sẽ có thể khởi động một cuộc tấn công DDoS để dừng quá trình xác minh. Đối với mỗi giao dịch được gửi bởi giao dịch chính, các bản sao đồng bộ sẽ không trả lời với sự chấp thuận của họ. Vì bản chính sẽ cần sự chấp thuận của ít
nhất 3f + 1 bản sao, nó sẽ không thể xử lý bất kỳ giao dịch nào và các hoạt động của hệ thống sẽ bị tạm dừng dẫn đến một cuộc tấn công DdoS.
Trong các Blockchains công khai, việc phát động một cuộc tấn công như vậy có thể tốn kém. Đối thủ cần phải có phần lớn tổng tỷ lệ băm, phần lớn cổ phần, hoặc kiểm soát hơn 50% công việc ròng ngang hàng. Xem xét rằng các ứng dụng Blockchain công cộng như Bitcoin có hơn 10.000 nút đầy đủ đang hoạt
động [105], đối thủ không thể thực hiện một cuộc tấn công thành công. Mặt khác, trong các Blockchains riêng tư, quy mô mạng không phát triển vượt quá vài trăm nút, theo đó đối thủ chỉ cần kiểm soát 33% bản sao hoặc chỉ bản sao chính, làm cho cuộc tấn công vào các Blockchains riêng khả thi hơn.