A bound witness is the interaction between two devices that produces the data used by and accessed through XYO Network.
The official definition of a bound witness is...
"In a trustless system, a witness node can either (through defect or corruption) produce false data. Invalid data can be detected and removed simply if it falls outside the allowed range for that heuristic. Valid but incorrect data (i.e. false data) is much more difficult to detect. Given that an untrusted source of data used to resolve a digital contract (an oracle) is not useful, we can substantially increase the certainty of the data provided by first establishing the existence of a bidirectional proof of location. The primary bidirectional location heuristic is proximity, since both parties can validate the occurrence and range of an interaction by cosigning the interaction. This allows for a zero-knowledge proof that the two nodes were in proximity of each other. This novel concept is called 'Bound Witness,' and the XYO Network introduces this possibility, for the first time ever, to the world. The implications of this will change a multitude of industries and the way we trade in the world."
To put it a little bit more simply, when two devices (nodes) that aren't related or connected each detect one another, and then independently report that they saw each other, each one proves that they both really were in the same place at the same time.
XYO Network reports this interaction as a bound witness.
Technically, the nodes of XYO Network run on devices and are not the devices, themselves. They're either software or firmware which makes the device run as a node, for example an app that uses your phone to be a bridge. For our purposes, we're going to refer to nodes as devices, because they'll usually be the only node running on a dedicated device.
The format of a bound witness is a hexadecimal number which contains the data collected by the node. XYO software and open-source SDKs can decode this number as something that humans can use and read.
Bound witness interactions can include other data that helps increase the value of the bound witness. Things like time and location improve the data which can be used in the bound witness, and help prove what the bound witness asserts. For example, if someone is looking for information about when two devices crossed paths, if they...
- A. Detected each other and say they detected each other
- B. Report the same approximate location
- C. And say that A and B happened at the same approximate time
...that proves they really did interact in a certain place at a certain time.
The primary way of detecting proximity is called RSSI, or received signal strength indicator. It refers to the strength of the radio signal between the two devices. Node devices detect the proximity of other node devices based on how strong their signal is, calculated against how strong it has the potential to be.
Any other data which might be useful can also be included in a bound witness, at least in theory. Almost anything a developer wants to include in their bound witness data, they can, and they can connect that data to XYO Network using our open-source resources.
Further Reading
Developers will find all of our available resources at developers.xyo.network.
You can find the official definition of a bound witness, plus the XYO White Paper (concept outline), on the xyo.network website.