Awesome discussion re accumulators in /dev the other night:
Michalis Kargakis @kargakis 00:04
with TXOs we just need to delete 32 bytes from the file next time we rewrite it
so you still track UTXOs in the MMR but with a tree that is pruned when an output is spent. it’s just that we cannot use that MMR to prove unspentness, does that sound right?
wondering now how this is going to look like with accumulators
goldenMetteyya @goldenMetteyya 00:20
MMR is append only so if you change something as said before the whole tree must be rehashed, if you build a MMR after each block for UTXO’s then you can prove unspentness for that block only next one its invalid
David Burkett @DavidBurkett 00:20
There’s a bitset that tells whether the output is unspent based on the MMR position
goldenMetteyya @goldenMetteyya 00:21
is this bitset updated after each block ?
David Burkett @DavidBurkett 00:21
As far as accumulators go, I spent the last couple weeks working with them, and right now, there’s a roadblock that could make them a non-starter.
@goldenMetteyya Yes
goldenMetteyya @goldenMetteyya 00:22
dynamic accumulators have fast verification but they have issues that each change results in all proofs to need to change
So your UTXO inclusion proof is valid for one block
David Burkett @DavidBurkett 00:22
That’s correct, and I was thinking we could get around that, but due to the way we prune, I don’t think we can without help from “Archive nodes"
goldenMetteyya @goldenMetteyya 00:24
with the latest accumulator research someone still needs to hold ALL the chain data
David Burkett @DavidBurkett 00:24
UTXO inclusion proofs can be updated by the miner really easily/efficiently. But the problem is restoring transactions makes it impossible to provide proofs
goldenMetteyya @goldenMetteyya 00:24
to generate the proos
@DavidBurkett depemds on the accumilator construction
if you are using RSA or Class group based then its not super fast
NlogN
David Burkett @DavidBurkett 00:25
Class group is still super fast, thanks to improvements realized by the Chia VDF competition
Not as fast as RSA, I agree, but still fast enough
goldenMetteyya @goldenMetteyya 00:27
depends on your chains block interval
its relative
Michalis Kargakis @kargakis 00:27
if a malicious actor rewrites enough history then its possible nobody (if we prune obsolete UTXOs) has ever seen those outputs
does this mean that nobody gets to validate a malicious output for a year (assuming we obsolete utxos in a year)?
David Burkett @DavidBurkett 00:27
@goldenMetteyya With 1 minute blocks, it’s still fast enough. Just did some testing this morning.
goldenMetteyya @goldenMetteyya 00:28
Nice:)
but like 15 seconds its not that good
David Burkett @DavidBurkett 00:28
Possibly not
goldenMetteyya @goldenMetteyya 00:28
even then for 1 minute block time
you have a small window
where the miner who generated the block and then proofs get generated
David Burkett @DavidBurkett 00:29
If you’re looking at the cambrian implementation, just note that the code in master is really slow compared to the code in the class group improvement PR
goldenMetteyya @goldenMetteyya 00:29
by the time a wallet sees and tries to use it
@DavidBurkett can you share the link please
David Burkett @DavidBurkett 00:30
cambrian/accumulator#35
goldenMetteyya @goldenMetteyya 00:37
this is a library i have used its based on chia entrant
I extracted into its own crate
this one is only RSA based for now
i have rough code that tested classgroups
i think that the vector commitments are more useful now as they have constant proofs to multiple openings
based on the accumulators
David Burkett @DavidBurkett 00:41
Nice, I’ll check it out
goldenMetteyya @goldenMetteyya 00:42
Recent propsal is Utreexo which is based on hashes, again the issue is proof updates in all of them, the windoe of use is not much
but stateless blockchain idea is cool, but i think MW is the closest that get to one on principles for a light chain
David Burkett @DavidBurkett 00:44
I was just going to ask if you knew anything about Uteexo. I was going to investigate it next. Sounds like it has the same problem though, so you saved me some time
goldenMetteyya @goldenMetteyya 00:46
its based on hashes which is the best assumption out of all them
it has logn proofs
like merkle trees
Its basically a variant, but the accumulators have constant proofs which is wat better
compared to the MMR you can delete items without having to rehash everything
David Burkett @DavidBurkett 00:48
Is the paper out yet? Or anything concrete?
goldenMetteyya @goldenMetteyya 00:49
no paper
David Burkett @DavidBurkett 00:49
O cool. Thanks
goldenMetteyya @goldenMetteyya 01:05
Essential one needs a dynamic set, that can proove inclusion ideally with constant size no matter the set size, and this proof of inclucion should remain valid even though elements are added and removed. There is no construction that gives this to us 
UTXO case has the benefit that additions and deletion are done through autherizaion and there cant be duplicate items