ERC-1918: Tiêu chuẩn cho các công cụ khai thác Ethereum SHA3

Giấy phép: Apache 2

Mục đích:

ERC-1918 tồn tại dưới dạng một sự bổ sung cho ECIP-1049, thay đổi bằng chứng công việc (POW) của Ethereum Classic thành SHA3 (Keccak256). Tất cả các tham chiếu đến SHA3, nhắm vào biến thể Keccak-256.

Mục đích là để cung cấp một tiêu chuẩn rõ ràng cho những người tạo ra phần cứng và phần mềm khai thác cho hệ thống Proof of Work của SHA3 Ethereum.

Bạn có thể tham khảo một sơ đồ hệ thống Ethereum rất hữu ích ở đây . Bất kỳ phần cứng hoặc phần mềm nào tuân thủ ERC-1918 đều có thể sử dụng huy hiệu của SHA3-Ready.

Nếu bạn có thắc mắc xin hãy gửi đến chúng tôi tại group telegram ở đây

Tóm lược

Để tạo ra một công cụ thử nghiệm, chúng tôi đã tạo ra Công cụ khai thác đồ chơi SHA3 (SHA3 Toy Miner). Đây là một công cụ khai thác CPU nguồn mở được viết bằng Python3 tuân theo tiêu chuẩn ECIP-1049. Công cụ khai thác đồ chơi cung cấp thông tin chẩn đoán hữu ích.

Công cụ khai thác đồ chơi có thể thực hiện hơn 200.000 băm mỗi giây trên một vCPU Digital Ocean duy nhất. Tất cả các chuỗi là UTF8.

Cài đặt Công cụ khai thác đồ chơi (SHA3 Toy Miner)

Bước đầu tiên là cài đặt nút Astor Testnet. Thông tin này được tìm thấy ở đây .

Bước tiếp theo là chạy công cụ khai thác đồ chơi. Các hướng dẫn cho điều này được tìm thấy ở đây .

Hãy chắc chắn rằng bạn có nút chạy cục bộ khi bạn chạy công cụ khai thác. Bạn cần Python 3.6 để chạy công cụ khai thác.

Kiểm tra 1

$ python3.6 miner.py http://127.0.0.1:8545 -n 1000000000000000         _____ _____ _____ ___    _____            _____ _
| __| | | _ |_ | |_ _|___ _ _ | |_|___ ___ ___
|__ | | |_ | | | | . | | | | | | | | | -_| _|
|_____|__|__|__|__|___| |_| |___|_ | |_|_|_|_|_|_|___|_|
|___|
KECCAK256 CONTROL HASH OF "ETC": 49b019f3320b92b2244c14d064de7e7b09dbc4c649e8650e7aa17e5ce7253294

Bước đầu tiên là xác nhận rằng công cụ khai thác của bạn có thể tạo ra hàm băm kiểm soát. Nếu bạn có thể băm Keccak256 một chuỗi UTF8 của từ “ETC”, thì nó sẽ được tạo ra như sau: 49b019f3320b92b2244c14d064de7e7b09dbc4c649e8650e7aa17e5ce7253294. Nếu không phải thì chức năng băm không hoạt động. Đây là phiên bản tương tự của Keccak256 được sử dụng trong toàn bộ kiến ​​trúc Ethereum.

Kiểm tra 2

**Got Work**
Difficulty: 6874890894458655032438639040107511393966887994239455036801738053625385
Block Number: 274361
Hashes Done: 46735342
Block Mining Time: 197.47705793380737
**Done Mining Block**
NONCE IS: 0x0000000002c91fee
BLOCK HASH IS: 0x25040f4720a8cc986f1c8bc8f8459d02394180d835cd8c5d13df1841c8bc54e5
MIX IS: 0x5985598559855985598559855985598559855985598559855985598559855985
WORK LIST: ['0x0000000002c91fee', '0x25040f4720a8cc986f1c8bc8f8459d02394180d835cd8c5d13df1841c8bc54e5', '0x5985598559855985598559855985598559855985598559855985598559855985']
VERIFICATION HASH OF NONCE: 2c482faff7cb437f6f1490e1bf7a05c09086c074e6c862fcfda0e409eb36df5f
VERIIFCATION HASH OF MINING HASH: ad84577f334ae59393e9795d24528a6cd8abe083e1730f40de3e597040cfb0c8
VERIFICATION HASH OF MIX: a80da2a4fd0387046b9c315bc5c3d3e3b258241e40e1dd03488c88d9390d37f8
VERIFICATION HASH OF WORK LIST: 037abd1568e4cc0d1ee52be395739aed739d52f07bd1d19be2de180e5a2f7219
**Submit Answer**
  • **Got Work** cho biết công cụ khai thác CPU được kết nối với nút và đang tích cực băm.
  • Difficultylà độ khó hiện tại để khai thác một khối mới. Hàm băm của khối, khi được chuyển sang một số nguyên cần phải nhỏ hơn độ khó.

Bất cứ điều gì sau đây xuất hiện khi một khối là đã được khai thác.

  • Hashes Done là số lượng băm được thực hiện để khai thác một khối.
  • Block Mining Time lượng thời gian tính bằng giây để tìm đúng hàm băm.

Bây giờ chúng ta đến nội dung thực tế của khối:

- NONCE ISđây là số nguyên nonce 64 bit được chọn cho khối. Điều này được đặt vào tiêu đề của chính khối.
- BLOCK HASH ISđây là hàm băm tiêu đề thực tế của chính khối. Đây là hàm băm Keccak256 tiêu đề của bằng chứng công việc.

- MIX ISđây là bản Mix 256 bit. Đây là nơi một công cụ khai thác có thể đặt siêu dữ liệu vào như worker-id, địa chỉ IP và những thứ khác. Đối với toyminer, chúng tôi điền nó với một chuỗi ngẫu nhiên lặp lại. Thật sáng tạo!

- Work Listđây là toàn bộ công việc được đưa lên Web3 để chuyển nó lên nút. Nó là một mảng của ba yếu tố trên.

- Verification HASH OF NONCEđây là mã băm Keccak256 của nonce ở trên.

- VERIFICATION HASH OF MINING HASHđây là mã băm Keccak256 của Block Hash ở trên.

- VERIFICATION HASH OF MIX:đây là hàm băm Keccak256 của MIX ở trên.

- VERIFICATION HASH OF WORK LIST: mã băm xác minh của danh sách công việc ở trên.

Và sau đó, khối được gửi đến nút Parity qua Web3 và sau đó đến phần còn lại của chuỗi khối.

Đây không phải là phần mềm khai thác và nhằm mục đích thể hiện chức năng SHA3, không thể hiện việc khai thác chính thức.

Theo Alexander Tsankov

Bài viết được dịch từ: https://hackmd.io/@PPYBv4kLQXOy5akNoUhRgw/sha3etc

— — — — — — — — — — — — — — — — — — — — — -
Tham gia thảo luận và cập nhật tin tức mới nhất trên các kênh chính thức của chúng tôi:
- Facebook: facebook.com/EthereumClassicVietnam/
- Telegram: t.me/ETCVietnam
- Twitter: twitter.com/etcvietnam
- Medium: medium.com/@ETCVietnam
- Youtube: youtube.com/channel/UCXfEBzpKKy1pwl7KGCzS7ow

--

--

Cộng Đồng Ethereum Classic Việt Nam
Cộng Đồng Ethereum Classic Việt Nam

Written by Cộng Đồng Ethereum Classic Việt Nam

Chào mừng bạn đến với channel của cộng động EthereumClassic Việt Nam! 😊 etclabs.org

No responses yet