Different people can solve different problems in parallel. The new opcodes open new markets which have seen enormous growth.
That is a very generic statement. Both in terms of "new opcodes" as well as "enormous growth". I think we should all fully refrain from this kinds of sales pitch talk and boil it down to the details.
What can be enabled with which colored coin proposal? What would opcode #xyz do?
And to me, that honestly quickly becomes quite hand-wavy.
Like I suspect
@hodl does as well, I don't see much value in the ICO craze.
Now, I do understand that miners want to process many transactions so there is that and I obviously do support them doing so, as they secure my coins.
As much as I don't see the reason to have Counterparty, their use case is already possible on the chain, correct? All they want is some larger OP_RETURN space, correct?
If I need to choose between different things to do, I
rather adjust a constant like the 80 byte OP_RETURN limit than introduce new features.
Given that I can already spread data across multiple OP_RETURNs, that seems like a change with manageable risk.
Also by just adjusting a value, you don't really introduce complexity, especially if you relax it and old transactions validate with new rules. See also the blocksize limit.
It makes no sense to let that slip away because some other problems other people are working on should be finished first.
There is also a difference: I have a validation kernel now for transactions and that
grows with all new rules that I introduce. And I cannot ever reduce this complexity again, it impacts the whole network and there's strong economic incentives to keep every bell and whistle that has
ever been introduced.
I can however, separate the transaction kernel and the mempool and the network layer from each other and thus simplify debugging each thing.
The issues you list have been on the task list for me for a long time and half of them have actually already been fixed in Flowee, the separate processes (or different machines, if you want) design has been implemented and is being used right now.
That's great and I'll certainly have a closer look at some point again. Do you have comprehensive documentation for your changes?
Last I looked, I didn't find that quickly, so that kind of kept me from looking further. If you do, and they are not easy to find, I suggest to make that so. If they don't exist, well that's the issue I'd have with it right now
I should also say that license issues will keep me from
basing any work on your code. If weakblocks turn out to be helpful, I can make a PR for your code. But it becomes very messy license-wise if I would start developing on Flowee and then merge back into BU, for example.
Note that I am not arguing you shouldn't do what you do - I just think that there is - especially with multiple implementations - good reason to stick with developing on MIT-licensed clients first. Unless all clients would chose the license of your client, which I find to be highly unlikely.
Apart from suggesting that you try to look at
Flowee, please think about the idea that the development of BCH can be done in parallel. Different groups focus on different ideas. At the same time. Ideally those groups don't fight each other but instead just copy paste or implement a spec another group finalized.
Yes, but see above regarding copy'n'paste & licensing.