-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Core MD] Clarify repo scope: C# implementation ≠ Neo Core protocol #3706
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have a definition of "Neo blockchain protocol"? If not, then what are we implementing here? Until we have this solved this repository is the protocol definition, unfortunately. You can't write an implementation against some standard definition now, you have to follow what is done here.
@@ -6,7 +6,7 @@ | |||
</a> | |||
</p> | |||
|
|||
<h3 align="center">Neo Blockchain</h3> | |||
<h3 align="center">CSharp implementation of the neo blockchain protocol.</h3> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And it's Neo
, btw. NEO coin, Neo blockchain.
Neo blockchain protocol is another topic either tc can decide or neo foundation can decide. I don't think that can be of any issue for 'csharp implementation'. Similar question can go to any blockchain project, what is ethereum protocol, what is bitcoin protocol, what is sui protocol. |
https://ethereum.github.io/yellowpaper/paper.pdf + EIPs It's not that I prefer to have an implementation be the definition of the protocol, it's just that we don't have anything else at the moment and we can't ignore this fact. |
I thought about it for a while, neo blockchain protocol should be combination of a few subprotocols: neo-gas economy protocol, dbft consensus protocol, neo vm contract/execution protocol. This should be in side of a neo white paper, then extended and detailed in many many NEPs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed with @roman-khimov
Neo whitepaper: allcryptowhitepapers.com/neo-whitepaper/ Neo NEPs: https://github.com/neo-project/proposals protocols are system ruls, it can be verified, analyized, proved. This repo implements neo protocol, but it also implements other things that are not part of the protocol. I understand that the csharp implementation used to be the main place where the design is done, but fact is neo repo also contains many things that should not be considered part of neo protocol, the GUI, the CLI, the plugins. Implementation is implementation, it can have features and tools that is not part of the neo protocol and other implementations do not need to follow. You guys also wrote many NEPs, so you definately know where the protocols should be. |
I agree, @Jim8y But the time has not come yet for that. We need a better protocol specification document that is strictly connected to the NEPS (proposals repository). After that, I believe that the change in this PR will be more suitable. |
@vncoelho i am not saying of any big change to any code, just a few lines of specification to this repo..... take a look at those few words change, you will find that nothing actually need to be done for real. Just explicitly tell people that this repo is a csharp implementation of neo protocol. |
@Jim8y is right! NEPs are for the defining the protocol for I am sick of moving forward 1 step to just go backwards 10 steps. By |
Description
This PR formally redefines this repository as an implementation of the Neo Protocol (akin to NeoGo), not the Neo Core itself. It addresses historical conflation between implementation details and protocol authority that has hindered maintenance.
Problem Statement
Since we merged repos into a mono repo, we've conflated the C# implementation with the Neo Core protocol due to:
This has caused:
⚠️ Maintenance Paralysis: Resistance to modify "core"-labeled non-protocol components
⚠️ Unrealistic Expectations: Assumption that all repo code is protocol-mandated and bug-free
⚠️ Innovation Bottleneck: Difficulty introducing non-protocol improvements
Why This Matters Now
As Neo matures, we must:
Type of change
Checklist: