Currently, onboarding and deboarding of authority nodes is done by whoever has access to the network skeleton key. That key is hardcoded in the factomd codebase. Whoever has access to the private key essentially controls the authority set. There are a number of drawbacks to this approach:
- The private key can be held by multiple parties without any accounting of who uses it. Party A signing a message is identical to Party B signing the message, with no way to know who sent it. The only publicly known party to hold the private key at the moment is Factom Inc.
- It can’t be revoked. Should an employee with access to the private key part with the company, or should
… Read the rest
Over the past couple of weeks, I’ve been involved in the PegNet project and I wanted to share my understanding of what it is and how it works with the rest of the world. I’m a developer and not an economist, so my perspective focuses more on the technical aspects than how to master the market. Due to the large scope of the project, this blog will be split into multiple pieces, with the first one focusing on the Oracle.
PegNet, short for Pegged Network, is a set of tokens pegged to existing currencies. It is built as a Factom Asset Token (“FAT”) standard on top of the Factom Protocol, meaning that the values and transactions sit inside … Read the rest
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
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.
The foundation of extendable modularization is a unified message bus. All modules should be able to react … Read the rest
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
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.
- 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