Universal Blocks: Sneak vs. Nano

A sample Nano UTX (send block)

Though universal blocks are not the norm with cryptocurrencies, there is little doubt they serve some of the most interesting purposes. In contrast to regular blocks which carry different pieces of transaction activity in a blockchain, universal blocks consolidate all block types into one in order to elicit increased advantages from this unique architecture and increase the efficiency of the network. Nano, for example, recently introduced universal blocks by combining its previous four different block types (open, change, send and receive) into one, called a state_block. Each Nano state_block contains, among other things, account, representative, balance, link and signature attributes. This means, it only takes one block to check block signatures against accounts, since both now reside in a single block. In addition, an account’s balance, which was previously only transmitted on send blocks and needed convoluted I/O operations to look up, can now be easily obtained in every UTX block. By introducing universal blocks, the Nano developers lent a lot of positives to the Nano protocol; they hoped to improve the protocol’s security, simplify its code for developers and exchanges, and increase the network throughput.

A sample Sneak UTX (send block)

As part of its Alpha v0.4 release, Sneak, which is currently in active development, also introduced universal blocks. However, because of its project focus and its privacy requirements, the nature of Sneak’s universal block differs substantially from that of Nano’s. Each Sneak block carries an account, link, signature, cipher & opcode attribute. Like with Nano, the block’s account attribute is derived from its public-key (address) and the signature verifies the block. The link attribute differentiates a send block from a receive block. In Sneak’s receive block, the link attribute is empty. Sneak’s privacy requirements necessitate the existence of the cipher and opcode attributes. The cipher houses the sealed box concealing the amount sent or received (depending on block type), while the opcode attribute functions as required extra data in a Diffie-Hellman Key Exchange for checking payment. Basically, with the opcode, users can confirm definitely if the block belongs to them or not.

The use of universal blocks adds considerable benefits to Sneak. In addition to simplifying the codebase and rendering it efficient, the introduction of universal blocks in Sneak’s architecture also seeks to uniquely define the form Sneak will take as a cryptocurrency. Blocks will further evolve such that they will contain no reference to transactions, but will themselves exist as single transactions. Sneak’s privacy demands require that universal blocks take a different shape from the usual, like Nano’s, and as a result borrow from unique technologies. Alpha v0.9 will introduce Sneak’s Tangram Protocol where all this unravels.

Sneak is in constant development and its Alphas are subjected to community testing every release. You can join the discord and be a part of this exciting journey.