The invention relates to a computer implemented method for proof-of-work for generating and validating a block of a blockchain, also denoted as consensus mechanism, using at least one printing device, and uses of said method, such as for trading crypto currency. The method and uses according to the present invention specifically may be used for secured processing of transactions in the fields of smart contracts, financial services, healthcare, personal identification, cryptocurrencies, supply chain. Other applications are possible.
In many applications, such as in the fields of financial services, healthcare, personal identification, cryptocurrencies, supply chain and others, the blockchain technology is an efficient technology to ensure the secured processing of transactions such as of licensing, cooperation with other companies and selling technology.
A blockchain is a growing list of records, called blocks, that are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data. By design, a blockchain is resistant to modification of the data. It is “an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way”, see en.wikipedia.org/wiki/Blockchain. For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for inter-node communication and validating new blocks. Each block includes the cryptographic hash of the prior block in the blockchain, linking the two. The linked blocks form a chain. This iterative process confirms the integrity of the previous block, all the way back to the original genesis block. The blockchain technology typically requires a cryptographic hash function, multiple information needs to be processed and a Hash function to map data of arbitrary size to fixed-size values such that the data in any given block cannot be altered retroactively.
Eshani et al, “A study on the issue of blockchain's energy consumption”, DOI: 10.1007/978-981-15-0361-0_5, describe that blockchain technology is one of the biggest innovative technology that has been developed and has potential usage in fields of education, business and industries. Since the creation of bitcoins, blockchain has emerged as a means for storing digital information without the intervention of any third parties. However, now it is used for various other applications than just being a simple distributed ledger. With time it has imposed a larger impact an different fields of economy and has gained popularity for its immutability. But, there are some issues faced by blockchain. One of such issues is the energy consumption. Blockchains are found to consume exorbitant amount of energy because of the algorithm followed for its creation. Johannes Sedlmeir et al., “The Energy Consumption of Blockchain Technology: Beyond Myth”, Bus Inf Syst Eng 62(6): 599-608 (2020), https://doi.org/10.1007/s12599-020-00656-x and Eshani Ghosh and Baisakhi Das, “A study on the issue of blockchain's energy consumption”, January 2020, DOI: 10.1007/978-981-15-0361-0_5, Proceedings of International Ethical Hacking Conference 2019 (pp. 63-75), describe enormous energy consumption needed for blockchain technology, in particular for proof-of-work.
Despite the achievements of known blockchain technology and methods for generating block-chains, in particular in view of recent progress in computer technology, increasing availability of computer power and resources, there is still a need for reducing the energy consumption for the blockchain technology, in particular required for proof-of-work.
It is therefore desirable to provide methods and devices, which address the above-mentioned technical challenges. Specifically, a computer implemented method for proof-of-work for generating and validating a block of a blockchain using at least one printing device shall be provided, which allows for reducing the energy consumption for proof-of-work.
This problem is addressed by a computer implemented method for proof-of-work for generating and validating a block of a blockchain using at least one printing device and a uses with the features of the independent claims. Advantageous embodiments which might be realized in an isolated fashion or in any arbitrary combinations are listed in the dependent claims.
As used in the following, the terms “have”, “comprise” or “include” or any arbitrary grammatical variations thereof are used in a non-exclusive way. Thus, these terms may both refer to a situation in which, besides the feature introduced by these terms, no further features are present in the entity described in this context and to a situation in which one or more further features are present. As an example, the expressions “A has B”, “A comprises B” and “A includes B” may both refer to a situation in which, besides B, no other element is present in A (i.e. a situation in which A solely and exclusively consists of B) and to a situation in which, besides B, one or more further elements are present in entity A, such as element C, elements C and D or even further elements.
Further, it shall be noted that the terms “at least one”, “one or more” or similar expressions indicating that a feature or element may be present once or more than once typically will be used only once when introducing the respective feature or element. In the following, in most cases, when referring to the respective feature or element, the expressions “at least one” or “one or more” will not be repeated, non-withstanding the fact that the respective feature or element may be present once or more than once.
Further, as used in the following, the terms “preferably”, “more preferably”, “particularly”, “more particularly”, “specifically”, “more specifically” or similar terms are used in conjunction with optional features, without restricting alternative possibilities. Thus, features introduced by these terms are optional features and are not intended to restrict the scope of the claims in any way. The invention may, as the skilled person will recognize, be performed by using alternative features. Similarly, features introduced by “in an embodiment of the invention” or similar expressions are intended to be optional features, without any restriction regarding alternative embodiments of the invention, without any restrictions regarding the scope of the invention and without any restriction regarding the possibility of combining the features introduced in such way with other optional or non-optional features of the invention.
In a first aspect of the present invention, a computer implemented method for proof-of-work for generating and validating a block of a blockchain using at least one printing device is proposed. The printing device is configured for generating at least one digital image depending on a printer control setting.
The method comprises the following method steps which, specifically, may be performed in the given order. Still, a different order is also possible. It is further possible to perform two or more of the method steps fully or partially simultaneously. Further, one or more or even all of the method steps may be performed once or may be performed repeatedly, such as repeated once or several times. Further, the method may comprise additional method steps which are not listed.
The method comprises the following steps:
The term “computer-implemented” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a process which is fully or partially implemented by using a data processing means, such as data processing means comprising at least one processor. The term “computer”, thus, may generally refer to a device or to a combination or network of devices having at least one data processing means such as at least one processor. The computer, additionally, may comprise one or more further components, such as at least one of a data storage device, an electronic interface or a human-machine interface.
The term “block”, as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a component or an element of the blockchain. Blockchains can be defined as a chain of blocks which can hold certain records and the blocks are linked to one another using the principles of cryptography, for further details see “Eshani et al, “A study on the issue of blockchain's energy consumption”, Chapter 2, DOI: 10.1007/978-981-15-0361-0_5 or en.wikipedia.org/wiki/Blockchain. Each block may comprise transaction data. The blocks may be linked by comprising a hash value of the previous block. Each block comprises a cryptographic hash of the previous block. Each block may further comprise a timestamp. The blockchain may comprise a plurality of linked blocks.
The block may comprise a header comprising a plurality of fields. Specifically, the header comprises information about a block version number, a cryptographic hash of the previous block header, a cryptographic hash based on all of the transactions in the block, time, bits and a nonce. A structure of the block may be similar to block architecture of Bitcoin, e.g. as described in en.bitcoin.it/wiki/Block_hashing_algorithm. A block header may comprise these fields:
The fields block version number, also denoted as “Version”, cryptographic hash of the previous block header, also denoted as “hashPrevBlock”, cryptographic hash based on all of the transactions in the block, also denoted as “hashMerkleRoot”, and “Time” may be generated in the same way as for Bitcoin and may keep the same meaning. The time may be a timestamp as seconds since 1970-01-01T00:00 UTC. The method may allow adjusting the time to protocol of transactions in each block. However, other times are possible.
The cryptographic hash value, also denoted as hash value, may be generated using a hash function. The hash function may be an arbitrary function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called hash values. The term “cryptographic hash value” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a numeric value of a fixed length which uniquely representing data. For example, the cryptographic hash value may comprise hexadecimal numerals. The term “data” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to information and/or to machine-readable signals or symbols representative for information. The data specifically may be or may comprise one or both of digital data and analogue data. The cryptographic hash value may be provided by using at least one hash function having a block number of the block, data stored in the block and the cryptographic hash of the previous block as input. For example, the hash function may be at least one secure hash function SHA-2 selected from the group consisting of SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256. The term “providing” the cryptographic hash value, as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to generating and/or applying and/or using a cryptographic hash value. Due to the inventive approach for finding the nonce and its validation, the cryptographic hash may not comprise a certain number of zeros. Moreover, the requirements of the proof-of-work (https://en.wikipedia.org/wiki/Proof_of_work) are still fulfilled. Specifically, instead of “computational effort” the present invention proposes “printing efforts”. Other options, however, are feasible. For example, the cryptographic hash value may be provided as at least one element selected from the group consisting of: at least one hexadecimal numeral of each of the elements of the current block; at least one hexadecimal numeral of the hash value of each of the elements of the current block, e.g. applying SHA256, such as the hash value of preceding block, a hash value of the time stamp; at least one hexadecimal numeral of the hash value after input from, e.g. separate, number generator, e.g. applying SHA256; any other available data source delivering hexadecimal numeral. Other types of numerals may be possible, e.g. decimal numerals.
For example, a current block's version number, the data stored in the block and the hash of the previous block may be used as input for the hash function, e.g. the SHA256 function, to get the cryptographic hash value of the current block: SHA256 (Block version number, Data, cryptographic hash of the previous block header)->cryptographic hash value, e.g.: cryptographic hash value=C019286295F2CDEC9958BEE25B9603B5F94C76B2CCC69A59CE54872ED26DC479.
The term “bits” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The bits may define a number of pixels of the initial digital image. The bits may also define a number of pixels of the task digital image. Specifically, the bits may define a mining difficulty. The field “Bits” may be used to address the difficulty and/or printing time by the number of pixels per each printing and scanning iteration. Thus, the field bit may be used differently as for Bitcoin.
An information of the mining printer control setting may be used for generating a numeral to be applied as nonce for generating and validating the block of the blockchain. The numeral may be a symbol, or group of symbols denoting a number, e.g. a number string, a hexadecimal numeral and the like. The term “nonce”, as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to an arbitrary numeral that can only be used once (1-dimensional). The nonce may be the printer control setting found to transfer of the initial digital image into the task digital image. Specifically, the nonce may be the mining printer control setting which transfers the initial digital image into a task digital image, in particular after one or more of printing, scanning, and pixelation.
A size of the nonce is set before printing by an information defining color intensities of each color of the color space used for printing. Hereby, the intensity may define the size of the color dots and the distance in between the color dots of each color of the color space used for printing. For example, the intensity of each color of a color space, e.g. the CMYK color space, can be varied from 0-255. Thus, a structure of the nonce may be {CC-MM-YY-KK}. For example, the size of the nonce is 4 bytes to define an intensity of colors of a color space in the range of 0 to 255. Specifically, the size of the nonce is 4 bytes to define an intensity of four colors of the color space in the range of 0 to 255. For example, the size of the nonce is 4 bytes to define an intensity of colors in the range of 0 to 15 for a color space of eight colors, or in the range of 0 to 255 for a color space of four colors or in an appropriate range for further colors of further color spaces, wherein the intensity of color is expressed by one or two hexadecimal numerals or by other numerals as, for example, decimal numerals for each pigment color. The intensity may be expressed by two hexadecimal numerals for each color.
The term “generating a block” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to adding and/or producing and/or creating a new block to the blockchain. The term “proof-of-work” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a consensus process for securing generation of new blocks of the blockchain. Before a block can be added to the blockchain, information contained by the block needs to be “validated” by a network built on blockchain technology, also denoted as blockchain network. This is may be done by creating a so-called hash by solving a cryptographic puzzle. A participating node of the network, the so-called miner, may have a right to generate a new block when it found, in particular as the first, the solution to the cryptographic puzzle. The process of searching for the solution is usually called “mining” or “mining process”. The other nodes of the network may check if the found solution is correct. If the other nodes confirm its validity, the block is considered validated and can be added to the blockchain.
The term “printing device”, also denoted as printer, as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a device configured for applying, e.g. printing, at least one material onto at least one printing surface or substrate, specifically in a patterned fashion, according to the printer control setting. In particular, the printing device may comprise one or more of a drum, such as an image drum; a conveyor such as a transfer belt; a laser, a lens system, such as a lens system comprising at least one mirror, e.g. a rotatable mirror; a cleaning element, such as a roll, a scraper or similar means for cleaning, e.g. for cleaning the drum or the conveyer; a cassette, e.g. for storing one or more of the substrate, such as a paper cassette; at least one transporting element, such as a roller and/or conveyor, e.g. for feeding, transferring and/or ejecting the substrate, specifically the paper, into, within and/or from the printing device; a printer control unit configured for controlling the printing device. In particular, the material is printed on the surface of the drum, such as an image drum, or on the conveyer such as a transfer belt.
Furthermore, for example, the printing device may comprise a cassette, e.g. for storing one or more of the substrate, such as a paper cassette; at least one transporting element, such as a roller and/or conveyor, e.g. for feeding, transferring and/or ejecting the substrate, specifically the paper, into, within and/or from the printing device.
The printing device is configured for generating the at least one digital image. The digital image may be derived from scanning the optical impression of at least one material on the substrate applying an illumination on the scanned area. The term “digital image”, also denoted digital picture, as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a two-dimensional representation of a physical object. The terms image and picture are used in the following as synonyms. The digital image may comprise a plurality of colored pixels. For example, the digital image may be a digital RGB image. The digital RGB image may be a color digital image having three color channels, i.e. one for red (R), one for green (G) and one blue (B). The primary colors of the digital RGB image may be red, green and blue. The RGB digital image may have a color channel for each primary color. The digital color image may comprise a plurality of image pixels, wherein each image pixel is made of combinations of the primary colors. For example, the digital RGB image may be 24-bit or 48-bit. Each pixel of the digital RGB image may be specified by two spatial coordinates and three color values. For example, the digital image may be a digital CMYK color image, wherein the primary colors of the CMYK color space are black, cyan, magenta, yellow and white. However, other color spaces are possible.
The printing may comprise printing the image on a transfer belt, also denoted as drum herein, in the printing device.
The term “printer control setting” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to printer control information comprising a plurality of parameters for controlling at least one function of the printing device. For example, the printer control setting may comprise a string of characters of a pre-defined length. The printer control setting may comprise at least one item of blending information, which will be outlined in more detail below. Thus, typically, the printing device may be configured for generating text and/or images on the at least one printing surface according to the printer control setting, such as one or more of a string of characters, a bitmapped image, a vector image, a computer program, e.g. provided in at least one printer control language. In particular, the printing device, specifically at least one function of the printing device, may be controllable via at least one printer control language, such as one or more page description languages (PDLs), printer command languages (PCLs), PostScript, XML Paper Specification and the like.
The term “generating at least one initial digital image” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a process of determining the color of pixels of the initial digital image. The term “initial digital image” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to an arbitrary digital image used as a starting point for mining. The initial digital image is generated by converting at least one part of the cryptographic hash value into color values of the colored pixels of the initial digital image. For example, the generation of initial digital image may comprise converting at least one part of the hexadecimal numerals of cryptographic hash value in to RGB colors to print the initial digital image on a substrate using pigment particles according to a further color space, e.g. the CMYK color space. For example, the conversion of the hexadecimal numerals into color values may be performed using at least one mathematical algorithm and/or at least one pre-determined relationship such as a lookup table, e.g. as described in www.rapidtables.com/convert/color/hex-to-rgb.html, or “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5.
The generating of the initial digital image may comprise selecting hexadecimal numerals from the cryptographic hash value. For example, the cryptographic hash value may be used as comprised in the block's header. For example, for a first pixel of the initial digital image the first six digits of the hexadecimal numerals may be selected and converted into an RGB color. For the further pixels of the initial digital image consecutively the next six digits may be selected and converted into RGB colors. However, other embodiments for selecting hexadecimal numerals from the cryptographic hash are possible. For example, the cryptographic hash value may be processed e.g. by sorting and/or at least one further mathematical algorithm. For example, the method may comprise generating for each pixel of the initial digital image a table comprising rows and columns. Each row may comprise a differently processed version of the initially cryptographic hash value. For example, for a first pixel of the initial digital image the numerals of the first six rows of the first column may be selected. For the further pixels of the initial digital image consecutively the next rows and/or columns may be selected.
The generating of the initial digital image may comprises converting hexadecimal numerals of the cryptographic hash value into RGB colors of significant optical differences. The term “significant optical differences” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. E.g., the conversion of the hexadecimal numerals of the cryptographic hash value into RGB colors of significant optical differences may be done according to a predefined lookup table (illustratively done for 4-bit color space):
The RGB color space may be a 24 bit color space. An RGB color palette may comprise (28)3 colors. In order to achieve significant optical differences, only two hexadecimal numerals may be used for defining the respective RGB color.
The cryptographic hash value may be used to define a size and/or shape of the pixels of the initial digital image before printing on the substrate. The hexadecimal numerals of the cryptographic hash value is preferably used to define the amount of color dots per pixel. The hexadecimal numerals of the cryptographic hash value may be used to define the amount of color dots per pixel. As outlined above, the method may comprise generating for each pixel of the initial digital image a table comprising rows and columns. Each row may comprise a differently processed version of the initially cryptographic hash value. For example, the size of the first pixel of the initial digital image may be defined by a seventh row of the first column. For the further pixels of the initial digital image consecutively the next seventh rows and/or columns may be selected. The shape of the pixel may be defined by a part of the cryptographic hash value. For example, the seventh row may be used for the shape, too, and/or another row may be used for defining the shape. For example, the pixel may be circular-shaped for numerals between 0 and 4; triangle-shaped for numerals between 5-8; square-shaped for numerals between 9 and B and/or rhombus-shaped for numerals between C and F. However, other embodiments are feasible. The method may comprise arranging the pixels in a quadratic format. An area size of each pixel may be set to 10 mm×10 mm, preferably 3 mm×3 mm.
The term “task digital image” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to an arbitrary digital image used as cryptographic puzzle. The task digital image comprises a plurality of colored pixels different from the initial digital image. The colored pixels of the task digital image may have identical or different color values. The colored pixels of the initial digital image and/or the task digital image may be colored pixels of the RGB color space.
The task digital image may be generated by converting at least one part of the cryptographic hash value other than used for generating the initial digital image into at least one color value of the colored pixels. With respect to converting at least one part of the cryptographic hash value into color values for the pixels of the task digital image reference is made to the generating of the initial digital image. However, for the task digital image a part of the cryptographic hash value other than for the initial digital image may be used. However, other color spaces may be possible. For example, for mining of the nonce, first the RGB color of the task digital image may be defined automatically. For this, e.g. the last 24 bits of the cryptographic hash of the previous block may be taken.
Additionally or alternatively, the task digital image may be generated by using at least one random algorithm. Such random algorithms are generally known to the skilled person. The random numbers such as hexadecimal numbers generated by the random algorithm may be converted into color values. The conversion of the hexadecimal numerals into the color values may be performed using at least one mathematical algorithm and/or at least one predetermined relationship such as a look-up table, e.g. as described in “Improving Image Performance by Using Color Lookup Tables, Adobe developer support, Technical Note #5121, 31 Mar. 1992 or https://www.rgbtohex.net/hextorgb/.
Additionally or alternatively, the task digital image may be provided by transforming digital information of transaction of a block, such as of the block to be added or of a previous block, in color values, e.g. in RGB colors or CMYK colors.
The transactions may comprise financial transactions such as payments, licensing, orders, invoices, and/or logistic transactions such as deliveries, storage records, travel records, and/or transactions relating to non-fungible tokens, plans, and/or tax declarations, and/or contracts, and/or personal health information and the like. The term “digital information of transaction” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to data describing at least one transaction, also denoted as transaction data. The transaction data may comprise information about one or more of time of transaction, a numerical value of the transaction a text of the transaction, a digital picture of the transaction, a text of the transaction, a digital image of the transaction and the like. The transaction data may be provided in binary format.
The term “mining printer control setting” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to the printer control setting assumed to be used for generating the task digital image from the initial digital image. The mining printer control setting may be selected iteratively, in particular when repeating step iv). However, in case of using a different cryptographic hash value in step i), e.g. in ase of repeating the method for a subsequent block, the same mining printer control setting(s) may be used which were already selected and used in steps iv) to v). For example, the mining printer control setting may be selected to adjust the color pixelwise and/or for a group of pixels. For example, the mining printer control setting may comprise a character string, wherein the characters of the character string, such as numbers, may be changed iteratively, e.g. the numbers of the character string may be incremented, such as by one, when selecting the next mining printer control setting. The mining printer control setting may be selected by one or more of at least one cloud service, at least one processing device of a node of the blockchain network, or the like. For example, each of the nodes may be configured for execute a software program configured for selecting the mining printer control setting. For example, the input to define the mining printer control setting may be provided by using a random number generator and/or by using at least one predefined algorithm. For example, the mining printer control setting may be provided by increasing the hexadecimal numeral of a randomly chosen 32-bit mining printer control setting number by a constant number, e.g. stepwise, e.g. which may be nine (e.g., increasing the mining printer control setting number, which is e34a701b5 to a further printer control setting number, which is e34a701be).
The mining proposed by the present invention is about to find a mining printer control setting transferring the initial digital image generated by using the block header's cryptographic hash value into the task digital image. In particular, the process of mining for the nonce is about changing of the intensity of the four colors of the CMYK color space. Hereby, the intensity may define the size of the color dots and the distance in between the color dots of each color of the color space used for printing. This leads to the change of the optical appearance of the pigment pixels of the initial RGB image on a transfer belt or image roller. The intensity of each color of the secondary color space can be varied from 0-255 meaning the structure of the 32-bit nonce is {CC-MM-YY-KK}, which varied by the printer control so long as the target pixel color is achieved.
Miners compete to find a mining printer control setting number (nonce), which converts the initial digital image into the task digital image. The miner, who has found the mining printer control setting transferring the initial digital image into the task digital image first may be awarded. The other miners may check the mining printer control setting. The other miners may also generate the same mining digital image and will validate the nonce this way. Every mining printer control setting which lays outside an error tolerance will be rejected. Any mining printer control setting inside an error tolerance will be accepted. Hence, whoever finds it first is allowed to add the block to the chain and gets their reward of crypto coins. The awarding based on mined cryptocurrency units and transaction fees may be the same as for bitcoin mining. However, instead of computing power, the present invention proposes printer capacity, and instead of electricity pigments. The printing devices may be implemented in the blockchain network as the mining computers, in particular they may serve for the same function.
The field “bits”, e.g. 32-bit “bits”, may define the number of pixels of the initial digital image to be printed and/or the number of pixels of the task digital image. The field “bits”, e.g. 32-bit “bits”, may also be used to define the number of pixels of the target digital image. For example, the first 16 bits may be used to define the number of pixels of the initial digital image to be printed. The second 16 bits may be used to define the number of pixels of the task digital image. The field “bit” may define the mining difficulty.
The mining digital image has a plurality of colored pixels different from the initial digital image. The colored pixels of the mining digital image may be colored pixels of CMYK or RGB colors space. In the 24-bit RGB colors space, the difference of the color code between the mining digital image and the initial digital image may be one for one of the three colors of the RGB colors space for one pixel (e.g., the color codes of the pixels of the initial digital image and the mining digital image are the same, but for one pixel the color code of the mining digital image is 4472C5 and for the same pixel of the initial digital image the color code is 4472C4).
The term “mining digital image” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a digital image being generated by printing the initial digital image using the printing device by blending and/or mixing pigments with the selected mining printer control setting and scanning the printed image by using at least one scanning device. The printing may comprise printing on a substrate. The blending may comprise at least one process of mixing pigments in a defined manner, thereby creating a blend. The printing device may be configured for use as a blending device. Specifically, the printing device is configured for receiving the at least one item of blending information and for generating the digital image. The printing device may specifically be configured for blending at least two materials according to the at least one item of blending information onto at least one substrate. In particular, the printing device may be configured for blending the at least two materials according to the item of blending information, thereby e.g. generating the blend, onto a substrate for receiving the blend. With respect to embodiments of the printing device reference is made to WO 2021/001147, the full content is included herein by reference.
The term “material” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a chemical element or a chemical compound, specifically a chemical element or a chemical compound being capable of mixing with other chemical elements or chemical compounds. The material specifically may be suitable for pouring. The material generally may be in one or more of a solid state, specifically a granular solid state, a liquid state or a gaseous state. Specifically, the material may be or may comprise at least one of a powder or a liquid. The material may be a homogeneous, unitary material. Alternatively, the material may also comprise a plurality of components which are mixed homogeneously or inhomogeneously. Thus, the material may be a mixture or a composite by itself. As an example, the material may be or may comprise a liquid, wherein the liquid, as an example, comprise at least one solvent and at least one chemical compound dissolved, emulsified or dispersed in the at least one solvent. The solvent may form part of the material, or, alternatively, the at least one chemical compound may be considered the material, whereas the solvent may simply be considered as an adjuvant or additive to the material.
The term “blending” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to the process of mixing the at least two materials in a defined manner, thereby creating a blend. The terms blending and mixing will be used interchangeable herein. The process of creating the blend may include further steps such as temperature changes or temperature treatments of the at least two materials. The mixing take place in various ways, in accordance with the nature of the at least two materials. As an example, in case the at least two materials comprise powders, the mixing may involve co-dispensing or subsequently dispensing the powders into a common receptacle, including the option of stirring the mixture. Additionally or alternatively, in case the at least two materials comprise liquids, the mixing may also involve co-dispensing or subsequently dispensing the liquids into a common receptacle, including the option of stirring the mixture. Additionally or alternatively, as will be outlined in further detail below, the mixing may also comprise printing processes, e.g. inkjet printing of the at least two materials, e.g. onto a common substrate. Additionally or alternatively, the blending may comprise other types of mixing processes of the at least two materials, such as mixing the at least two materials on at least one common substrate. As an example, the blending may comprise one or more electrostatic precipitation processes, such as electrostatic precipitation of the at least two materials, e.g. onto a common substrate, e.g. onto an electrostatic charged surface. Thus, specifically, the blending and/or mixing may comprise electrostatic precipitation in printing processes. For example, the blending and/or mixing may comprise electrostatic precipitation in printing processes of at least two electrostatic charged materials onto an electrostatic neutralized surface. Thus, the materials may be mixed, thereby at least temporarily changing their electrical charges. Specifically, the blending and/or mixing may comprise electrostatic precipitation in laser printing processes, such as processes typically performed in a laser printer. In particular, the at least two materials, e.g. the pigments, may for example firstly be electrostatically charged and deposited on an equally charged image roll where specific areas have been electrostatically neutralized, e.g. by using a laser and/or LED. These deposited materials may, as an example, then be drawn and/or removed off the image roll by a reversely charged substrate, such as by a reversely charged paper.
The blending may leave the materials unchanged or may also fully or partially change the nature of the materials. Thus, as an example, the materials may simply be mixed without any chemical changes. Additionally or alternatively, the materials may be mixed, thereby changing their chemical nature. The latter specifically may take place in case the materials contain solvents which, during the blending or afterwards, may fully or partially evaporate. Again, additionally or alternatively, the materials may also fully or partially react with each other, thereby generating at least one reaction product.
The term “blend” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a mixture of the at least two materials. The mixture specifically may be present in at least one receptacle and/or on at least one substrate. The mixture generally may be in one or more of a solid state, specifically a granular solid state, a liquid state or a gaseous state. Specifically, the mixture may be or may comprise at least one of a powder or a liquid. The mixture may be in the same state as the materials or may be in a different state. As an example, at least one of the materials may be in a liquid state, wherein the mixture may also be in a solid state, which may be the case e.g. after a drying process. Thus, as an example, the at least two materials may be mixed in the blending process in a liquid state, wherein, afterwards, a drying may take place, thereby evaporating at least one solvent and/or thereby changing the chemical nature of the mixed materials. As an example, the mixing process may imply a printing of the at least two materials in a liquid state onto at least one substrate, followed by a drying or setting process, wherein the blend, consequently, may be in a dried or solid state. Other examples may imply a phase change process, such as a curing or a solidifying of the materials after mixture.
The term “item of blending information” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to at least one item of information describing a defined blending process. The at least one item of blending information may refer to the process of blending itself, such as to the way the at least two materials are mixed, e.g. to process parameters of the mixing process. Additionally or alternatively, the at least one item of blending information may also refer to the materials for blending, such as to quantities to be mixed in the blending process, e.g. to masses or volumes of the materials.
The term “blending device” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a device which is configured for performing the above described blending process. Specifically, as will also be outlined in further detail below, the blending device may comprise at least one of a feed or a reservoir for each of the materials. The blending device may also comprise at least one blending element, such as at least one of a nozzle, a stirring device, a printer, a mixer or the like.
Consequently, the term “blend” as used herein is also a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a mixture of at least two materials. The blend specifically may be present on a substrate or in a receptacle. The blend specifically may comprise a finite amount of the materials.
The generating of the mining digital image may comprise detecting at least one material property of the blend by using at least one detector. The term “material property” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to an arbitrary property of a material, such as of the blend. The property specifically may refer to one or more of a physical, a chemical or a biological property. Specifically, the material property may comprise at least one of a mechanical property or an optical property of the material. The material property specifically may refer to a measurable property of the respective material. More specifically, the at least one material property may be or may comprise at least one color of the blend. Additionally or alternatively the at least one property selected from the group consisting of: a specific density of the blend; a volume of the blend; a weight of the blend; an optical property of the blend; a spectral composition of the blend, specifically a color spectrum of the blend; a color intensity of the blend; a viscosity of the blend. Other material properties may be used alternatively or additionally.
The step of detecting the at least one material property of the blend specifically may comprise generating at least one item of measurement information on the material property. Thus, the at least one item of measurement information may generally refer to the result of a measurement of the at least one material property, such as to at least one numerical measurement value indicating the at least one material property of the blend or being characteristic for the at least one material property of the blend. Thus, as an example, the at least one item of measurement information may, as an example, comprise at least one of the following items of information: a specific density measurement value of the blend; a volume measurement value of the blend; a weight measurement value of the blend; an optical property measurement value of the blend; a color measurement value of the blend; a spectral composition measurement value of the blend, specifically a color spectrum measurement value of the blend; a color intensity measurement value of the blend; a viscosity measurement value of the blend. These measurement values might as an example each may be or may comprise a single number or a plurality of numbers, such as distributions, spectra or the like. Specifically, the at least one item of measurement information may be or may comprise at least one numerical value such as a digital value.
The term “detecting” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to the process of generating information on a property or measurable variable, wherein qualitative and/or quantitative information may be retrieved. The term specifically may refer to the process of measuring at least one measurable variable of the physical object. Consequently, the term “detector” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to an arbitrary device configured for performing the detecting process, such as a device having at least one sensor for measuring the at least one measurable variable of the object. As an example, the sensor may comprise one or more of: a weight sensor, specifically a scale; a volume sensor; a density sensor; a color sensor; a particle size distribution sensor. Other sensors may be used in addition or alternatively.
The at least one item of blending information specifically may comprise n blending variables, wherein n denotes a positive integer. The term “blending variable” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a variable which either quantitatively or qualitatively describes at least one aspect or parameter of the blending. As an example, the blending variable may refer to the at least two materials, to detect of the blending process such as quantities or material streams for mixture or the like. Further, m material properties of the blend may be detected, with m being a positive integer. Specifically, the number m of material properties detected may be as large or larger than the number n of blending variables. In other words, preferably, m≥n. In still other words, specifically, the information generated by the detection may be at least as large as the information used for the generating of the blend, wherein the term “information” may refer to the numbers n and m, respectively, and/or may generally refer to the number of degrees of freedom and/or to the logarithm of the degrees of freedom, such as log n or log m, respectively.
The at least two materials blended specifically may be different materials, specifically materials being different with respect to at least one property selected from the group consisting of: a chemical property, specifically a chemical composition; an optical property, specifically an optical appearance such as one or more of a color, a transparency, a brilliance; a mechanical property, specifically one or more of granularity, particle size, density, viscosity or flowing properties; an electrostatic chargeability; a compressibility; a crystallinity; a particle shape. Still, additionally or alternatively, other properties may be used.
The at least two materials specifically may comprise bulk materials and/or loose materials. The at least two materials, independently, each may be selected from the group consisting of solid materials, gaseous materials and liquid materials. More specifically, the at least two materials, independently, may be selected from the group consisting of and/or may comprise at least two materials selected from the group consisting of:
The term material and pigment may be used herein as synonyms. Thus, the term pigment may comprise a color particle, a powder, a liquid comprising these particles. The term pigment may comprise pure pigments and/or pigments having at least one polymer coating, e.g. of styrene acrylate copolymer, polyester resin, styrene butadiene copolymer, or similar polymers. Specifically, the term pigment may refer to toner powders. In the context of the present invention, any suitable pigment can be used. It is also possible to use mixtures, e.g. comprising one or more pigments or toner powders of one or more pigments in the context of the present invention.
In the context of the present invention, the amount of the pigments used may vary. Preferably, the amount of pigments used is in the range of from 10−15 g/cm2 to 1 g/cm2, more preferable in the range of from 10−9 g/cm2 to 10−3 g/cm2.
The particle size of the pigments used preferably is in the range of from 10 nanometer to 1 mm, preferably, in particular in the range of from 100 nanometer to 100 micrometer.
Preferably, suitable pigments are selected from inorganic materials, preferably from metal oxides, metal oxides, preferably metal oxides from natural sources. Suitable may for example be pigments selected from iron oxides. Iron oxide pigments are relatively low-cost materials that resist color change due to exposure to sunlight, have good chemical resistance and are stable under normal ambient conditions. It has been found that iron oxides are particularly suitable since the materials can easily be recycled and reused. Iron oxide pigments can for example be collected and can be used as feedstock for steel production leading to the avoidance of disposal of used pigment as waste.
Suitable iron oxides are also available as natural pigments. Suitable red pigments may be derived from hematite, yellow and brown pigments, such as ochres, sierras and umbers, may be derived from limonite, and magnetite provides a black iron oxide pigment. Furthermore, synthetic pigments, in particular metal oxides such as iron oxides, which are manufactured under controlled conditions such that particle size, distribution and shape resulting in superior uniformity, may be used according to the present invention to improve color quality and chemical purity.
For example, pigments from natural sources are suitable for the method of the present invention such as pigments selected from natural organic materials, for example organic material from plants, animals, and minerals. Also suitable are pigments selected from synthetic organic materials such as for example azopigments. Suitable mineral pigments are for example ochre, sienna, azurite, cobalt or ultramarine. Also spinels may be used. Ochre is usually a red or yellow that is obtained from ore of iron or ferruginous clay. Sienna is a form of limonite clay that is derived from ferric oxides to produce a rich red. Azurite is found in the upper oxidized portions of copper ore deposits. Ultramarine can be obtained from lapis lazuli or can be artificially manufactured. Spinels are available in yellow, orange, turquoise, and blue. Further examples include: carmine lake natural red 4 (cochineal), natural yellow 3 lake (from plants), madder lake natural red 9 (madder root), indigo lake natural blue 2 (woad), chlorophylin green lake (plant matter), vegetable or bone black, titanium white, iron oxides, talc, chalk, kaolin and other earth pigments.
According to a further embodiment of the present invention, preferably at least 20%, more preferably 30%, and most preferably 40%, of the pigments used should be of natural origin, i.e. derived from natural products, other than products of the petrochemical industry, by simple separation or purification steps.
In the context of the present invention the term pigments also comprises pigments which are visible under UV light. Sustainable and eco friendly materials may be used such as pigments from Clariant available under the Ecotrain label, for example pigments selected from the group of Novoperm Yellow HR 72, Hostaperm Blue B2G 03, Hostaperm Green GNX 01, Hansa Brilliant Yellow 2GX 72-S, Hostaperm Yellow H3G EDW VP 5131, https://www.clariant.com/de/Solutions/Products/2014/10/14/10/39/Novoperm-Orange-HL-71“¥o”Novoperm Orange HL 71, and Hostaperm Blue B2G-EDS VP 3491.
In the context of the present invention, it is also possible to use effect pigments such as for example absorption pigments, metal effect pigments, and pearlescent pigments. Metal effect pigments or metallic effect pigments usually consist of flakes or platelets of aluminum, copper, copper-zinc alloys, zinc and other metals. Suitable pearlescent pigments are for example mica-based pigments, but also pigments based on silica or alumina flakes. Suitable are for example pigments of natural mica coated with thin films of metal oxides such as TiO2 or iron oxide. Furthermore, pigments based on silica flakes (SiO2) or alumina (Al2O3) based pigments can be used in the context of the invention. Suitable substrate-free pearlescent pigments are for example natural pearl essence, basic lead carbonate, bismuth oxychloride, micaceous iron oxide and TiO2 flakes.
In particular the energy consumption can be enhanced if the pigments described above, such as “natural pigments”, are used which do not require the energy input to perform the chemical synthesis. Using natural pigments in a printer may reduce the electrical energy consumption by 99% compared to publicly available data for the Bitcoin blockchain technology, see publications above. Thus, the present invention provides a significant contribution to reduce costs and CO2 emission as most of the electrical energy is not from renewable sources.
The blending of the at least two materials may be performed according to at least one item of blending information. The at least one item of blending information specifically may comprise at least one of: quantities for the at least two materials to be blended; weights for the at least two materials to be blended; volumes of the at least two materials to be blended; a blending ratio of volumes of the at least two materials to be blended; a blending ratio of weights of the at least two materials to be blended; mixing instructions for mixing two or more continuous or discontinuous streams of the at least two materials to be blended; printing instructions for blending the at least two materials to be blended, such as a tilting information for blending the at least two materials to be blended using differently tilted raster images, e.g. raster images generated by a raster image processor (RIP) of a printer. Still, additionally or alternatively, other types of blending information may also be used.
The at least two materials may be fed into the blending device continuously or discontinuously. Thus, as an example, the blending device may comprise at least two reservoirs for the at least two materials to be blended. Additionally or alternatively, however, other means of feeding the materials into the at least one blending device are also possible. Thus, as an example, a continuous feeding is also possible, in addition or alternatively to using at least one reservoir for at least one of the materials.
The blending device may further comprise at least one receiving element for receiving the blend. As used herein, the term “receiving element” may generally refer to an arbitrary element configured for receiving the blend. The receiving element specifically may have at least one receiving surface and/or at least one receiving material for receiving the blend. Thus, as an example, the at least one receiving element specifically may comprise at least one element selected from the group consisting of: a receiving vessel for receiving the blend; a substrate for receiving the blend. The at least one receiving element may be a stationary receiving element and/or maybe a moving receiving element, such as a rotatable receiving element. As an example, the receiving element may comprise at least one substrate, such as a substrate having at least one substrate surface which may be or may comprise a planar substrate surface and/or which may be or may comprise a curved substrate surface. As an example, the receiving element may comprise at least one drum having a receiving surface for receiving the blend, such as a rotating drum. The blend, by using the blending device, specifically may be deposited directly or indirectly on to the rotating drum. As an example, a drum may be used on which the blend is temporarily secured, such as electrostatically. These electrostatic drums are generally known in the technical field of printing, such as laser printing.
In case the receiving element comprises at least one drum, the drum specifically may be a rotating drum. Therein, the method may further comprise at least one cleaning step in which, after detecting the at least one material property, the blend specifically may be removed from the receiving surface of the drum. As an example, powders and/or pigments may be dispensed onto a rotating drum and may be, as an example, temporarily secured to the surface of the rotating drum by electrostatic forces. During that time of securing the blend to the surface of the rotating drum, the at least one material property of the blend on the surface might be detected, e.g. by optical reading. As an example and as will be outlined in further detail below, colors may be detected and, subsequently, may, as an example, be transformed into binary information, such as a binary row of numbers. Subsequently, the drum may be cleaned, such as by rotating into a cleaning position, e.g. by rotating the drum by 90°.
A similar procedure, optionally without the securing by electrostatic forces, may also be performed by using inkjet printing, either directly onto the surface of a drum and/or onto a moving substrate, such as onto a paper substrate. The drum, after detecting the at least one property, may be cleaned for reuse. Thus, as an example, the blending device may comprise at least one inkjet printer. The materials may be or may comprise inkjet printing of the materials, which may be or may comprise liquid materials, onto the at least one receiving element, such as onto the at least one rotating drum and/or onto at least one substrate. Subsequently, the detection of the at least one material property may take place, such as of the at least one optical property, e.g. by optical reading. As an example, again, colors may be detected and, subsequently, may, as an example, be transformed into binary information, such as a binary row of numbers. Subsequently, the drum may be cleaned, such as by rotating into a cleaning position, e.g. by rotating the drum by 90°. Additionally or alternatively, besides cleaning the at least one receiving element, a new receiving element or a new part of the receiving element may be used for further steps, such as for further printing and for repeating the blending and the detecting.
The blending device specifically may comprise at least one blending element for generating the blend. The term “blending element” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to an arbitrary element, device or combination of elements configured for blending the at least two materials, specifically by mixing the at least two materials, e.g. before, during or after deposition onto the at least one optional receiving element. As an example, the at least one blending element may be or may comprise at least one element selected from the group consisting of: a dispenser for continuously or discontinuously dispensing at least one of the two materials; a printer for printing the at least two materials onto at least one receiving element, specifically onto at least one substrate, specifically at least one printer selected from the group consisting of: an inkjet printer, a laser printer. Still, additionally or alternatively, other types of blending elements may be used. Thus, as an example, the blending element may be or may comprise at least one of a stirring element, a dispenser, a nozzle, an extruder.
The printer may specifically be configured for blending the at least two materials according to the at least one item of blending information onto at least one substrate. In particular, the printer may be configured for blending the at least two materials according to the item of blending information, thereby e.g. generating the blend, onto a substrate for receiving the blend. The substrate may specifically be or may comprise at least one carrier medium, such as a carrier medium selected from the group consisting of: a glass carrier, such as a glass plate or a glass sheet; a plastic carrier, such as a plastic plate or a plastic sheet; a paper carrier, such as a paper sheet; a canvas. Other substrates may be feasible. As an example, the substrate may be a part of the printer itself or may be embedded within the printer. In particular, the substrate comprised by the printer may be a reusable carrier medium, such as a medium having a cleanable surface, e.g. a drum of the printer, for example a rotating drum.
The printer may further be configured for blending the at least two materials such that at least one pattern, specifically at least one interference pattern, is generated. The at least two materials to be blended by the printer may in particular be different materials, specifically materials being different with respect to at least one property. As an example, the at least two materials to be blended by the printer may differ in at least one property selected from the group consisting of: a chemical property, specifically a chemical composition; an optical property, specifically an optical appearance such as one or more of a color, a transparency, a brilliance; a mechanical property, specifically one or more of granularity, particle size, density, viscosity or flowing properties; an electrostatic chargeability; a compressibility; a crystallinity; a particle shape.
The method may comprise transforming the detected material property into color values of pixels for generating the mining digital image. The transforming may be performed by using at least one data processing device configured for applying at least one transformation algorithm to the material property. The transforming of the at least one material property into color values may take place in a computer-implemented fashion. Thus, the transforming of the at least one material property into the color values takes place by using at least one data processing device configured for applying the at least one transformation algorithm to the material property. The term “data processing device” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a computer or a computer system, having at least one processor and optionally having at least one data storage device. Therein, the processor, as an example, may comprise at least one integrated circuit configured for executing computer readable instructions. The processor, additionally or alternatively, may also be or may comprise at least one application-specific integrated circuit and/or at least one field-programmable gate array. The configuration of the data processing device for applying the at least one transformation algorithm, as an example, may be performed by providing a plurality of computer-readable instructions to the data processing device, e.g. via at least one data storage device and/or via at least one interface.
The term “processor”, also denoted as processing device, as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to an arbitrary logic circuitry configured for performing basic operations of an electronic device or system, and/or, generally, to a device which is configured for performing calculations or logic operations. In particular, the processor may be configured for processing basic instructions that drive the device or system, such as a computer. As an example, the processor may comprise at least one arithmetic logic unit (ALU), at least one floating-point unit (FPU), such as a math coprocessor or a numeric coprocessor, a plurality of registers, specifically registers configured for supplying operands to the ALU and storing results of operations, and a memory, such as an L1 and L2 cache memory.
The term “algorithm” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a plurality of process steps to be performed subsequently and/or in parallel. The algorithm specifically may comprise one or more mathematical operations to be applied to at least one input variable. Consequently, the term “transformation algorithm” specifically may refer to an algorithm which performs a transforming process for transforming the material property into color values by using one or more mathematical operations to be applied to the at least one input variable. The transformation of the material property into color values may take place in a single step or in a plurality of steps.
The transforming of the material property into color values may comprise subjecting the at least one material property to at least one test, specifically to at least one predetermined test. The at least one test may be or may comprise comparing the at least one material property directly or indirectly, such as by using the at least one item of measurement information, with at least one comparison value, at least one comparison value range or the like. Other mathematical tests are generally feasible and may also be applied. In accordance with the result of the at least one test, the RGB values may be generated. The transforming of the material property into color values specifically may comprise comparing the at least one material property, including the option of using the at least one item of measurement information representing the material property, with at least one threshold value. In accordance with the result of this comparison, for each primary color at least one number may be assigned to the material property.
Preferably, the mining digital image may be generated by scanning, in particular digital scanning, the blend, or at least a region of interest of the blend. The digital scanning may be performed using at least one scanning device. The term “scanning device” as used herein is a broad term and is to be given its ordinary and customary meaning to a person of ordinary skill in the art and is not to be limited to a special or customized meaning. The term specifically may refer, without limitation, to a device configured for detecting at least one property of at least one object and/or element, e.g. of the blend. In particular, the scanning device may be configured for examining and/or detecting at least one material property of the blend. As an example, the scanning device may have at least one scanning element configured for optically recording and/or capturing spatially resolved one-dimensional, two-dimensional or even three-dimensional optical information on the blend. Thus, e.g. for optical detection, the scanning device may, for example, comprise at least one sensor, such as optical sensors, specifically image sensors, e.g. at least one light sensitive capacitor, at least one charge-coupled device (CCD). The scanning device may for example comprise at least one CCD-chip and/or at least one CMOS chip. Specifically, the scanning device may be configured for detecting optical signals of the blend, e.g. of the blended and/or merged powder components, such as by using an optical system. In particular, the scanning system may be configured for convert, e.g. break down, the optical signals of the blend into primary colors, such as into red, green and blue, e.g. by using a prism. The scanning device may specifically be configured for converting the optical signals, such as the optical signals converted into primary colors, into at least one digital image, e.g. by using at least one sensor, such as a sensor comprising a plurality of light-sensitive capacitors. Further, the scanning device may comprise at least one illuminating element, such as an element configured for illuminating the blend, wherein the scanning device may be configured for detecting the at least one property of the blend by using a reflection of the blend. Herein, the scanning device may also be referred to as scanner. The scanning device may specifically be or may comprise a device selected from the group consisting of: a CCD scanner; a CIS scanner; a camera; a film. In particular, the scanning device may comprise at least one optical detection system, specifically comprising one or more of an optical detector, an image sensor, for example a photomultiplier tube (PMT), e.g. a vacuum tube converting incident photons into an electric signal, a silicon photomultiplier (SiPM), e.g. a solid-state device converting incident photons into an electric signal. The scanning device may specifically comprise at least one processor, wherein the processor may be configured for controlling at least one scanning operation of the scanning device.
Scanning may for example be performed using light of a wavelength at scanning in the range of from 10 nm to 1 mm, preferably in the range of from 300 nm to 800 nm. The luminous intensity per m2 of the light used preferably is in the range of from 0.001 lm/m2 and 10000000 lm/m2, more preferable in the range of from 10 lm/m2 and 1000000 lm/m2.
A wavelength spectrum may be set by at least one LED light, e.g. emitting light of a color temperature of 3,000 K.
A local intensity of the of light on the printed pixels may be defined by at least one lens or lens system. The lens or lens system may be configured for generating brighter and darker areas. For example, the lens or lens system may comprise magnifying glass foils.
With respect to embodiments of the printing device and the blending reference is made to WO 2021/001147, the full content is included herein by reference. The present invention takes the advantage of using the high entropy of solid particle bulks when they are mixed and/or blended. Especially, applying colored pigments for performing the mixing and/or blending of solid particle bulks, was found as effective way to analyze the physical results due the optical principle. Especially, the most significant part of energy consumption for the “proof-of-work” is proposed to be transferred to the physical process of mixing and/or blending. Applying the printer technology and using pigments for executing the proof-of-work, the energy consumption of the proof of work can be reduced by a factor of 1000. Moreover, another reason for reduction of energy consumption may be due to the cost of the pigments, which reduces the throughput as no miners will spent more for the pigments than getting awarded.
Mixed particles are behaving according to equations based on physical laws. In order to obtain bulk properties of these systems based on numerical methods, first, all parameters of the individual particles need to be defined, e.g. shape, mass, roughness, Van-der-Waal and/or electrostatic forces etc., Even if the parameters of the individual particles have been found at high expenses, second, numerical calculation (DEM simulation) of the bulk properties needs to solve the interaction between these particles being a system of multiple equations with further unknown parameters, especially, if they are small. Thus, miners cannot bypass physical hashing process in printers independent from computing power. Furthermore, due to the statistics of high particle numbers, the properties of solid bulks may be behaving reproducibly, but as said, not determinable via numerical simulation. Thus, it may be possible to achieve the same bulk properties (density, color etc.), if the powder, the mixer and the mixing are performed identically, which is the case for state-of-the-art color laser printers. It was found that printing devices are perfect hashing machines. The present invention proposes to change the processing of pigments by adequately manipulating the printing and scanning process. However, continuous change of printer and scanning process would drive the efforts and costs to uneconomical levels, if the attacker wants to print all necessary variations to develop an appropriate color simulation model. The entire world pigment production would not be enough to figure out all possible printing settings.
As an example for cryptographic security, the required amount of pigments have been illustratively calculated for 9 pixels: First, billions of RGB colors may be clustered to about 100 significant colors to be scanned and digitally processed reliably using the printing device. 9 digital pixels of different RGB colors may be grouped and these 9 different color dots may be allocated to a new color dot after printing by pixelation. So, assuming a variance of 100 colors for each pixel, this would result into 2.76*1014 variations as the location of the pixels does not affect the new color after pixilation. If these 2.76*1014 variations per each group of 9 pixels to be scanned requiring 0.001 gram of pigments, this would mean 276,000 tons. Hence, the order of magnitude of 10,000 tons of pigments would be needed to be printed (and its costs of 0.1-1 billion € to be spent!) (Expecting 3 to 10% of all combinations are to be printed, scanned and analyzed to derive the digital color model being robust enough to bypass our physical printing and scanning process).
The method may be performed with different and/or adjustable mining difficulty. The mining difficulty may be adjustable by one or more of the following variables: amount of pigment colors, size of initial digital image, size of task digital image, number of pixels per same printer control setting, pixel color error tolerance (e.g., red±10%), overall error tolerance (10 of 100 pixel are wrong), rastering, tilting, Moiré-effect. For example, the method may comprise, specifically for further increase of security, changing continuously the size of the individual pixels, e.g., 6 dots instead of 4 dots, and/or a setting of pixelation, e.g., 13 pixels, or even illumination at scanning. That means that this work needs to be done again and again and would drive even further the costs for the attacker.
The method, step v), comprises comparing the colored pixels of the mining digital image and the task digital image by using the at least one processing device. The method comprises repeating steps ii) to v) until the colored pixels of the mining digital image and the task digital image are found to be identical.
The comparing of the colored pixels of the mining digital image and the task digital image may be performed pixelwise. The comparing of the colored pixels of the mining digital image and the task digital image may be performed after grouping the colored pixels of the mining digital image or/and the task digital image by pixelation. Specifically, the method may comprises pixelating the mining digital image and/or the task digital image. The pixelating may comprise dividing the mining digital image and/or the task digital image into pixels, in particular in a pre-defined number of pixels. For example, the pre-defined number of pixels of the mining digital image may correspond to the number of pixels of the task digital image. For example, the pre-defined number of pixels may depend on mining difficulty.
The method may comprise determining a color code of the pixelated mining digital image by converting the colored pixels to, e.g. hexadecimal or binary, numerals. For example, the conversion of the color values into hexadecimal numerals may be performed using at least one mathematical algorithm and/or at least one pre-determined relationship such as a look-up table, e.g. as described in www.farben-umrechnen.de or “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The hexadecimal numerals may be further converted into the binary code of the first digital RGB image, for example, by using at least one mathematical algorithm and/or at least one pre-determined relationship such as a look-up table, e.g. as described in “Improving Image Performance by Using Color Lookup Tables, Adobe developer support, Technical Note #5121, 31 Mar. 1992 or https://www.rgbtohex.net/hextorgb/.
The comparing of the colored pixels of the mining digital image and the task digital image may comprise comparing color codes of the pixelated mining digital image and the task digital image. The comparing may comprise determining if the mining digital image and the task digital image are identical at least within a pre-defined pixel color tolerance range. The mining digital image and the task digital image may be considered identical within the pixel color error tolerance range of ±30% for each of the colors of a pixel, preferably of ±10% for each of the colors of a pixel, more preferably of ±3% for each of the colors of a pixel. Additionally or alternatively, an overall matching of the mining digital image and the task digital image may be determined. The mining digital image and the task digital image may be considered identical within an overall error tolerance range 10% of deviating pixels, preferably of 5% of deviating pixels, more preferably 1% of deviating pixels. The comparing may be performed by a processing device of the node, e.g. of the printing device.
The method may comprise determining by the other nodes of the network if the mining digital image and the task digital image are identical at least within a pre-defined tolerance range. The pixel color error tolerance range of the node performing the method may be tighter in comparison to the pre-defined tolerance range of the other nodes. This may allow ensuring that verifying of the found mining printer control setting is correct within a tolerance range is possible by each of the other nodes even if the printing device has a deviating accuracy. The larger error tolerance may take into account that the printing devices at the nodes will usually not work identically compared to each other. If the printer control setting number has been validated by a plurality of other nodes, e.g. by more than 10 different other nodes, the proof of work is correct and the defined amount of tokens may transferred to the wallet of the node.
The method may comprise at least one calibration. A plurality of pre-specified color fields, such as primary colors of a used color space, may be provided in addition to the initial digital image and the task digital image and printed with the mining digital image. This may allow calibration of the scanning result.
The method may be performed with a hash rate. For example, a maximum hash rate may be 1 TH/s (1 million printer printing 1 million pixels per second).
The method may comprise generating a header of the subsequent block comprising information about a block version number, a cryptographic hash of the previous block header, a cryptographic hash based on all of the transactions in the block, time, bits and a nonce. The nonce may be the mining printer control setting found to transfer of the initial digital image into the task digital image.
As outlined above, the method for proof-of-work as disclosed herein may fully or partially be computer-implemented by at least one computer or computer network. Steps i) to v) may also be partially computer-implemented or computer-supported. Consequently, the invention also discloses a computer program and a computer program product having program code means, in order to fully or partially perform or support the method for proof-of-work according to the present invention in one or more of the embodiments enclosed herein when the computer program product or the computer program is executed on a computer or computer network. Specifically, the program code means may be stored on a computer-readable data carrier and/or on a computer-readable storage medium. As used herein, the terms “computer-readable data carrier” and “computer-readable storage medium” specifically may refer to non-transitory data storage means, such as a hardware storage medium having stored thereon computer-executable instructions. The computer-readable data carrier or storage medium specifically may be or may comprise a storage medium such as a random-access memory (RAM) and/or a read-only memory (ROM).
Step ii) may comprise generating a plurality of initial digital images comprising a plurality of colored pixels. The initial digital images may be generated by converting at least one part of the cryptographic hash value into color values of the colored pixels.
Step iii) may comprise generating at least one further task digital image having at least one further colored pixel or using at least one further pixel of the generated task digital image which was not used for comparison with the mining digital image.
In case the colored pixels of the mining digital image and the task digital image are found to be identical at least within tolerances, the method further may comprise:
The method may comprise pixelating the plurality of colored pixels of the further mining digital image, e.g. to obtain one color value which may be used for comparison to the color value of a first color value of the further task digital image or the at least one further pixel of the generated task digital image which was not used for comparison with the mining digital image. The comparison in step vii) may comprise comparing the colored pixel obtained after pixilation of the further mining digital image and the further task digital image, e.g. the color value of a first pixel of the further task digital image, or a color value of a further pixel of the generated task digital image which was not used for comparison with the mining digital image. The method may comprise repeating steps ii) to vii) until, e.g. the color value obtained from pixilation of the colored pixels of the further mining digital image and the color value of the first pixel of the further task digital image or a color value of a further pixel of the generated task digital image which was not used for comparison with the mining digital image are found to be identical. In each case in step iv) a different mining printer control setting may be selected. The mining printer control setting for which the further mining digital image and the further task digital image or the at least one further pixel of the generated task digital image which was not used for comparison with the mining digital image are found to be identical at least within tolerances is used as the proof-of-work for generating and validating the block of the blockchain.
A number pixels of the initial digital image(s) and/or a number of initial digital images and a number of pixels of the task digital image may be defined by a predefined mining difficulty. The number of pixels of the initial image and/or the number of initial digital images may correspond to the number of pixels of the task digital image.
In case the colored pixels of the further mining digital image and the further task digital image or the at least one further pixel of the generated task digital image which was not used for comparison with the mining digital image are found to be identical at least within tolerances, the method may comprise repeating steps vi) and vii) for additional different pairs of initial digital images and task digital images or at least one pixel of task digital images using said printer control setting. The method may comprise repeating steps ii) to vii) and the repeated steps vi) and vii) until the colored pixels of the respective mining digital images and the task digital image(s) are found to be identical. The mining printer control setting for which these conditions are fulfilled may be used as the proof-of-work for generating and validating the block of the blockchain. A number of repetitions of steps vi) and vii) may depend on the predefined mining difficulty.
The method steps i) to v) and vi) to vii) may be performed successively or at least some of the steps may be performed in parallel.
In a further aspect, a further computer implemented method for proof-of-work for generating and validating a block of a blockchain using at least one printing device is proposed. The printing device is configured for generating at least one digital image depending on a printer control setting.
The method comprises the following method steps which, specifically, may be performed in the given order. Still, a different order is also possible. It is further possible to perform two or more of the method steps fully or partially simultaneously. Further, one or more or even all of the method steps may be performed once or may be performed repeatedly, such as repeated once or several times. Further, the method may comprise additional method steps which are not listed. For definitions and embodiments reference is made to the description the method for proof-of-work as described in a first aspect of the present invention.
The method comprises the following steps:
The method steps a) to e) and f) to g) may be performed successively or at least some of the steps may be performed in parallel. The method may be performed step by step in at least two interacting loops. The method may be performed step by step in a parallel way to optimize the speed of generating and scanning the mining digital images or may be performed in a serial way to minimize the consumption of the pigments for generating and scanning the mining digital images.
For example, the first task digital image is generated by converting parts of the cryptographic hash value based on all of the transactions in the block, also denoted as “hashMerkleRoot”, into color values of the colored pixels.
The method may comprise pixelating the pixels of the mining digital image, e.g. to obtain one color value which may be used for comparison to the first task digital image, e.g. to a color value of a first color value of the first task digital image. The first color value may be the color value of the first pixel of the first task digital image. The method may comprise repeating steps b) to e) until the color value obtained from pixilation of the colored pixels of the mining digital image and the color value of, e.g. the first pixel of the first task digital image, are found to be identical at least within tolerances. In each case in step d) a different mining printer control setting is selected.
The method may comprise pixelating the pixels of the further mining digital image, e.g. to obtain one color value which may be used for comparison to the second task digital image, e.g. to a color value of a first color value of the second task digital image. The first color value may be the color value of the first pixel of the second task digital image.
The second task digital image may be a further task digital image generated, e.g. by converting parts of the cryptographic hash value based on all of the transactions in the block, also denoted as “hash-MerkleRoot”, into color values of the colored pixels.
Alternatively, the second task digital image may comprise at least one further pixel of the first task digital image which was not used for comparison with the mining digital image, e.g. a second pixel of the first task digital image. Step g) may comprise comparing the color value obtained from pixilation of the colored pixels of the further mining digital image and the color value of the second pixel of the first task digital image by using the processing device. The method may comprise repeating steps b) to g) until the color value obtained from pixilation of the colored pixels of the further mining digital image and the color value of the second pixel of the first task digital image are found to be identical at least within tolerances. The mining printer control setting for which the color value obtained from pixilation of the colored pixels of the further mining digital image and the color value of the second pixel of the first task digital image are found to be identical at least within tolerances may be used as the proof-of-work for generating and validating the block of the blockchain.
A number of pixels of the initial digital images and/or a number of initial digital images and a number of pixels of the task digital image may be defined by a predefined mining difficulty. The number of pixels of the initial image and/or the number of initial digital images may correspond to the number of pixels of the task digital image.
In case the colored pixels of the further mining digital image and the second task digital image are found to be identical at least within tolerances, the method may comprise repeating steps f) and g) for additional different pairs of initial digital images and task digital images using said printer control setting. The method may comprise repeating steps b) to g) and the repeated steps f) and g) until the colored pixels of the respective mining digital images and the task digital images are found to be identical. The mining printer control setting for which these conditions are fulfilled may be used as the proof-of-work for generating and validating the block of the blockchain. A number of repetitions of steps f) and g) may depend on the predefined mining difficulty.
The method as described in a first aspect of the present invention may require limited resources to find the mining printer control setting for which the mining digital image and the task digital image are found to be identical (nonce), in particular limited resources for changing the mixing recipe until the targeted color(s) is (are) found. However, the mining difficulty can be increased by increasing the number of challenges by using the method as described in this aspect of the present invention. The provided hash value may provide a plurality of digital information, which can be used for defining at least one further challenge, in particular a plurality of challenges. These further challenges each may require at least 1,000 additional trials to check if this obtained printer control setting will also solve a second transfer from one initial digital image to a task digital image. For example, in case of three challenges, the chance to find a single printer control setting to transfer all of these three independent mining digital images, e.g. each with four colored pixels, of the initial digital images into these three independent task digital images, e.g. each being a colored task digital image of one colored pixel, may end up in a probability of success of 1:1000,000,000. The amount of pixels to be printed may be controlled according to the printer capacity such that this proof of work can be solved during a constant period of time.
The number of pixels may depend on a level of difficulty. The number of pixels per image can be increased up to an arbitrary number. Specifically, the level of difficulty may be set such that unattainable costs would occur for an attacker to perform all of the necessary experiments upfront to by-pass the proposed method. For example, 16 pixels per image would mean 1032 variations; meaning 1026 kg of toner to be printed, if assuming that handling about different 100 colors per pixel reproducibly in the printing and scanning process is possible and that each loop of 1,000 trials would need 0.001 g.
In a further aspect of the present invention, a blockchain based on digital images is disclosed. The blockchain comprises a plurality of linked blocks. The blockchain is generated by using one of the methods for proof-of-work according to the present invention as described above or as described in more detail below. Thus, for definitions and embodiments reference is made to the description the method for proof-of-work.
In a further aspect use of a computer implemented method for proof-of-work according to any one of the preceding claims, for a purpose of one or more of mining for trading crypto currency, secured processing of transactions in the fields of non-fungible tokens, smart contracts, financial services, healthcare, personal identification, cryptocurrencies, supply chain, secure labels is disclosed. Other applications are possible.
Summarizing and without excluding further possible embodiments, the following embodiments may be envisaged:
f) using said mining printer control setting, printing at least one second initial digital image of the initial digital images by using the printing device by mixing and/or blending pigments with said mining printer control setting and scanning the printed image by using the scanning device, thereby generating at least one further mining digital image having a plurality of colored pixels, in particular different from the second initial digital image,
Further optional features and embodiments will be disclosed in more detail in the subsequent description of embodiments, preferably in conjunction with the dependent claims. Therein, the respective optional features may be realized in an isolated fashion as well as in any arbitrary feasible combination, as the skilled person will realize. The scope of the invention is not restricted by the preferred embodiments. The embodiments are schematically depicted in the Figures. Therein, identical reference numbers in these Figures refer to identical or functionally comparable elements.
In the Figures:
The method comprises the following method steps which, specifically, may be performed in the given order. Still, a different order is also possible. It is further possible to perform two or more of the method steps fully or partially simultaneously. Further, one or more or even all of the method steps may be performed once or may be performed repeatedly, such as repeated once or several times. Further, the method may comprise additional method steps which are not listed.
The method comprises the following steps:
The block may be a component or an element of the blockchain. Blockchains can be defined as a chain of blocks which can hold certain records and the blocks are linked to one another using the principles of cryptography, for further details see “Eshani et al, “A study on the issue of blockchain's energy consumption”, Chapter 2, DOI: 10.1007/978-981-15-0361-0_5 or en.wikipedia.org/wiki/Blockchain. Each block may comprise transaction data. The blocks may be linked by comprising a hash value of the previous block. Each block comprises a cryptographic hash of the previous block. Each block may further comprise a timestamp. The blockchain may comprise a plurality of linked blocks.
The block may comprise a header comprising a plurality of fields. Specifically, the header comprises information about a block version number, a cryptographic hash of the previous block header, a cryptographic hash based on all of the transactions in the block, time, bits and a nonce. A structure of the block may be similar to block architecture of Bitcoin, e.g. as described in en.bitcoin.it/wiki/Block_hashing_algorithm. A block header may comprise these fields:
The fields block version number, also denoted as “Version”, cryptographic hash of the previous block header, also denoted as “hashPrevBlock”, cryptographic hash based on all of the transactions in the block, also denoted as “hashMerkleRoot”, and “Time” may be generated in the same way as for Bitcoin and may keep the same meaning. The time may be a timestamp as seconds since 1970-01-01T00:00 UTC. The method may allow adjusting the time to protocol of transactions in each block. However, other times are possible.
The cryptographic hash value may be generated using a hash function. The hash function may be an arbitrary function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called hash values. For example, the cryptographic hash value may comprise hexadecimal numerals. The data specifically may be or may comprise one or both of digital data and analogue data. The cryptographic hash value may be provided by using at least one hash function having a block number of the block, data stored in the block and the cryptographic hash of the previous block as input. For example, the hash function may be at least one secure hash function SHA-2 selected from the group consisting of SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256.
For example, as shown in
The bits may define a number of pixels of the initial digital image. Specifically, the bits may define a mining difficulty. The field “Bits” may be used to address the difficulty and/or printing time by the number of pixels per each printing and scanning iteration. Thus, the field bit may be used differently as for Bitcoin.
An information of the mining printer control setting may be used for generating a numeral to be applied as nonce for generating and validating the block of the blockchain. The numeral may be a symbol, or group of symbols denoting a number, e.g. a number string, a hexadecimal numeral and the like. The nonce may be an arbitrary numeral that can only be used once (1-dimensional). The nonce may be the printer control setting found to transfer of the initial digital image into the task digital image. Specifically, the nonce may be the mining printer control setting which transfers the initial digital image into a task digital image, in particular after one or more of printing, scanning, and pixelation.
A size of the nonce is set before printing by an information defining color intensities of each color of the color space used for printing. For example, the intensity of each color of a color space, e.g. the CMYK color space, can be varied from 0-255. Thus, a structure of the nonce may be {CC-MM-YY-KK}. For example, the size of the nonce is 4 bytes to define an intensity of colors of a color space in the range of 0 to 255. Specifically, the size of the nonce is 4 bytes to define an intensity of four colors of the color space in the range of 0 to 255. For example, the size of the nonce is 4 bytes to define an intensity of colors in the range of 0 to 15 for a color space of eight colors, or in the range of 0 to 255 for a color space of four colors or in an appropriate range for further colors of further color spaces, wherein the intensity of color is expressed by one or two hexadecimal numerals or by other numerals as, for example, decimal numerals for each pigment color. The intensity may be expressed by two hexadecimal numerals for each color.
The generating of the block may comprise adding and/or producing and/or creating a new block to the blockchain. The proof-of-work may comprise a consensus process for securing generation of new blocks of the blockchain. Before a block can be added to the blockchain, information contained by the block needs to be “validated” by a network built on blockchain technology, also denoted as blockchain network. This is may be done by creating a so-called hash by solving a cryptographic puzzle. A participating node of the network, the so-called miner, may have a right to generate a new block when it found, in particular as the first, the solution to the cryptographic puzzle. The process of searching for the solution is usually called “mining” or “mining process”. The other nodes of the network may check if the found solution is correct, see step 130 in
The printing device may be a device configured for applying, e.g. printing, at least one material onto at least one printing surface or substrate, specifically in a patterned fashion, according to the printer control setting. In particular, the printing device may comprise one or more of a drum, such as an image drum; a conveyor such as a transfer belt; a laser, a lens system, such as a lens system comprising at least one mirror, e.g. a rotatable mirror; a cleaning element, such as a roll, a scraper or similar means for cleaning, e.g. for cleaning the drum or the conveyer; a cassette, e.g. for storing one or more of the substrate, such as a paper cassette; at least one transporting element, such as a roller and/or conveyor, e.g. for feeding, transferring and/or ejecting the substrate, specifically the paper, into, within and/or from the printing device; a printer control unit configured for controlling the printing device. In particular, the material is printed on the surface of the drum, such as an image drum, or on the conveyer such as a transfer belt.
Furthermore, for example, the printing device may comprise a cassette, e.g. for storing one or more of the substrate, such as a paper cassette; at least one transporting element, such as a roller and/or conveyor, e.g. for feeding, transferring and/or ejecting the substrate, specifically the paper, into, within and/or from the printing device.
The printing device is configured for generating the at least one digital image. The digital image may be derived from scanning the optical impression of at least one material on the substrate applying an illumination on the scanned area. The digital image may be a two-dimensional representation of a physical object. The terms image and picture are used in the following as synonyms. The digital image may comprise a plurality of colored pixels. For example, the digital image may be a digital RGB image. The digital RGB image may be a color digital image having three color channels, i.e. one for red (R), one for green (G) and one blue (B). The primary colors of the digital RGB image may be red, green and blue. The RGB digital image may have a color channel for each primary color. The digital color image may comprise a plurality of image pixels, wherein each image pixel is made of combinations of the primary colors. For example, the digital RGB image may be 24-bit or 48-bit. Each pixel of the digital RGB image may be specified by two spatial coordinates and three color values. For example, the digital image may be a digital CMYK color image, wherein the primary colors of the CMYK color space are black, cyan, magenta, yellow and white. However, other color spaces are possible.
The printer control setting may be and/or may comprise printer control information comprising a plurality of parameters for controlling at least one function of the printing device. For example, the printer control setting may comprise a string of characters of a pre-defined length. The printer control setting may comprise at least one item of blending information, which will be outlined in more detail below. Thus, typically, the printing device may be configured for generating text and/or images on the at least one printing surface according to the printer control setting, such as one or more of a string of characters, a bitmapped image, a vector image, a computer program, e.g. provided in at least one printer control language. In particular, the printing device, specifically at least one function of the printing device, may be controllable via at least one printer control language, such as one or more page description languages (PDLs), printer command languages (PCLs), PostScript, XML Paper Specification and the like.
The generating 112 of the at least one initial digital image 114 may comprise process of determining the color of pixels 116 of the initial digital image 114. The initial digital image 114 may be an arbitrary digital image used as a starting point for mining. The initial digital image 114 is generated by converting at least one part of the cryptographic hash value into color values of the colored pixels 116 of the initial digital image 114. For example, the generation of initial digital image may comprise converting at least one part of the hexadecimal numerals of cryptographic hash value in to RGB colors to print the initial digital image on a substrate using pigment particles according to a further color space, e.g. the CMYK color space. An example of converting a part of the hexadecimal numerals of the cryptographic hash value in to RGB colors is shown in
The generating 112 of initial digital image 114 may comprise selecting hexadecimal numerals from the cryptographic hash value. For example, the cryptographic hash value may be used as comprised in the block's header. For example, as shown in
The generating 112 of the initial digital image 114 may comprises converting hexadecimal numerals of the cryptographic hash value into RGB colors of significant optical differences. E.g., the conversion of the hexadecimal numerals of the cryptographic hash value into RGB colors of significant optical differences may be done according to a predefined lookup table (illustratively done for 4-bit color space):
The RGB color space may be a 24 bit color space. An RGB color palette may comprise (28)3 colors. In order to achieve significant optical differences, only two hexadecimal numerals may be used for defining the respective RGB color.
The cryptographic hash value may be used to define a size and/or shape of the pixels 116 of the initial digital image 114 before printing on the substrate. The hexadecimal numerals of the cryptographic hash value is preferably used to define the amount of color dots per pixel 116. The hexadecimal numerals of the cryptographic hash value may be used to define the amount of color dots per pixel. As outlined above, the method may comprise generating for each pixel of the initial digital image 114 a table comprising rows and columns, see exemplary for a first pixel in
The task digital image 120 may be an arbitrary digital image used as cryptographic puzzle. The task digital image 120 comprises a plurality of colored pixels 122 different from the initial digital image 114. The colored pixels 122 of the task digital image 120 may have identical or different color values. The colored pixels 116 of the initial digital image 114 and/or the task digital image 120 may be colored pixels of the RGB color space.
As shown in
As shown in
The mining printer control setting 126 may be the printer control setting assumed to be used for generating the task digital image 120 from the initial digital image 114. The mining printer control setting 126 may be selected iteratively, in particular when repeating step iv). For example, the mining printer control setting 126 may be selected to adjust the color pixelwise and/or for a group of pixels. For example, the mining printer control setting 126 may comprise a character string, wherein the characters of the character string, such as numbers, may be changed iteratively, e.g. the numbers of the character string may be incremented, such as by one, when selecting the next mining printer control setting. The mining printer control setting 126 may be selected by one or more of at least one cloud service, at least one processing device of a node of the blockchain network, or the like. For example, each of the nodes may be configured for execute a software program configured for selecting the mining printer control setting.
The mining proposed by the present invention is about to find a mining printer control setting 126 transferring the initial digital image 114 generated by using the block header's cryptographic hash value into the task digital image 120. In particular, the process of mining for the nonce is about changing of the intensity of the four colors of the CMYK color space. This leads to the change of the optical appearance of the pigment pixels of the initial RGB image on a transfer belt or image roller. The intensity of each color of the secondary color space can be varied from 0-255 meaning the structure of the 32-bit nonce is {CC-MM-YY-KK}, which varied by the printer control so long as the target pixel color is achieved.
Miners compete to find a mining printer control setting number 126, which converts the initial digital image 114 into the task digital image 120. The miner, who has found the mining printer control setting 126 transferring the initial digital image 114 into the task digital image 120 first may be awarded, see step 130 in
The field “bits”, e.g. 32-bit “bits”, may define the number of pixels of the initial digital image 114 to be printed and/or the number of pixels of the task digital image 120. The field “bit” may define the mining difficulty. The field “bits”, e.g. 32-bit “bits”, may also be used to define the number of pixels of the target digital image, so e.g. the first 16 bits may be used to define the number of pixels of the initial digital image to be printed. The second 16 bits may be used to define the number of pixels of the target digital image.
The mining digital image has a plurality of colored pixels different from the initial digital image. The colored pixels of the mining digital image may be colored pixels of CMYK or RGB colors space. The mining digital image may be a digital image being generated by printing the initial digital image 114 using the printing device by blending and/or mixing pigments with the selected mining printer control setting 126 and scanning the printed image by using at least one scanning device. The printing may comprise printing on a substrate. The blending may comprise at least one process of mixing pigments in a defined manner, thereby creating a blend. The printing device may be configured for use as a blending device. Specifically, the printing device is configured for receiving the at least one item of blending information and for generating the digital image. The printing device may specifically be configured for blending at least two materials according to the at least one item of blending information onto at least one substrate. In particular, the printing device may be configured for blending the at least two materials according to the item of blending information, thereby e.g. generating the blend, onto a substrate for receiving the blend. With respect to embodiments of the printing device reference is made to WO 2021/001147, the full content is included herein by reference.
The present invention takes the advantage of using the high entropy of solid particle bulks when they are mixed and/or blended. Especially, applying colored pigments for performing the mixing and/or blending of solid particle bulks, was found as effective way to analyze the physical results due the optical principle. Especially, the most significant part of energy consumption for the “proof-of-work” is proposed to be transferred to the physical process of mixing and/or blending. Applying the printer technology and using pigments for executing the proof-of-work, the energy consumption of the proof of work can be reduced by a factor of 1000. Moreover, another reason for reduction of energy consumption may be due to the cost of the pigments, which reduces the throughput as no miners will spent more for the pigments than getting awarded.
Mixed particles are behaving according to equations based on physical laws. In order to obtain bulk properties of these systems based on numerical methods, first, all parameters of the individual particles need to be defined, e.g. shape, mass, roughness, Van-der-Waal and/or electrostatic forces etc., Even if the parameters of the individual particles have been found at high expenses, second, numerical calculation (DEM simulation) of the bulk properties needs to solve the interaction between these particles being a system of multiple equations with further unknown parameters, especially, if they are small. Thus, miners cannot bypass physical hashing process in printers independent from computing power. Furthermore, due to the statistics of high particle numbers, the properties of solid bulks may be behaving reproducibly, but as said, not determinable via numerical simulation. Thus, it may be possible to achieve the same bulk properties (density, color etc.), if the powder, the mixer and the mixing are performed identically, which is the case for state-of-the-art color laser printers. It was found that printing devices are perfect hashing machines. The present invention proposes to change the processing of pigments by adequately manipulating the printing and scanning process. However, continuous change of printer and scanning process would drive the efforts and costs to uneconomical levels, if the attacker wants to print all necessary variations to develop an appropriate color simulation model. The entire world pigment production would not be enough to figure out all possible printing settings.
As an example for cryptographic security, the required amount of pigments have been illustratively calculated for 9 pixels: First, billions of RGB colors may be clustered to about 100 significant colors to be scanned and digitally processed reliably using the printing device. 9 digital pixels of different RGB colors may be grouped and these 9 different color dots may be allocated to a new color dot after printing by pixelation. So, assuming a variance of 100 colors for each pixel, this would result into 2.76*1014 variations as the location of the pixels does not affect the new color after pixilation. If these 2.76*1014 variations per each group of 9 pixels to be scanned requiring 0.001 gram of pigments, this would mean 276,000 tons. Hence, the order of magnitude of 10,000 tons of pigments would be needed to be printed (and its costs of 0.1-1 billion € to be spent!) (Expecting 3 to 10% of all combinations are to be printed, scanned and analyzed to derive the digital color model being robust enough to bypass our physical printing and scanning process).
The method may be performed with different and/or adjustable mining difficulty. The mining difficulty may be adjustable by one or more of the following variables: amount of pigment colors, size of initial digital image, size of task digital image, number of pixels per same printer control setting, pixel color error tolerance (e.g., red±10%), overall error tolerance (10 of 100 pixel are wrong), rastering, tilting, Moiré-effect. For example, the method may comprise, specifically for further increase of security, changing continuously the size of the individual pixels, e.g., 6 dots instead of 4 dots, and/or a setting of pixelation, e.g., 13 pixels, or even illumination at scanning. That means that this work needs to be done again and again and would drive even further the costs for the attacker.
The method, step v) 128, comprises comparing the colored pixels of the mining digital image and the task digital image 120 by using at least one processing device. The method comprises repeating steps ii) to v) until the colored pixels of the mining digital image and the task digital image 120 are found to be identical. The comparing of the colored pixels of the mining digital image and the task digital image 120 may be performed pixelwise. The comparing of the colored pixels of the mining digital image and the task digital image 120 may be performed after grouping the colored pixels of the mining digital image or/and the task digital image 120 by pixelation. Specifically, the method may comprise pixelating 132 the mining digital image and/or task digital image 120. The pixelating may comprise dividing the mining digital image and/or the task digital image 120 into pixels, in particular in a pre-defined number of pixels. For example, the pre-defined number of pixels of the mining digital image may correspond to the number of pixels of the task digital image. For example, the pre-defined number of pixels may depend on mining difficulty.
The method may comprise determining a color code of the pixelated mining digital image by converting the colored pixels to, e.g. hexadecimal or binary, numerals. For example, the conversion of the color values into hexadecimal numerals may be performed using at least one mathematical algorithm and/or at least one pre-determined relationship such as a look-up table, e.g. as described in www.farben-umrechnen.de or “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The hexadecimal numerals may be further converted into the binary code of the first digital RGB image, for example, by using at least one mathematical algorithm and/or at least one pre-determined relationship such as a look-up table, e.g. as described in “Improving Image Performance by Using Color Lookup Tables, Adobe developer support, Technical Note #5121, 31 Mar. 1992 or https://www.rgbtohex.net/hextorgb/.
The comparing of the colored pixels of the mining digital image and the task digital image 120 may comprise comparing color codes of the pixelated mining digital image and the task digital image 120. The comparing may comprise determining if the mining digital image and the task digital image 120 are identical at least within a pre-defined pixel color tolerance range. The mining digital image and the task digital image 120 may be considered identical within the pixel color error tolerance range of ±30% for each of the colors of a pixel, preferably of ±10% for each of the colors of a pixel, more preferably of ±3% for each of the colors of a pixel. Additionally or alternatively, an overall matching of the mining digital image and the task digital image may be determined. The mining digital image and the task digital image 120 may be considered identical within an overall error tolerance range 10% of deviating pixels, preferably of 5% of deviating pixels, more preferably 1% of deviating pixels. The comparing may be performed by a processing device of the node, e.g. of the printing device.
The method, in step 130, may comprise determining by the other nodes of the network if the mining digital image and the task digital image 120 are identical at least within a pre-defined tolerance range. The pixel color error tolerance range of the node performing the method may be tighter in comparison to the pre-defined tolerance range of the other nodes. This may allow ensuring that verifying of the found mining printer control setting is correct within a tolerance range is possible by each of the other nodes even if the printing device has a deviating accuracy.
The method may comprise at least one calibration. A plurality of pre-specified color fields, such as primary colors of a used color space, may be provided in addition to the initial digital image and the task digital image and printed with the mining digital image. This may allow calibration of the scanning result.
A flowchart of an exemplary embodiment of the method for proof-of-work is shown in
For example, in step a) 134, a first node may use the following digital input from the current block: block number (4 bytes), time (4 bytes), hash value of prior block (32 bytes), actual hash value of Merkle Tree of current Transactions (32 byte), difficulty number (4 bytes) and printer control setting (4 bytes), e.g. CC-MM-YY-KK. The difficulty number may define the mining difficulty and may be defined as the number of the pixels of the initial digital image and the number of pixels of the target digital image
The first node may generate a cryptographic hash value by hashing this input of the current block with SHA256 and provides a unique hash value of 32 bytes. The search for the nonce may be performed according to a predefined difficulty to keep a block time constant. The number of target images may be defined by a first part of the difficulty number. In step b), the method may comprise generating a first initial digital image, in particular a first RGB initial digital image. The number of the pixels of the first RGB initial digital image may be defined by the second part of a difficulty number. For example, as shown in
Step d) 140 may comprise printing the RGB image by using the printing device, in particular on the transfer belt in the printing device. Intensity, and therefore amount of applied primary color toner particles (CMYK), may be defined by the mining printer control setting. An area size of each pixel may be set to 10 mm×10 mm, preferably 3 mm×3 mm. The scanning may comprise illuminating of the printed image. A wavelength spectrum may be set by at least one LED light, e.g. emitting light of a color temperature of 3,000 K. A local intensity of the of light on the printed pixels may be defined by at least one lens or lens system. The lens or lens system may be configured for generating brighter and darker areas. For example, the lens or lens system may comprise magnifying glass foils. The method may comprise pixilation of the scanned image, thereby achieving one RGB color code of 24 bits.
Step c) 138 may comprise defining an RGB color code of the first task digital image. For example, as visible in the context of
Step e) 142 may comprise comparing the hexadecimal numerals of the RGB color numerals of printed image after scanning and pixilation with the hexadecimal numerals of the RGB color code of the first task digital image. In case of the difference between the hexadecimal numerals of the RGB color of scanned pixilated image and the hexadecimal numeral of the first task digital image is less than 10 grades for each RGB color, then, the mining printer control setting (“Nonce”) solves the first prerequisite of the proof of work.
In this embodiment, the method comprises generating a second RGB initial digital image. The number of the pixels of the input image may be defined by the second part of the difficulty number. The 24 bit RGB colors of pixels may be obtained from the 64 hexadecimal numerals of the hash value of the current block (e.g. by using the hash shown in
Step f) 144 may comprise printing the second RGB initial digital image on the transfer belt in the printing device. Intensity and therefore amount of applied primary color toner particles (CMYK) may be as defined by the mining printer control setting. The area size of each pixel is set to 10 mm×10 mm. The method may comprise illuminating of printed image. For example, a wavelength spectrum is set by a LED light emitting light of a color temperature of 3,000 K. The local intensity of light on the printed pixels may be defined by lens system generating brighter and darker areas using magnifying glass foils. The method may comprise scanning of printed image on the transfer belt in the printing device. The method may comprise pixilation of scanned initial image achieving one RGB color code of 24 bits.
Step c) 138 may comprise generating RGB color codes of a second task digital image, e.g. by using the 64 hexadecimal numerals of the hash value of the Merkle Tree of the current block (e.g. of the hash value as shown in
Step g) 146 may comprise comparing the hexadecimal numerals of the RGB color numerals of printed second initial digital image after scanning and pixilation with the hexadecimal numerals of the RGB color code of the second task digital image. In case of the difference between the hexadecimal numerals of the RGB color of scanned pixilated second initial digital image and the hexadecimal numeral of the second task digital image is less than 10 grades for each RGB color, then, the mining printer control setting (“Nonce”) solves the second prerequisite, also denoted as challenge, of proof of work.
The method may comprise even further challenges, wherein a number of loops to be repeated as defined by the mining difficulty.
If the mining printer control setting does not solve all challenges, steps a) 134 to g) 146 are to be repeated. If the mining printer control setting does solve all defined challenges, the requirements of proof of work are fulfilled and the found challenges is distributed as “Nonce” to the network of the blockchain.
Validation and/or consensus of the proof of work may be performed by applying the distributed mining printer control setting at the nodes of the network. The method may comprise, at the other nodes of the network of the blockchain, checking, if the found mining printer control setting delivers the same similarity of initial digital images with the task digital images to be performed in the same kind of printing device. A pre-defined tolerance range for the node performing the method may be tighter in comparison to the pre-defined tolerance range of the other nodes. An allowed difference for each RGB color at the nodes may be greater than an allowed difference at the node performing steps a) 134 to g) 146. The larger error tolerance may take into account that the printing devices at the nodes will usually not work identically compared to each other. If the printer control setting number has been validated by a plurality of other nodes, e.g. by more than 10 different other nodes, the proof of work is correct and the defined amount of tokens may transferred to the wallet of the node.
Number | Date | Country | Kind |
---|---|---|---|
21210670.2 | Nov 2021 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2022/082703 | 11/22/2022 | WO |