PUPoW A F RAMEWORK FOR DESIGNING BLOCKCHAINS WITH PRACTICALLY -USEFUL -PROOF -OF-WORK VanityCoin

2025-04-26 0 0 405.68KB 14 页 10玖币
侵权投诉
PUPoW:AFRAMEWORK FOR DESIGNING BLOCKCHAINS WITH
PRACTICALLY-USEFUL-PROOF-OF-WORK
& VanityCoin
Yash Chaurasia
International Institute of Information Technology
yash.chaurasia@research.iiit.ac.in
Visvesh Subramanian
International Institute of Information Technology
visvesh.subramanian@research.iiit.ac.in
Sujit Gujar
International Institute of Information Technology
sujit.gujar@iiit.ac.in
ABSTRACT
Bitcoin is the first of its kind, a truly decentralized and anonymous cryptocurrency. To realize it, it
has developed a blockchain technology using the concept of ‘Proof of Work’ (PoW). The miners,
nodes responsible for writing transaction database, solve a cryptographic puzzle to claim the right
to write to the database. Though bitcoin and many other relevant cryptocurrencies such as ether use
revolutionary ideas, the main criticism involves the computing resource and energy consumption to
solve the puzzles that have otherwise no use. There are attempts to use the PoW to do something
useful, commonly referred to as Proof-of-Useful-Work (PoUW). In this paper, we attempt to (i)
make PoUW more usable – describe how a central problem setter can crowdsource their work as
PoUW and (ii) in the true spirit of blockchains, decentralize the role of problem setter, whom we
call puzzlers. We propose a formal framework to do so, namely PUPoW.PUPoW has an inbuilt
provision of payments from puzzler to the miner who solves its puzzle. Additionally, miners have
the option to not rely on continuous feed of the puzzles and instead use original PoW puzzles.
We also propose a way to use PUPoW for solving TOR vanity URL generation and bitcoin vanity
address generation problems. We call this PUPoW blockchain solving vanity address generation
problems as VanityCoin. Both the problems require generating public keys from private keys such
that resultant addresses are of interest. Such key pairs are found only by a brute force search.
However, there are privacy concerns that miners would know the private keys of the puzzlers. We
resolve this by splitting the private keys, and the miners would know only one part of it. In summary,
we are proposing how PoW can be made practically useful, and we believe such an approach is
needed for PoW blockchains to survive.1
1 Introduction
Bitcoin: A Peer-to-Peer Electronic Cash System [19], published in 2008, introduced us to blockchain and Nakamoto
consensus. A blockchain is a decentralized and distributed chain of blocks such that each block stores the hash
of the previous block, thereby prohibiting any changes in the committed blocks once newer blocks are published.
Bitcoin solved many problems in the online currency systems by using Proof-of-Work (PoW) as the mechanism to
achieve consensus. Miners, who maintain the blockchain, try to publish blocks to earn mining rewards by solving
a computationally intensive cryptographic puzzle. With PoW, bitcoin proved that eventual distributed consensus is
possible under mild technical assumptions.
1The preliminary version was presented at IEEE Blockchain 2021
arXiv:2210.06738v1 [cs.CR] 13 Oct 2022
PUPoW: A Framework for Designing Blockchains with Practically-Useful-Proof-of-Work
& VanityCoin
One of the key factors in PoW is that the probability of a miner mining a block is equal to the fraction of the entire
network’s computational power held by them. Consequently, miners keep investing in these resources as long as it
is profitable to do so. Apart from establishing consensus in Bitcoin’s network, the solutions to these puzzles have
no use. These two factors combined mean that a lot of electricity (120 TWh per year [12]) and hardware resources
(91 ×1018 Hashes per second [1]) are spent just to mine Bitcoin, with no other useful work done. The total electricity
used in mining bitcoin exceeds the electricity consumption of many countries [12], which has been a major criticism
of Bitcoin. This criticism also had been one of the major reasons for the crypto-crash in May 2021 [13, 20], reducing
the public trust in all cryptocurrencies in general, even those not relying on PoW for consensus. If the total hardware
resources invested in Bitcoin mining also produce useful work, any supercomputer built in the foreseeable future won’t
parallel the network’s capability. The implications will be profound depending on how useful the problem being solved
is.
Currently, researchers are investigating if this computational intensive process of achieving consensus can be made
useful. Primecoin [14] requires miners to produce a Cunningham chain or bi-twin chain of some length decided by the
computation power of the network as proof-of-work. Though these chains of primes generated as PoW in Primecoin
are available to everyone for use, its practical applications are limited. PermaCoin [18] replaces proof of work with
proof of retrievability. The idea proposed here ensures that participating nodes store a very large data-set (like a library
of books) in a distributed manner. Proofs of Work From Worst-Case Assumptions [17] gives proof-of-work based on
problems like Orthogonal Vector, 3SUM, All-Pairs Shortest Path, and other problems which reduce to them. A Proof
of Useful Work for Artificial Intelligence on the Blockchain [16] describes a protocol that lets clients to submit Machine
Learning tasks to the miners and pay all the actors involved in the process (miners, supervisors, and evaluators) if the
model is satisfactory. Miners get to mine with some nonce after every iteration. The problem solved here is not easily
verifiable and regular nodes only check if the hash is less than the network target T.Proof of Learning (PoLe) [15]
is a consensus algorithm having data nodes and consensus nodes to do ML on blockchain. Data nodes push training
requests and consensus nodes choose the request with highest reward/time value to train. The model with the highest
test accuracy wins and the corresponding block is published. Gridcoin [11] is a proof-of-stake blockchain that awards
gridcoins to individuals contributing to BOINC white-listed crowdsourcing projects. In Coin.AI [10], miners must
design a neural network instead of solving the hash puzzle. The previous hash, the nonce, and the list of transactions
determine a neural network architecture. A miner trains this model on a publicly agreed-upon data-set. Any model
which crosses a threshold is valid. These works are often referred to as Proof-of-Useful-Work (PoUW), the work that
is used for two purposes: (i) to solve some useful problems, and (ii) to prove that some problem is solved to use as
PoW to maintain a distributed ledger.
The PoUW-based blockchains are limited at this point as (i) they propose a very specific problems which leads to
solving limited types of useful problems. (ii) Some proposals involve centralized administrator and data sharing (e.g.,
Coin.AI or Permacoin) with the miners. (iii) A currency built on top of such blockchain should continue to be useful
forever. At this point, it is not clear that in the absence of any problem to be solved how these blockchains will
continue. There is a need for a formal approach to build a PoUW protocol that leverages PoW concepts and the work
done for achieving consensus on the blockchain has some usefulness in the real world.
Contributions: In this work, we list important characteristics of the problem that one can use to build a PoUW
blockchain, namely, Easy Verifiability, Adjustable Difficulty, Proportional Advantage, and Non-reusable. These es-
sentially capture the fact that the problem should be hard to solve but a solution should be easy to verify, we should
be able to adjust the difficulty easily, the chance of solving should be proportional to the computing power, and the
solution to one problem in a previous block cannot be reused in another block. With these, we propose a framework
in Section 3 to build a PoUW based blockchain with a center, whom we call problem setter, that sets up the problem
to be solved. However, in the true spirit of decentralization, it is better to have a decentralized system where anybody
can participate as a problem setter. In decentralized PoUW, we refer to them as puzzler, provided the problem they
set meets the desired conditions. Towards this, we propose a framework, PUPoW, a decentralized PoUW blockchain
framework. Key interesting features of our framework are (i) anybody can be a puzzler, (ii) in the absence of problems
to solve, it can revert to a normal PoW blockchain, (iii) provision of puzzlers rewarding miners (thereby reducing the
importance of transaction fees). We illustrate how to use PUPoW with an interesting problem, specifically, generating
vanity .onion URL. One can use a similar technique for generating vanity addresses in bitcoin and other applications
using DSA-like scheme to generate addresses. We refer to a PUPoW blockchain generating vanity addresses for
proof-of-work as VanityCoin.
2
PUPoW: A Framework for Designing Blockchains with Practically-Useful-Proof-of-Work
& VanityCoin
2 Notations & Definitions
2.1 Bitcoin’s Proof-of-Work Puzzle
An online decentralized currency needs a mechanism to achieve consensus considering that the system will have
some malicious participants. Satoshi Nakamoto brought a revolution in online currency systems by introducing
Proof-of-Work protocol which achieves consensus in the network and is also safe against attackers having less than
50% of the network’s computing power. Miners get to accept and publish valid transactions on their blocks but to
publish their block they need to solve a partial hash pre-image puzzle, i.e., the hash of their block header should be
less than some target.
H(nonce||prevhash||merkleroot||timestamp||version||target)< t
The target tis adjusted after every 2016 blocks so that the average block publishing rate remains 1 block per 10
minutes. To try out different hashes, the miners change the nonce field. The block header also has a field for the hash
of the previous block’s header, also known as hash pointer. We discuss components of Bitcoin-like blockchains next.
2.2 Blockchain Components
Blocks: These contain the transactions in a Merkle tree and the block header.
Block header: This contains the hash of the previous block, Merkle root of the transactions, timestamp, nonce,
version and target.
Transactions: Each transaction contains inputs and outputs. Inputs typically have signatures and public keys.
Outputs have scripts depending on the usage.
Merkle Tree: All the transactions are contained outside the block header of the block and arranged in a Merkle
tree. The Merkle root is committed in the block header.
Transaction mempool: Valid transactions generated by the users are relayed to other users/miners. Transac-
tion mempool is where valid transactions wait to be confirmed.
2.3 Hash function H
A hash function Htakes an input iand outputs hash hwith nbits. For our purpose, the input will be the block header
of the block. We write this as H(block header), where
block header = (nonce||prevhash||merkleroot||timestamp||version||target)
in the case of Bitcoin. It is possible to build a hash function outputting hash of any required length n.
2.4 Actors in our framework
Miners: Actors who solve the problem to be able to publish their block are called miners. They receive fixed mining
rewards for publishing a block and a variable problem and transaction fee based on the problem/transactions chosen.
Users: Full nodes and Light nodes which only focus on transactions happening on the blockchain are called users.
Problem setter: In the centralized scenario, the authority responsible for setting the problem for the miners to solve
is called the problem setter.
Puzzlers: In the decentralized scenario, the actors who propose their problems to be solved are called puzzlers.
2.5 Practically Useful Work
A lot of effort has been put to identify useful algorithmically generated problems, but limited success has been
achieved. We thus define a practically useful problem to be one that is proposed by an individual/organisation, a
problem for which the individual/organisation might be willing to pay to get solved. For example, the primecoin
protocol won’t be considered as a practically useful PoW under this definition, but if a puzzler requests to get a
Cunningham chain, this will be considered a practically useful problem. Practically-Useful-Proof-of-Work (PUPoW)
framework shows how such practically useful problems can be used in place of Bitcoin’s puzzle as Proof-of-Work.
3
摘要:

PUPoW:AFRAMEWORKFORDESIGNINGBLOCKCHAINSWITHPRACTICALLY-USEFUL-PROOF-OF-WORK&VanityCoinYashChaurasiaInternationalInstituteofInformationTechnologyyash.chaurasia@research.iiit.ac.inVisveshSubramanianInternationalInstituteofInformationTechnologyvisvesh.subramanian@research.iiit.ac.inSujitGujarInternatio...

展开>> 收起<<
PUPoW A F RAMEWORK FOR DESIGNING BLOCKCHAINS WITH PRACTICALLY -USEFUL -PROOF -OF-WORK VanityCoin.pdf

共14页,预览3页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!

相关推荐

分类:图书资源 价格:10玖币 属性:14 页 大小:405.68KB 格式:PDF 时间:2025-04-26

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 14
客服
关注