Đào coin cơ bản: Các thuật toán thông dụng để đào coin

12.699 Total Views
[Sassy_Social_Share count="1" total_shares="ON"]

Nói đến đào coin thì một khái niệm quen thuộc được biết đến song song chính là thuật toán đào coin. Trong bài viết này CafeBitcoin sẽ giới thiệu với bạn đọc 3 thuật toán đào Coin phổ biến nhất là Scrypt, SHA-256, và Ethash.

1. Scrypt là gì?

Scrypt là một hàm dẫn xuất khóa (hàm hash) trong bộ nhớ cứng. Những chức năng của bộ nhớ cứng đòi hỏi một số lượng lớn RAM để có thể tiến hành giải quyết.

Điều này có nghĩa là một chip ASIC tiêu chuẩn được sử dụng để giải quyết Bitcoin SHA-256 Proof of Work sẽ cần phải dự trữ một khoảng không gian cho bộ nhớ truy cập ngẫu nhiên (Random Access Memory) thay vì sử dụng năng lượng băm tinh khiết.

Scrypt chỉ điều chỉnh số lượng các biến ngẫu nhiên cần lưu trữ so với SHA-256.

Scrypt tạo ra một loạt các số giả ngẫu nhiên cần được lưu trữ ở một vị trí trong bộ nhớ RAM. Sau khi thuật toán truy cập các số này một vài lần thì sẽ trả về một kết quả.

Việc tạo ra các con số đòi hỏi nhiều tính toán và khi chúng được truy cập vài lần, nó hoàn toàn có thể sử dụng bộ nhớ RAM kết hợp với sức mạnh băm chứ không cần phải tạo ra chúng ngay lập tức – một khoảng thời gian và bộ nhớ cân xứng trong điều kiện tối ưu hóa tốc độ.

Lợi ích

Lợi ích chính của thuật toán Scrypt là nó làm giảm lợi thế của các thợ đào ASIC Bitcoin trong mạng lưới. Điều này có nghĩa là cần có thêm nhiều thợ đào tham gia vào mạng lưới và đóng góp đủ để làm cho nó đáng giá với công sức của họ.

Một ưu thế khác là nó chiếm ít năng lượng vì tổng công suất mạng ít hơn. Thuật toán Scrypt sẽ ưu tiên nhiều RAM hơn và khả năng xử lý song song, đó là lý do tại sao các loại máy đào GPU vẫn còn có thể hoạt động khi độ khó của coin tăng lên.

Các Altcoin điển hình sử dụng Scrypt: XDG-Dogecoin, LTC-Litecoin, AUG-Auroracoin,…

2. SHA-256 (Thuật giải băm an toàn)

SHA

Secure Hash Algorithm hay thuật giải băm an toàn là năm thuật toán được chấp nhận bởi FIPS – Tiêu chuẩn Xử lý Thông tin Liên bang, dùng để chuyển một đoạn dữ liệu nhất định thành một đoạn dữ liệu có chiều dài không đổi với xác suất khác biệt cao. Những thuật giải này được gọi là “an toàn” bởi vì, theo nguyên văn của chuẩn mực FIPS 180-2 phát hành ngày 1/8/2002:

Đối với một giá trị nhất định được tạo nên bởi một trong những thuật toán SHA, việc tính toán là không khả thi để:

1, Tìm một thông điệp tương ứng với thông điệp đã được mã hóa

2, Tìm được hai đoạn dữ liệu khác nhau có cùng kết quả băm.

Bất cứ thay đổi nào trên đoạn dữ liệu gốc, dù nhỏ, cũng sẽ tạo nên một giá trị băm hoàn toàn khác với xác suất rất cao.”

SHA-256

SHA-256 là một nhánh của hàm băm mật mã SHA-2 được sử dụng trong nhiều phần khác nhau của mạng Bitcoin:

  • Khai thác sử dụng SHA-256 là thuật toán Proof of work.
  • SHA-256 được sử dụng trong việc tạo ra các địa chỉ bitcoin để cải thiện an ninh và bảo mật.

Thuật toán SHA-256 tạo ra một mã băm có cố định 256-bit (32-byte) gần như duy nhất. Một chuỗi băm được tạo ra không thể được tính toán trở lại. Điều này làm cho nó phù hợp để xác nhận mật khẩu, thách thức xác thực hàm băm, chống giả mạo, chữ ký số.

SHA-256 là một trong những hàm băm kế tiếp đối sau SHA-1 và là một trong những hàm băm mạnh nhất hiện tại.

SHA-256 hỗ trợ sức mạnh xử lý thô. Trong những ngày đầu tiên, bạn có thể đào coin bằng CPU hoặc GPU của chiếc máy tính bình thường tại nhà. Tuy nhiên, theo thời gian, độ khó của coin tăng lên, để có thể khai thác nó, bạn cần phải dùng đến các bộ vi xử lý chuyên biệt được gọi là các ASIC.

Việc sử dụng bộ vi xử lý mạnh mẽ này, cùng với sự gia tăng độ khó của coin, đã tạo ra một cuộc chạy đua về công nghệ, thậm chí các chip được thiết kế gần đây cũng có thể nhanh chóng trở nên lỗi thời.

Các Altcoin điển hình sử dụng SHA-256: NMC – Namecoin, PPC – Peercoin, TRC – Terracoin,…

3. Thuật toán Ethash

Ethash là thuật toán băm được dùng cho proof-of-work trong các loại tiền điện tử dựa trên Ethereum. Nó sử dụng các phiên bản thay thế của SHA3-256 và SHA3-512 thường được gọi là “Keccak-256” và “Keccak-512”.

Từ phiên bản 1.0 Ethash đã được thiết kế để có khả năng chống lại ASIC và dễ cho việc kiểm tra. Nó cũng sử dụng một phiên bản sửa đổi nhỏ của Hashimoto [cần phải làm rõ] để làm giảm chi phí tính toán.

Ethash được dự định để đáp ứng các mục tiêu sau:

Độ bão hòa IO

Thuật toán nên tiêu tốn gần như toàn bộ khối băng thông truy cập bộ nhớ sẵn có (đây là một chiến lược hướng tới việc đạt được kháng ASIC, lập lận hướng tới hàng hóa RAM, đặc biệt là trong GPU, nó gần với lý thuyết tối ưu hơn là khả năng tính toán hàng hoá)

Tính thân thiện của GPU

Chúng tôi cố gắng khiến cho việc khai thác trở nên dễ dàng nhất có thể với GPU. Nhắm mục tiêu vào CPU hầu như không thể thực hiện được vì lợi ích chuyên môn hóa quá lớn và có những chỉ trích về các thuật toán thân thiện với CPU vì chúng dễ bị tấn công bởi các các mạng máy tính được tạo lập từ các máy tính mà hacker có thể điều khiển từ xa (botnet), nên chúng tôi nhắm mục tiêu vào các GPU như một sự thỏa hiệp.

Khả năng kiểm chứng của máy khách cấu hình thấp

Máy khách cấu hình thấp có thể xác minh vòng khai thác trong khoảng dưới 0.01 giây trên máy tính để bàn trong C và dưới 0.1 giây bằng Python hoặc Javascript, tối đa 1 MB bộ nhớ (nhưng tăng theo cấp số nhân).

Mức độ chậm chạp của máy khách cấu hình thấp

Quá trình chạy thuật toán với một máy khách cấu hình thấp sẽ chậm hơn nhiều so với quá trình được thực hiện bởi một máy khách cấu hình vượt trội đến mức, thuật toán của máy khách cấu hình thấp không phải là một lộ trình khả thi về mặt kinh tế để thực hiện khai thác, bao gồm việc thông qua phần cứng chuyên dụng .

Máy khách cấu hình thấp khởi động nhanh

Máy khách cấu hình thấp sẽ có thể trở nên hoạt động một cách nhạy bén và có thể xác minh các khối trong vòng 40 giây trong Javascript.

Xem thêm: 


Đăng nhập email để cập nhật thông tin độc quyền.