1. Private
2. ASIC friendly
3. Linear emission
There is no premine and no dev tax.
Source code:
https://gitlab.com/lolnero/lolneroLolnero was launched on Oct 10th, 2020.
Updates:
Aug 18th, 2022
The C++ code base will be abandoned soon. Make sure you can fork this
project to lolnero classic if you want to stick with C++. It's now a
good time to get yourself familiar with NixOS since it will be the
only supported OS.
Aug 15th, 2022
Why is lolnero the only cryptonote fork using libsodium?
Well, let's walk through the analysis together. The fact that nobody
uses libsodium just means that libsodium sucks. It has to be, since
otherwise, everyone would be using it. Right?
Unless, of course, extremely unlikely, there's another
possibility. That the only reason nobody besides lolnero uses
libsodium is that every cryptonote fork sucks. That's just non sense,
I personally don't believe it. It's just impossible.
There, so by our careful analysis, the reason that lolnero is the only
cryptonote fork that uses libsodium is because libsodium sucks, not
that everyone else sucks.
Jul 31th, 2022
There's still some bugs in the reorg code that can falsely block some
supposedly valid nodes.
1. They probably won't be fixed like forever.
2. A manual restart of the service is recommended.
3. If there is a fix, it has to be a complete overhaul of the p2p
code.
4. Current p2p code is a joke and is not workable. Just ask any
cryptonote dev: what's their favorite part of the project.
Everyone can be a sys admin.
Jul 28th, 2022
How to keep your privacy without having to be a bitch?
Fork lolnero.
Jul 20th, 2022
What can we learn from cruzbit:
Pros:
1. Written in Go, tiny implementation that can be easily ported to
other languages.
2. SHA-3 as PoW, which enables future industrial mining.
3. Conservative on design and cryptography, kinda of natural for any
serious cryptographer.
Cons:
1. Open ledger. Bitcoin can get away with it since it's the first one,
but it's pretty clear now that open ledger won't cut it, and there's
no way you can compete with Bitcoin with an open ledger.
2. Adding privacy features to an open ledger probably won't work.
3. FPGA / ASIC need to be thought about and dealt with from the very
beginning.
4. Miners are really not your friends, being nice won't get things
done.
Can lolnero learn from these mistakes?
Jul 17th, 2022
Why won't lolnero use bulletproofs+ or ++ or +++?
1. There's no need. The significance of bulletproofs is the shape,
log(n), not size. Anyone who misses this is either a salesperson or
clueless.
2. It doesn't come without a cost, a maintenance cost that nobody is
willing to pay.
3. Almost no peer reviews, hello?
4. Programmers tend to significantly underestimate how difficult a
proof like bulletproofs is. I'm not a programmer, I know what I'm
dealing with.
Lolnero is a cryptocurrency, a tool, it has to be simple and
maintainable. Let them play with all the range proofs that they
probably will never understand.
Jul 17th, 2022
Why is "if it ain't broke, don't fix it" wrong?
Because it's not scientific.
Why brush your teeth? Why maintain your car? Why reject communism? Why
fix your shitty C/C++?
Common, grow up.
Jul 17th, 2022
Why is lolnero easy to fork?
Because, unlike other coins, I want a better fork. Seriously, who
wants to maintain this shit?
Jul 7th, 2022
What about the all new mem db? There are several things.
Cons.
1. Memory usage
This is not a real database, since everything is in ram, or heap. When
a reorg happens, the ram usage pretty much doubles since it's just a
simple copy of the vector of the main db. That sucks, yes. In practice
though, with enough swap, it's fine. Since most of the blockchain can
be swapped to disk and won't be touched again like forever in
computer's time.
https://en.wikipedia.org/wiki/Memory_paging2. Scalability
It won't scale at least for low end PCs because they don't have enough
ram, but for now it's not a problem.
Pros.
1. New code in modern C++
We are on C++23, with ranges, parallel algorithms and monadic
optionals. If you don't know what that means. It's like guns vs
spears. No there's no nuclear, I assure you. You can trust me.
2. New design with a single mutex for the entire database
This is really a lazy design, but I'm kind of used to it.
3. Performance
This doesn't necessarily have to be true, since lmdb shouldn't be a
bottleneck. So the only explanation here is that we have better design
or better code. I don't know. But syncing is comparably speaking a lot
faster.
I explained earlier that the reason for a new db is not to fix the
old, but to add consensus changes which would be otherwise impossible.
So there, new db.
Jul 7th, 2022
Why I never optimize C++?
There are many reasons, but most importantly, I don't need it.
Before talking about optimizations, we need to establish what is the
goal of this project.
Well the goal of lolnero is to show the world that you don't need to
be bitch to be a privacy coin. You can just be a fucking coin.
Am I ever gonna optimize C++? Never.
Jul 6th, 2022
What happens when hackers are blinded by greed?
Well, just look around you. Or more easily, look at the mirror.
Jul 6th, 2022
Why do your output public keys need to be in the main prime subgroup?
If you understand group theory, you already knew. What if you don't?
Let me try to explain. There are 12 keys in common music theory. You
can play a song at pretty much any key, and it will sound right. But
you can't play it at two different keys at the same time, it will be a
complete mess, in most cases.
The same is true for any elliptic curve cryptography, you can't mix
points from different subgroup, and if you do, everything breaks.
Now why am I talking about an issue that doesn't exist in lolnero?
Jul 4th, 2022
What happens when you have a broken gamma picker? You don't talk about
it.
Fortunately for lolnero, our decoy selection has been completely
rewritten. The hardfork was moved earlier than expected since why
not. This hardfork removed transaction unlock time, which has some
interesting implications.
Previously, decoy selection is not mathematical, by that I mean you
can't just get a gamma sample and expect it to work, since the unlock
time might block some of your selected outputs from being available by
consensus.
Now, we don't have that restriction, which means every gamma sample is
a valid sample. This significantly increases the performance of sample
generation since we don't have to query the database for unlock time
anymore, and it opens the door for deterministic sample generation.
Try sending a transaction in lolnero, it's instant. Since decoy
selection is trivial.
By the way, our decoy selection follows the true gamma distribution,
and it can be done on either the client or the server, there's
absolutely no difference, because, again, every sample is a valid
sample. Not necessarily the case for some other coins.
Jul 2nd, 2022
Recently lolnero switched from lmdb to in memory db that persists to a
json file. It's definitely a downgrade, but it turned out better than
I expected, since it kind of works OK given enough swap
The reason for this downgrade is that this is the only way I can
implement some of the changes that involve the database.
For example, we disallowed duplicated output keys at the consensus
level, it's a softfork that requires additional check from the
database.
We support arbitrary rollback to make removing unlock time
works. Maybe the previous code can also work, but I don't know, and I
can never fix it if it doesn't.
We also simplified the p2p layer that requires precise understand of how
the data layer works.
So it is a necessary downgrade to make some positive changes possible,
at least for now.