Xem bản thử nghiệm

Đây là cách đào Bitcoin miễn phí bằng dịch vụ BigQuery của Google

Kuroe , Theo Trí Thức Trẻ

Tuy nhiên lợi nhuận thu được bằng phương pháp đào Bitcoin này chỉ là khoảng 100.000 VND/năm mà thôi.

Với cơn sốt của tiền mã hóa nói chung, cũng như bitcoin nói riêng trong năm 2017, những gã thợ mỏ trên toàn thế giới đã nghĩ ra đủ loại phương án sáng tạo khác nhau để có thể tối ưu hóa lợi nhuận của mình. Từ việc về những vùng đồng quê để có mức giá điện thấp hơn, đến phát triển một hệ thống trâu cày tự chế đằng sau lưng chiếc xe điện Tesla, v...v…

Và mới đây, đã có một ý tưởng sáng tạo khác của Uri Shaked - một nhà nghiên cứu phần mềm tại Israel được công bố, đó là dùng dịch vụ BigQuery của Google để đào Bitcoin miễn phí.

BigQuery là một công cụ được Google phát triển, cho phép tất cả mọi người khả năng phân tích miễn phí 1 TB dữ liệu mỗi tháng. Theo như những gì Shaked chia sẻ tại Blog cá nhân của mình, thì sau khi tham dự một buổi hội thảo giữa các nhà nghiên cứu và phát triển tại Israel tháng trước, ông đã nảy ra ý tưởng dùng BigQuery để đào Bitcoin.

Đây là cách đào Bitcoin miễn phí bằng dịch vụ BigQuery của Google - Ảnh 1.

Trước khi đi vào tìm hiểu Shaked đã “đào coin miễn phí” như thế nào, hãy cùng tìm hiểu lại một chút về Bitcoin. Về cơ bản, cứ mỗi 10 phút sẽ có 1 block được thêm vào blockchain của Bitcoin, và mỗi block sẽ chứa 2 loại Data chính: “header” và “danh sách các giao dịch bitcoin đã được thực hiện tình từ khi block trước đó được tạo thành”. Header chứa 80 byte dữ liệu, và việc “đào coin” về cơ bản là thực hiện các phép tính để đoán ra con số 4 byte mà từ đó tạo thành hash mã hóa cho header của block. Con số 4 byte đó còn được gọi là nonce.

Quá trình tìm nonce được thực hiện thông qua một loại chip chuyên dụng có tên là ASIC, được tối ưu để chạy thuật toán hashing càng nhanh càng tốt. Mặc dù ASIC đào coin thì cực kỳ hiệu quả, tuy nhiên đi cùng với đó lượng điện năng tiêu thụ cũng cực lớn. Trên thực tế, ở thời điểm hiện tại, một giao dịch Bitcoin tiêu thụ lượng điện năng đủ cho một hộ gia đình dùng trong một tuần. Vì lý do này, các thợ mỏ luôn phải tìm kiếm những giải pháp khác ít tốn kém hơn để “cày tiền mã hóa”.

Bây giờ, hãy cùng đi sâu hơn một chút về dịch vụ BigQuery của Google. Đây là một dịch vụ đám mây được Google cung cấp, cho phép người sử dụng gửi một bộ data lên server của Google, rồi dùng các lệnh SQL để phân tích bộ dữ liệu đó. BigQuery sở hữu ưu thế về sức mạnh rất lớn - cho phép người dùng phân tích dữ liệu với thời gian vô cùng nhanh chóng, nếu như người sử dụng biết cách tối ưu các lệnh tìm kiếm của mình.

Shaked bắt đầu mày mò cách “đào coin” bằng thông qua việc lựa chọn một block bất kỳ trong blockchain của Bitcoin, sau đó sử dụng BigQuery để đổi phần header được mã hóa dưới dạng hex thành dạng nhị phân thông qua tính năng hash SHA-256. Việc thực hiện thành công công đoạn này chứng tỏ Shaked có thể kiểm tra các hash của khối Bitcoin bằng BigQuery. Bước tiếp theo là đào Bitcoin bằng cách tìm ra phương pháp đoán nonce của khối tiếp theo sẽ được tạo ra trong blockchain.

Đây là cách đào Bitcoin miễn phí bằng dịch vụ BigQuery của Google - Ảnh 2.

Để làm điều này, Shaked bắt đầu thử “mò nonce” của một khối đã được tạo sẵn từ trước. Cấu tạo của một nonce là 4 byte, mỗi byte sẽ mang giá trị bất kỳ từ 0 đến 255. Vậy nên Shaked viết một đoạn mã đơn giản để tìm chuỗi 4 byte giá trị thông qua phương pháp thử tổ hợp. Tuy nhiên, dù tìm được kết quả đúng, thì quá trình này vẫn rất tốn thời gian. Tuy chỉ mất khoảng 30 giây để tìm 1 byte giá trị, nhưng để tìm đúng tổ hợp chuỗi 4 byte thì sẽ tốn khoảng 2 giờ. Tốc độ này là quá chậm, khi mà giờ cứ mỗi 10 phút là đã có một khối mới được hoàn thành trong chuỗi.

Đương nhiên, với một thuật toán thử kiểu “trâu bò” như thế thì chậm chạp cũng là điều dễ hiểu, vậy nên phương án tối ưu hơn là đặt tất cả các chuỗi 4 byte có thể kết hợp được vào một bảng lớn, và tìm đúng giá trị nonce từ trong bảng đó ra. Điều này cũng đồng nghĩa rằng trong bảng sẽ có 256^4 = 4.294.967.296 giá trị nonce cần phải thử.

Phương pháp này khi được thử áp dụng vào BigQuery đã bị lỗi, rằng không có đủ bộ nhớ để chạy một query với số lượng giá trị khổng lồ như vậy. Để “đi vòng” qua lỗi này, Shaked viết thêm một đoạn mã cho phép đoán giá trị ngẫu nhiên từ 0 đến 255 cho mỗi byte của nonce để có thể “nhảy” giữa các giá trị trong bảng dữ liệu một cách nhanh chóng hơn.

“Tôi đã có thể kiếm tra gần 4 tỉ hash chỉ trong 20 giây, quy ra tốc độ là 200 mH/s. Kết quả này không quá tệ, bởi sử dụng VGA để đào coin chỉ cho bạn tốc độ là 30-60 mH/s mà thôi.”

Ở thời điểm hiện tại, thuật toán đào coin càng ngày càng trở nên khó hơn, vậy nên số lượng các giá trị phải thử cũng ngày càng khủng khiếp. Số lượng tổ hợp hash cần phải thử giờ đây là 2^182, tức khoảng 6,12 x 10^56 giá trị. Do đó, nếu giữ nguyên phướng án thử như trên hoàn toàn là bất khả thi. Biết rõ điều này, Shaked lại một lần nữa tối ưu phương pháp của mình, sử dụng một bảng dữ liệu 106 tỉ hàng để làm khoảng không gian tìm kiếm.

Đây là cách đào Bitcoin miễn phí bằng dịch vụ BigQuery của Google - Ảnh 3.

Sau khi tối ưu, kết quả tốt nhất mà Shaked thu được là khoảng 500 mH/s. Nếu muốn tiếp tục tối ưu hơn nữa, phương án sẽ là chạy song song 50 query cùng lúc (lượng tối đa mà Google cho phép), với tổng tốc độ trong điều kiện tốt nhất là 25 gH/s. Kết quả này không tệ, tuy nhiên so với chip ASIC thì vẫn còn kém xa, khi mà chip “trâu cày” khủng nhất ở thời điểm hiện tại đạt tốc độ xử lý là 13 teraHash/s, gấp 26.000 lần so với phương pháp BigQuery.

BigQuery cho phép người dùng phân tích 1TB dữ liệu mỗi tháng, và sau đó sẽ tính tiền nếu vượt quá lượng dữ liệu này. Tuy nhiên, theo như Shaked chỉ ra trong blog cá nhân của mình, phương thức này về cơ bản chỉ là tạo ra một lượng khổng lồ dữ liệu ngẫu nhiên sử dung những bảng có sẵn, do đó không tiêu tốn bất cứ dữ liệu nào của BigQuery. Nói cách khác, phương pháp “đào coin” này hoàn toàn miễn phí.

Nếu sử dụng phương pháp này để đào coin toàn thời gian, Shaked sẽ phải tự động hóa hoàn toàn quá trình phân tích dữ liệu. Điều này hoàn toàn có thể, tuy nhiên chỉ dừng lại ở mức “đào được” mà thôi, chứ đừng mong có thể làm giàu từ phương pháp này. Về cơ bản, nếu như toàn bộ quá trình được tự động hóa, bạn sẽ có thể kiếm được khoảng 100.000 VND/năm tiền bitcoin.

“Thí nghiệm này cho tôi một cái nhìn hoàn toàm mới về lượng sức mạnh tính toán khổng lồ được dùng để đào Bitcoin” - Shaked chia sẻ. “Chúng ta đang nói đến 26 tỉ giga-hash/s, tức 2,6 x 10^19, nhiều hơn số lượng hạt cát trên Trái đất. Mỗi giây. Nếu chúng ta chỉ dùng một phần nhỏ sức mạnh tính toán này vào trong các lĩnh vực khác thì mọi chuyện sẽ như thế nào nhỉ?”

Tham khảo Motherboard

Bình luận

NỔI BẬT TRANG CHỦ