Proof of Life Algorithm

Website Cryptocurrency Mining

Proof of Life Algorithm

December 9, 2017 Code Development News Tests 0

All people should be treated equally and a perfect cryptocurrency would distribute coins fairly across the widest possible population.

Using our experience in the ad-tech industry we could utilize cutting edge bot detection technology to determine whether a website visitor or mobile app user was a real person or computer simulated bot.

When a visitor browses a site with JSEcoin code on it we would run the bot detection script to determine if the user is a real person. This data would be stored and if the user navigates to another site in the network or uses the self-mining tool we would already have pre-loaded data available to know if the visitor is a real person or a bot. It would be possible over time to build up an accurate profile of every web user and bot net.

JSE tokens would be distributed in the same way they are now to webmasters and self-miners. It would also be possible to distribute a capped percentage of coins to the website visitor and keep a record of this amount which would be allocated if they signed up to the platform. Rewarding website visitors would help alleviate concerns that “webmasters are stealing processor power” and also may help increase adoption of the platform to a broader audience.


When a website visitor browses to a website with the JSEcoin code on, it will load as normal, page load times and user experience wont be affected. After a delay of a few seconds a privacy notice will display offering a full opt-out link. Opting out will prevent any collection of data and disable the user from having any effect on the network.

After a slightly longer delay an embedded javascript file will download and be executed within the web browser.

Proof of life could be calculated by monitoring events and variables available to the javascript code from within the browser. Examples include but are not limited to:

  • Mouse movement
  • Scrolling
  • Link clicks
  • Time on site (previous time on site)
  • Return visits
  • Browser user agent
  • Extensions available within the browser
  • Operating system
  • Randomness/Patterns of data

A socket could be opened between the client and the server to transmit event data in real time. This data would be assessed, processed and a conclusion drawn.

When the data is finalized by the server it will use an algorithm to match the variables to known patterns for bot nets and real users to determine proof of life. Lottery based entries will be provided as they are now for real users.


The JSEcoin self-mining platform has become dominated by users who are leaving their devices on 24/7. We could introduce a Proof of Life scale that detects when a user first logs in and is active on the platform. At this stage their PoL rating would be high. If they leave the mining platform running in the background for a long period of time then the PoL rating would go down and earnings would be negatively affected. This would discourage devices being left on overnight wasting unnecessary power.

We could potentially provide browser based games on the self-mining platform to entertain users if they wanted to keep their PoL rating up. Gamification could be used to give a “boost” to PoL, if a sudoku challenge is completed for example. Making cryptocurrency fun could help the platform reach a wider audience and have a better chance of mass adoption.


  • Ad blocking and antivirus companies would have no reason to block the domains because there would be no mining/hashing.
  • We’ve run numerous tests on making SHA256 mining work on a mobile device and the power just isn’t available within the browser to make it worthwhile. This solution would provide distribution which would work just as well on mobile devices and apps as it would on desktop sites.
  • It would be a big step forwards in our fraud detection methods which will be necessary before the currency becomes liquid.
  • Discourage 24/7 self-mining which is no better than a server farm.
  • Will make self-mining less competitive for casual users and easier/faster for new users to see the system works when they first register.
  • Server loads and data transfer costs would be reduced.
  • Increased gamification could make self-mining more fun which could increase the viral coefficient.
  • Less CPU resources and power usage across the network providing the widest distribution at the minimum possible electrical cost.


  • There would be no proof of work hashing which would mean we would have to stop using leading zero hashes in the JSE blockchain. While proof of work isn’t required while the system is centralized this could be limiting to options for decentralization.
    This shouldn’t however be a problem if we continue with plans to integrate with Ethereum to provide an exchange ready ERC20/223 token. Ethereum is a good choice and their Casper update will move their platform from proof of work to a proof of stake blockchain.
  • Some long-term users aren’t going to be happy about the reduction in earnings for 24/7 self-mining. This is unfortunate but not doing anything to prevent this would be working against our remit of creating a greener cryptocurrency. In the long-term what is good for the project will be particularly good for the early adopters.
  • Some users may feel that removing the SHA256 hashing function moves us away from the basic Bitcoin design which certain communities are very attached to.

This is something we are currently considering and is not finalised. If you have any feedback, suggestions or general thoughts on the Proof of Life algorithm we have setup a forum thread for responses.

Proof of life responses thread