Gossip Optimization Part 2: Breaking the Hub

In my previous blog post on the gossip network, I detailed how the current network has a tendency to form a hub network and how that introduces both inefficiencies and scalability problems. A short recap: when booting up, all nodes connect to the seed nodes, leaving them with a disproportionally vast connection count. This impacts the fanout of messages with the seed nodes receiving a disproportionate amount of messages, the duplicates of which are dropped.

The ideal network structure is every node in the system connected to an equal amount of other nodes. This is made difficult by the fact that nodes are not aware of the network topology.

So how do we go from a hub network to … Read the rest

Factom EDA – A Vision of the Future

Preface

There is a lot of talk about scalability, sharding, and how to get factomd to the next level. What I want to talk about in this blog is skipping past all those steps in between and start right at the end: a fully customizable, modularized, shardable factom node.

This is not meant to be a proposal of things we should implement in factomd right now, it is an idealistic vision of the future that doesn’t account for hardware limits or optimizations. The haute couture of programming — not something meant to be implemented but rather to inspire goals and trends.

Factom EDA

The foundation of extendable modularization is a unified message bus. All modules should be able to react … Read the rest

Factom Testnet

The Factom Protocol community has created a testnet where developers and prospective Authority Node Operators can setup nodes to interact with Factom for testing and educational purposes.

The developer portal of factomprotocol.org has a detailed writeup on the testnet including instructions for how to join it. The minimum system specs are:

  • A modern CPU (2 cores)
  • 4 GB RAM
  • 50 GB storage
  • 20 MBit/s synchronous
  • Up to 1TB / month data transfer
  • Static IP-address

Note that some developers will be interested in the developer sandbox rather than the testnet.

If you have any questions, please join the community Discord chat server and submit your query in #testnet-chat.… Read the rest

Factom Quickstart for Developers who Don’t Know or Don’t Care what a Blockchain is

Like the title says, this is an explanation of Factom for developers who already have solid programming knowledge and just want a no-buzzword explanation of how to write applications and what is possible. What it is not is a guide to programming or to the underlying Factom protocol itself. If you are interested in the latter, check out some of my other blog posts or the factomprotocol.org website.

Requirements

  • Working knowledge in a programming language
  • Knowing what JSON and JSON-RPC are OR using one of the many Factom APIs

That’s pretty much it. While the main network has costs associated with it, you can run a sandboxed local server or use the test network that lets you generate free resources. … Read the rest