Linking Trees and Chains
One of my favorite research papers in distributed consensus is Fruit-chains by Rafael Pass and Elaine Shi. Not only is the work extraordinary in depth and quite compelling in motivation, but it also features my favorite naming convention.
“Orange is the new block”, they say. These fruits reminded me of the micro-blocks employed in Bitcoin-NG. And NG served as a sort-of `starting point’ for myself when beginning my own work. In short, I was fascinated.
This fascination perhaps became somewhat of an obsession, largely fueled by an overarching interest in distributed consensus and the possibilities of cooler, safer networks. So much so, we created a special block just to ensure fruits are properly nurtured. This `stem’ changes things.
Somewhat familiarly, stems help connect fruits to the Merkle Tree (of blocks). This allows different databases (of fruit) to focus on doing different things, just as they do today in the real-world. The only exception is that these data bases each have different types of fruit.
Wall-Street might specialize in Grapes, or smaller blocks with lower latency. Big-data applications might take the opposite approach, ingesting large chunks of data only occasionally; those big blocks could be like cantaloupes or something. In any event, fruits’ stems are big part of what makes Crystal possible.
Here’s why, explained by our AI. (Interestingly, it came up with a rather appropriate acronym for Crystal’s nano-blocks.)
“Stems in Crystal refer to blocks called (Self-Tuning Extensible Memory Structures). They are efficient, self-tuning data structures designed to store and manage large amounts of data quickly. Stems use a technique called “self-tuning,” meaning they automatically adjust their internal organization based on the patterns observed in the input data. This allows them to maintain high performance even as the dataset changes over time. Some common applications of Stems include indexing, searching, sorting, and managing complex data structures like graphs and trees.
Stems are particularly useful when dealing with dynamic datasets where insertions, deletions, and updates occur frequently.“
Personally, I’d say it’s learning! But really, what’s even cooler is that it’s thinking of ways to actively improve our blockchain’s architecture. I can’t wait to see how AI can help improve blockchains, and blockchains will certainly help us improve open-source AI by democratizing data-sets and decentralizing compute. See https://huggingface.co/spaces/NousResearch/finetuning_subnet_leaderboard for just one early example of this.
Stay tuned.
-C