Ngày nay, khai thác Ethereum trên thẻ video là tiêu chuẩn và cho đến nay các thợ đào vẫn chưa có bước nhảy vọt mạnh mẽ để khởi chạy thuật toán khai thác Ethash trên các giải pháp phần cứng chuyên dụng (ví dụ:FPGA và ASIC). Có những Asik trên mạng, nhưng chúng không mang lại lợi thế lớn như trên Bitcoin.
Nhiều bài báo và diễn đàn giải thích điều này bằng cách nói rằng sự phát triển của ASIC cho Ethash là một vấn đề về bộ nhớ).
Ở đây chúng ta nói về ràng buộc bộ nhớ chặt chẽ của Ethereum đến từ đâu và thế hệ thiết bị khai thác tùy chỉnh tiếp theo để khai thác ETH có thể trông như thế nào.
Ở đây chúng ta nói về ràng buộc bộ nhớ chặt chẽ của Ethereum đến từ đâu và thế hệ thiết bị khai thác tùy chỉnh tiếp theo để khai thác ETH có thể trông như thế nào.
Để có giải thích kỹ hơn, theo hướng lập trình viên về thuật toán khai thác Ethereum có tên là Ethash, vui lòng tham khảo trang Ethash trong kho lưu trữ Ethereum GitHub….
Khi khai thác bằng Proof-of-Work, người khai thác tìm kiếm một giải pháp (được gọi là số một lần - “nonce”), khi được băm sẽ cung cấp giá trị đầu ra nhỏ hơn ngưỡng mục tiêu được xác định trước.
Do bản chất mật mã của hàm băm của mỗi loại tiền tệ, không có cách nào để đảo ngược thiết kế hoặc tính toán ngược lại số một lần (“nonce”) thỏa mãn giới hạn ngưỡng mục tiêu.
Thay vào đó, các thợ đào nên “đoán và xác minh” các hàm băm càng nhanh càng tốt và hy vọng rằng họ là những thợ đào đầu tiên trong toàn bộ mạng lưới tiền điện tử tìm thấy một số hợp lệ dùng một lần. Do đó, họ sẽ tìm thấy một khối mới.
Thuật toán Ethash dựa trên
Đây được gọi là tệp DAG và được khôi phục sau mỗi 30.000 khối (hoặc cứ ~ 5 ngày một lần). Kể từ tháng 9 năm 2019, DAG là ~ 3,22 GB và DAG sẽ tiếp tục phát triển về kích thước khi blockchain phát triển.
Các tính năng tạo DAG không quá phù hợp với bài viết này, nhưng bạn có thể đọc thêm về tạo DAG
Tiến trình của thuật toán băm Ethash có thể được tóm tắt như sau:
Nguyên tắc hoạt động của thuật toán băm Ethereum
Mỗi thao tác trộn yêu cầu đọc 128 byte từ DAG (xem Hình 1, bước 2).
Việc băm một số một lần yêu cầu 64 hỗn hợp, dẫn đến (128 byte x 64) =8 KB bộ nhớ đọc. Đọc truy cập ngẫu nhiên (mỗi trang 128 byte được chọn giả ngẫu nhiên dựa trên chức năng trộn), vì vậy việc đặt một đoạn DAG nhỏ trong bộ đệm L1 hoặc L2 sẽ không giúp ích nhiều, vì lần tìm nạp DAG tiếp theo rất có thể dẫn đến thiếu bộ nhớ đệm.
Vì việc truy xuất các trang DAG từ bộ nhớ chậm hơn nhiều so với kết hợp tính toán, chúng tôi sẽ khó thấy bất kỳ sự cải thiện hiệu suất nào từ việc tăng tốc tính toán kết hợp.
Cách tốt nhất để tăng tốc thuật toán băm của Ethash là tăng tốc độ tìm nạp trang DAG 128 byte từ bộ nhớ.
Do đó, chúng tôi coi thuật toán Ethash được gắn chặt với bộ nhớ hoặc
Để làm ví dụ về cách các giới hạn băng thông bộ nhớ ảnh hưởng đến phần cứng thực, chúng ta hãy xem xét kỹ hơn hiệu suất khai thác của một thẻ video thường được sử dụng:RX 590.
Nếu băm Ethash thực sự yêu cầu nhiều bộ nhớ, chúng tôi hy vọng rằng tốc độ khai thác thực tế cho thiết bị này sẽ rất gần với tốc độ băm lý thuyết tối đa, miễn là lấy mẫu các trang DAG là bước duy nhất được thực hiện.
Chúng tôi có thể tính toán tỷ lệ băm lý thuyết tối đa này như sau:
(Băng thông bộ nhớ) / (Bộ nhớ DAG được trích xuất để băm) =tốc độ băm lý thuyết tối đa
(256 gigabyte / giây) / (8 kilobyte / băm) =32 megabyte / giây.
Băm thực nghiệm của RX 490 trong quá trình hoạt động thực tế là ~ 31 mega / s.
Sự chậm trễ nhỏ này có thể dễ dàng được giải thích bởi độ trễ của bộ nhớ hoặc các hoạt động nhanh khác trên hệ thống. Do đó, hiệu suất của card màn hình này giống như mong đợi, với điều kiện là bộ nhớ khó băm dữ liệu và việc lựa chọn các trang DAG là một bước hạn chế tốc độ.
Cách duy nhất mà thiết bị khai thác của người dùng Ethereum có thể hữu ích là nếu nó tiết kiệm hơn hoặc tiết kiệm năng lượng hơn với băng thông bộ nhớ (dưới $ / (GB / s) hoặc ít hơn W / (GB / s)).
Nhìn vào RX 590, chúng ta có thể tính toán một chút ($ 245 cho mỗi thẻ / (256 GB / giây)) để xem tỷ lệ băm là $ 0,95 / GB / giây.
So với một chip GDDR5 duy nhất (ví dụ:
Do đó, nếu chúng tôi có thể tạo chip của riêng mình (ASIC hoặc FPGA) ngoài giao diện với 9 chip GDDR5, chúng tôi sẽ có băng thông bộ nhớ 216 GB / s với mức giá 61,47 đô la.
Tuy nhiên, đây sẽ không phải là một thiết bị hoàn chỉnh vì chúng ta cần bộ điều khiển bộ nhớ FPGA hoặc ASIC, bảng mạch in và thiết bị điện tử phụ trợ.
Nếu việc lắp ráp cuối cùng được vận chuyển (bổ sung thêm các bộ phận, quy trình, kiểm tra và hậu cần bổ sung) có giá thấp hơn RX 590 (chỉ $ 245), thì bo mạch người dùng sẽ vượt qua card màn hình.
Đó là, cho đến khi một card màn hình nhanh hơn, hiệu quả hơn và rẻ hơn xuất hiện trên thị trường.
Ví dụ:
Tuy nhiên, trong tình huống này, có lẽ bạn nên thay đổi tạo mô hình kinh doanh của riêng mình và thay vào đó tạo thẻ video, vì đây đã là một thị trường rộng lớn.
Khi việc sử dụng điện thoại thông minh và đồ họa 3D di động ngày càng tăng, chúng ta sẽ thấy băng thông bộ nhớ cao và thân thiện với thiết bị di động hơn.
Nó có thể là giải pháp cho các hệ thống di động trên chip có bộ xử lý đồ họa tích hợp (ví dụ:
Các lớp thiết bị này sẽ tiếp tục phát triển và nếu chi phí, năng lượng và băng thông bộ nhớ đến đúng chỗ, chúng ta có thể thấy các công cụ khai thác tùy chỉnh Ethereum với 10-20 bộ xử lý đồ họa di động hoặc VPU nằm trên cùng một bảng.
Các mẫu trang DAG tuần tự trong thuật toán băm Ethash đạt đến giới hạn băng thông bộ nhớ của phần cứng hiện đại.
Tỷ lệ băm tối đa theo lý thuyết của chúng hiện bị giới hạn.
Chúng ta sẽ thấy những người khai thác Ethereum trong tương lai như thế nào? Chúng có thể sẽ không dựa trên ASIC hoặc FPGA. Nhiều khả năng chúng sẽ dựa trên chip làm sẵn (GPU di động hoặc VPU) chứ không dựa trên hình thức của card màn hình truyền thống, điều mà chúng ta thường thấy trong các máy tính hiện đại vì GPU hoặc VPU di động được điều chỉnh nhiều hơn băng thông bộ nhớ.
Bài viết này nói về giao thức Ethash, dựa trên Proof-of-Work, được sử dụng để khai thác Ethereum. Trong các hệ thống dựa trên Proof-of-Work, như hệ thống này, những người khai thác thực hiện một lượng tính toán đáng kể để tìm ra các khối mới và nhận phần thưởng bằng tiền mặt.
Ngay sau khi mạng Ethereum chuyển sang
Khi quá trình chuyển đổi này xảy ra, vẫn chưa rõ ràng rằng dự kiến giai đoạn đầu tiên sẽ được khởi động vào ngày 3 tháng 1 năm 2020.