คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
ProgPoW ต่อต้าน ASIC อย่างไร ทีมพัฒนา IfDefElse ตอบคำถามสำหรับคุณ
MinerHub
特邀专栏作者
2019-04-19 09:09
บทความนี้มีประมาณ 4221 คำ การอ่านทั้งหมดใช้เวลาประมาณ 7 นาที
หลังจากได้รับความสนใจจากสื่อกระแสหลัก ทีมพัฒนา ProgPoW IfDefElse ได้รับคำถามเกี่ยวกับอัลกอริทึมมาก
หลังจากได้รับความสนใจจากสื่อกระแสหลัก ทีมพัฒนา ProgPoW IfDefElse ได้รับคำถามเกี่ยวกับอัลกอริทึมมากมาย และพวกเขาก็ตอบคำถามที่พบบ่อยหลายข้อ ด้วยความยินยอมของผู้เขียนข้อความต้นฉบับ Mine Vision จึงแปลและรายงานเรื่องนี้

1

ถาม: ตำแหน่งของคุณในการกำกับดูแล Ethereum คืออะไร

คำตอบ: เราไม่มีจุดยืนใด ๆ ในขณะนี้ เรารู้สึกว่าควรมีคำถามมากมายให้ชุมชนตอบ เช่น จะนำ ProgPoW ไปใช้หรือไม่เมื่อใด เรามีหน้าที่รับผิดชอบในการเสนออัลกอริทึมใหม่ๆ และยินดีที่จะตอบคำถามทางเทคนิคเกี่ยวกับอัลกอริทึมเหล่านี้

2

ถาม: ProgPoW มาจากไหน

ตอบ: IfDefElse เป็นทีมเล็กๆ ที่วิเคราะห์และปรับอัลกอริทึม PoW ให้เหมาะสม เราสังเกตเห็นว่าชุมชน ETH ได้ร้องขออัลกอริธึม PoW ใหม่หลายครั้ง ซึ่งเครื่องขุด ASIC แบบมืออาชีพมีข้อได้เปรียบเพียงเล็กน้อยเมื่อเทียบกับสิ่งอำนวยความสะดวกฮาร์ดแวร์ทั่วไป เป็นเรื่องน่าสะเทือนใจที่เห็นอัลกอริทึมจำนวนมากที่เสี่ยงต่อเครื่องขุด ASIC ทุกครั้งที่มีเครื่องขุด ASIC ใหม่ออกมา ชุมชน ETH ทั้งหมดจะตกอยู่ในความคับข้องใจ

ดังนั้นวันหนึ่งในฤดูใบไม้ผลิปี 2018 เราจึงมีความคิดที่จะแก้ไขอัลกอริทึม Ethash เพื่อให้ได้ผลลัพธ์ที่คาดหวังจากการขุด GPU หลังจากแก้ไขอัลกอริทึมในขั้นต้นแล้ว เราได้วางไว้ในฟอรัมสาธารณะของ GitHub เพื่อการพัฒนาและปรับแต่ง

3

ถาม: ใครตรวจสอบ ProgPoW

คำตอบ: ในกระบวนการรวบรวมข้อเสนอแนะเกี่ยวกับการใช้อัลกอริทึม เราโชคดีที่ได้รับอีเมลข้อเสนอแนะจากวิศวกรของ Ethereum Foundation, วิศวกร R&D หลักของ Ethereum, วิศวกรของ NVIDIA และวิศวกรของ AMD วิศวกรของทั้ง NVIDIA และ AMD ให้ความเห็นในเชิงบวกเกี่ยวกับอัลกอริทึม

เป็นมูลค่าการกล่าวขวัญว่ามีการอัพเดตอัลกอริทึมสองครั้งและการเพิ่มประสิทธิภาพตามการประเมินของสมาชิกชุมชน mbevand และ Schemeykh

4

ถาม: AMD ตอบสนองอย่างไร

ตอบ: คำตอบของ AMD กล่าวถึงข้อกังวลหลักสองประการ:

หากใช้อัลกอริทึม ProgPoW เพื่อแทนที่อัลกอริทึม Ethash PoW ไม่มีทางที่ผู้ผลิตเครื่องขุด ASIC จะค้นคว้ารหัสโอเพ่นซอร์สอย่างรวดเร็วและผลิตเครื่องขุด ASIC เฉพาะทางได้หรือไม่

อัลกอริทึม ProgPoW จะทำให้นักขุด GPU ขุด Ethereum ได้ยากขึ้นหรือไม่?

วิศวกรของ AMD ให้คำตอบยืนยัน ในทางทฤษฎี เป็นไปได้ที่จะสร้างเครื่องขุด ASIC ใหม่สำหรับ ProgPoW แต่สิ่งนี้ต้องการให้ผู้ผลิตมีความรู้พื้นฐานด้าน GPU โดยเฉพาะ โดยเฉพาะเทคโนโลยีตัวควบคุมหน่วยความจำ

ไม่เพียงแค่นั้น พวกเขายังแสดงความกังวลเกี่ยวกับขนาดของแคช (มีการแชร์ข้อมูลในตัวเครื่องและข้อมูลบนชิป AMD)

พวกเขากล่าวถึงในอีเมลว่าไม่มีความแตกต่างอย่างมากในด้านประสิทธิภาพระหว่าง AMD และ NVIDIA ไม่ว่าแคชจะเป็น 8KB หรือ 16KB แต่ที่ขนาด 32KB และ 64KB อาจมีผลกระทบอย่างมากต่อสถาปัตยกรรมของผู้จำหน่าย GPU ทั้งสองแห่ง และจะมีความเข้ากันไม่ได้กับ Polaris และ Vega

ตามคำติชม เราได้กำหนดขนาดของ PROGPOW_CACHE_BYTES เป็น 16KB

5

ถาม: NVIDIA ตอบสนองอย่างไร

ตอบ: โดยทั่วไปแล้ว วิศวกรของ NVIDIA เห็นด้วยกับแนวทางของเรา พวกเขากล่าวว่าอัลกอริทึมดังกล่าวช่วยเติมเต็มช่องว่างระหว่างการเข้าถึงหน่วยความจำด้วยการคำนวณ แทนที่จะปล่อยให้ GPU นั่งเฉยๆ เหมือนเป็นตัวควบคุมหน่วยความจำระดับสูง

ข้อกังวลหลักของพวกเขาคือหากพวกเขาเพิ่มการสุ่มเข้าไปในอัลกอริทึมมากเกินไป มันจะลงเอยด้วยการถูกผูกมัดด้วยการคำนวณแทนที่จะถูกผูกไว้กับหน่วยความจำ ผลที่ตามมาคือ เครื่องขุด ASIC ที่สร้างขึ้นสำหรับอัลกอริทึมที่มีข้อจำกัดในการคำนวณอาจได้รับประสิทธิภาพและผลกำไรที่มากขึ้น

ตามข้อเสนอแนะของพวกเขา เราได้ปรับแต่ง PROGPOW_CNT_CACHE และ PROGPOW_CNT_MATH เพื่อให้แน่ใจว่าอัลกอริทึมยังคงผูกกับหน่วยความจำใน GPU รุ่นใหม่ส่วนใหญ่

6

ถาม: หาก ProgPoW เรียกใช้โมดูลบนลูปหลักและใช้ kiss99() เพื่อเลือกคำสั่งแบบสุ่ม เครื่องขุด ASIC ที่ออกแบบมาสำหรับอัลกอริทึมนี้จะมีประสิทธิภาพมากกว่าหรือไม่

ตอบ: นี่เป็นความเข้าใจผิดที่พบบ่อยเมื่อดูอัลกอริทึมเป็นครั้งแรก อันที่จริงแล้ว การเรียกใช้โมดูลัสและ kiss99() บนวงจรหลักนั้นคำนวณโดย CPU เพื่อสร้างโปรแกรมสุ่ม จากนั้นจึงคอมไพล์โดย CPU GPU มีหน้าที่รับผิดชอบในการดำเนินการโค้ดที่ได้รับการปรับให้เหมาะสมซึ่งได้ค้นหาคำสั่งในการดำเนินการและสถานะไฮบริดที่จะใช้

ดังที่ Alexey กล่าวไว้ ProgPoW สร้างซอร์สโค้ดทุกๆ 50 บล็อก สำหรับตัวอย่างโปรแกรมที่สร้างขึ้น โปรดดูที่: kernel.cu

เราจะอธิบายเพิ่มเติมในมาตรฐาน

7

ถาม: นักขุดจำเป็นต้องติดตั้งชุดพัฒนาซอฟต์แวร์ AMD หรือ NVIDIA เพื่อคอมไพล์ซอร์สโค้ดที่สร้างขึ้นหรือไม่

คำตอบ: ไม่จำเป็น ไดรเวอร์ AMD และ NVIDIA รวมถึงคอมไพเลอร์ OpenCL, DirectX และ Vulkan สำหรับ CUDA ไฟล์ไบนารีเคอร์เนลจะถูกแจกจ่ายด้วยชุดพัฒนาซอฟต์แวร์ขนาดเล็ก

8

ถาม: อัลกอริทึม ProgPoW มีการกำหนดค่าตามความชอบสำหรับสถาปัตยกรรม GPU หรือไม่

คำตอบ: ไม่ ความตั้งใจดั้งเดิมของอัลกอริทึม ProgPoW คือเพื่อให้แน่ใจว่ามีความยุติธรรมมากที่สุด ไม่มีความแตกต่างในการดำเนินการระหว่าง OpenCL และ CUDA และขนาดแคช 16KB ทำงานได้อย่างราบรื่นบนสถาปัตยกรรมทั้งสอง

เราหลีกเลี่ยงการดำเนินการแบบ 16 บิตหรือ 24 บิตบนสถาปัตยกรรมเดียวเท่านั้น ไม่ว่าจะเป็นไฟล์ลงทะเบียนที่จัดทำดัชนีของ AMD หรือ LOP3 ของ NVIDIA การดำเนินการทั้งหมดได้รับการสนับสนุนอย่างดีในสถาปัตยกรรมรุ่นต่างๆ

ประสิทธิภาพของ GPU ที่ใช้อัลกอริทึม ProgPoW ในปริมาณงานการขุดจะสะท้อนถึงประสิทธิภาพการเล่นเกมโดยเฉลี่ยของ GPU นั้นด้วย

9

ถาม: เหตุใดความแตกต่างของความเร็วระหว่าง Ethash และ ProgPoW จึงช้ากว่าที่คาดไว้มากกว่า 2 เท่าสำหรับ GPU ที่มี VBIOS ที่ดัดแปลงอย่างมาก

คำตอบ: ProgPoW อ่านหน่วยความจำต่อแฮชมากเป็นสองเท่าของ Ethash ดังนั้นอัตราแฮชที่คาดไว้คือ 1/2 การปรับแต่งและแฮชตัวอย่างทั้งหมดที่เรารายงานไปก่อนหน้านี้ (ดูรายละเอียดที่ "ผลลัพธ์: แฮชเรต") ทำบน GPU ที่ทำงานด้วยความถี่ปกติ การแก้ไข VBIOS อย่างกว้างขวางเพื่อลดความถี่หลักจะทำให้นักขุดเรียกใช้อัลกอริทึมที่จำกัดการคำนวณแทนที่จะจำกัดหน่วยความจำ

หากผู้ใช้ต้องการเปลี่ยนไปใช้อัลกอริทึมใหม่ การแก้ไขและปรับแต่ง VBIOS จะต้องทำอีกครั้ง

10

ถาม: คุณช่วยอธิบายได้ไหมว่าเครื่องขุด ASIC ของ Ethash มีประสิทธิภาพมากกว่าเครื่องขุด GPU ถึงสองเท่าได้อย่างไร

อัลกอริทึม Ethash ต้องการเพียงดำเนินการ 3 องค์ประกอบ:

หน่วยความจำแบนด์วิธสูง (สำหรับการเข้าถึง DAG)

เครื่องยนต์ Keccak f1600 (สำหรับการแฮชเริ่มต้น/สุดท้าย)

แกนประมวลผลขนาดเล็ก (สำหรับวงใน FNV และการเรียกโมดูล)

ข้อมูล FPGA แสดงให้เห็นว่าการคำนวณของ Keccak ใช้พลังงานเพียงเล็กน้อย เราประเมินว่าใช้พลังงาน GPU ประมาณ 1/2 เท่านั้นในการเข้าถึงหน่วยความจำเมื่อเรียกใช้อัลกอริทึม Ethash อย่างไรก็ตาม พลังของ Keccak และแกนประมวลผลของเครื่องขุด ASIC ของ Ethash นั้นมีน้อยมาก และพลังงานของมันถูกใช้ไปกับการเข้าถึงหน่วยความจำเป็นหลัก ดังนั้นจึงยังมีช่องว่างสำหรับการปรับปรุงประสิทธิภาพการขุดของ GPU ถึงสองเท่า

สรุปโดยย่อของฮาร์ดแวร์การขุด Ethash ปัจจุบัน:

ยกเว้น Titan V ข้อมูลทั้งหมดมาจาก whattomine.com และ asicminervalue.com

เครื่องขุด Ethash ASIC รุ่นแรก Antminer E3 ของ Bitmain ไม่มีข้อได้เปรียบด้านประสิทธิภาพเหนือเครื่องขุด GPU เนื่องจากหน่วยความจำ DDR3 ใช้พลังงานมากกว่าหน่วยความจำ GDDR ของเครื่องขุด GPU

เท่าที่เราทราบ Innosilicon A10 ETHMaster ที่ยังไม่เปิดตัวนั้นมีประสิทธิภาพมากกว่า เนื่องจาก Innosilicon ใช้เทคโนโลยี GDDR6 IP ในเครื่องขุดซีรีส์นี้ ซึ่งจะทำให้มีประสิทธิภาพเป็นสองเท่าของ GPU RTX 2070 สำหรับขุดที่มีประสิทธิภาพสูงสุดในปัจจุบัน

11

ถาม: HBM ใช้งานได้จริงเพียงใด

ตอบ: การประเมินอัลกอริทึมเบื้องต้นของเราเป็นการเปรียบเทียบเกณฑ์มาตรฐานโดยใช้หน่วยความจำประเภทเดียวกัน HBM ใช้พลังงานต่ำ แต่มีราคาแพง จึงใช้งานได้จริงไม่เพียงพอ ตัวอย่างเช่น NVIDIA Titan V ที่มี HBM นั้นมีประสิทธิภาพน้อยกว่า A10 ETHMaster เพียงเล็กน้อย แต่ด้วยราคา 3,000 ดอลลาร์ เห็นได้ชัดว่าไม่สามารถใช้งานได้จริง

ราคาของการ์ด AMD Vega ที่มี HBM นั้นสมเหตุสมผล แต่ด้วยเหตุผลบางประการ พลังการประมวลผลของมันจึงสูงถึง 175 KH/s/W เท่านั้น เราไม่แน่ใจว่าอะไรที่จำกัดประสิทธิภาพของ Vega การเพิ่มขนาดการเข้าถึงช่วยปรับปรุงสถานการณ์ได้อย่างมาก (การใช้แบนด์วิธเพิ่มขึ้นจาก 61% เป็น 75% - โปรดดูรายละเอียดที่ "ผลลัพธ์: Hashrate") แต่การใช้พลังงานของกราฟิกการ์ด Vega ก็ยังมากเกินไป สูง. เราคาดหวังการปรับปรุงประสิทธิภาพอย่างมีนัยสำคัญจากกราฟิกการ์ด Double Bandwidth AMD Radeon VII ที่เพิ่งเปิดตัว

เราประเมินว่าพลังของ HBM นั้นประมาณครึ่งหนึ่งของ GDDR6 หากใช้ HBM ในการผลิตเครื่องขุด Ethash ASIC ที่มีราคาแพง พลังการประมวลผลจะเกิน 1 MH/s/W ซึ่งเป็นประสิทธิภาพประมาณ 4 เท่าของ GPU ทั่วไปบน ตลาด.

12

ถาม: ProgPoW ASIC มีประสิทธิภาพเพียงใด

ตอบ: ProgPoW ตั้งเป้าที่จะลดประสิทธิภาพที่เพิ่มขึ้นอย่างมากของเครื่องขุด ASIC โดยเฉพาะ การดำเนินการอัลกอริทึมจำเป็นต้องเป็นไปตามองค์ประกอบต่อไปนี้:

หน่วยความจำแบนด์วิธสูง (สำหรับการเข้าถึง DAG)

เครื่องยนต์ Keccak f800 (สำหรับการแฮชเริ่มต้น/สุดท้าย)

ไฟล์ลงทะเบียนขนาดใหญ่ (สำหรับสถานะผสม)

คณิตศาสตร์จำนวนเต็ม SIMD ความเร็วสูง (สำหรับการดำเนินการสุ่ม)

แคช SIMD ความเร็วสูง (สำหรับการเข้าถึงแคชแบบสุ่ม)

Keccak มีความจุน้อยกว่า ดังนั้นการใช้พลังงานบน GPU จึงน้อยมาก ด้วยวิธีนี้ ข้อได้เปรียบของเครื่องขุด ASIC ในการลดการใช้พลังงานจะไม่มีอีกต่อไป

ในการดำเนินการตามลำดับแบบสุ่ม เครื่องมือขุด ProgPoW ASIC จำเป็นต้องดำเนินการบางอย่างที่คล้ายกับแกนประมวลผลบน GPU การเข้าถึงการลงทะเบียน SIMD การดำเนินการทางคณิตศาสตร์ และการเข้าถึงแคชทั้งหมดต้องใช้รันไทม์แบบ GPU

ถูกต้อง ProgPoW ASIC ISA สามารถออกแบบให้ตรงกับอัลกอริทึม ProgPoW เช่น การลบทศนิยม การเพิ่ม explicit merge() และการดำเนินการอื่นๆ อย่างไรก็ตาม ความเชี่ยวชาญนี้ให้ผลประโยชน์เพียงส่วนน้อยเท่านั้น ไม่ใช่ลำดับความสำคัญที่เพิ่มขึ้น

ในแง่ดี เราถือว่า ProPoW ASIC ISA ที่ออกแบบมาอย่างดีสามารถลบ 1/4 ของการใช้พลังงานหลักในการประมวลผล เนื่องจากแกน GPU มีการใช้งานมากขึ้นเมื่อดำเนินการ ProPoW เราจึงประเมินว่าอินเทอร์เฟซหน่วยความจำใช้พลังงาน GPU ประมาณ 1/3 จากนั้นการใช้พลังงานสัมพัทธ์ของเครื่องขุด Prop PoW ASIC ที่ใช้ GDDR คือ:

1/3 (หน่วยความจำ) * 1 + 2/3 (คำนวณ) * 3/4 ​​= 5/6

ข้อได้เปรียบ 1.2 เท่า

หากใช้ HBM การใช้พลังงานสัมพัทธ์ของเครื่องขุด ProgPoW ASIC คือ:

1/3 (หน่วยความจำ) * 1/2 + 2/3 (คำนวณ) * 3/4 ​​= 2/3

ความได้เปรียบ 1.5 เท่า

13

ถาม: ProgPoW สามารถทำงานบน FPGA ได้หรือไม่

ตอบ: ประการแรก มีปัญหาในทางปฏิบัติเกี่ยวกับการเรียกใช้ ProgPoW บน FPGA เนื่องจากโปรแกรมสุ่มเปลี่ยนทุกๆ 12.5 นาที จึงต้องมีการคอมไพล์และโหลดบิตสตรีมใหม่บ่อยๆ เครื่องมือและสิ่งอำนวยความสะดวกในการทำงานนี้ส่วนใหญ่ไม่มีอยู่จริง

แม้จะเพิกเฉยต่อปัญหานี้ ProgPoW ก็จับคู่กับ FPGA ได้ไม่ดีนัก ซึ่งทำงานได้ดีกับอัลกอริทึมที่เน้นการคำนวณ เช่น Keccak หรือ Lyra อัลกอริทึมเหล่านี้สามารถปรับปรุงประสิทธิภาพและลดการใช้พลังงานได้อย่างมากโดยการรวมการทำงานหลายอย่างไว้ในรอบสัญญาณนาฬิกาเดียวและทำงานหลายอย่างพร้อมกัน

ลูปอัลกอริทึม ProgPoW มีการอ่านแคชจำนวนมากที่แทรกสลับกันในลำดับ ซึ่งช่วยลดการดำเนินการที่สามารถบรรจุลงในรอบสัญญาณนาฬิกาเดียวหรือทำงานแบบขนานได้อย่างมาก ภายใต้อัลกอริทึม ProgPoW การดำเนินการบรรจุของ FPGA ไม่เพียงแต่ลดประสิทธิภาพของฮาร์ดแวร์การขุดเท่านั้น แต่ยังเพิ่มความยาวของช่องทางข้อมูลอีกด้วย ความยาวช่องข้อความที่เพิ่มขึ้นยังเป็นปัญหาเนื่องจากสถานะผสมขนาดใหญ่ (16 เลน * 32 regs * 4 ไบต์ = 2 กิโลไบต์)

หากสถานะแบบผสมขนาดใหญ่นี้ถูกจำลองเป็นขั้นตามแต่ละช่องข้อมูล พลังงานจำนวนมากจะสูญเปล่า แน่นอน เรายังสามารถจัดเก็บสถานะผสมในไฟล์ลงทะเบียน เพื่อให้แกนประมวลผลของ FPGA ดูเหมือน ASIC หรือ GPU มาก แต่ในกรณีนั้น ประสิทธิภาพการประมวลผลของ FPGA จะต่ำกว่าของ ASIC.

14

ถาม: คำถามและคำตอบทั้งหมดข้างต้นดูเหมือนจะยาวมาก คุณช่วยสรุปสั้นๆ ได้ไหม

คำตอบ: แน่นอน

 

ประสิทธิภาพสัมพัทธ์ของฮาร์ดแวร์การขุด

ลิงค์ต้นฉบับ:


ลิงค์ต้นฉบับ:

https://medium.com/@ifdefelse/progpow-faq-6d2dce8b5c8b

ผู้เขียนต้นฉบับ: IfDefElse การแปลและการพิสูจน์อักษร: มีปลา

บทความนี้แปลและเรียบเรียงโดย Mining Vision หากคุณต้องการพิมพ์ซ้ำโปรดระบุแหล่งที่มา




开发者
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
หลังจากได้รับความสนใจจากสื่อกระแสหลัก ทีมพัฒนา ProgPoW IfDefElse ได้รับคำถามเกี่ยวกับอัลกอริทึมมาก
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android