Efficiency Change and ANO Announcement

Previous Updates
-----------------------------------
ORIGINAL PLEDGES START
-----------------------------------
-DEVELOPMENT

--Develop Automated Filesystem Object Hashing Tool

--Develop Node Monitoring and Alert Tool

--Develop data analytics tools

--Develop SME intellectual property tools

--Establish as an EC reseller

-TESTNET

--Two Testnet nodes

-OTHER

--Commit a hash of known good file state for key security files to Factom at regular intervals

--Publish a monthly blog post

- PLEDGED EFFICIENCY

2 nodes: 50%
1 node: 50%
-----------------------------------
ORIGINAL PLEDGES END
-----------------------------------
-----------------------------------
Relevant links:
- Forum Q+A
- Aggregated pledges
- Application
- Supporting documents
-----------------------------------
-----------------------------------
Completed

- Data Analytics Tool
A much better way to describe this is as a 'Factom metrics website'. We completed the website in Q3. You can see the finished product here: https://factoshi.io. We plan to launch version 2 next year.

- Node Monitoring and Alert Tool
The first version of this was published a while ago. I continue to make improvements. Recently, I updated it to include a rota, so large teams can manage who is to be alerted according to a weekly timesheet. You can see that change on the Github repo: https://github.com/Factoshi/factom-node-monitord

- Two testnet nodes
We run two nodes on the testnet. One is an authority node. The other is a follower that we use for development and general testing purposes.

- Efficiency
We are operating at 50% efficiency. Our initial pledge was to maintain this for at least 12 months, but there are no plans to lower it after that period.

Queued

- Establish as an EC reseller
This is still on the horizon. It has not been started yet. That is partially because there is currently no demand for EC, and partially because we are busy with other things that we hope will generate that demand.

- File system object hashing tool
Again, this is still on the list of tasks to complete. We still intend to do it, and can develop it in parallel with our current project (more on that below).

- Commit a hash of known good file state for key security files to Factom at regular intervals
We need the file system hashing tool to achieve this. We can start doing that once it has been developed. Hopefully by EOY depending on how well work is progressing on our current large project. It's not a matter of difficulty; it's just a matter of finding time.

Suspended

- SME intellectual property tool
This was going to be the eventual destination of the file system object hashing tool mentioned above. However, we have suspended this pledge indefinitely. We may return to it at a later, but have no firm plans to do so at this time.

The suspension of a core pledge might raise some eyebrows. However, since making our pledges, we have come up with a plan that we think is more commercially viable and is a much more interesting showcase in the power of Factom (more on that below). We chose to do this on the basis that it is likelier to produce better outcomes for both Factom and Factoshi. We are confident in that decision.

Ongoing

- iOS
This is the project that has replaced the intellectual property tool. I don't want to reveal the function of the application yet, though at least two guides are aware of the details. We have wireframed the app, contracted a graphic designer, completed most of the necessary research, and have begun to actively write code.

Launch is currently targeted for Q1 2019. We will have more information closer to that time.

Non-pledge contributions

- Accounting script
We wrote an accounting script to help ANOs manage their accounts. A number of ANOs have adopted it into their workflow. You can see that here: https://github.com/Factoshi/factoid-address-monitord

- Committee participation
I am an active member of the campaign pledge committee.

- Community participation
I am active in community governance decisions. I am also frequently on hand to help people with tech questions.

Summary

We are very pleased with our work so far. We are confident in our course of action, and look forward to sharing more of our work with the community as it becomes available.
I have just published version 2 of the Factom accounting script. This version is significantly more useful, flexible and maintainable than the previous version. New features include:

- Monitor multiple addresses from one script.
- Output transaction data to only bitcoin.tax, csv, or both.
- Use a combination of different bitcoin.tax accounts for each address.
- Monitor only coinbase transactions, only non-coinbase transactions, or both.
- Use a different base fiat currency for each address.
- Report the TXID for each transaction on bitcoin.tax.
- You no longer need to run walletd.

Please find full instructions for setting it up on the Github repo: https://github.com/Factoshi/factoid-address-monitord

Feel free to reach out to me on Discord if you need any help setting it up.
Factoshi is moving to a 60% efficiency effective today.

Our website, Factoshi.io, will continue to be maintained and developed. However, health concerns are forcing me to re-evaluate the amount of time I can dedicate to Factoshi and to Factom, which is currently my full time occupation. I believe 60% will bring Factoshi into alignment with other ANOs.

In previous updates I had outlined plans to develop a smart phone application that uses a Factom back end. That will be put on hold until a time that more hours can be invested into the business.

Though this rearrangement is not done willingly, I am pleased to be able to raise Factoshi's efficiency. The last grant round was significantly oversubscribed. Whilst the price has risen recently, we are on course to have even less FCT in the grant pool by the time the next grant round arrives. I consider the grant pool to be a vital resource for protocol development. Generally speaking, I am thoroughly impressed by the quality of the grant proposals we received at the last round, and I am pleased that increasing Factoshi's efficiency will make more funds available to future grant applicants.
Factoshi is proud to announce a new version of factoshi.io, the Factom community’s central hub for metrics and statistics about the Factom blockchain.

This release includes an entirely new UI and UX to ensure that the tools available to the Factom ecosystem remain competitive with the best that the world of crypto has to offer. Additionally, the website has a number of new features, including:
  • Per block updates - the data you see will always reflect the current state of the blockchain within 10 seconds of the most recent block.
  • Live data - no need to refresh, all new data is streamed live to the site.
  • Redesigned charts - read latest network stats with more clarity.
  • Zoom controls - dig deeper into the data on pre-set time intervals.
  • Simple moving average - set your SMA period so you can get a clear picture of both short- and long-term trajectories.
  • New statistics - see the average TPS for each block over the last 24 hours, average efficiency, and more.
  • Explorer links - all addresses and chain IDs link directly to an explorer, so you can get specific information fast.
  • Grant pool calculator - get an estimate of how many FCT will be in the grant pool on a given date.
Moreover, you now have the opportunity to personalise the site:
  • Dark mode - surf at night without blinding yourself :cool:
  • Default zoom - set the default length of time that the charts cover.
Finally, if you need to grab metrics programmatically, you’re in luck. We have a new API that is friendly to outside users; you can grab all the data on the site with code!
The recent launch of the Factoshi metrics API has enabled me to contact various price aggregators in order to update their outdated supply information. The following websites have now integrated Factoshi's API.

- CoinMarketCap
- CryptoCompare
- CoinGecko

I am still waiting for response from several others, and I will update this thread if/when I hear back from them. Note that CoinMarketCap has informed me that it could take up to 72 hours for the new data to be reflected on their website.

Thanks to @David Chapman who helped me draft a response to some difficult questions from CoinMarketCap.
Factoshi increased efficiency at the end of last year from 50 to 60%. At that time, I believed it would bring Factoshi into alignment with other ANOs, as I planned to invest less time in the protocol in order to deal with some pressing issues.

As it turns out, during that period I invested no less time in the protocol. Factoshi has made, and continues to make, significant contributions. As such, Factoshi will be changing its efficiency to 50% in order to come back into alignment with other ANOs.
I contributed the new FactomEventEmitter class to the FactomJS library. FactomEventEmitter lets you listen for various Factom events without needing to handle polling logic yourself. It simplifies writing applications that react to on-chain events. The following snippet demonstrates the on-chain events you can listen to.

JavaScript:
const { FactomCli, FactomEventEmitter } = require('factom');
const cli = new FactomCli();
// Poll the blockchain every 10s
const emitter = new FactomEventEmitter(cli, { interval: 10000 });
emitter.on('newDirectoryBlock', (directoryBlock) => ...);
emitter.on('newFactoidBlock', (factoidBlock) => ...);
emitter.on('newAdminBlock', (adminBlock) => ...);
emitter.on('newEntryCreditBlock', (entryCreditBlock) => ...);
emitter.on('newChain', (entryBlock) => ...);
// Listen to any transaction involving a given Factoid address
emitter.on('FA29eyMVJaZ2tbGqJ3M49gANaXMXCjgfKcJGe5mx8p4iQFCvFDAC', (transaction) => ...);
// Listen to any new entries in a given chain
emitter.on('4060c0192a421ca121ffff935889ef55a64574a6ef0e69b2b4f8a0ab919b2ca4', (entryBlock) => ...);
https://github.com/PaulBernier/factomjs/blob/master/src/factom-event-emitter.js

Thank you very much to @Paul Bernier for providing thorough code review and feedback.
Factoshi has been working with Flipside Crypto to integrate Factom metrics into our FCAS score. That work is now complete, and I have been told that our blockchain data will be reflected in our FCAS rating on Coinmarketcap within the next week. You can see our FCAS score here: https://coinmarketcap.com/currencies/factom/#ratings

Factoshi is using data from OpenNode to collect metrics for Flipside Crypto. Thank you to the OpenNode team for providing that high availability endpoint for the community.
Factoshi has released a new version of our accounting script, which is now called Factoidd.

The new release includes substantial UX and stability improvements. It can be pulled directly from Docker Hub to run in a container, and has default support for OpenNode. The config file is in a more human-friendly YAML format, and will give much improved log output.

https://github.com/Factoshi/factoidd
https://hub.docker.com/r/factoshi/factoidd

Please let me know if you need support to set it up or upgrade. This release is not backwards compatible.
Factoshi continues to work hard on our primary mission, which is to provide outstanding infrastructure to the Factom network and to build a robust ecosystem that is competitive with high tier public blockchains.

Infrastructure

Factoshi's authority node infrastructure performed as expected during Q3. Server uptime was 100% and factomd uptime equaled that of the Factom network, which experienced a pause during August.

Since being on boarded in Spring 2018, Factoshi has been running its authority servers in line with the specification promised during the campaign. Until now, the specification for Factoshi's authority servers was 8 vCPU/32GB. That spec is far in excess of what factomd has ever used. Even during periods of high network load, factomd has not come close to using those resources; EPS bottlenecks are not currently caused by CPU or memory limitations on authority set nodes.

The unrelenting fall in the price of FCT has compelled a review of that specification due to the potential for cost saving. As a result, Factoshi is reducing authority server specification to 6 vCPU/16GB. This will still leave ample room for growth whilst providing Factoshi welcome reprieve during this period of extremely negative price action. Server performance will be monitored closely, though I consider this to be a low risk change.

Factoshi.io

PegNet metrics were added to Factoshi.io to mark the launch of PegNet in August. This worked was completed in concert with TFA, who contributed the code to support PegNet analytics on the backend. Traffic to the website has doubled since the launch of PegNet, and it is now regularly cited on social media and elsewhere.

Furthermore, the rest of the website received a facelift. Several outstanding bugs were fixed on both the front and back end. The style was also modified slightly to make the website appear more professional.

PegNet

Factoshi's contributions to PegNet fall into 3 rough categories:

1. Porting and maintaining documentation. Work here includes creating and updating the wiki, in addition to helping to add the white paper to GitHub.

2. PegNet Compose. Work was started on PegNet Compose, which will help people get started on mining more easily. Work on PegNet Compose was completed following the end of the quarter.

3. Community support. I have been on standby on the PegNet Discord server to help newcomers troubleshoot issues getting set up.

Accounting script

Factoshi's accounting script received a major upgrade. You can read about that in our previous update.
Factoshi had a productive Q4. We continue to operate at 50% efficiency whilst contributing to governance and other community endeavours.

1. PegAPI

Factoshi wrote and hosts a PEG price aggregator. The purpose of this price aggregator is to provide a price source to miners on PegNet. PegAPI was instrumental in ensuring that PegNet could fork to a free floating PEG price in early December. The price aggregator is open source and can be found here.

2. Factom Rust Client Contributions

Two PRs have been made to the Factom Rust client. The first of these added multiple utility functions for creating, validating and encoding/decoding addresses. The second addresses a bug in the Admin Entry type. Both PRs are still pending and need some changes due to conflicts that have since arisen.

3. PEG Conversion Guide

I wrote a comprehensive step-by-step guide to converting FCT to PEG. This guide was cited routinely in the period leading up to the December fork.

4. Factoshi.io Growth

Factoshi.io was cited hundreds of times during Q4 as excitement grew over PegNet and FCT burn. During that time, monthly active users rose by more than 200%. Factoshi.io continues to perform its function as an essential resource for community engagement and network transparency.

A note on efficiency and productivity

Recently, several ANOs have lowered (or plan to lower) their efficiency in order to fund continuing development and operation at low FCT prices. Factoshi plans to continue to operate at 50% efficiency. However, in order to manage an increasingly tight budget, productivity will slow for the foreseeable future. This is an inevitable consequence of deeply strained resources. As such, until a time that more resources can be deployed, server revenue will only be used to pay for server costs, factoshi.io hosting and bug fixing, and various essential business expenses.
1. Factoshi API

Work on the Factoshi stats API is well underway. It coincides with a large refactor of the Factoshi stats daemon to make it easier to add new stats to factoshi.io in the future (such as rich lists). An alpha version should be complete during Q2.

2. Factom.js

I have made several PRs to Factom.js to fix bugs and improve typings:

https://github.com/PaulBernier/factomjs/pull/17
https://github.com/PaulBernier/factomjs/pull/18
https://github.com/PaulBernier/factomjs/pull/19

3. Governance

Factoshi continues to play an active role in governance. I brought forward an informal poll to discover ways to improve the efficiency of the Factom Protocol. I also tried to implement one of those proposals on behalf of ANOs, though the amendment failed at the ratification stage.

Other governance activity includes thorough review and editing of Doc 002 prior to the amendment vote, and general participation and proactive engagement with various governance initiatives.

4. Efficiency

At Factoshi's Q4 2019 update, I mentioned that Factoshi would only be engaging with server maintenance and bug fixing on Factoshi.io in order to reduce costs. As the above development work demonstrates, that did not happen. Continuing to operate at 50% is not sustainable at these price levels. Consequently, Factoshi is dropping to 40% efficiency until a time that the price of FCT can show sustained recovery.
I am pleased to announce that longstanding community member @WB has joined Factoshi. WB, also known as Vidale on the Factom Discord server, has long provided thorough and valuable contributions to community governance. WB is joining Factoshi to enable him to better continue that governance work from the position of a standing party.

I am looking forward to working with WB to ensure the Factom Protocol's governance can continue to be improved and refined.
Factoshi is pleased to announce a major release for Factoidd, our FCT accounting script.

This release includes the following new features:
  • The spend subcommand: add a spend transaction to your local CSV and bitcoin.tax using the transaction ID.
  • Address aliasing: add an alias to your addresses for easier searching and readability.
  • Config questionnaire: create your config via an interactive questionnaire.
This release also includes major stability improvements (finally!).

Note: it will not work with existing CSV files. If you want to upgrade your CSV history, you will need to start from scratch. Please get in touch with me on Discord if you need help upgrading.
Factoshi is pleased to announce the launch of new Factom and PegNet stats and metrics on Factoshi.io. The new version has the following features.
Additionally, Factoshi has now launched a public API so that others can get access to our stats for use in their own applications. The launch of the new API marks the completion of our recently awarded grant. Please see the documentation here: https://api.factoshi.io/docs/
It has been a busy quarter for Factoshi. I'll get straight to it.

Governance

1. Batched amendments
Factoshi collaborated with other ANOs to introduce a successful amendment that allows batched amendments to be made to our governance documents. This change makes the process of sweeping governance reforms more efficient and, to borrow a computer science term, atomic.

2. Guide removal
The vote to remove Guides almost crippled our governance. Factoshi played a key role in delivering the necessary amendments to remove Guides from our governance.

3. Exchange Working Group
Factoshi has been collaborating with other ANOs in the exchange working group to organise, source funding for, and deliver a new exchange. We expect the fruits of that labour to be realised soon.

4. Website Committee
Factoshi assisted in creating the new website committee.

5. Governance Working Group
In collaboration with other ANOs, Factoshi has put a lot of effort into crafting a proposal to radically amend our governance. We expect to be able to publish that proposal soon.

Development

1. Factoidd
Factoshi released a major upgrade to Factoidd, our factoid accounting script.

2. Pegnetd PR
Factoshi added a new API endpoint to Pegnetd to expand the functionality of the API.

3. Factoshi.io Major Release
A new major release of Factoshi.io was introduced.

4. Factoshi.io Minor Release
Following the above release, more changes were made to improve the user experience. These were primarily focussed on style, particularly in dark mode and on mobile. A huge thank you to @Anton Ilzheev for all the feedback during the development process.

5. Network Restart Proposal
Factoshi put forward a proposal to upgrade our network restart mechanism. That proposal is still under consideration and I am not yet sure how and if we will proceed with it.

6. Code review of factom.js PR
Factoshi assisted in the code review of a PR to factom.js made by Bedrock Solutions. Much of the review discussion took place in a private channel on Discord.

Grants

Factoshi applied for and completed a grant to launch a new API for network stats. Several services are already using that API, including the new protocol website and the new PegNet explorer. In fact, traffic from factoshi.io is now in the minority as other clients begin to dominate demand for network stats and metrics. You can read about that grant here: https://factomize.com/forums/threads/factoshi-2-stats-daemon-and-public-api.4800/
Current Update: Efficiency Change and ANO Announcement
In Factoshi's original ANO application, I was forced to consider what would happen if the price of FCT dropped precipitously and how that would impact the sustainability of the ANO. At the time, that seemed like a nebulous and purely theoretical exercise. Nevertheless, the conclusion I came to - the same conclusion I believe that many ANOs came to - was that Factoshi would justifiably drop its efficiency in order to maintain a stable network.

As I write this, FCT is sitting at 12k satoshis. A scenario in which FCT drops precipitously is no longer an abstract thought exercise, and I am forced to reexamine my assumptions about how best to respond to that. What I have realised is that, for Factoshi to remain sustainable long term, it is necessary not to reduce efficiency. Instead, it is necessary for Factoshi to become more efficient.

Factoshi's biggest expense is my time. I can operate it on a shoestring as long as I don't need to spend countless hours building, debugging and, more often than I would like, arguing. With that said, I will increase Factoshi's efficiency to an equivalent of 60% and remove its second mainnet node in order to free my time to pursue other, non-Factom sources of revenue.

I find this action is not only necessary for Factoshi to be economically sustainable, but also for me to remain mentally involved with the Factom ecosystem. As I am sure many people reading this will understand from their own experiences, it is brutally draining to invest so much time and energy into a project only to find yourself stuck in what feels like quicksand. I either have to increase Factoshi's efficiency so that I can take a break to work on other projects or resign. There is no other option.

During this time of hibernation, I can commit Factoshi to the following. If the community does not believe what I am offering here is worth 60% efficiency at these depressed prices, then I encourage the standing parties to remove standing and I will reevaluate my options accordingly.
  1. The core requirements laid out by the ANO expectations document.
  2. Hosting and maintaining https://factoshi.io/.
  3. Hosting and maintaining Factoshi's public API.
  4. Maintaining Factoshi's FCT accounting tool.
  5. Limited consultation on purely technical matters.
I have spoken with @WB at length about this course of action. We have reached a mutual and amicable decision to end our current contract. WB is an incredibly valuable asset to the Factom ecosystem and I am grateful to him for the work he has done in Factoshi's name over the past 6 months. Though I can no longer offer direct support so that he is able to operate as an ANO, he has my full backing to continue the work he is doing.

I have already contacted Factom Inc to ask them to demote Factoshi's second node.
 
Last edited:
Thanks, @Keith Pincombe. I still want to be part of Factom's future if possible as I think I have more to offer. I hope we will be in a much stronger position within a year and I will be able to reapply myself fully, though I fear that there are few indications we will achieve that. Time will tell.
 
Top