DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Action is non-final and is in response to the claims filed 09/27/2022. Claims 1-4, 6-13, and 15-20 are currently pending, of which claims 1-4, 6-13, and 15-20 are currently rejected. Claims 5, 14 and 21 have been cancelled by applicant.
Response to Arguments
Applicant’s arguments filed on 06/09/2026 have been fully considered.
Abstract: Objection to abstract has been withdrawn necessitated by amendment.
35 U.S.C. 101: Claim rejections under 35 U.S.C. 101 have been withdrawn necessitated by amendments.
35 U.S.C. 103: Applicant’s arguments regarding the 35 U.S.C. 103 rejection have been fully considered.
Applicant argues in page 11 that the combination of Chan in view of Mell would have not been obvious to one skilled in the art. Applicant specifically argues “As is well known in the art, the result of executing a locking script and an unlocking script does not get published to the blockchain or sent to any party. Chan et al. does not disclose any mechanism by which the pseudorandom number may be somehow extracted from the locking script and sent to any consuming device, such as Mell et al.'s beacon. The pseudorandom number is only generated within internal memory of the node that executes the locking and unlocking scripts.”
Examiner respectfully disagrees. It would have been obvious to one skilled in the art to combine the distributed application (DApp) software as taught by Mell with the user interface output devices as taught by Chan in order for customers to retrieve the random value generated, and the user interface output devices would allow for the data to be displayed to customers. The motivation to perform this combination is disclosed in Mell, since distribution of random numbers leverage the security capabilities associated with smart contracts and blockchains in the distribution process. (See Mell: Page 411, Section 1: Introduction)
Applicant further argues in page 14 that Frankenfield does not teach the same candidate block header being hashed, as claimed in claim 1. Applicant specifically argues “Frankenfield teaches that "Successfully mining a block requires a miner to be the first to guess the nonce, which is a random string of numbers appended to the hashed contents of the block, and then rehashed". That is, to solve the hash puzzle, miners repeatedly add a different 32-bit number to the blocker header and then rehash the block until the target is achieved. This is not the same as the claimed feature. Changing the nonce value changes the block header, so the miners are hashing a different, altered block header each time. In contrast, in amended independent Claim 1, it is the same, candidate block header that is hashed a plurality of times.”
Examiner finds Applicant’s arguments persuasive. However, see new grounds of rejection necessitated by amendments.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 6 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 6 recites the limitation “Wherein outputting the one or more random numbers comprises”. It is unclear if applicant intends the one or more random numbers to be the plurality of random numbers of claim 1. There is insufficient antecedent basis for this limitation in the claim.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-4, 7-17, and 19-21 are rejected under 35 U.S.C. 103 as being unpatentable over Chan et al. (U.S. Patent Application Publication No.: US 20200219097 A1), hereinafter “Chan”, in view of Preneel et al. (U.S. Patent No.: US 5664016 A), hereinafter “Preneel”, further in view of Peter Mell in NPL: “Cryptocurrency Smart Contracts for Distributed Consensus of Public Randomness” (link.springer.com/content/pdf/10.1007/978-3-319-69084-1_31.pdf), hereinafter “Mell”.
Regarding Claim 1, Chan teaches:
A computer-implemented method of generating random numbers based on blockchain transactions, wherein the method is performed by a generating party (¶0121, e.g., transactions have digital assets committed by the respective parties) and comprises:
obtaining a candidate block header, wherein the candidate block header is based on a set of blockchain transactions (¶0150, e.g., future block header (candidate block header) are accessed based on blockchains);
applying a hash function to at least the candidate block header [one time], wherein each application of the hash function to at least the candidate block header generates a respective hash digest (¶0149, e.g., Hash of a future block header is determined);
generating [one random number], wherein each random number is generated based on a respective hash digest (¶0149, e.g., Solution is the hash of the first block header; ¶0151, e.g., random number is generated using the solution (hash of the first block header));
Chan does not specifically teach:
applying a hash function to at least the candidate block header a plurality of times …
generating a plurality of random numbers …
and outputting the plurality of random numbers to one or more consuming devices.
However, in the same field of endeavor, Preneel teaches hashing a same input value to verify the integrity of the hash-value. Preneel explains “At a subsequent point in time, to verify the input data has not been altered, the hash-value is recomputed, using purportedly the same input, and compared for equality to the original hash-value.” (Preneel: Column 1 Lines 31-34)
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to modify the hashing of block headers as taught by Chan to perform the hashing algorithm on the same input twice as taught by Preneel. One would have been motivated to combine these references because both references disclose using hash functions in input values, and Preneel enhances the model of Chan because hashing the same input value is done to “verify the input data has not been altered” (Preneel: Column 1 Line 31). Hence, Chan in view of Preneel teach hashing the candidate block header a plurality of times, generating a plurality of random numbers, and outputting a plurality of random numbers.
Chan in view of Preneel do not teach:
and outputting the plurality of random numbers to one or more consuming devices
However, Mell teaches:
and outputting the plurality of random numbers to one or more consuming devices (Page 417, Section 5 “Single Producer Contract”, e.g., Random numbers are produced on the blockchain; Page 418, Top paragraph, e.g., Random Value is represented by R; Page 423, Section 7 “Empirical Work”, e.g., distributed application (DApp) software allows for customers to retrieve R values).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine the distributed application (DApp) software as taught by Mell with the user interface output devices as taught by Chan in view of Preneel. One would have been motivated to combine these references because both references disclose random number generation within a blockchain based on transactions, and Mell enhances the model of Chan in view of Preneel by improving security capabilities associated with smart contracts and blockchains in the distribution process. (See Mell: Page 411, Section 1: Introduction)
Regarding Claim 2, Chan in view of Preneel in view of Mell teach:
The method of claim 1, wherein obtaining the candidate block header comprises obtaining the set of blockchain transactions (Chan: ¶0150, e.g., future block header (candidate block header) are accessed based on blockchains).
Regarding Claim 3, Chan in view of Preneel in view of Mell teach:
The method of claim 2, wherein obtaining the set of blockchain transactions comprises obtaining the set of blockchain transactions from a pool of unconfirmed blockchain transactions (Chan: ¶0007, e.g., transactions need to be validated, hence they are unconfirmed).
Regarding Claim 4, Chan in view of Preneel in view of Mell teach:
The method of claim 1, wherein obtaining the candidate block header comprises obtaining a candidate block template, wherein the candidate block template comprises the set of blockchain transactions (Chan: ¶0149, e.g., future block header contains certain number of transactions).
Regarding Claim 7, Chan in view of Preneel in view of Mell teach:
The method of claim 1, wherein the respective random number is the respective hash digest (Chan: ¶0149, e.g., Solution is the hash of the first block header; ¶0151, e.g., random number is generated using the solution (hash of the first block header)).
Regarding Claim 8, Chan in view of Preneel in view of Mell teach:
The method of claim 1, wherein generating a respective random number comprises one or more of:
removing one, some or all of the zeros present in the respective hash digest;
generating a fixed number as a running sum of the digits of the respective hash digest and use the fixed number as the respective random number, or a predetermined amount of least significant digits of the fixed number as the respective random number;
applying a same or different hash function to the respective hash digest;
converting the respective hash digest to a number between zero and one; and/or
selecting a subset of the respective hash digest as the respective random number. (Chan: ¶0105, e.g., same seed will reproduce same sequence, hence the same hash function is used)
Regarding Claim 9, Chan in view of Preneel in view of Mell teach:
The method of claim 1, wherein outputting the plurality of random numbers to the consuming device comprises outputting the plurality of random numbers to the consuming device over a respective communication channel between the generating party and the one or more consuming devices (Chan: Fig. 11, e.g., outputs are validated and inputted as transactions; ¶0164, e.g., bus 1204 is utilized for communicating data; Mell: Page 423, Section 7 “Empirical Work”, e.g., distributed application (DApp) software allows for customers to retrieve R values; Preneel: Column 1 Lines 31-34, e.g., input values are hashed again to verify integrity).
The motivation to combine provided with respect to claim 1 applies equally to claim 9.
Regarding Claim 10, Chan in view of Preneel in view of Mell teach:
The method of claim 9, wherein some or all of the respective communication channel comprises an internet connection (Mell: Page 423, Section 7 “Empirical Work”, e.g., Ethereum test network is used along the DApp software, hence an internet connection is used).
The motivation to combine provided with respect to claim 1 applies equally to claim 10.
Regarding Claim 11, Chan in view of Preneel in view of Mell teach:
The method of claim 1, wherein the one or more consuming devices comprises at least one local consuming device of the generating party (Chan: Fig. 12, e.g., Computer includes User Interface Output devices; Mell: Page 423, Section 7 “Empirical Work”, e.g., distributed application (DApp) software allows for customers to retrieve R values).
The motivation to combine provided with respect to claim 1 applies equally to claim 11.
Regarding Claim 12, Chan in view of Preneel in view of Mell teach:
The method of claim 1, wherein the one or more consuming devices comprises at least one remote device of a second, different party (Mell: Page 423, Section 7 “Empirical Work”, e.g., distributed application (DApp) software allows for customers to retrieve R values, hence different customers (parties) are involved).
The motivation to combine provided with respect to claim 1 applies equally to claim 12.
Regarding Claim 13, Chan in view of Preneel in view of Mell teach:
The method of claim 1, wherein the generating party comprises a mining node of a blockchain network (Chan: ¶0007, e.g., Network nodes (mining nodes) ensure transaction validation).
Regarding Claim 15, Chan teaches:
A computer program embodied on non-transitory computer-readable storage and configured so as, when run on computer equipment (Fig. 12, e.g., shows computer including the memory subsystem and processor), to perform a method of generating random numbers based on blockchain transactions, wherein the method is performed by a generating party (¶0121, e.g., transactions have digital assets committed by the respective parties) and comprises:
obtaining a candidate block header, wherein the candidate block header is based on a set of blockchain transactions (¶0150, e.g., future block header (candidate block header) are accessed based on blockchains);
applying a hash function to at least the candidate block header [one time], wherein each application of the hash function to at least the candidate block header generates a respective hash digest (¶0149, e.g., Hash of a future block header is determined);
generating [one random number], wherein each random number is generated based on a respective hash digest (¶0149, e.g., Solution is the hash of the first block header; ¶0151, e.g., random number is generated using the solution (hash of the first block header)) …
Chan does not specifically teach:
applying a hash function to at least the candidate block header a plurality of times …
generating a plurality of random numbers …
and outputting the plurality of random numbers to one or more consuming devices.
However, in the same field of endeavor, Preneel teaches hashing a same input value to verify the integrity of the hash-value. Preneel explains “At a subsequent point in time, to verify the input data has not been altered, the hash-value is recomputed, using purportedly the same input, and compared for equality to the original hash-value.” (Preneel: Column 1 Lines 31-34)
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to modify the hashing of block headers as taught by Chan to perform the hashing algorithm on the same input twice as taught by Preneel. One would have been motivated to combine these references because both references disclose using hash functions in input values, and Preneel enhances the model of Chan because hashing the same input value is done to “verify the input data has not been altered” (Preneel: Column 1 Line 31). Hence, Chan in view of Preneel teach hashing the candidate block header a plurality of times, generating a plurality of random numbers, and outputting a plurality of random numbers.
Chan in view of Preneel do not teach:
and outputting the plurality of random numbers to one or more consuming devices
However, Mell teaches:
and outputting the plurality of random numbers to one or more consuming devices (Page 417, Section 5 “Single Producer Contract”, e.g., Random numbers are produced on the blockchain; Page 418, Top paragraph, e.g., Random Value is represented by R; Page 423, Section 7 “Empirical Work”, e.g., distributed application (DApp) software allows for customers to retrieve R values).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine the distributed application (DApp) software as taught by Mell with the user interface output devices as taught by Chan in view of Preneel. One would have been motivated to combine these references because both references disclose random number generation within a blockchain based on transactions, and Mell enhances the model of Chan in view of Preneel by improving security capabilities associated with smart contracts and blockchains in the distribution process. (See Mell: Page 411, Section 1: Introduction)
Regarding Claim 16, Chan teaches:
An apparatus configured to generate random numbers based on blockchain transactions (Fig. 12, e.g., shows computing device 1200; ¶0121, e.g., transactions have digital assets committed by the respective parties), wherein the apparatus comprises:
an input interface configured to obtain a candidate block header, wherein the candidate block header is based on a set of blockchain transactions (¶0150, e.g., future block header (candidate block header) are accessed based on blockchains; Fig. 12, e.g., User interface input devices 1212);
a hashing component configured to apply a hash function to at least the candidate block header [one time], wherein each application of the hash function to at least the candidate block header generates a respective hash digest (¶0149, e.g., Hash of a future block header is determined; ¶0114, e.g., Hashing algorithm is used (hashing component)); and
an output interface (Fig. 12, e.g., User Interface Output Devices 1214) … , and
wherein the apparatus is configured to generate [one random number], wherein each random number is generated based on a respective hash digest (¶0149, e.g., Solution is the hash of the first block header; ¶0151, e.g., random number is generated using the solution (hash of the first block header)).
Chan does not teach:
a hashing component configured to apply a hash function to at least the candidate block header a plurality of times, …
an output interface configured to output a plurality of random numbers to one or more consuming devices,
wherein the apparatus is configured to generate a plurality of random numbers …
However, in the same field of endeavor, Preneel teaches hashing a same input value to verify the integrity of the hash-value. Preneel explains “At a subsequent point in time, to verify the input data has not been altered, the hash-value is recomputed, using purportedly the same input, and compared for equality to the original hash-value.” (Preneel: Column 1 Lines 31-34)
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to modify the hashing of block headers as taught by Chan to perform the hashing algorithm on the same input twice as taught by Preneel. One would have been motivated to combine these references because both references disclose using hash functions in input values, and Preneel enhances the model of Chan because hashing the same input value is done to “verify the input data has not been altered” (Preneel: Column 1 Line 31). Hence, Chan in view of Preneel teach hashing the candidate block header a plurality of times, generating a plurality of random numbers, and outputting a plurality of random numbers.
Chan in view of Preneel do not specifically teach:
an output interface configured to output a plurality of random numbers to one or more consuming devices,
However, Mell teaches:
… output a plurality of random numbers to one or more consuming devices (Page 417, Section 5 “Single Producer Contract”, e.g., Random numbers are produced on the blockchain; Page 418, Top paragraph, e.g., Random Value is represented by R; Page 423, Section 7 “Empirical Work”, e.g., distributed application (DApp) software allows for customers to retrieve R values),
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine the distributed application (DApp) software as taught by Mell with the user interface output devices as taught by Chan. One would have been motivated to combine these references because both references disclose random number generation within a blockchain based on transactions, and Mell enhances the model of Chan by improving security capabilities associated with smart contracts and blockchains in the distribution process. (See Mell: Page 411, Section 1: Introduction)
Regarding Claim 17, Chan in view of Preneel in view of Mell teaches:
The apparatus of claim 16, wherein the input interface configured to obtain the set of blockchain transactions, and wherein the apparatus is configured to generate the candidate block header (Chan: ¶0150, e.g., future block header (candidate block header) are accessed based on blockchains).
Regarding Claim 19, Chan in view of Preneel in view of Mell teaches:
The apparatus of claim 16, wherein the apparatus is configured to generate a respective random number by performing one or more of the following operations:
removing one, some or all of the zeros present in the respective hash digest;
generating a fixed number as a running sum of the digits of the respective hash digest and use the fixed number as the respective random number, or a predetermined amount of least significant digits of the fixed number as the respective random number;
applying a same or different hash function to the respective hash digest;
converting the respective hash digest to a number between zero and one; and/or
selecting a subset of the respective hash digest as the respective random number. (Chan: ¶0105, e.g., same seed will reproduce same sequence, hence the same hash function is used)
Regarding Claim 20, Chan in view of Preneel in view of Mell teaches:
The apparatus of claims 16, wherein the apparatus comprises at least one of the one or more consuming devices (Chan: Fig. 12, e.g., Computer includes User Interface Output devices; Mell: Page 423, Section 7 “Empirical Work”, e.g., distributed application (DApp) software allows for customers to retrieve R values).
The motivation to combine provided with respect to claim 16 applies equally to claim 20.
Claims 6 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Chan in view of Preneel in view of Mell, further in view of Murray et al. (U.S. Patent Application Publication No.: US 20200371752 A1), hereinafter “Murray”.
Regarding Claim 6, Chan in view of Preneel in view of Mell teach the method of claim 1, Chan in view of Preneel in view of Mell do not teach:
storing the plurality of random numbers in a buffer, wherein outputting the one or more random numbers comprises retrieving the plurality of random numbers from the buffer.
However, in the same field of endeavor, Murray teaches storing a random number output in a buffer to improve performance of the random number generator. Murray explains “To improve performance, calls to access RNG 10 may be serviced with an output buffer (not shown).” (Murray: ¶0024)
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine the output buffer for storing random numbers as taught by Murray with the blockchain system as taught by Chan in view of Preneel in view of Mell. One would have been motivated to combine these references because both references disclose random number generation using hashing algorithms, and Murray enhances the model of Chan in view of Preneel in view of Mell by adding a buffer to store random numbers for improved performance. See Murray: ¶0024.
With regards to Claim 18, this is similar to the claimed method above (claim 6 respectively), wherein all claim limitations also have been addressed and/or covered in cited areas. Thus, accordingly, this claim is rejected for at least the same reasons therein.
Prior Art Made of Record
Karthik Sai RadhaKrishna Puranam in NPL: Anatomy and Lifecycle of a Bitcoin Transaction (papers.ssrn.com/sol3/papers.cfm?abstract_id=3355106) – teaches performing hashing function twice of a block in a Merkle Tree. See Fig. 8 and corresponding description. This disclosure is pertinent to ¶0025-0026 of the specification of the instant application, which discloses a Merkle tree structure, and where a block header is passed through the same hashing algorithm twice.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CARLOS H DE LA GARZA whose telephone number is (571)272-0474. The examiner can normally be reached Monday-Friday 9:30AM-6PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Andrew Caldwell can be reached at (571) 272-3702. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/C.H.D./
Carlos H. De La GarzaExaminer, Art Unit 2182 (571)272-0474
/EMILY E LAROCQUE/Primary Examiner, Art Unit 2182