Twitter | Pretraživanje | |
Kenta Iwasaki
CTO of .
253
Tweetovi
53
Pratim
438
Osobe koje vas prate
Tweetovi
Kenta Iwasaki 17 h
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 19 h
Experimented with and threw away 600 lines of code for storing consensus-related data to LevelDB. Atomic transactions in syndtr/goleveldb are slow 😢.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 19 h
Odgovor korisniku/ci @_tmio
Rotating the bloom filters would help, though at that point a simple LRU would work best amortized. Should memory space be of a bigger concern vs. CPU cycles for caching gossiped entries, I would resort back to the bloom filter implementation.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 19 h
Odgovor korisniku/ci @_tmio
Right: classifying between eager/lazy peers, in this case, would definitely be a good way to have Noise's gossip package implement a general-purpose push-pull protocol. I'll keep this in mind for the next Noise release - busy with a lot of blockchain code at the moment :).
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 22 h
Odgovor korisniku/ci @_tmio
I wanted to keep it naive as I felt keeping a second peer overlay would be redundant (Noise already provides a resilient Kademlia overlay). For my personal projects using Noise, depending on the data gossiped, I would adjust the protocol to be push-pull instead of just push.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 22 h
Odgovor korisniku/ci @_tmio
Bloom filters work well, though fail once exceeding their designated capacity. Ristretto does not exhibit read-your-writes consistency as a cache and was thus unsuitable given how small the latency was for a single gossip push. Fastcache had neither of these issues.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 4. velj
Abstracting away the BFT consensus protocol I gave a talk on in SFBW 2019 into a general-purpose Go package.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 3. velj
Odgovor korisniku/ci @theprincessxena
Trying this first thing tomorrow.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 3. velj
Odgovor korisniku/ci @xtwokei
The full interface:
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 3. velj
Neat and fun little abstraction pattern for creating atomic database helper methods with syndtr/goleveldb.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 3. velj
Odgovor korisniku/ci @xtwokei
Initial implementation used bloom filters for caching, which was then switched to dgraph-io/ristretto, which was then switched to VictoriaMetrics/fastcache with an in-memory cache size of 32mb.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 3. velj
Odgovor korisniku/ci @PerlinNetwork
The communication complexity through unit tests roughly approximates to O(n^2) messages being sent out in total. A random exponential delay before emitting out the next round of gossip further reduces the number of rounds and messages sent.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 3. velj
Odgovor korisniku/ci @WhirlinP
The other Perlin developers are currently engaged primarily in private repositories, unfortunately. My time, however, will be spent on public repositories in the meantime :).
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 3. velj
Finished up an initial gossip protocol implementation on Noise with tests and documentation.
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 1. velj
Odgovor korisniku/ci @suricata3838
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 1. velj
Writing a gossip protocol plugin over a Kademlia overlay network for Noise. This test demonstrates how the XOR distance metric over peer IDs asserts that peers are well-connected (with a lot of assumptions of course!).
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 1. velj
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 31. sij
Now I need to find an alternative to Ristretto .
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 31. sij
Slight revision to the version number :).
Reply Retweet Označi sa "sviđa mi se"
Kenta Iwasaki 29. sij
Released Noise v0.1: a decentralized p2p networking lib in . Tons of performance/security fixes + features (docs, examples, connection pooling, search for peers by public key, etc.). Will write up a post tmrw; gonna sleep it's 1AM.
Reply Retweet Označi sa "sviđa mi se"