Những thuật toán được ưa chuộng nhất để đào coin
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 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à vì chúng được truy cập vài lần nên sử dụng bộ nhớ RAM kết hợp với sức mạnh băm hơn là tạo ra chúng bằng cách làm tắt (gộp 2 bước thành 1) – việc mà sẽ dẫn đến giảm thời gian và lãng phí bộ nhớ về tốc độ tối ưu hóa.
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ợ mỏ ASIC Bitcoin trong mạng. Điều này có nghĩa là cần có thêm nhiều thợ mỏ 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ã học 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ó kích thước cố định 256-bit (32-byte) gần như duy nhất. Hash là một hàm không thể được giải mã 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 chips tích hợp (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.
Facebook Comments