On the progpow audit

progpow
audit
ethcatherders

#13

I would say Whiteblock is neutral enough actually. I think they have the expertise to evaluate, so I am happy they got this effort started.

This happened after the council though, so the sentiments have probably changed since the council.


#14

We’re all on the same side. I was working on a post to try to call out all my potential issues with ProgPoW to shake out the last of the skeptics and move this forward.

This is a highly contentious and political upgrade, it’s been very difficult to find all the facts amidst all the noise and outrage.


#15

Maybe your visibility into the matter is new. I just need to point out that this has been discussed at many levels (private and public), for months now. I’m just glad it is moving forward.

Agreed on the noise, which is why the idea came about to get WB involved. This will allow us to get past the contention and personal drama and focus on the technology. If it is sound, all the better. If it has issues, let’s get them fixed.

Next step is to get the word out to fund it all.


#16

I am like most people who have had familiarity with the proposal for months. From the outside looking in, there is a mess of different incentives at play, it is very difficult from a macro level to determine if it is a “necessary” change to make, even after you dig through the tough technical points of whether it is sound (and it appears sound to me from my limited knowledge in hardware engineering).

My points as a skeptic were much broader and more philosophical about whether it was a distraction, but I am with you now that this has a marginal enough boost to network security that it is worth the funding to move forward and protect the diversification of the mining ecosystem.

Every time someone calls a skeptic like myself “uninformed”, “stupid”, or claims that the proposal is “obvious”, it trips alarm bells in my head that lead me further away from the path to understanding why it is necessary, especially as someone who admittedly has very little hardware design experience to evaluate the proposal.

What we need now is more facts and less “professional opinions”. I think that’s what gets this across the finish line.


I’m sorry if that is terse or rude, but it has been my experience that people who are for the proposal are getting exasperated instead of being patient and guiding people through it.

I think many people involved are underestimating the political-ness of this proposal. It is a hard battle to fight!


#17

Seems weird to call anyone names or make assumptions. I don’t know how to respond to that, but I’d say it takes thick skin to be here. Just discounting something because you’ve been called a name doesn’t seem like a good solution either. Maybe people are yelling because they feel strongly about the security of the network and care about their investment in this technology. They see the train rolling down the tracks towards the bridge that has explosives on it.

Agreed that it is hard to evaluate. My first reaction to it all was: “We need to make sure it is 110% necessary” and “Why is Kristy such a drama queen?”

Once I got past that and decided to focus on the tech, it became clear that due to the focus on PoS and a distaste for PoW, a ball had been dropped.

That ball is the understanding of the importance of PoW on the current network. Ethash has served well for so long that all the people supporting it are gone now. The deep understanding of the importance of mining and securing the network against 51% attacks, is gone. Miners have been relegated to a necessary evil, which is really the wrong way to look at the people who are securing the network today.

At the same time, this has given ASIC manufacturers a chance to catch up with their solutions. The threat of losing the original mission statement of being GPU centric is real, especially now with the crypto winter and thirdening. Profitability is gone and GPU’s are being turned off. Look at the difficulty levels (subtract out the time bomb increase), we are back at 2018 levels… a whole years worth of added compute power has been shut off.

Everyone has had their eye on the PoS ball… even with the assumption that it’ll just replace PoW. But, fact is that PoW isn’t going away anytime soon. It will be around for years more. It will overlap with PoS for years after that is first released. PoW is not a distraction, a 51% attack is a distraction.

It turns out that whatever personal motivations Kristy (or whomever) had to originally work on ProgPoW are not relevant now. The thirdening, crypto winter and Linzhi hastened things to the point of making these the relevant issues.

Agreed. More facts. Less opinions. Let’s get WB funded and working ASAP. I’d argue that the EF should reverse their decision and fund these grants. It is embarrassing to effectively have to beg the community to fund this stuff.


#18

Calling people names is a tactic to attempt to force someone into making a decision a certain way. It usually has the opposite effect on me, hence why my initial reaction to ProgPoW was to move against it, because it raised those types of flags. I agree that there seems to be the best alignment to move forward with it, but only after a personal accounting with my larger concerns that lead to this being a marginal enough benefit to be valuable (instead of an overwhelmingly obvious result).


“ASIC resistance” as a concept is disputable, but we don’t have the luxury of disputing it anymore because we can’t guarantee a robust and fair marketplace for development of machines against an “ASIC friendly algo”.

We also have to be sure we are the top GPU mining coin, and that the value of other GPU coins is not comparable to our own so we remain untouchable by mercenary hash power.

There are tons of macro level analysis that trades whether it is worth it to move forward with now, the eventual move to PoS is also something to consider as even though the Phase 3 (final) network is years away, the Phase 0 chain should hopefully launch within the year and we can use it to help secure the chain if we are smart!

We have to evaluate all options here to ensure security, not just ones we know about.


#19

Agreed 100% with everything you said.

The issue is that there is no funding, or motivation, to do that evaluation. =( Hence this discussion. =)


#20

At the council of Denver I thought that the audit needed to cover 3 areas:

  • performance benchmarking
  • a professional opinion as to the claim that there will only be 1.1x/1.2x/1.5x theoretical asic advantage (based on tech)
  • a professional opinion that the algorithm is cryptographically sound, i.e. there are no known calculation shortcuts and the crypto primitives (like keccak-f800) are used correctly or at least are used in a way that will provide what we want it to do.

The benchmarking will provide insight as to wether the 0.9.2 version of the spec or 0.9.3 version provides a not-too-unbalanced amd/nvidia performance difference, and also help us plan for what to expect on a block transition when the hashes/sec goes down 2x-3x. (how long to get back to 15s blocks and how much sooner will the ice age be felt).

What I want and likely won’t get is some validation that this design will provide the desired limited upside to ASIC implementation. As someone not trained in hardware the explanation sounds legit, but a corroborating opinion from a qualified neutral party would be better. It sounds like all the qualified experts will all have conflicts of interest and won’t be considered neutral, or are otherwise unavailable to comment. I hope I’m wrong on that mark.


#21

I agree with all positions expressed above. Nevertheless let me point out some facts.

  1. The whole point of ProgPoW on Eth is to slow down incoming wave of ASICs and to prepare a more levelled field for any mining device;
  2. All this delays only give room to ASIC manufactures to organize a counteroffensive move and prepare for a contentious hf;
  3. ProgPoW specs are publicly available since a year now
  4. Heavy lifting has already been done implementing both verification on major nodes (geth and parity) and an open-source miner;
  5. If anyone is thinking that audit/testnet/implementations can go ahead without proper funding … then better we dismiss the whole project.

#22

This is probably the biggest risk. “ASIC resistance” ultimately relies on information asymmetry, which inherently gives any solution a shelf life. Ask the Monero folks, the community can’t move as fast as a well-organized hardware company.


#23

One benefit of ProgPoW is effectively giving a set of knobs to twist on Ethash. Every time you twist the knobs, the ASICs have to go back to the drawing board. Obviously this requires a fork each time, but this could be integrated into the ~6 month normal fork release cycle of ETH. It would be pretty hard (financially) to get ahead of that.

But all of this effort is moot if some funding can’t be found soon. Andrea and the rest will move onto other things and it isn’t fair to them to ask them to work on this further, without some sort of financing from the ETH community.


#24

Hey all! Wanted to quickly clarify where the cat herders are with the audit.

There are multiple things going on and some of them are directly initiated by the cat herders and some are “supported” as in “we support what they decided to do”.
So as far as the audit goes there are 2 components: benchmarking and examination of how long/efficient a ProgPoW ASIC would be. Benchmarking is done to make sure that there isn’t discrepancy between AMD and Nvidia cards performance. The other examination is to make sure it is even worth it to implement progpow or if ASICs can be made super quickly (like less than 9 months) and with more speed increase.
Whiteblock wants to do the benchmarking part, but idk who will pay for it. They are equipped to do that piece of the audit imo. They have both a Bounties Network and Gitcoin bounty for their work.
The more difficult part is the 2nd part which deals with figuring out the details of how an asic would be built, how long, and the effeciency increases compared to GPUs.
I very recently got in touch with another group that isn’t Whiteblock who wants to do the 2nd part of the audit.
Once they have a solid proposal we will likely try to help them set up a Gitcoin or find sources of funding if they are legit.


#25

I’m trying to understand what’s the roadmap for completing ProgPoW consideration process by The Ethereum Cat Herders.
I.e., something like:

miners, pools, community should help with founding next bounties
#1 - we need $xxx for something by xx/xx/2019

#2 - we need $xxx for something by xx/xx/2019

#3 - we need $xxx for something by xx/xx/2019

If everything goes well with bounties funding and with results, The Ethereum Cat Herders will recommend ProgPoW to Core Devs as a possible way of reducing ASICs at Ethereum Network.

Right now it’s not clear at all.

The Ethereum Cat Herders announced yesterday that crucial step for ProgPow is to fund those bounties:

Bounty #1


Where ProgPow not even mentioned in the description.

Bounty #2
https://explorer.bounties.network/bounty/2424
Here is something that looks like audit, but the total required amount not mentioned.

So if you calling for community funding, can we have clear communication on this?
image


#26

@souptacular @lrettig @ethcatherders

I believe I can help with the audit, at least on the benchmarking side. How can I apply for this grant for this audit? I’ve already benchmarked a few GPUs and if you’re interested to see my work(I posted it around quite a bit already). Obviously, I can expand on it with a full range of GPUs, AMD/Nvidia and provide a more thorough and in-depth review, assumptions, and things I found. I hope I can help in this regard. I am testing 0.9.3 spec right now. I’m more than happy to provide myself for an interview.

Let me know what you think.

Article I wrote as an example of my work.


#27

I believe this is irrelevant (for audit). ProgPoW never claimed that it is ASIC resistant and ASICs cannot be built so it does not matter if they are going to be built on day 0 or never. The only claim was ASICs are not going to be more than 20% more efficient than GPUs.


#28

From the github page:

The design goal of ProgPoW is to have the algorithm’s requirements match what is available on commodity GPUs: If the algorithm were to be implemented on a custom ASIC there should be little opportunity for efficiency gains compared to a commodity GPU.

While the goal of “ASIC resistance” is valuable, the entire concept of “ASIC resistance” is a bit of a fallacy. CPUs and GPUs are themselves ASICs. Any algorithm that can run on a commodity ASIC (a CPU or GPU) by definition can have a customized ASIC created for it with slightly less functionality. Some algorithms are intentionally made to be “ASIC friendly” - where an ASIC implementation is drastically more efficient than the same algorithm running on general purpose hardware. The protection that this offers when the coin is unknown also makes it an attractive target for a dedicate mining ASIC company as soon as it becomes useful.

Therefore, ASIC resistance is: the efficiency difference of specilized hardware versus hardware that has a wider adoption and applicability. A smaller efficiency difference between custom vs general hardware mean higher resistance and a better algorithm. This efficiency difference is the proper metric to use when comparing the quality of PoW algorithms. Efficiency could mean absolute performance, performance per watt, or performance per dollar - they are all highly correlated. If a single entity creates and controls an ASIC that is drastically more efficient, they can gain 51% of the network hashrate and possibly stage an attack.


#29

I’ve been closely following everything ProgPoW for months now. I am in almost every chat room and discussion out there. I just wrote this up to hopefully help clarify a few things as I see them about ProgPoW. Just thinking that this group (or if you came here from another link) might be interested… https://medium.com/@lookfirst/13-questions-about-ethereums-movement-to-progpow-e17e0a6d88b8


Motion to NOT include ProgPow without audit
#30

Update from @souptacular


#31

@boris Yes, my post was a comment appended to the bottom of that one. I have questions on it. Sorry, the medium interface is a bit wonky in that respect.


#32

I’m just highlighting relevant links for people to suck in the content to try and bring material together in one place on here.