Page 26 & 27, to be exact.
Right now, it’s just textual description…
Gonna pick up coding ASAP.
Just wanted to make sure I wasn’t heading towards unchartered territory…
Is it too unconventional of a use-case for Holochain?
Basically, if you know the DNA-Hash of the Dearth (h)app, and you know your location (lat, long, alt, etc), then you can, without having to go through any anchor of-sorts, simply calculate (offline) the Block hash that you’re standing on. If you calculate the hashes of all the Blocks (or simply, nodes) of the Path leading you to that block (i.e., node of the Octree) all the way to the root, and if there’s no Flag (i.e., a link with the tag “flag”) attached to any nodes in the whole path, then you can be damn sure you’re standing on an unowned property. You get the idea…
This is possible because of the inherently consistent nature of the Octree data structure, and how it has been structured in the (h)app (i.e., its entry definition, which includes the hash of the parent, and the Octant it represents).
The validation rules of a Block can easily check whether, let’s say, the 3rd link (i.e., the link with the tag “third child”) of the Block whose hash the given Block has included in its entry as Preseed does indeed have this Block as the link-address. In practice, the whole function (that created the child Block with the Parent’s hash and also links the parent to the child) would operate in the workflow’s scratch space, so either both the operations succeed or none at all; nothing in between.
But I’m concerned about the behaviour of the validation routines: the create_link and the create_block_entry ones. The create_link requires that the Block actually exist, and the create_block requires that the link be there. So would the new RSM workspaces guarantee consistent behaviour in this scenario? At least on my node (i.e., machine; not node of the tree; there’s such a lack of words in tech space these days)? Of course, one could make the create_link routine a bit more flexible (by not having it verify whether the block exist; just that the block’s hash is consistent with the Octree’s structure), but I’m reluctant to do so…
Basically, the challenge is to keep a data-structure structurally resilient in the distributed system that Holochain is.
[PS: note that Blocks here have got nothing to do with blocks in a blockchain. They are simply boxes or cubes within other larger cubes; or simply, nodes of the Octree.]