@LostInTranslation thx for starting this topic. You have created a pretty comprehensive list, so it’s a bit hard to add anything. Also, I think I would have different thoughts on the matter on different days, depending on my area of focus, etc.
I think that from my perspective right now, fundamentally the most important thing is to make the software and network rock solid. From that foundation, everything else can build organically when the time is right. Trying to force adoption too early can actually be a mis-step, as I think we have recently witnessed. If the software is not yet ready for “the masses” but it is marketed to them, they will predictably be disappointed in terms of user-friendliness, speed, exchange availability, etc.
So then, how can the community help make the software rock solid?
learn about triton-vm, tasm, etc. experiment with that tech.
report bugs and pain points to github.
stress test the network – with the testnet first. ie, how many transactions per second can it actually handle? What happens as we approach that limit? Does mempool begin filling up, do higher fee tx still get processed? Do tx proof get upgraded reliably in high load situation?
ask questions here on talk.neptune.cash.
support eachother. answer questions, make tutorials, youtube vidoes, etc.
extra credit: make an open source GPU miner.
With regards to the neptune-proton wallet I’ve been working on:
Please try the animated QR code feature to send a payment. That is experimental, and I’d like to hear how well it works for you (or not).
happy to hear any feedback about what you’d like to see in the neptune-proton wallet.
Beyond that, I think it is worthwhile to share information about NeptuneCash with people who are already interested in privacy coins and tech, that would actually understand what makes it unique and important.
Thanks danda! You’re absolutely right, having a solid foundation in place before adoption is crucial. Thanks as well for concretely outlining the practical areas to focus on.
I’m a bit busy over the Christmas holidays (probably many others as well), but I’ll try to spend some more time with the node and the Proton wallet after that and then report back on GitHub. I had some trouble building them on Windows, but that’s sorted now.
It is not entirely clear how much funding is available to sustain development at the current pace without a risk of slowdown. While the internal financial situation of the founding company is, of course, not our concern, it is worth considering whether a crowdfunding mechanism could help support ongoing development.
Developers, like everyone else, have bills to pay - that is well understood. I believe everyone here shares the same goal: to ensure that development can continue at a healthy and sustainable pace.
A few references from other privacy-focused projects with established funding models:
Monero community has successfully used crowdfunding for many years. Supporters can contribute to a general fund, and community members are also able to propose specific pieces of work with a pre-agreed funding goal. This model has helped ensure that development remains community-driven, transparent, and sustainable.
Grin, another fairly launched privacy coin, much smaller than Monero but still going strong, maintains a general fund to help ensure continuous development.
yes, I agree that a CCS type of system would be beneficial.
That appears to me like something that the community can setup in a permissionless fashion. ie, it does not need a blessing or green-light or code contribution from the NeptuneCash founders or “core team”.
So basically, if someone has a clear vision for how it should work and the ability to set it up… just go for it.
I have not looked into monero or grin’s systems enough to understand how they manage funds, if it is trustless or not, etc. Those seem like important details to resolve and ensure it is clear to everyone that would contribute funds to the system.
NeptuneCash addresses presently do not implement true multi-sig. There is samir secret sharing in neptune-cli for distributing pieces of an existing key, but that requires that all parties trust whoever first generates the key. Perhaps a CCS system could be implemented as a type of smart-contract where funds are pooled and only released on certain conditions. That is outside my area though, @aszepieniec do you see anything preventing this at present or have thoughts about it?
I think this type of funding mechanism should be associated with the core group, or at least have its explicit blessing. Ideally, one or two members of the core team would also participate in overseeing how the funds are being used.
While a solely community managed setup is possible, having some level of core involvement would help establish legitimacy, build trust among contributors, and reduce the risk of fragmentation or misaligned incentives, especially in the early stages.
As a side note, it is conceivable that some well-resourced individuals from the broader crypto, technology, or cypherpunk communities may resonate with the cyberpunk ethos of Neptune Cash, yet there is currently no clear mechanism for financial support.
and I think this rationale has been used every time someone proposes a CCS, which then prevents something from actually getting built. It is largely equivalent to saying “the core devs should build it, I will wait for them”.
Let’s say a community member builds such a system and the core team carefully reviews all the code, and gives a thumbs-up “blessing”. What prevents the original author from three weeks later changing the code in some nefarious fashion? So the blessing can really only apply to a specific commit/tag of the system.
So I think this really boils down to: is the core team going to take ownership/maintainership of a CCS system or not? I do not speak for the founders, but I feel like the answer right now is that there is simply not bandwidth for that. Meanwhile, there are community members that want such a thing, so… I say again, don’t wait for the core team’s blessing, just do it.
The one caveat to this, in my mind, has to do with smart contracts. I would like to hear @aszepieniec or @sword-smith’s thoughts with regards to if it is presently feasible for a community member (or anyone) to build a smart-contract that could hold CCS funds and distribute them. And if a smart-contract can be made for this purpose, then an argument can be made that it would be more trusted if it comes from the core team, and also can serve as an example of how to build such things.
Using Monero as an example: crowdfunded work is merged into the public repo, which is maintained by the core team, and then governed by the same rules as all other code. The original author has no special powers afterward.
Any later change would require a new public commit, review by the core team and others, and a merge that’s fully visible in the Git history. Builds are reproducible, and the community actively monitors changes.
thx for the clarification on how Monero’s process works. I feel like I addressed it. Also though I don’t speak for the founders, so will be interesting to get their take.
The Neptune Whitepaper actually addresses this in a general sense.
So a strong argument can be made that a smart-contract based CCS system would be a good showcase for NeptuneCash that:
is a nice test of the smart contract system.
helps raise funds to further develop neptune ecosystem
creates some circular economy flow (real value)
differentiates Neptune from Monero.
Anonymous Fundraising and Investment
Stocks are a special type of security, and so the same general construction as above applies. A startup can establish a company deposit account UTXO, which can only be spent to another UTXO if it has the same spending criteria but possibly different native currency balances. Specifically:
Investors can increase the native currency balance in exchange for shares, which is a token type tailored to the company or foundation.
The company or foundation administrators can decrease the native currency balance without restriction unless liquidation is activated.
In the event of liquidation, the shareholders can burn shares in exchange for withdrawing a proportional amount from the native currency balance.
Companies can issue dividends by transferring them into a dividend pot, which is an UTXO that can only be spent by shareholders. Specifically, in order to make a withdrawal from this account, a shareholder must do two things.
He must prove that he is entitled to the withdrawal. This step boils down to using the shares to generate a proof of entitlement that unlocks the spending criterion.
He must mark his share as having received the dividend in question. This mark prevents the same token from being used twice. The mark itself is stored in the token’s state, which is updated in accordance with the token’s type_script.
Neptune allows investors to invest and collect dividends anonymously.
Seems like you have a lot of things that might come to mind covered already, and besides @danda’s suggestions there is very little left to add. Here are some items if I may be bold enough to suggest:
video tutorials
animated explainers
plug-ins: into BTCPayServer and alternatives, umbrel, browsers
plug-ins into neptune-core: IRC, games, smart contracts
reproducible builds
installers
The more I read about Monero’s CCS, the more I love it. I think this should be the guiding template for transitioning Neptune Cash towards a community-driven and community-funded project. And I will do what I can to support that transition.
Nothing is blocking such a system presently besides the engineering workload. Let me put some words to how you might design a fund managed transparently by an anonymous rotating committee with t-out-of-n multisig.
The way I see this work is through an overlay protocol. The fund managers must run a node with a plugin for managing that fund, say neptune-foundation which is a separate process from but in communication with neptune-core. The plugin is responsible for establishing connections to other fund managers; disseminating information related to transactions before and after they are initiated, and presenting individual managers with an interface.
The treasury lives in a UTXO whose lock script allows anyone to spend. Besides a NativeCurrency type script (or really, any currency type script) there are other type scripts:
One type script enforces that whenever the UTXO is spent, the transaction produces at least one output UTXO, called the successor, that has the same set of type scripts (or a superset) and the same lock script.
One type script enforces that whenever the UTXO is spent, the transaction comes with an announcement exposing the successor’s type scripts, states, lock script hash, sender randomness, and receiver preimage. This exposure serves the dual purpose of transparency (since anyone can inspect the UTXO) and notifying the fund managers of the new UTXO data.
One type script enforces that if the successor holds fewer funds than the current UTXO, then there exist signatures on the transaction kernel MAST hash that are valid under at least t out of n public keys. The public keys’ hashes are stored as the state for this type script, and can therefore be modified when the UTXO is spent and re-generated. Also, if this list of public keys changes, then there are also t valid signatures.
This type of overlay protocol / smart contract can be used for more than just managing a community fund transparently. It can also be used for a bridge to another cryptocurrency, at least until a fully trustless version can displace it.
The issues facing NPT show the choices when investing in a fair launch project compared to a VC backed one ie VC backed ones don’t fail because they run out of money but small investors get shafted by being dumped on
Also it seems Nock is also benefiting from the split XNT caused
Unfortunately paying the price of not staying united
Of all the things on the list the thing I didn’t see was a new roadmap and a plan or target as to where you want to go and how you plan to achieve it
A Vision if you like
I recently increased my holdings and still a great believer in you Alan and the project
Wishing you every success
Happy Christmas and a very prosperous New Year to everyone at NPT
Welcome aboard Red! I also support the idea of creating a roadmap.
I understand there may be concerns from the development side, for example, that it creates additional pressure to deliver according to a defined plan and schedule, especially if the roadmap is prioritized and time-bound.
However, a well-crafted roadmap is an excellent tool for communicating the project’s vision and direction to the community. It enhances credibility and trust, and helps build confidence among existing members as well as potential investors.
Overall, I believe the benefits of a roadmap outweigh the trade-offs.
Here is a basic roadmap I have in my head, aided by github. This not speaking for the founders or the project. Perhaps it can serve as a starting point for a official-ish roadmap.
In progress
Succinctness – a major differentiator for Neptune Cash
Thanks for sharing, this is a great list! If the team has time to develop this into an official roadmap and share it on the website, I think it would be a really positive step toward more transparency and stronger alignment with the community.