Grassland v0.2 (Beta)

Grassland is an open-source, permissionless, peer-to-peer network of incentivised and anonymous computer vision software that turns video feeds from fixed-perspective cameras around the world into a (politically) stateless, indelible public record of the lives of people and the movement of objects as a simulated, real-time, 3D, bird's-eye-view similar to the games SimCity® or Civilization®[1], but with the ability to rewind time and view events in the past.

A form of inverse surveillance[2] with a revolutionary neural network proof-of-work (see diagram) to provide universally distributed, and verifiable information about the physical world

Each Grassland node contains a data visualisation GUI that can easily render several million data points. Rewind the hands of the GUI's 'clock' to view the entire history of someone, some thing or some place. Above: data from the NYC Taxi and Limousine Commission (taxi/limo geojson data is included in the node 'gui' directory for demo purposes).

The extensible and customizable Grassland GUI contains a 3D map of the entire world. And can also display data about people, objects and events as charts and graphs. Above: individual who happened to be sauntering down a node captured road the night I was making this screen capture.

For low power machines like the Raspberry Pi, this (lite) node version is used in tandem with a Serverless AWS Lambda function performing object detections. It allows "infinite" horizontal scaling of AI object detection inference at maximum FPS without having to buy expensive hardware.

More links to source code and info below under "Beta Version"

A citizen or public servant who wants to know what any citizen or (rival) public servant is doing at this moment or has ever done before
Data science. I now know most of my neighourhood's average height, individual walking gait identification pattern, estimated salary based on car model, family structure, daily schedules, how many (visibly) pregnant women, on what days in July the guy across the street mowed his lawn, the pattern he mowed it in the 8th time and that it was the same day my other neighbour had 5 guests over for a get together. I can rewind and replay it from multiple angles in 3D. If I really want, I can convert it to spreadsheet format, etc.
Impartial verification of current or past events, an embargo on fake news, unaccountability and ignorance in any Grassland node's corner of the world at least
An autonomous source of income (See section, "Economically Self-Interested Nodes")
Fixed, low-latency, eyes-in-the-sky for a self-driving car to tell them precisely where the lane is but more importantly how human driven vehicles really expect each other to drive in this location and that there's a kid approaching on a bike on the other side of that truck that it knows the car can't see yet.
A city planner wanting to know exactly what problems need to be solved
A person whose decisions are based on property, traffic, demographics, etc.
e.g. a dentist wanting to know exactly, instantly and for free how many families live in this area
e.g. a person about to buy that gas station across the street and needs to know precisely how many cars go there a day and how much they bought estimated from how long they spent pumping and the size of the tank from the make and model
An insurance company, a marketing firm, sales rep etc. And not merely statistical information. Grassland gets very, very specific.
An impartial, indifferent, semi-omniscient, non-human oracle for a smart contract
You're buying a house. You obviously want to know everything about the people that live in the neighbourhood
You're selling a house. You can show the buyer nearly everything about the people that live in the neighbourhood
Plain curiosity about human behaviour, seeing people's lives, in an unbiased manner, from a bird's eye view and being able to play with time
For security
Useful at every network size even if there was only one node
The first use case will never be entirely precise for times when that person is in a place where there is an expectation of privacy. But you can make a lot of educated guesses with the right statistical models. Some of the more detailed, data science information will be added to the network's official model over the course of 2019 when the detail and computational requirements increase as per the schedule below divided into "eons".
The first 3 were taken as "mathematically axiomatic". i.e. Having assumed such a system is "true", I proceeded by logical means to deduce a programmatic theorem that follows from and satisfies those first 3 postulates.
1. Trustless: A system exists where you don't have to blindly trust a developer or any other node. You just have to trust mathematics. Successfully submitting fake data in the network is so computationally intractable that any self-interested node would find it more profitable to be honest
2. Economic Incentive: A system exists such that as long as there is someone out there who likes money, it would happen, in our case that the remaining "dark" areas of the map will be "lightened up"
3. Data Symmetry: A system exists wherein no party could maintain a parasitical, data gathering asymmetry (one-sided surveillance) so long as there are other parties acting in their own self interest. A "scorched earth policy".
No Central Authority: It follows then that there would not be a single point of failure. Even if all nodes were shut down and the only node still going was being run by someone in some place I'd never heard of, it would keep rewarding that node with a war chest of cryptographic money and a perpetually increasing and unparalleled knowledge of human behaviour.
Anonymous: It follows then that all nodes are anonymous. If it's computationally improbable to be sure of the identity and intentions of all parties who may end up with the data, then all parties are compelled to expand node territory for their own self interest and eschew behaviour leading to M.A.D. outcomes.
Open Source: It follows then that the code is free to be viewed by anyone.
  • Economically Self-Interested Nodes[3]
    • Each software instance (node) operates under the assumption all other nodes are acting in their own economic self-interest, weighing their own opportunity costs of expending computational resources.
    • The network ensures all data must have passed through the hidden layers of the current AI/object-detection model (see diagram below), a non-trivial computation, the additional benefit of which is that the only strategy for a rational, self-interested node is to contribute to the network and makes the production of passable fake data prohibitively expensive.
    • This proof-of-work algorithm also generates a reward for the node performing the detections in the form of the network's own cryptographic currency backed by statistical proof easily verifiable by other nodes that economically scarce computational resources were expended to process each frame correctly, effectively "trading" whatever currency their compute costs are denominated in into Grassland's fungible coin, thereby rewarding continued operation and node territorial expansion.
    • Camera frames aren't stored in the database, just information digitally signed by the node about the objects gathered from the output of the neural network and a cryptographic hash of that same information (see diagram below). The frames themselves are only needed for a little while after for random confirmations (where selected frames are distributed peer-to-peer over IPFS) and then they can be discarded.
    • Since each database entry is also a proof-of-work, storage costs never exceed the value the market has placed on the data. Not to mention its intrinsic value
    • Prevents any party, inside or outside the network, forming an asymmetry (one-sided data gathering of human behaviour) as long as there remain Grassland nodes acting in their own self-interest.
  • 2D To 3D
    • Uses an algebraic equation called homography to project from 2D to 3D.
    • Each instance of the software acts as a contributing node in the network. By giving a node access to any fixed perspective, 2-D camera feed (webcam, security camera, IP camera, video stream, etc.), it projects objects into a 3-D, searchable, simulated, re-creation of events in the part of the world it's viewing overlaid on OpenStreetMap 3D with building extrusion.
    • Once the node's real-world frame of reference is set using the map it will continue to operate autonomously.
    • The map renders objects as simple low-poly blocks (think Minecraft[1]). Extremely lifelike visual rendering on the map is not necessary, at least at this time.
  • Steadily Increasing Detail And Difficulty
    • Current computational requirements are low as the network's model only detects people and cars now but that will increase over time. (At the current level, a node can operate 24/7 using Grassland's pared down implementation of Tensorflow on Serverless AWS Lambda and that node's costs would be no more than $50 per month)
    • As the sum total of the network's computational throughput changes, the computational requirements for each node changes as well; e.g. if the average throughput increases, demand has increased therefore nodes must increase their individual FPS. This has the added benefit of making the opportunity costs of fabricating data an increasingly non-viable endeavour.
    • Every few months ("eons"), nodes download an improved version of the network's deep learning model. Which will recognize more objects and activities with greater certainty. So over time the network becomes an increasingly accurate and harder to fabricate representation of the real world.
    • With each new model version, there should be a marginal decrease in the network's uncertainty of the probable object paths within the "foggy" areas of the map beyond the node's field of view.
    • Since nodes are effectively "buying" grassland tokens with whatever currency their computational costs are denominated in but the number of coins rewarded for each frame inference remains the same, as detail and computational requirements increase, the coins are essentially being bought for a higher price, steadily increasing the value of coins already in possession and the intrinsic value of the data. This rewards those who took earlier and therefore more "computational investment risk" and those who "lighten" more "dark" areas of the map.
  • Unrewriteable History And Reasonable Storage Requirements
    • Several times a day, the last output digests from each node, the tip of each of their rolling hashes (see diagram below), are hashed into a Merkle Tree. The tree's leaves are paired based on node geospatial proximity along longitudinal bands.
    • The Merkle Tree is distributed to all nodes. Most nodes don't need to keep the entire database just their branch of the Merkle Tree
    • Storage of the entire database is only truly a problem when storage costs exceed the market value of what's being stored, however, as stated earlier, since each database entry is also a proof-of-work, storage costs never exceed the value the market has placed on the data.
    • Each new Merkle root determines which frames from each node's pre-published digest tuples are required for evaluation.
    • Since flipping a single bit of a frame captured by one node would give it a completely different set of rolling hashes which upon entering the global Merkle Tree would have produced an entirely different root hash, once it's set and distributed (upon which it starts being hashed into the upcoming Merkle Tree), it would take exponentially more processing power than is available on the planet to successfully create an alternative version of Grassland's history of events.
    • The process of producing the next Merkle Tree is a competition any node can compete in. A person who cultivates real trees is an Arborist so we'll use that term. Our "arborists" will also need to perform inference on the frames that were randomly selected for evaluation based on the last Merkle root, and will need to publish each frame's digest tuple and the "reserved digest" (see diagram). If the original node holding the reserved digest signs the arborist's digest, it generates that node's reward coins and a percentage goes to the arborist. But that will only propogate if that arborist's tree is also accepted by a majority of the network. Therefore, as long as (1) there is always active competition to compute the Merkle Tree by statistically verifying the work of all other nodes and (2) over 50% of every active node prevents inflation of the money supply by rejecting trees that don't pass their proof-of-work, then all rational (self-interested) nodes will have to be honest.
  • Beta Version
    • Link To Github Repos
    • Software is currently a beta version. There are still some multi-processing bugs to work out in Node Lite. But the instructions in the README files should be enough to get you up and running
    • If anything's unclear, don't hesitate to open a Github 'issue' on the repo
    • Here is the current list of features that need to be completed
    • Please submit software questions/problems/discussions in the Issues section of the Github repos. Send a pull request if you have improvements to make
    • For inquiries not directly related to the software, you can email me at david[at]grassland[dot]network

Proof-of-Work Diagram

The results of each object detection on a frame is published along with cryptographic hashes from different stages in the neural network.
Since it's astronomically improbable to have hashed those hidden activations into the correct digest unless those hidden layers were actually computed, this is a very useful proof-of-work.


You can download the latest Grassland eon's object detection model using the following URL's. The node software can be downloaded here on Github

Eon Framework Download URL Notes
0 (current) Tensorflow 1.7.0 frozen_inference_graph.pb of faster_rcnn_inception_v2_coco_2018_01_28
1 T.B.D. ( Semantic Segmentation
2 T.B.D. ( License Plate Recognition
3 T.B.D. ( Walking Gait Recognition

Contact: david[at]grassland[dot]network