Lùm xùm tấn công 51% của Verge (XVG) và những điều bạn nên biết

in #topcoin6 years ago

Những người đam mê tiền mã hóa luôn cho rằng giao thức blockchain rất an toàn. Đúng là những đồng tiền lớn như Bitcoin hay Ethereum có thể duy trì khả năng an toàn hơn bất kỳ hệ thống thanh toán tiền mã hóa nào trong lịch sử, cho phép người dùng dễ dàng chuyển hàng triệu USD mà không chịu sự kiểm soát của bên thứ ba. Nhiều người còn tin tưởng rằng tiền mã hóa hoàn toàn không thể hack.

Tuy nhiên, tháng trước một nhóm hacker ẩn danh đã thực hiện tấn công tấn công 51% lên Verge (XVG), một đồng coin ẩn danh khá phổ biến trong cộng đồng. Nhóm hacker này cố gắng kiểm soát mạng lưới Verge 3 lần trong khoảng thời gian vài tiếng từ ngày 4 – 6/04/2018, ngăn cản người dùng thực hiện thanh toán. Đặc biệt, trong khoảng thời gian này, nhóm này thực hiện in giả hàng loạt đồng verge với tốc độ 1560 XVG (khoảng 80 USD)/ giây, và đã bỏ túi hàng triệu USD.

Không dừng lại ở đó, Verge (XVG) cũng vừa trải qua một đợt hack, chỉ khoảng 1 tháng sau lần tấn công gần nhất. Theo tin tức trên các diễn đàn tiền mã hóa, bọn xấu có vẻ như sử dụng cùng một chiến thuật như lần trước.

Vậy ai là người chịu trách nhiệm trong trường hợp này? Đây là lỗi của nhóm phát triển hay lỗi xuất phát từ chính bản chất của tiền mã hóa? Liệu điều này sẽ lặp lại với những đồng tiền lớn hơn?

Làm giả dấu thời gian (Timestamp Spoofing)

Nguồn gốc của việc này là khai thác lỗ hổng nhằm tạo ra dấu thời gian giả. Trong mỗi mạng blockchain, các giao dịch riêng lẽ sẽ được nhóm lại vào từng khối và được xác nhận cùng một lúc. Mỗi khối sẽ được xác định dấu thời gian tại thời điểm tạo. Khi mà mạng blockchain hoạt động bình thường, đôi khi dấu thời gian này không theo thứ tự, như khối 100 được tạo đánh dấu thời gian sau khối 101. Điều này là do việc đồng bộ hóa thời gian trong mạng lưới phân quyền hoàn toàn không đơn giản.

Do dự biến động không đoán trước được trong thời gian từ lúc nhận dữ liệu, tại khối và truyền thông tin giữa các node trong mạng lưới, nhiều khả năng thời gian của khối có thể không theo thứ tự, ngay cả khi các node trong hệ thống hoàn toàn trung thực. Do đó một số mạng lưới blockchain cho phép xử lý linh hoạt thời gian của khối, đối với trường hợp của Verge, các nốt có thể không đồng thuận về thời gian hiện tại trong hạn mức là 2 tiếng.

Đây là điểm mà một số hacker đã tận dụng để làm giả dấu thời gian, bằng việc đưa lên các khối đã xuất hiện trong quá khứ nhưng vẫn trong khoảng thời gian 2 giờ, và vẫn hợp lệ để được xác nhận bởi các node khác.

Độ khó đào coin (mining difficulty)

Để giữ mạng Verge mang tính phân quyền tốt, nhà phát triển đã đảm bảo ngay cả những thiết bị nhỏ như Macbook cũng có thể tham gia đào Verge. Tuy nhiên điều này dẫn đến việc hạn chế các hoạt động liên quan đến khối lượng thanh toán trong hệ thống như giới hạn số giao dịch trên phút.

Đối với trường hợp của Verge thời gian mục tiêu của mỗi khối là 30 giây. Khi mà mạng lưới hoàn toàn phân quyền, làm thể nào đảm bảo mạng lưới đạt mục tiêu này, điều gì khiến ngăn các node đệ trình các khối mới? Đây không phải vấn đề dễ khi mà các node muốn xác nhận khối càng nhanh các tốt trong khi mỗi khối được xác nhận sẽ nhận được phần thưởng.

Câu trả lời cho vấn đề này chính là Proof of work. Đối với khối được coi là hợp lệ trong những bài toán này có thể thay đổi tùy ý. Để đạt được thời gian mục tiêu mỗi khối 30 giây, độ khó sẽ được thường xuyên thay đổi dựa trên tốc độ xác nhận hiện thời của mạng lưới. Nếu càng nhiều thợ đào verge, tốc độ đào sẽ nhanh hơn, độ khó sẽ được tăng lên và ngược lại, từ đó đảm bảo được thời gian khối mục tiêu.

Thuật toán để Verge sử dụng để tính toán độ khó hiện thời có tên là Dark Gravity Wave, nó là trung bình gia quyền tốc độ xác nhận khối trong khoảng thời gian 2 giờ. Do đó có thể nói, độ khó là hàm số tần suất khối, được tính toán dựa trên dấu thời gian của những block trước đó.

Do đó khi mà dấu thời gian tạo khối bị sai quá nhiều sẽ ảnh hưởng đến độ khó của mạng lưới. Đây là điều mà hacker sẽ tìm hiểu, nếu bạn kiểm tra dữ liệu blockchain của Verge quanh thời gian hack diễn ra, tất các các khối được đệ trình có dấu thời gian khoảng 1 tiếng so với hiện tại, điều này làm cho thuật toán của hệ thống bị rối loạn. Khi đó thuật toán sẽ cho rằng “không có nhiều khối được đệ trình gần đây (phần lớn đều là khối cách đây hơn 1 tiếng), độ khó quá lớn – hãy điều chỉnh nó dễ hơn”.

Khi mà dấu thời gian làm giả liên tục, thuật toán hệ thống sẽ liên tục giảm độ khó đào coin đến khi việc đào verge cực kỳ dễ dàng. Đợt hack tháng 04, độ khó trung bình trước khi hack là 1393093.39131, tuy nhiên độ khó trong quá trình hack giảm xuống chỉ còn 0.00024414, giảm 99.999999%. Việc giảm độ khó dẫn đến số lượng khối đệ trình tăng lên tăng, làm cho thời gian tạo khối còn 1 giây.

Sự thông minh của đợt tấn công này nằm ở chỗ, hacker tận dụng chính điểm yếu của thuật toán tính toán độ khó chứ không phải phá hỏng nó. An ninh hệ thống được đảm bảo bằng tổng công suất đào (mining power), tuy nhiên nó quá khó để phá bỏ, các hacker trong trường hợp này tìm mọi cách để giảm tổng công suất.

Thế nhưng, việc giảm độ khó chỉ là một phần của câu chuyện, nó thực sự không mang lại cho hacker quá nhiều lợi thế. Khi độ khó giảm, việc đào một khối mới sẽ rất dễ cho cả hacker và tất cả mọi người, các thợ mỏ vẫn phải cạnh nhau như trước. Điều này có nghĩa hacker vẫn cần chiếm 51% tổng công xuất đào để kiểm suất hệ thống. Tuy nhiên trong trường hợp của Verge, kẻ tấn công đã có thể kiểm soát mạng verge với ít hơn 51% hash rate, điểm mấu chốt là họ đã khai thác lỗ hổng trong thuật toán đào của Verge.

Thuật toán đào Verge

Thông thường các khối được tạo theo giao thức PoW sử dụng thuật toán đào duy nhất có tên SHA-256. Tuy nhiên Verge cho phép các thợ mỏ được sử dụng 5 thuật toán khác nhau (Scrypt, X17, Lyra2rev2, myr-groestl, blake2s). Lý do được đưa ra cho việc sử dụng 5 thuật toán này là do Bitcoin sử dụng một thuật toán duy nhất ngày càng trở lên tập trung, phần lớn BTC được đào bởi các thiết bị chuyên dụng Bitcoin ASIC được kiểm soát bởi một số mining pool, điều này khiến mạng lưới ngày càng kém phân quyền.

Với việc sử dụng 5 thuật toán khác nhau, Verge sẽ dễ đào hơn, khó bị kiểm soát bởi các công ty đào lớn. Khi mà hệ thống hoạt động bình thường, thời gian tạo khối mục tiêu là 30 giây, hệ thống phải đảm bảo cả 5 thuật toán này đều duy trì được khoản thưởng công bằng, không có thuật toán nào kiểm soát hệ thống (làm cho các thuật toán khác đào được ít hơn). Để đảm bảo điều này, mỗi thuật toán có thông số điều chỉnh độ khó độc lập với 4 thuật toán còn lại.

Trong trường hợp đợt tấn công tháng 4 của verge, hacker không làm giảm độ khó của cả hệ thống, mà chỉ giảm độ khó cho những thợ mỏ dùng thuật toán Scrypt. Khi mà các thợ mỏ dùng Scrypt đào verge quá dễ dàng, các thợ mỏ khác vẫn phải làm việc với độ khó như đã định làm cho công suất đào của họ vô dụng. Điều này có nghĩa là hacker chỉ phải cạnh tranh với những người sử dụng thuật toán Scrypt và chiếm nhiều hơn 50% hash rate trong tổng số những người này. Tại thời điểm tháng 4, hacker chỉ cần khoảng dưới 10% hash rate để chiếm đa số trong số người sử dụng Scrypt.

TOPCOIN

Sort:  

👓👓👓👓👓
Your post is great..
Click This link they are having a promotion going on..
They are giving 20 UPVOTS WORTH 1 SBD AND 10 FOLLOWERS.

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.029
BTC 65725.20
ETH 3370.19
USDT 1.00
SBD 2.63