Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Unforgeable names are very much like object references in languages like Python or Java.  Internally, they act like pointers, but there's no way in the language to supply an integer and get a reference to the object living at that address.  An unforgeable name is implemented internally as a 256-bit identifier, and that identifier is visible on the blockchain, but there is no language production that takes 256 bits and returns the corresponding name.  Unforgeable names are created with the new x in {...} production. The only way to get hold of an unforgeable name is to be in the lexical scope of that name or to receive it as part of a message. The algorithm used for generating the 256-bit random numbers is based on Blake2b256on Blake2b512.