Protocols are not handed down from on high. On the contrary, they start as a seed, which grows into a massive tree (if it’s worthy, and more importantly, if it’s nurtured). These seeds are no more than ideas, planted by individuals, perhaps in a Slack channel or, more formally, as an RFC.
Great thoughts! I think the most important idea is that you don’t have to be involved in an industry for 20 years to make an impact. If you are new to an industry, your fresh perspective is incredibly important.
Having said that, I’m a little skeptical of amateurs designing protocols because they often lack context to really understand the problems they’re solving. In reality, I think it’s important to combine contributions from machines, amateurs and experts. Diversity is key.
Thanks! I agree, diversity is key. That’s part of the reason I want to see more amateurs making protocols – they have a perspective that experts are lacking. At the same time, experts have…expertise! They have the background knowledge to make sure a protocol will actually work. That’s a large part of why I suggested experts should review the protocols that amateurs come up with.
In my specific case, when I talk about amateurs, I’m talking about folks who aren’t necessarily well-established in the field, but have done the research, have done their homework, when it comes to understanding the background necessary to design and implement a protocol. So maybe “amateur” is the wrong word. Maybe “armchair cryptologist” would be more appropriate? That still implies an amateurish point of view, though…
In any case, I agree, diversity is absolutely critical to making a protocol that works for everyone. Or, a protocol that works in the first place .
Now, combining the results of a machine with the designs of a human is super interesting…what would such an AI look like? (I assume it would have to be an AI, in order to be capable of such a feat.) What would it optimize for? How would it find security flaws?
Figuring out how AI can play a role here isn’t trivial. I don’t think AI should necessarily be involved in writing the actual specs. One idea would be for the AI to just highlight anything that is potentially confusing. I guess it could be argued that humans would naturally already use tools like Grammarly to solve this problem.
But maybe the AI could be a little more domain specific. Instead of just highlighting poorly constructed sentences, maybe AI could predict how easy it would be for a junior, intermediate, and senior developer to understand the spec given 15 minutes of reading time. This would give humans a tight feedback loop to make some initial iterations before releasing v1.
The training set could be derived from reading comprehension tests actual developers go through on a variety of actual specs.