US10367645B2 — Proof-of-work for smart contracts on a blockchain
Document text
Research, not advice. Part of the Bitcoin research archive (October 2026). Claims labelled unverified, contested or fringe are reported, not endorsed; statuses of bills and rules are as of the date checked. Government, court and patent records are public domain; the research notes are CC BY 4.0.
US010367645B2
(12) United States Patent (10 ) Patent No.: US 10 , 367 ,645 B2
Dechu et al. (45) Date of Patent: Jul. 30 , 2019
(54 ) PROOF -OF -WORK FOR SMART 9 ,608 ,829 B2 * 3/ 2017 Spanos ................. H04L 9 /3297
CONTRACTS ON A BLOCKCHAIN 9 ,774 ,578 B1 * 9 /2017 Ateniese ............... GO6F 3 /0619
9 , 807 ,092 B1 * 10 /2017 Gutzmann .......... HO4L 63/1458
(71) Applicant: International Business Machines 9 ,853 ,819 B2 * 12 /2017 Truu H04L 9 /3247
Corporation , Armonk , NY (US ) 9 , 961,050 B2 * 5 /2018 Gvili . . . . HO4L 63 / 0428
9 ,965 ,628 B2 * 5 /2018 Ford ..................... GO6F 21/554
9 , 967,333 B2 * 5 /2018 Chen ..................... H04L 67 /104
( 72 ) Inventors : Sampath Dechu , Bangalore ( IN ) ; 9 ,967,334 B2 * 5 /2018 Ford . .... ............. H04L 67/ 1044
Ramachandra Kota , Bangalore ( IN ) ; 9 , 973 ,341 B2 * 5 / 2018 Ferrin ................... H04L 9 / 3247
Pratyush Kumar , Bangalore (IN ) 10 ,075 ,298 B2 * 9 /2018 Struttmann ............. GO6F 21/64
10 ,116 ,693 B1 * 10 / 2018 Robinson ............ H04L 63/ 1458
( 73 ) Assignee : International Business Machines 2003/0050943 A1 * 3 /2003 Ikeda . GO6F 7 / 588
708/ 3
Corporation , Armonk , NY (US ) 2005 /0198091 A1* 9/2005 Saito ...... . . . . . G06F 7/588
708/ 250
(* ) Notice: patent
Subject to any disclaimer, the term of this
is extended or adjusted under 35 (Continued )
U . S . C . 154 ( b ) by 159 days.
FOREIGN PATENT DOCUMENTS
(21) Appl. No .: 15 /334,728 WO 2015175722 A1 11 /2015
(22) Filed: Oct. 26 , 2016 OTHER PUBLICATIONS
(65) Prior Publication Data Sebastian Feld , Mirco Schonfeld , Martin Werner, Analyzing the
US 2018 /0115425 A1 Apr. 26 , 2018 deployment of Bitcoin 's P2P network under an AS -level perspec
(51) Int. CI. tive, Elsevier, 2014 .*
H04L 29 /06 (2006 .01 ) (Continued )
H04L 9 /32 (2006 .01)
U . S . CI. Primary Examiner — David Garcia Cervetti
CPC ........ H04L 9/ 3239 (2013.01); H04L 2209 /38 (74 ) Attorney, Agent, or Firm — Proactive Patents LLC
( 2013.01)
(58 ) Field of Classification Search (57) ABSTRACT
CPC . . .. .. . ... . .. .. ........ H04L 9 /3228 ; HO4L 9 /0637
See application file for complete search history. A blockchain configuration may be used to store a distrib
uted ledger for information security and accessibility . One
(56 ) References Cited example method of operation may include determining a
proof-of-work via a device and using a predefined set of
U . S . PATENT DOCUMENTS nonce values when determining the proof-of-work , storing
the proof-of-work on a blockchain , and broadcasting the
7 ,210 , 169 B2 * 4 /2007 Smith ............... H04L 63/083 proof-of-work as a broadcast message .
709 /228
7 .356 ,696 B1 * 4 / 2008 Jakobsson ............. H04L 9 /3218
713 / 168 17 Claims, 5 Drawing Sheets
200
IOT DEVICE # 1 SERVER BLOCK DATA
210 (BLOCKCHAIN ) 230
220
INITIATING THE
DETERMINATION
OF A PROOF -OF
WORK
212
REQUEST NONCE214
FROM BLOCK DATA
IDENTIFY
EUGIBLE DATA
BLOCKS
216
SELECT DATA
FIELDS FOR
NONCE VALUES
218
PROVIDE 222
NONCE VALUES
CALCULATE
PROOF- OF
WORK
224
BROADCAST PROOF -OF-WORK
225
VERIFY NONCE REFERENCE BLOCK ASSOCIATED
WITH NONCE IS PART OF AN ELIGIBLE BLOCK
LINKED TO 220
THE TOT DEVICE
LOG PROOF- OF -WORK
232
US 10 ,Page
367,2645 B2
(56) References Cited 2017 / 0243193 A1 * 8 / 2017 Manian .............. G06Q 20 / 3829
2017 /0249482 A1 * 8 /2017 Takaai .................. H04L 9 /3236
U . S . PATENT DOCUMENTS 2017 /0300627 A1* 10 /2017 Giordano ............... G16H 10 /60
2017 /0300978 A1* 10 /2017 Narasimhan ....... G06Q 30 /0279
2007/0156798 A1* 7 / 2007 Saito ................... G06F 7 /588 2017 /0331803 A1 * 11/ 2017 Parello ... ... GO6F 21/44
708 /250 2017 /0345011 A1 * 11/2017 Salami ................... G060 20 /42
2007/0247367 A1 * 10 /2007 Anjum ................ H04W 64 /00 2017 / 0345019 A1 * 11 /2017 Radocchia ........... G06Q 30 /018
342 / 464 2017 /0358041 A1 * 12 /2017 Forbes, Jr. ............. BOOL 53 /68
2007/0271320 Al * 11/2007 Tsuyuzaki ............. G06F 7 / 588 2017 /0359374 A1 * 12/2017 Smith .. G06F 21/ 57
708/251 2017 / 0364700 A1 * 12 /2017 Goldfarb ..... ............ . GO6F 21/64
2008/0277470 A1 * 11/ 2008 Gallaher ................ G07C 13/00 2017 /0364701 A1 * 12/2017 Struttmann .............. GO6F 21/ 78
235 /386 2017/0366353 A1 * 12 /2017 Struttmann ..... GO6F 21/64
2010/0031315 A1 * 2/2010 Feng ................. G06F 21/ 554 2018 /0013567 A1 * 1/2018 Davis HO4L 9 /0637
726 /3 2018/ 0025365 A1* 1/2018 Wilkinson ............. G06Q 10 /08
2011/0041178 A1 * 2 /2011 Jakobsson .......... G06F 21/ 566 705 /7 .29
726 / 22 2018 /0039667 A1 * 2 /2018 Pierce ... G060 20 /0658
2011 /0041180 A1 * 2 /2011 Jakobsson ............... G06F 21/56 2018 / 0088928 A1 * 3 / 2018 Smith . H04L 67/ 34
726 / 23 2018 /0089436 A1 * 3 / 2018 Smith ... GO6F 21/ 575
2011/0231913 A1 * 9 /2011 Feng ....................... G06F 21/ 46 2018/0089683 A1 * 3 /2018 Setty ....................... H04L 63/ 12
726 / 7 2018 / 0096042 A1 * 4 / 2018 Kuzma .......... ....... H04L 9 / 3236
2012/0317136 A1 * 12/ 2012 Papish ... ............ G06F 16 / 9535 2018 /0097779 A1 * 4 / 2018 Karame ............... G06Q 20 /065
707 / 769 2018 /0102013 A1 * 4 / 2018 Spanos ................... G06F 21/64
2013 /0024933 A1 * 1/ 2013 Jakobsson ............. GO6F 21/ 567 2018 /0117447 A1 * 5/ 2018 Tran ....................... G06Q 20 /00
726 / 22 2018 /0123882 A1 * 5/2018 Anderson ........... HO4L 41/0813
2013 /0024936 A1* 1/2013 Jakobsson ............. GO6F 21/554 2018/0152442 A1* 5/2018 Buldas ... HO4L 9 / 3247
726 /23
2013 /0215115 A1 * 8/ 2013 Jenkins . ................. GO6T 15 /20 OTHER PUBLICATIONS
345 /420
2015/0134966 A1* 5 /2015 Wallrabenstein ... H04L 63/0853
713 / 174 Nicholas Roth, An Architectural Assessment of Bitcoin Using the
2015/0332283 A1* 11/2015 Witchey G06Q 30 /018 SystemsModeling Language, Elsevier, 2015 .*
705 /3 Sleiman et al., Bitcoin Message : Data Insertion on a Proof -of-Work
2016 /0028552 A1* 1/2016 Spanos ............... HO4L 9 /3297 Cryptocurrency System , IEEE , 2015 .*
713 / 178 Carlos Pinzon , Camilo Rocha, Double-spend Attack Models with
2016 /0218879 A1 * 7 /2016 Ferrin ................. H04L 9 /3247
*
Time Advantange for Bitcoin , Elsevier, 2016 .*
2016 /0261685 A1 * *
9 / 2016 Chen HO4L 67/ 104 Preston Miller, The cryptocurrency enigma, Digital Forensics, 2016 ,
2016 /0261690 A1 * 9 / 2016 Ford
*
... HO4L 67 / 1044
2016 /0299918 A1 * 10 / 2016 Ford ..... G06F 21/645 doi: 10 . 1016 /B978 -0 -12- 804526 - 8 .00001- 0 .*
2016 / 0301531 A1 * 10 / 2016 Finlow -Bates ......... GO6F 21/33 Gobel et al., Bitcoin blockchain dynamics: The selfish -mine strat
2016 / 0330034 A1 * 11/ 2016 Back ...................... G06Q 20 /06 egy in the presence of propagation delay , Elsevier, Jul. 20 , 2016 . *
2016 /0342977 A1 * 11/ 2016 Lam . ...................... GO6Q 20 / 02 Kosba et al. Hawk : The blockchain model of cryptography and
2016 /0379212 A1 * 12/2016 Bowman .......... G06Q 20 /38215 privacy -preserving smart contracts. Cryptology ePrint Archive , Report
705/71 2015 /675, 2015 . http :// eprint. iacr. org , 201.
2017 /0011460 A1 * 1/ 2017 Molinari ................ G06Q 40 /04 Buterin , “ A next - generation smart contract and decentralized appli
2017 /0031676 A1 * 2/ 2017 Cecchetti .................. GO6F 8 /65 cation platform ." White Paper (2014 ) .
2017 /0033932 A1 * 2/ 2017 Truu ..................... HO4L 9 / 3247
2017 /0091750 A1 * 3/ 2017 Maim ................... H04L 9 / 3236 Vukolic , “ The quest for scalable blockchain fabric : Proof-of-work
2017 /0116693 A1 * 4 / 2017 Rae . G06F 21/64 vs. BFT replication .” Open Problems in Network Security. Springer
2017 /0200147 A1 * 7 / 2017 Ansari G06Q 20 /349 International Publishing, 2015 . 112 - 125 .
2017 / 0206382 A1 * 7 / 2017 Rodriguez De Castro ... Bonneau et al., “ SOK : Research Perspectives and Challenges for
G06F 21/ 76 Bitcoin and Cryptocurrencies” 2015 IEEE Symposium on Security
2017 /0222814 A1 * 8/ 2017 Oberhauser ........... HO4L 9 / 3247 and Privacy
2017 /0222878 A1 * 8/ 2017 Jacquin . ................. H04L 41 /28 Courtois et al., " Optimizing sha256 in bitcoin mining ” Cryptogra
2017 /0237569 A1 * 8/ 2017 Vandervort .......... H04L 9 / 3247 phy and Security Systems. Springer Berlin Heidelberg, 2014 . 131
713 / 171
2017/ 0237570 A1 * 8/ 2017 Vandervort . ...... H04L 63 /0442 144 .
713 / 176
2017/ 0243176 A1* 8/ 2017 Hanke .............. G06Q 20 /0655 * cited by examiner
U . S . Patent Jul. 30, 2019 Sheet 1 of 5 US 10 , 367,645 B2
100
MB - 101 CONTRACT MB - ID1 MB - ID2
TOT ID1 ID1 TOT ID2 TOT ID1
DATA FIELD : IoT ID1 - IoT + DATA FIELD : DATA FIELD :
2201 ID2 3432 2345
122 124 126 128
MB - 102 MB - ID3 MB - ID3 MB – 104
TOT ID2 TOT ID1 TOT ID2 TOT ID1
DATA FIELD : DATA FIELD : DATA FIELD : DATA FIELD
7864 6757 0932 1654
132 134 136 138
HASH OF
PREVIOUS BLOCK
MB - ID4
IoT ID1
142
HASH OF
PAYMENT - CURRENT BLOCK
(PAYMENT
CONTRACT ID21 CONTRACT ID2)
PAY $ 4 : IoT ID31 144
1 TO IOT ID5 1
i - _ 152 _ - -
NONCE (PROOF )
146
HASH OF NRB MB
ID3
10T ID1
148
FIG . 1
U . S . Patent Jul. 30, 2019 Sheet 2 of 5 US 10 ,367,645 B2
200
TOT DEVICE # 1 SERVER BLOCK DATA
210 (BLOCKCHAIN
220
) 230
INITIATING THE
DETERMINATION
OF A PROOF -OF
WORK
212
REQUEST NONCE FROM BLOCK DATA
214
IDENTIFY
ELIGIBLE DATA
BLOCKS
216
SELECT DATA
FIELDS FOR
NONCE VALUES
218
PROVIDE NONCE VALUES
222
CALCULATE
PROOF -OF
WORK
224
BROADCAST PROOF
226
-OF-WORK
VERIFY NONCE REFERENCE BLOCK ASSOCIATED
WITH NONCE IS PART OF AN ELIGIBLE BLOCK
LINKED TO THE 10T DEVICE
228
LOG PROOF232-OF-WORK
.. . . ... . .. .
FIG . 2
U . S . Patent Jul. 30, 2019 Sheet 3 of 5 US 10 ,367,645 B2
300
DETERMINING A PROOF-OF -WORK
VIA A DEVICE
312
USING A PREDEFINED SET OF
NONCE VALUES WHEN
DETERMINING THE PROOF-OF-WORK
- 314
STORING THE PROOF -OF -WORK ON
A BLOCKCHAIN
316
BROADCASTING THE PROOF -OF
WORK AS A BROADCAST MESSAGE
318
FIG . 3A
U . S . Patent Jul. 30, 2019 Sheet 4 of 5 US 10 ,367,645 B2
350
INCREMENTING A PREDEFINED SET
OF NONCE VALUES
352
DETERMINING A PROOF -OF -WORK
USING THE INCREMENTED
PREDEFINED SET OF NONCE
VALUES
354
STORING THE PROOF - OF -WORK ON
A BLOCKCHAIN
356
BROADCASTING THE PROOF -OF
WORK AS A BROADCAST MESSAGE
358
FIG . 3B
atent Jul. 30, 2019 Sheet 5 of 5 US 10 , 367,645 B2
400
PROCESSOR MEMORY
420 410
SOFTWARE
MODULE
430
FIG . 4
US 10 ,367 ,645 B2
PROOF -OF-WORK FOR SMART configurations . Thus , the following detailed description of
CONTRACTS ON A BLOCKCHAIN the embodiments of at least one of a method , apparatus, and
system , as represented in the attached figures, is not intended
TECHNICAL FIELD to limit the scope ofthe application as claimed ,butismerely
representative of selected embodiments .
This application relates to using proof-of-work opera The instant features, structures, or characteristics as
tions , and more particularly, to using values to determine a described throughout this specification may be combined in
proof-of-work scheme. any suitable manner in one or more embodiments . For
example , the usage of the phrases “ example embodiments” ,
BACKGROUND 10 " some embodiments ” , or other similar language, throughout
this specification refers to the fact that a particular feature,
In a blockchain configuration , a large amount of infor structure, or characteristic described in connection with the
mation is related to financial transactions . As the popularityembodiment may be included in at least one embodiment.
ofthe blockchain configuration continues to increase so does Thus , appearances of the phrases “ example embodiments ” ,
the desire to implement additional functions on the block - 15 “ in some embodiments ” , “ in other embodiments ” , or other
chain . For example , when determining information on the similar language, throughout this specification do not nec
blockchain for smart contracts, the values used to calculate essarily all refer to the same group of embodiments , and the
described features, structures, or characteristics may be
the information may be derived based on a particular ran combined
dom set of values. However , it may be optimal to use values in any suitable manner in one or more embodi
which are based on other known sources of information . 20 ments .
In addition , while the term " message” may have been
SUMMARY used in the description of embodiments, the application may
be applied to many types of network data , such as, packet,
One example embodiment may include a method that frame, datagram , etc . The term “message” also includes
includes one or more of determining a proof-of -work via a 25 packet, frame, datagram , and any equivalents thereof. Fur
device , using a predefined set of nonce values when deter - thermore , while certain types ofmessages and signaling may
mining the proof-of-work , storing the proof-of-work on a be depicted in exemplary embodiments they are not limited
blockchain , and broadcasting the proof-of-work as a broad to a certain type of message , and the application is not
cast message limited to a certain type of signaling
Another example embodiment may include an apparatus 30 Example embodiments provide an application and/ or soft
that includes one or more of a processor configured to ware procedure, configured to be executed by a processor,
determine a proof -of-work via a device, use a predefined set which provides an enhanced Proof- of-Work (POW ) scheme
of nonce values when the proof-of-work is determined , store for smart contracts. A PoW includes data that is generated
the proof-of-work on a blockchain , and a transmitter con based on requirements of a blockchain . Generating a PoW is
figured to broadcast the proof-of-work as a broadcast mes- 35 often measured in terms of the amount of computing
sage . resources required to perform the PoW . Producing a PoW
Yet another example embodiment may include a non can be a random process with low probability so that a
transitory computer readable medium configured to store certain amount of trial and error can be needed before a valid
instructions that when executed causes a processor to per PoW is generated . The PoW is based on blockchain trans
form one or more of determining a proof-of-work via a 40 action data that is modified into a valid hash . Adding integer
device , using a predefined set of nonce values when deter value data to the end of the hash is referred to as a ' nonce'.
mining the proof-of-work , storing the proof-of-work on a In one example , the smart contracts may be created in an
blockchain , and broadcasting the proof- of-work as a broad Internet of Things ( IoT) network with IoT compatible
cast message . devices . In general, any IoT device while computing a
45 proof-of-work is conventionally restricted to use only a
BRIEF DESCRIPTION OF THE DRAWINGS specific set of values for a nonce . In cryptography , a nonce
is an arbitrary number that may only be used once and is
FIG . 1 illustrates a logic diagram of determining a proof often a random or pseudo-random number. A set of values
of-work for a device using a specified nonce according to could be derived from other known attributes in the block
example embodiments . 50 chain . For example , values may be derived from “ eligible
FIG . 2 illustrates a system signaling diagram of a block - measurement blocks ” (EMB ) which are a subset of mea
chain proof-of-work procedure according to example surement blocks associated with an IoT device . The subset
embodiments . of EMBs can be selected based on various criteria . In one
FIG . 3A illustrates a flow diagram of an example method embodiment, the derivations of a nonce are based on pre
of verification and content exchange according to example 55 defined “ data to nonce transformations” (D2N transforma
embodiments. tions ) on specific predefined " data fields ” in the EMBs.
FIG . 3B illustrates another flow diagram of another When broadcasting the PoW , the IoT device will identify the
example method of operation according to example embodi “ nonce reference block ” (NRB ) from which the nonce was
ments . derived . The IoT network verifies that the NRB is a member
FIG . 4 illustrates an example network entity configured to 60 of the EMBs of that IoT device . The EMBs, data fields, and
support one or more of the example embodiments . the data to nonce transformations are defined such that
across IoT devices on a network , the size of a valid set of
DETAILED DESCRIPTION nonce values is approximately the same. In this example , the
complexity of constructing a PoW can be adjusted dynami
It will be readily understood that the instant components , 65 cally, such that there is no incentive for any IoT device to use
as generally described and illustrated in the figures herein , computing power beyond a determined threshold to increase
may be arranged and designed in a wide variety of different its chances of a successful completion of a PoW .
US 10 , 367 ,645 B2
IoT networks implement smart contracts , such as peer to the IoT device has to identify the “ nonce reference block ”
peer (P2P) energy networks , logistic networks, crowd (NRB ) from which the nonce was derived . The IoT network
sourced weather networks, and the like . Most IoT devices verifies that the NRB is a member of EMBs of that IoT. The
are constrained in the amount of energy they can consume. EMBs, data fields, and the data to nonce transformations are
To enable such low -power devices to compute proof-of- 5 defined such that, across IoT devices, the size of a valid set
work for smart contracts , the complexity of a crypto - effort of a nonce is approximately the same. The complexity of the
or crypto -puzzle should be reduced . However, reduction in constructing proof of work can be adjusted , such that there
the complexity of the crypto -puzzle can enable malicious is no incentive for any IoT device to use computing power
participants to manipulate the smart contracts. Modifying beyond a predetermined threshold , to increase its chances of
the conventional proof-of-work scheme to avoid such 10 successful completion of proof-of-work .
manipulation in IoT networks may include various opera - The IoT devices may be smart meters located throughout
tions to reduce the complexity of solving a crypto -puzzle . In an energy network , RFID readers on logistics networks ,
one embodiment, the scheme does not depend on the nature weather sensors in crowd- sourced weather monitoring net
of smart contracts or modifying the smart contract contents . works, etc . The data fields in the measurements blocks may
Enhancing the computational capacity of IoT devices 15 be energy , voltage , current readings, products codes , tem
should not increase the chances of a successful completion perature , wind speed , irradiance , etc . The EMBs may be the
of a proof- of-work with respect to other IoT devices. The latest measurement block of an IoT device and /or measure
scheme should provide equal chances of successful comple ment blocks within a period of time T (i.e ., 24 hours ). The
tion of proof-of-work to all IoT devices in the network . In D2N may include a last number of bits of the data or a hash
general, IoT devices measure network data that is relevant to 20 of the data .
settling smart contracts ( e . g ., energy measurements in P2P FIG . 1 illustrates a logic diagram 100 of determining a
energy networks based on a period of time, such as minutes proof-of-work for a device using a specified nonce accord
or hours ). To enforce smart contracts on the blockchain , the ing to example embodiments . Referring to FIG . 1 , the
data is logged on the blockchain as part of a unit of measure , example includes various blocks including measurement
such as one or more measurement blocks. Each IoT device 25 blocks (MBs) 122 and 126 - 138 which are stored on the
generates a series of such measurement blocks over time. As blockchain along with a contract block 124 . A most recent
a result, this data is publicly accessible, trusted , and uniquely block is block 138 . In this example , two different IoT
associated with measuring an IoT device . For an IoT device , devices have been computing blocks , IoT ID1 122 and IoT
the series of data can exhibit variability over time ( e . g ., ID2 126 . Assuming IoT device ID1 wants to compute a
changing energy consumption in P2P energy networks, 30 proof-of-work for a next block (not shown ), the eligible
product codes in logistics network , etc .). Variability of the measurement blocks (EMBs ) used in this example are 134
data is also exhibited across all IoT devices . In typical smart and 138 based on a time constraint or time variable which
contracts , IoT devices can use any randomly generated dictated the requirement to use those blocks ( i. e., blocks
nonce to compute a proof- of -work . However, according to from last N number of hours as eligible blocks). In this
example embodiments, the IoT devices are restricted to use 35 example , the D2N transformation includes 4 least significant
certain known values as the nonce for hash completion and bits (LSBs ) based on the allowed data 6757 and 1654
PoW determinations. The values are the result of D2N derived from the EMBs. The bits are 0101 and 0110 and the
transformations on a specific data field in EMBs of a ID1 IoT device will attempt to solve the ' crypto -puzzle '
particular IoT device . (POW ) with the above selected nonce values of the EMBs.
To establish a consensus on validity , while submitting a 40 If the ID1 device succeeds with nonce 0101, the nonce
proof-of-work , the IoT device provides a NRB as part of a reference block (NRB )=MB- ID3 IoT ID1 134 . The opera
new block . The eligibility of a NRB is verified by other tions are outlined in the flow diagram of operations 142
devices in the network , in addition to verifying a correctness through 148 which are associated with certain MBs. For
of a transaction as performed in existing protocols . As a example , using the hash of the previous block MB ID4 IoT
number of IoT devices in the network becomes larger and 45 ID1 in operation 142, determining the hash 144 of the
the rate of new measurements is high , there will be enough current block which is contract ID2 152, and using the nonce
data points to act as nonces across the network for any new of 0101 from MB - ID3 IoT ID1 146 , the hash will be based
block . For instance , if the number of IoT devices = 1 ,000 , 000 , on that block 134 as the nonce reference block (NRB ) 148 .
and a rate ofmeasurements = hourly , then the EMBs= last 24 FIG . 2 illustrates a system signaling diagram of a block
hours of the overall measurement block (MBs ) yields a total 50 chain proof- of-work procedure according to example
number of nonce choices = 24 million . The D2N transforma- embodiments . Referring to FIG . 2 , the diagram 200 includes
tions are such that the derived nonces are uncorrelated . IoT a IoT device 210 as one of many devices which may be
device computational power / capacity is capable of checking operating on the network . The server 220 represents a
the crypto -puzzle with a limited set of nonce values within facilitator of the blockchain data or the blockchain network .
the time interval taken by the network on average to insert 55 The block data 230 may be stored separately , locally as part
a new block . Since , for a particular IoT device , the number of a memory of the server 220 and/or the IoT device 210 . In
of options for a nonce is limited ( e. g., 24 million ), increasing operation , when an IoT device is attempting to initiate a
the computation power will not increase the chances of proof-of-work determination 212 , the nonce value 214 that
successful computation of proof-of-work . will be used is successfully identified , retrieved and pro
Any IoT device while computing a proof-of-work is 60 vided from the block data of the EMBs. The block data must
restricted to use only a specific set of values for a nonce. The be examined to identify eligible data blocks 216 from which
set of values are derived from " eligible measurement to select the nonce values 218 . The nonce values are
blocks ” (EMB ) which are subset of the measurement blocks provided 222 to the IoT device so the proof- of-work can be
associated with the IoT device . The derivations of nonce are determined or calculated 224. The completed proof- of-work
based on predefined “ data to nonce transformations” (D2N 65 can then be broadcasted 226 to the blockchain 220 which
transformations ) performed on specific predefined “ data verifies 228 the nonce reference block associated with the
fields ” in the EMBs . When broadcasting the proof-of-work , nonce is actually part of an eligible block (i.e ., 24 hour time
US 10 , 367 ,645 B2
window , etc.), and that the eligible block belongs to the IoT may have a number of possible values for a nonce, such as
device calculating the nonce . Once the determination is 24 , which helps in restricting the amount of computational
made, the proof-of-work is logged 232 for future reference power that each device needs to compute the PoW . However,
as part of the blockchain . at an aggregate network level, assuming 1 million IoT
FIG . 3A illustrates a flow diagram 300 of an example 5 devices are operating , the total set of choices for the nonce
method of verification and content exchange according to is 24 million .
example embodiments . Referring to FIG . 3A , one example In one embodiment, all computations and storage occur
method of operation may include one or more of determin - on the IoT devices , and thus each IoT device maintains a
ing a proof-of-work via a device 312 using a predefined set record of the distributed ledger and has computational power
of nonce values when determining the proof- of-work 314 , 10 to derive the nonce values. IoT devices add NRB ID data to
and storing the proof-of-work on a blockchain 316 . The the block that is being added to the blockchain . Verification
proof-of-work may also be broadcast as a broadcast message of the NRB can involve a number of operations, such as two
318. The device may be an Internet of Things (IoT) com - operations, including the device that submitted the block
patible device . The method may also include retrieving the actually owning the NRB and a nonce value being derived
predefined set of nonce values from eligible measurement 15 from the NRB as a valid proof of work . In the example of
blocks ( EMBs) associated with the device , determining the FIG . 1, the ID IoT device 122 attempts to compute a PoW ,
predefined set of nonce values from predefined data fields of and it is assumed that ID3 134 and ID4 138 are EMBs based
the EMBs, and the broadcast message may include a nonce on the time constraint requirement ( i. e ., last 24 hours , etc .) .
reference block (NRB ) used to derive the nonce values . The MB - ID3 134 and MB - ID4 138 are the EMBs based on a
method may further include verifying the NRB is part of the 20 recent time frame requirement and MB - ID1 and MB - ID 2 do
EMBs for the device . The proof- of-work may be stored in a not qualify in this example .
smart contract of a blockchain . Payment contract ID2 152 represents a new transaction
FIG . 3B illustrates a flow diagram 350 of an example which needs to be added to the blockchain . In one example ,
method of verification and content exchange according to D2N transformation : 4 LSBs: 0101, 0110 , includes two
example embodiments . Referring to FIG . 3B , another 25 values which represent two possible values for a nonce .
example method of operation may include one or more of Only one (0101 ) qualifies to become a nonce as it solves the
incrementing a predefined set of nonce values 352 , deter- crypto -puzzle PoW that must be satisfied . Within a given
mining the proof-of-work using the incremented predefined time window , only a fraction of nodes will be able to solve
set of nonce values 354 , storing the proof- of -work on a the puzzle . A set of ' early ' puzzle solvers is not known and
blockchain 356 , and broadcasting the proof-of-work as a 30 changes from one PoW to the next PoW , and hence acquir
broadcast message 358. In this example, incrementing the ing a smaller group does not affect correctness . To control
nonce values may include a pre -screening to identify valid - the puzzle complexity in comparison with a network delay,
ity based on a key block , if the validity is uncertain , the puzzle complexity can be changed by adjusting a nonce
nonce is incremented and updates are broadcasted to other requirement. In addition , the size of the EMBs can change
peer nodes in the network . The increment may include a 35 as well as the variations of the D2N . For large networks with
predefined increment value which is known to and /or used large communication delays , the complexity could be set
by privileged parties . such that nodesmight wait for significantly different incom
A Proof-of-Work (PoW ) definition in this example can ing EMBs to solve the puzzle . This will ensure enough time
apply to blockchain configurations, such ones where a miner willbe taken to solve the puzzle in comparison with network
is calculating a hash . In one embodiment , customized nonce 40 delay and reduce the branching of the blockchain .
values are used in calculating this hash and a typical miner T he above embodiments may be implemented in hard
computation is avoided due to the customized nonce values . ware, in a computer program executed by a processor, in
A valid set of EMBs may be used by applying a D2N firmware , or in a combination of the above. A computer
transformation on the data , and a set of possible nonce program may be embodied on a computer readable medium ,
values are then generated . The valid nonce for a PoW 45 such as a storage medium . For example , a computer program
belongs to a subset for that instance . The EMBs are mea - may reside in random access memory (“RAM ” ), flash
surement blocks that satisfy given criteria , such as what is memory , read -only memory (“ ROM " ) , erasable program
generated in a period of time and which are agreed to by mable read-only memory (“ EPROM ” ), electrically erasable
network participants . EMBs are similar to a blockchain programmable read - only memory (“ EEPROM ” ), registers ,
block that has been completed but record measurement data 50 hard disk , a removable disk , a compact disk read -only
from IOT devices. These blocks qualify to become EMBs memory (“ CD -ROM ” ), or any other form of storage
based on the selection criteria . Among the EMBs, the one medium known in the art.
which provides a valid nonce value becomes the NRB . An exemplary storage medium may be coupled to the
Nonce values are derived by applying D2N transformations processor such that the processor may read information
on the data fields of the NRB . Any data fields of an EMB 55 from , and write information to , the storagemedium . In the
which are compatible for D2N transformation can be used . alternative, the storage medium may be integral to the
Another example includes EMBs that are among the last processor. The processor and the storage medium may reside
number of blocks as opposed to just the last blocks in a in an application specific integrated circuit (“ ASIC ” ) . In the
certain time frame. The D2N transformation takes the data alternative , the processor and the storage medium may
stored in the EMBs and transforms it into possible nonce 60 reside as discrete components . For example , FIG . 4 illus
values . Depending on the domain , suitable transformation trates an example network element 400 , which may repre
functions are defined to convert the measurement data to a sent or be integrated in any of the above-described compo
short set of bits . For example , the last ‘ K ' bits of the data nents, etc .
may include eligibility criteria for EMBs. The data fields As illustrated in FIG . 4 , a memory 410 and a processor
used for D2N transformations and D2N transformation 65 420 may be discrete components of a network entity 400 that
functions can be defined based on the domain and can be are used to execute an application or set of operations as
agreed upon by the network participants . Each IoT device described herein . The application may be coded in software
US 10 , 367 ,645 B2
in a computer language understood by the processor 420 , identified module need not be physically located together,
and stored in a computer readable medium , such as, a but may comprise disparate instructions stored in different
memory 410 . The computer readable medium may be a locations which , when joined logically together, comprise
non -transitory computer readable medium that includes tan the module and achieve the stated purpose for the module .
gible hardware components, such as memory , that can store 5 Further, modules may be stored on a computer -readable
software . Furthermore , a software module 430 may be medium , which may be, for instance , a hard disk drive, flash
another discrete entity that is part of the network entity 400 , device, random access memory (RAM ), tape , or any other
and which contains software instructions that may be
executed by the processor 420 to effectuate one or more of Indeed , a module of executable code could be a single
the functions described herein . In addition to the above 10 instruction , or many instructions, and may even be distrib
noted components of the network entity 400 , the network uted over several different code segments, among different
entity 400 may also have a transmitter and receiver pair programs, and across several memory devices . Similarly ,
configured to receive and transmit communication signals operational data may be identified and illustrated herein
(not shown ). within modules , and may be embodied in any suitable form
Although an exemplary embodiment of at least one of a 15 and organized within any suitable type ofdata structure . The
system , method, and non -transitory computer readable operational data may be collected as a single data set, or may
medium has been illustrated in the accompanied drawings be distributed over different locations including over differ
and described in the foregoing detailed description , it will be ent storage devices , and may exist, at least partially , merely
understood that the application is not limited to the embodi - as electronic signals on a system or network .
ments disclosed , but is capable of numerous rearrangements, 20 It will be readily understood that the components of the
modifications, and substitutions as set forth and defined by application , as generally described and illustrated in the
the following claims. For example , the capabilities of the figures herein , may be arranged and designed in a wide
system of the various figures can be performed by one or variety of different configurations. Thus , the detailed
more of the modules or components described herein or in description of the embodiments is not intended to limit the
a distributed architecture and may include a transmitter , 25 scope of the application as claimed , but is merely represen
receiver or pair of both . For example , all or part of the tative of selected embodiments of the application .
functionality performed by the individualmodules, may be One having ordinary skill in the art will readily under
performed by one or more of these modules. Further , the stand that the above may be practiced with steps in a
functionality described herein may be performed at various different order, and/or with hardware elements in configu
times and in relation to various events, internal or external 30 rations that are different than those which are disclosed .
to the modules or components . Also , the information sent Therefore , although the application has been described
between various modules can be sent between the modules based upon these preferred embodiments, it would be appar
via at least one of: a data network , the Internet, a voice ent to those of skill in the art that certain modifications ,
network , an Internet Protocol network , a wireless device , a variations , and alternative constructions would be apparent.
wired device and / or via plurality of protocols. Also , the 35 While preferred embodiments of the present application
messages sent or received by any of themodules may be sent have been described , it is to be understood that the embodi
or received directly and / or via one or more of the other ments described are illustrative only and the scope of the
modules. application is to be defined solely by the appended claims
APP
One skilled in the art will appreciate that a “ system ” could when considered with a full range of equivalents and modi
be embodied as a personal computer, a server, a console , a 40 fications ( e.g ., protocols, hardware devices , software plat
personal digital assistant (PDA ), a cell phone , a tablet forms etc .) thereto .
computing device, a smartphone or any other suitable com What is claimed is :
puting device , or combination of devices . Presenting the 1 . A method , comprising:
above -described functions as being performed by a “ system ” retrieving, via a device, a predefined set of nonce values
is not intended to limit the scope of the present application 45 that are derived based on predefined data to nonce
in any way, but is intended to provide one example ofmany transformations, obtained over a predefined period of
embodiments. Indeed , methods, systems and apparatuses time, on predefined data fields of eligible measurement
disclosed herein may be implemented in localized and blocks (EMBs) that are subset of measurement blocks
distributed forms consistent with computing technology . associated with the device on a blockchain ;
It should be noted that some of the system features 50 calculating, via the device , a proof -of-work using the
described in this specification have been presented as mod predefined set of nonce values;
ules, in order to more particularly emphasize their imple storing, via the device, the proof-of-work on the block
mentation independence. For example , a module may be chain ; and
implemented as a hardware circuit comprising custom very broadcasting , via the device , and to the blockchain , the
large scale integration (VLSI) circuits or gate arrays , off- 55 broad proof -of-work as a broadcast message .
the -shelf semiconductors such as logic chips, transistors, or 2 . The method of claim 1, wherein the device is an
other discrete components . A module may also be imple - Internet of Things (IoT ) compatible device .
mented in programmable hardware devices such as field 3 . The method of claim 1, further comprising :
programmable gate arrays , programmable array logic, pro determining the predefined set of nonce values from
grammable logic devices , graphics processing units, or the 60 predefined data fields of the EMBs.
like . 4 . The method of claim 1, wherein the broadcast message
A module may also be at least partially implemented in comprises:
software for execution by various types of processors. An a nonce reference block (NRB ) used to derive the nonce
identified unit of executable code may, for instance , com values, wherein the NRB references one or more of the
prise one or more physical or logical blocks of computer 65 EMBs used to obtain the nonce values .
instructions that may , for instance, be organized as an object, 5 . The method of claim 4 , further comprising :
procedure, or function . Nevertheless , the executables of an verifying that the NRB is part of the EMBs for the device .
US 10 ,367 ,645 B2
10
6 . The method of claim 1, wherein the proof-of-work is retrieving , via a device , a predefined set of nonce values
stored in a smart contract. that are derived based on predefined data to nonce
7 . An apparatus, comprising: transformations, obtained over a predefined period of
a processor configured to : time, on predefined data fields of eligible measurement
retrieve a predefined set of nonce values that are 5 blocks ( EMBs) that are subset of measurement blocks
derived based on predefined data to nonce transfor
mations, obtained over a predefined period of time, associated with the device on a blockchain ;
on predefined data fields of eligible measurement calculating, via the device, a proof-of-work using the
blocks (EMBs) that are subset of measurement predefined set of nonce values;
blocks associated with the device on a blockchain ; storing the proof-of-work on a blockchain ; and
determine a proof-of-work using the predefined set of
nonce values ; flo broadcasting the proof-of-work as a broadcast message to
the blockchain .
store the proof-of-work on a blockchain ; and 14 . The non -transitory computer readable medium of
cause the proof-of-work to be broadcast , as a broadcast claim 13 , wherein the device is an Internet of Things ( IoT )
message, to the blockchain . e compatible device .
8 . The apparatus of claim 7, wherein the device is an 15
Internet of Things (IoT) compatible device . 15 . The non -transitory computer readable medium of
9 . The apparatus of claim 7, wherein the processor is claim 13 , further configured to store at least one instruction
further configured to : that when executed by the processor causes the processor to
determine the predefined set of nonce values from pre 20 perform :
determining the predefined set of nonce values from
defined data fields of the EMBs. odrast predefined data fields of the EMBs.
10. The apparatus of claim 7 , wherein the broadcast 16 . The non -transitory computer readable medium of
message comprises:
a nonce reference block (NRB ) used to derive the nonce claim 13 , wherein the broadcast message comprises :
values, wherein the NRB references one ormore of the a nonce reference block (NRB ) used to derive the nonce
EMBs used to obtain the nonce values . 25 values, wherein the NRB references one or more of the
11 . The apparatus of claim 10 , wherein the processor is EMBs used to obtain the nonce values .
further configured to : 17 . The non -transitory computer readable medium of
verify that the NRB is part of the EMBs for the device . claim 16 , further configured to store at least one instruction
that when executed by the processor causes the processor to
12 . The apparatus of claim 7 , wherein the proof-of-work 30 perform
is stored in a smart contract. :
13. A non -transitory computer readable medium config verifying that the NRB is part of the EMBs for the device ,
ured to store at least one instruction that when executed by and wherein the proof-of-work is stored in a smart
a processor of a device implementing a blockchain causes contract.
the processor to perform :