US10367645B2 — Proof-of-work for smart contracts on a blockchain

Bitcoin Research — Law, Regulation, Markets & Origins (2026)

Patents

2016-10-26

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 :