Image for post
Image for post

This is the last of a series of articles, in which I examined in detail the Huffman algorithm and its connection to HPACK for HTTP/2. In previous ones, I explained what the Huffman algorithm is, and started to explain how the encoding process of messages works, and in the last article HPACK: Huffman translation matrix. I already started the topic of decoding and have described the first part of the decoding process.

The algorithm for decoding the canonical Huffman algorithm for HPACK is being executed based on a matrix, where the Huffman tree is shown in the form of the 2-dimensional table and is made for a specific number of bits being read at the time. …


Image for post
Image for post

To achieve a maximum decrease in the amount of data, which is being transferred with each web request and response, HTTP/2 protocol uses HPACK format for encoding headers and Hoffman algorithm for its literal values.

In our previous article HAPCK: Huffman encoder I explained what Huffman coding is and how exactly the algorithm is used to encode the content. I continue explaining this by looking at this process from a reversed point of view. Meaning; how can we convert the encoded data back to its original form, again optimally and sustainably performance-wise. …


Image for post
Image for post

Header Compression format for HTTP/2, known as HPACK, foresees the use of the Huffman algorithm for encoding header literal values. This contributes to the additional decrease in the quantity of data, transferred with each web request and response.

A Huffman code is a particular type of optimal prefix code that is commonly used for lossless data compression. The process of finding or using such a code proceeds by means of Huffman coding, an algorithm developed by David A. Huffman. The output from Huffman’s algorithm can be viewed as a variable-length code table for encoding a source symbol (such as a character in a file). The algorithm derives this table from the estimated probability or frequency of occurrence (weight) for each possible value of the source symbol. As in other entropy encoding methods, more common symbols are generally represented using fewer bits than less common symbols. Huffman’s method can be efficiently implemented, finding a code in time linear to the number of input weights if these weights are sorted. …


Image for post
Image for post

After Ernst & Young announced the release of zero-knowledge proof blockchain transaction technology onto the public domain, 0xcert has followed the open invite for improvement proposals, published in the in-depth article by Paul Brody in late May of 2019.

Current data and asset management at the enterprise level face evident issues and Ernst & Young proposed leverage of a public blockchain combined with private transactions as the optimal way to keep transactional information confidential and to mitigate the risk of a central point of attack. …


Image for post
Image for post

Blockchain offers a unique solution for secure online transactions. A distributed ledger maintains a list of recorded transactions in files called blocks. Each block has a timestamp and is built on top of an already existing block, preventing any data from being altered retroactively. Due to its transparency and distribution of information on many blockchain nodes, it is nearly impossible to manipulate existing data records, making it suitable for recording valuable assets.

0xcert protocol uses blockchain for storing decentralized certificate imprints — certificate proofs — of a real-world digital assets. These certificates — we call them xcerts — are one-of-a-kind tokens (e.g. unique collectable) stored in users’ digital wallets. Similar to the well known ERC-20 tokens, the xcert, is a specifically designed smart contract, also referred to as a smart certificate, which follows the Ethereum’s ERC-721 specification, also known as non-fungible tokens or a deed standard. Cryptography is used to encrypt original data object into a hash and store it on the blockchain as an xcert, to prove identity and authenticity of the original digital asset without revealing it. …


Image for post
Image for post

Features of blockchain make it ideal for certification of digital assets. It’s a tamper-proof, transparent and secure decentralized ledger that maintains a list of records that can’t be altered retroactively. A new certification ecosystem can be developed on the blockchain, which provides a more efficient, a more secure and a simpler system for issuing, managing, transferring, validating of any kind of distinguishable digital assets, including university diplomas, identities, ownership rights and others. We are excited to announce our project 0xcert, a foundation protocol for certification of unique digital assets on the blockchain.

0xcert is the foundation for the ecosystem of tamper-proof certificates on the blockchain

Our purpose is to help build an ecosystem for issuing, managing and validating different digital assets on blockchain, which would grow with community incentives. We provide the underlying technology - 0xcert protocol - as an open-source protocol, resources and support for the community to build their applications on top of it. With 0xcert, they can immediately start using a solid and flexible certification infrastructure, that ensures interoperability between applications without dealing with the low level blockchain complexity. …

About

Kristijan Sedlak

Open-source engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store