Warning
This post was published 322 days ago. The infomation described in this article may have changed.
New Year, New Possibilities. Blue Sky suggestions welcome.
โ Neptune ๐ 2024-01-14 ๐ค danda ๐๏ธ 1201Iโm making this thread for anyone to throw out ideas for Neptune. Basically, anything we would like to see exist or occur: software/features, architecture, community building, economy, mining, game-theory, etc.
This is BlueSky Thinking, so for purposes of this brainstorming exercise, it is the idea that matters. Artificial constraints such as deadlines, budgets, mvp, and spent-cost efforts do not exist. Practicality and present feasability are only minor obstacles. :-)
My own personal wishlist for Neptune software/architecture, in no particular order, are:
Seperate wallet from server. So a single neptune-core instance could serve multiple neptune-wallet-rpc servers. Monero does this, and it makes for a clean architecture and smaller code/attack surface for the core server and wallet. Also more suitable for use by exchanges, block explorers, etc that do not need wallet functionality.
multi-wallet support. Some of my fav bitcoin wallets support multiple wallets and make it easy to create new wallets. Either with a new seed for each, or sharing same seed, but with a different bip32/44 path identifier. monero-wallet-rpc supports shared seed wallets with the new_account API, so again thatโs a possible model.
strong ASIC resistance, in the form of randomX POW algo. again, from Monero. Or possibly equivalent dynamic programs running in triton-vm would be even cooler (tritonX?). This should also help prevent 51% attacks by existing ASIC or GPU capacity, something common to lower market-cap coins.
SDK. letโs make neptune-core into a proper library/crate, with neptune-core executable just an app/user with very little code. (darkfi does this).
jsonrpc interface. (already discussed)
EVM compatibility layer. Thereโs a lot of EVM contracts out there and GUI apps built around them. (Infrastructure) It seems some layer1 chains donโt seem to gain traction until they provide EVM compatibility, and most do provide it.
bip39 mnemonic support.
light mode support in neptune-core. (already planned, i think?)
immutable/frozen consensus layer. already discussed in another thread.
mine tiny amounts on any device. eg mobile phone. So anyone can mine/participate. even though they might receive eg fractional satoshi equiv rewards. Ideally if my hash contribution is 1/100 billionth of the worldwide hashpower, then I should receive 1/100 billionth of each block reward that I mine on. The key is that the tiny rewards be regular to keep people participating. Also, the long tail is key for decentralization and ossification.
integrate p2pool by default. or something similar for decentralized mining pool/shares. This should weaken centralized pools and their capacity for 51% and potentially huge influence re eg soft-forks.
consensus: require proof that miner (hasher) is validating. make it impossible (or too slow) to mine a block without full, local blockchain. In bitcoin miners choose centralized pools because it is easy and they donโt have to setup a full node. But they are not validating and double-checking eachother. They are only hashing. This greatly harms decentralization. Take away this option, and they will be happier to use something like p2pool. edit: yes this is in conflict with tiny amounts on any device, but that probably wonโt happen anyway, heh. edit again: if a neptune light-mode miner can fully validate given only the current tip block + new block, then it seems this will not be a problem the way it is on bitcoin, so we just need to ensure they are actually doing that, and not able to delegate validation to pool.
So what do you think of the ideas on my wishlist? And what are your ideas?
note: Several of these ideas are from exposure to the monero ecosystem. I donโt wish to turn neptune into monero by any means, but I do think theyโve had some nice, comparatively little-known architectural improvements over the btc ecosystem, for example.
๐ท๏ธ bluesky, architecture, asic, evm, bip39, lightmodeaszepieniec 2024-01-23 ๐ ๐
neptune-core
but communicates with it through a RPC interface.aszepieniec 2024-01-24 ๐ 2 ๐
neptune-core
and displays information like block height, block digest, # addition records, # removal records, variable network parameters such as difficulty, node address (?). On top of that it allows the user to lookup blocks and transactions.aszepieniec 2024-01-24 ๐ ๐
aszepieniec 2024-01-24 ๐ 1 ๐
aszepieniec 2024-01-27 ๐ ๐
aszepieniec 2024-01-31 ๐ ๐
i2pZ7812HTZV69 2024-02-18 ๐ ๐
this is the correct way to go for this project
danda 2024-02-22 ๐ ๐ [op]
minisketch-rs is a rust wrapper crate for the minisketch c/c++ library.
aszepieniec 2024-02-23 ๐ ๐
space-efficient mempools. Add a consensus rule allowing mempool operators to throw away all transaction validity proofs in exchange for one mempool validity proof. Specifically, add rule (e) to the following list of criteria for transaction validity. A transaction is valid if (any criterion suffices):
i2pZ7812HTZV69 2024-04-01 ๐ ๐
yea both tor with its rust implementation Arti along with i2p devs want to introduce a rust client and now veilid entirely created in rust all 3 options will be great for Neptune
i2pZ7812HTZV69 2024-04-01 ๐ ๐
while we are at it why not add dandelion++ and noise protocol with post quantum crypto for node protection and privacy
danda 2024-05-03 ๐ ๐ [op]
I will throw out a wild idea.
It was recently suggested on reddit for someone to hard fork bitcoin by adding real privacy features to it. This was just a one-off comment, not a serious proposal, but it got me thinking/wondering.
Instead of adding features to bitcoin, could we flip this idea on its head?
Would it be possible to launch neptune (or a fork) by somehow importing all of bitcoinโs utxos up to a certain point/snapshot?
If this could be done, it essentially makes the neptune codebase a bitcoin hard-fork. There are a lot of bitcoiners that want better privacy and the quantum resistance and scalability features are desirable as well. So I think that such a hard-fork could have a real shot at success where others have failed.
For the neptune project, it would mean that there is instantly huge worldwide distribution and that anyone who holds bitcoin also becomes a neptune stakeholder, incentivized to try out neptune. Many would immediately sell their newfound wealth, but eventually that stabilizes and then bitcoiners are left with a blockchain where they can transact their pre-existing holdings privately. Those holdings would be worth much less on the new blockchain, so itโs kind of a privacy playground for bitcoiners.
The consensus rules would not necessarily have to be the same as btc. For example, the supply cap could be a bit larger than bitcoinโs to allow for neptune development obligations. Some people would not like that, but so long as everything is clear, many would accept it as fair tradeoff for real privacy and improved scalability.
For now Iโm totally hand-waving how this might be done. But if it can be done, I imagine someone probably will do it eventually. Whether its the neptune project or a 3rd party.
danda 2024-05-03 ๐ ๐ [op]
clafification: in the above comment, I meant to be suggesting to import a snapshot of btc utxoโs at a certain point (time of neptune launch), with a digest of the snapshot embedded in neptuneโs genesis block. I did not mean to imply importing the entire btc blockchain somehow.
i2pZ7812HTZV69 2024-05-09 ๐ ๐
i can be more convinced if btc ever get hard fork it will be for confidential transaction at base layer and/or for removing ECDSA public-private key pair with post quantum public-private key pair
danda 2024-10-03 ๐ ๐ [op]
Miner Block Header Signing (to prevent mining pools)
wownero in 2021 made a hard-fork that requires miners to sign each block-header (with nonce) before hashing. When starting wownerod, miners must supply a signing-key. As I understand it, this strongly disincentivizes mining pools because the only way to pool resources would be for the pool to combine secret keys of all participants but individual miners donโt trust the pool enough to do that. I might have details wrong, but anyway, it seems to be working as wownero pool mining ended in 2021 and hasnโt yet returned.
It was proposed that miners would have to:
The final algo may be a bit different. I didnโt read through the code.
I couldnโt find very much info about it, but hereโs some relevant links:
Blog: Wownero - No more pool mining! https://www.cryptunit.com/newsid/179-wownero-no-more-pool-mining
Miner block header signing pull-request: https://git.wownero.com/wownero/wownero/pulls/369
โMega-pool Cockblocking Strategiesโ https://git.wownero.com/wownero/meta/issues/28
Wownero Junkie Jeff v0.10.0.0 release announcement https://git.wownero.com/wownero/wownero/releases/tag/v0.10.0.0