-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ERC 891: Mineable Distribution Layer #891
Comments
Why is this pseudo? Isn't this just normal proof of work but instead of generating tons of hashes and checking if they win something I generate tons of private keys and check if the corresponding address wins something. |
It is true that a "normal" (compared to a miner) user will be at a disadvantage compared to miners, but that isn't a problem. Look at Bitcoin or Ethereum. If anything, it makes the system more even because, even without mining pools, users can get tokens. The importance of the transparency is that all the existing interfaces don't need to add special cases or update to make a transition. Normal users will simply see an airdrop to their addresses. Addressing the huge inflation, that is up to the developer. As explained at the end of the proposal, the Since the objective is not to make people rich, but to make a port of PoW to token space, this covers the basics. I called it PPoW and not PoW because PoW already has an implicit reference to blockchain hashing PoW. The addition of pseudo is to make clear that PPoW does not create a blockchain. |
I don't get this proposal. The only advantage I can see on using PoW for a token distribution is if somehow the algorithm is designed so it's feasible to mine on consumer desktops, not GPU or ASIC farms. The Monero algorithm, for instance has been so successful on that front that it's sometimes used as a replacement for ads in websites. I'm still not convinced the "crypto miner.js" revenue model will work at scale but it's interesting to see people experiment with random token distributions. This "pseudo" proof of work is just favoring traditional ASIC farms, as you basically need to generate addresses until you find some with rewards on them. This is not very user friendly either, as an end user would end up with tons of addresses and would have to send them to their own addresses |
Yeah, I'm not really getting the point of this, either. With real PoW, the work is actually how the network is secured, and the miners are rewarded for securing the network. This "PPoW" is just the same thing but with no purpose. It's just burning electricity to burn electricity. Why not just allow people to purchase the tokens from the smart contract? It'd be the same thing without the wasted energy. You could even just have a "mine" function that gives a fixed amount of tokens (or dynamic based on how often the function is being called) that doesn't require electricity being wasted. |
The last checkReward function is inconsistent as you can lose money in the transparent case because between when you call getBalance() totalSupply_ may have another value to when you call it the next time or call transfer(). |
Is this actually "proof of work"? It reads more like an airdrop - and one that's exceptionally susceptible to sibyl attacks. |
@flygoing @alexvandesande This doesn't solve the problem of distribution. It's more about this: https://coinmarketcap.com/coins/views/all/. There are hundreds of clone PoW. If some people will make them anyway, allowing bundle mining would reduce electricity wasting in the big picture. @flygoing I think mint-on-demand tokens already exist. However, there is the question of where the paid ETH goes and also doesn't address what I described above: migrating polluting chains for bundle mining. @tawaren Users would only lose money if they haven't actually claimed their balance. Once claimed they won't lose it. @Arachnid It's an airdrop for existing and future users and a PPoW token for people who want to mine. Once again, this isn't meant to solve the distribution problem, but the big picture of the blockchain ecosystem. I think we are all aware of the limitations of tokens compared to standalone blockchains. I think that extending token capabilities would be beneficial in the long run. While this implementation is far from perfect and doesn't solve the identity problem, I hope it works as a starting point that will motivate further development of this concept. In general I don't think many people will switch to PoS because of their views. |
How is it any kind of PoW? I don't see any mechanism to mine using proof of work described here. |
It is because the core problem is solved by hashing private keys into addresses. It doesn't secure the Ethereum network, hence PPoW. |
Are you referring to the existing process of deriving an address from a private key? That's not any kind of proof of work. |
That's why I called it "pseudo" PoW. You being rewarded for proving you did some work. The concept of PoW has been so strongly linked to blockchain mining that it has become to some extent a synonym. |
Wow. So there are tons of coins that use PoW without any real understanding on why it exists, so let's simply simulate PoW on ethereum for no reason at all for coins that have absolutely no idea how a blockchain work but that really want the same PoW thingie that bitcoin has.
@Arachnid It seems they call it Proof of work because it's doing hashes to derive a public key. So if you generate a billion accounts to find one reward, then it's "proof of work" in that sense. |
If those coins are going to happen anyway, at least curb their range of influence. Not because Ethereum is taking the moral high-road others will follow. If you really care about the electricity being wasted, give those coins a way to be unified, and even some of those polluting coins might show their worth thanks to easier access. Give current PoW coins a reason to join. Tolerance of different opinions is a sign of maturity. PoW coins that join under Ethereum's rules. |
Deriving an address from a key, or signing a message, are not proofs of work. They also lack any kind of difficulty adjustment mechanism, do they effectively become an invitation for massive Sibyl attacks to get free coins. I simply can't see how this would be in any way useful. |
Difficulty adjustment is up to developers to implement. As mentioned before, I showed an example with difficulty adjustment based on total supply. The implementation is flexible, and could even take block number into account, but I do not recommend that. |
There's no mechanism for adjusting difficulty in your EIP - only the reward. These are not the same thing at all. This is not any form of proof of work. |
You are looking at the wrong list, see this: https://coinmarketcap.com/tokens/views/all/ Not a single PoW token. Here's how suggestion on how an ethereum token can be "Pseudo-PoW" without being bad on the environment. Add a function like this:
This allows any Ethereum miner to also claim rewards on your token. Since ethereum is PoW, then this would make your token also a PoW. |
@OFRBG those tokens are doing PoW to secure their network. Those coins could easily be implemented as ERC20 on the Ethereum blockchain, but that means that extra electricity doesn't need to be spent to secure them. What @alexvandesande suggested with just rewarding the miner of a block with the tokens would make a ton more sense as an EIP. It could also be implemented to be run on past blocks (perhaps with a minimum mining block). Overall I think this EIP could be more generalized to not just be around "PoW" through generation of public/private key. Perhaps just have the following:
These allow both the wasteful PPoW you suggest and what I essentially see as "merged mining" that @alexvandesande suggests, as well as really any other method of token distribution. |
@flygoing That's something I can agree with. I started with PPoW because I don't think these altchains care about securing their network more than just playing the PoW game. Showing a middle ground "neither you nor me" could help to make them jump over. However, as you mentioned, this can be easily extended to create a non-ICO and non-airdrop distribution system. Especially with regulations starting to loom over the ICO space, new distribution systems will have to emerge. As you've noticed, some people have opted to simply make forks left and right. I am not a miner, but the miners I know won't stop mining just because coins adopt PoS. The invested capital is already there, and they will be highly reluctant to just sell and give up their income. If you really want to curb this growth hashrate growth you need to really make tokenization more attractive. Reducing relative profitability of other coins and reducing their prevalence should in the long run curb hashrate growth. Those GPUs and ASICs won't sit idle because, as you know, every minute they aren't mining they are losing money. PPoW could allow a smoother transition tokenization. Think of it as giving miners a transition period. Your suggestion to merge the proposals is probably worthy of being an EIP of its own. I don't know if you want to write it or you don't mind if I elaborate on it. Keep in mind that these ideas are happening as we speak: 1) current token distribution methods like ICO and airdrops are becoming unpopular due to regulations and reputation and 2) miners won't suddenly care about the environment and sell their mining rigs. Enable a smooth transition towards tokenization and the wastefulness might actually disappear over time. If the security and viability of ERC 891 is not a problem, I would keep pushing it not because of its current impact but of its bridging capabilities. I don't mind making the generalized version you described. |
I believe the amount of new chains (ignoring forks that are forking just as a cash grab) are creating their own chains for a good purpose. Many new chains are either trying to do what Ethereum does, but better, so they can't really just be built on top of Ethereum, and thus they need their own consensus protocol, of which PoW is usually the easiest choice.
I don't disagree. Coins like Bitcoin that are very reliant on ASICs likely will never leave PoW. It's just so ingrained in their ecosystem. Those miners likely wont have to worry about doing something else with their PoW. GPU mining, on the other hand, will slowly die as there are less chains that are GPU minable (either because they switch to PoS or ASICs are developed for it). Miners get a mining reward because they're securing the network. The dilution of tokens is (most of) how the people using the network pay the miners for their service. If the mining has no purpose like this, then the reward for mining is going to be far less. Since the value of this mining is so much lower, there will be far lower demand for miners, and there just wont be enough value for all the GPUs that are abandoned from useful chain-mining.
I think as GPUs are slowly outdated by ASICs and by chains just switching from PoW, the transition will be fairly natural anyway. It's not like one day all GPU chains will cease to exist. Note that, if there is success, projects like Golem will give great alternative uses for GPUs.
Feel free to write it up, I'll come comment on it. I do agree that rewarding miners (and validators once we we get there) is potentially a good way to distribute tokens. I still think that the GPUs will find better uses than pointless mining when they're no longer useful for mining to secure a network. |
Regarding this point, I think PPoW or the ERC which you generalized would be reformatted to work to something I like to call ultra compression: compression by hashing. Setting up the fundamental pieces to avoid new chains popping up that need to do the reverse hash and secure the network, give those GPUs a home. It also worries me that those GPUs could flood the market. Just as their price rocketed, if/when miners lose profitability on GPUs, gamers will have a party, but the potential wattage spending is still there. I don't say that mining has no impact in ecology, but mining itself isn't a problem. If there is something to solve, it is fuel sources. Not that this concerns Ethereum, but we're taking jabs at the leaves when the root is still fossil fuels. |
Hey @OFRBG there is a massive group of blockchainers that believe that tokens should be distributed using Proof of Work so that they are Decentralized and so that we reduce corruption in the blockchain space. Please join us at https://reddit.com/r/tokenmining If I may add to this discussion, a similar and potentially more finished version of this spec is EIP541 for a decentralized token standard which uses PoW to make it decentralized. To all of the critics, I see your concern that energy will be wasted. I hope you are seeing the massive collateral damage that ICOs are causing to the space and I hope you feel ashamed about that. This is a way to evolve out of that. Yes energy will be expended. Yes corruption will be eliminated and we can get rid of ICOs. |
@flygoing I updated the ERC to be more focused on generic distribution over just mining. |
There has been no activity on this issue for two months. It will be closed in a week if no further activity occurs. If you would like to move this EIP forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review. |
This issue was closed due to inactivity. If you are still pursuing it, feel free to reopen it and respond to any feedback or request a review in a comment. |
Preamble
Simple Summary
The objective of ERC891 is to give developers an alternative method to distribute ERC20 tokens.
Abstract
The ERC891 provides an extension for ERC20 tokens that adds an interface for distribution. ERC20 tokens are often distributed via auctioning or airdrop, both of which fueled a bubble during 2017 and empowered exit scammers. With ERC891, the distribution model can be adjusted between the traditional ICO model and fully decentralized, PoW distribution.
Motivation
The traditional ICO model has brought problems that have damaged the blockchain ecosystem. The latest statistic was that more than half of the ICO projects are doomed. From the point of view of blockchain users, restoring trust in distribution is vital for adoption. While we know that the ledger's transactions are trustless, DApps and adoption do require it.
Specification & Methods
The ERC891 extends the ERC20 token.
Extension Methods for ERC891
checkReward
Get the potential reward for address.
claim
Send the transaction that will make the balance of the token effective at address of the amount returned by
checkReward()
.claimWithSignature
Submit a transaction signed by an
address a
in order to claima
's balance intomsg.sender
.Notes on Reward Functions
The axis of ERC891 is the
claim
method. There are several consideration when deciding how to design bothmine
andcheckReward
.Each address should be mineable once. This is simple to achieve with a
mapping(address => bool) mined
contract variable.The
claim()
function should be predictable in gas prices. This allows miner to systematically know how much ETH is needed to complete the mining cycle.The
checkReward()
function should be only a function of the address and the total supply. The current sample implementation obtains the reward amount withthus distributing reward amounts uniformly between 0 and 255 units. However, developers may opt to "increase" difficulty by implementing a function such as
in which the reward becomes
fixedReward
but is found only with a probability of 1/255. Finally, developers may choose to limit the supply by defining the reward function asIn order to move closer to the traditional ICO scheme,
checkReward()
could look like the following examples:The text was updated successfully, but these errors were encountered: