Lynx mining and consensus rules

I asked Ben (lead developer of Lynx):

Ben, I was reading up on the block creation… seems like there are few moving targets like time stamp. Someone proposed that you could “hack” the mining process by matching up the hash of the receiving address, the block hash, and the time stamp. You get a 15 minute grace drift right? So, could blocks be manipulated to find an a hash where last digit of receiving address, block hash, etc could be manipulated before submitting a candidate block? I think 1 out of 16 is a clever way to decentralize earnings across different nodes, but curious if this could be manipulated.

Ben replied:

Okay, good question. Rule 3 requires that the last value in the candidate block hash value must match the last value of the reward address used for the respective block. The timestamp is in the block header (I think) as well as many other values and the combination of those values, as well as the merkle root of the included transactions creates the block hash, so the assumption that a hacker could create a pre-set matching pair ahead of time, would be very difficult to do, MAYBE if no TX were in the block, a hacker might be able to formulate 16 sets and try them but ….

Recall that that the miner nonce is also included in the block header and the nonce is not always the same value, so it would be difficult to formulate 16 matching pairs and match them in time.

As the mempool gets more busy and TX are added, the hacker would have to refuse including any TX in the mined block because that would change the candidate block output.

The random nature of this matching takes away the power of the fastest miner. Another miner that has a match might get the block accepted before the hacker finishes formulating the block. If the hacker figured out how to capture control, they would have to mine several blocks in a row without losing control of the chain for a sustained period of time. At least 200 blocks would need to be controlled to do any damage to an exchange.
I’d be interested in a working with a hacker who is up for the challenge so we can collectively make the design better if a weakness is discovered.
October 20, 2019

CryptoStan said:

It figures that if there is an extra layer superimposed somewhere within the mechanism, it would be practically impossible to crack this system, even if someone had a “perfect algorithm” that was theoretically set up to do this in real time. I think that extra layer, if possible, would revolutionize blockchain in the context of 51% attacks!
also thought 1/16 vs 1/4096 might be too restrictive. maybe a way to increase luck by allowing matching hex digit that is close by 1-2 digits. so if reward address hash is 6 then block hash could be 5,6,7 to create an acceptable block. I don’t know how you dynamically adjust this … usually based on difficulty but difficulty doesn’t change with lynx because of low hash and 1/16 rule
do you think Rule 3 (just last hex digit match) would be enough to diversify the wallets that earn rewards without rule 1 & rule 2?
auscoi said (October 24, 2019):

Well Rule 2 at least promotes people buying more Lynx haha

I do see what you mean though, a truly random lottery shouldn’t need the other factors. I guess those are to simply filter out some of the candidates.

I like increasing to 1/16 or 1/4096 would be enough to diversify mining and means miners can mine without stake , which is better imo for newbies

Yeah I do see a lot of people very confused about having to have some staked amount

I replied:

Or remove the requirement and make it like other coins that don’t have staking component. I think it is worth investigating if Rule 3 is sufficient. Without the staking component, there is a worry that botnet will be possible or difficulty will climb making Raspi use less effective.

I’d be curious to see a consensus change in testnet (and maybe @Ben [Lynx Team Lead] already tested prior) to see how the network would behave with Rule 3 only.

Ben replied:

When I came up with Rule 2, I was borrowing concepts from Proof of Stake and interlacing that with an anti-DDOS methodology. It’s not perfect, by far, but it was designed to be a blend. Projects that rely on PoS only often see a narrow distribution of mining rewards amongst the set of miners. The wealthy tend to scoop up the majority of blocks (which is not secure and a little bit unfair). If a PoS miner wants to win more blocks, they go buy more and increase the weight of the miner with the ‘locked up coins’. We also do that with Rule 2, but the requirement is so low (a few penny’s right now) that it’s not really a barrier for anyone in this space. I think the biggest inconvenience right now is that buying 5000 Lynx on the exchange isn’t super easy just due to the experience of working with an exchange. (Hell, it’s easier to just come here and earn it in tips. I gave 3,000 Lynx to @PuLLv3r just a few days ago to get their miner going – and happy to do so). The second part that Rule 2 is the anti-DDOs. An attacker would have to fund a LOT of accounts with Lynx just to get started with a 51% attack. The whole scenario is off limits till at least a few hundred addresses are funded with 1000 Lynx in each. Even if the attacker gives up or is unsuccessful, this helps the community of holders by driving the distribution up, possibly creating TX on an exchange, locking up more coins in accounts, etc. Also the economics of staking work well for a project. When coins are ‘locked up’ by holders, this impacts the street price of a currency positively (I can’t recall if that is more Keynes or Hayek).

So Rule 2 is a blended approach that provides 2 major upsides. I think we already have plenty or projects that are doing one or the other but few that are combining the two. The cost to cover Rule 2 is so low, that it isn’t a reasonable complaint in my book. Again, the incentives to mine Lynx don’t exist, so you are mining Lynx because you are supporting the project, playing/tinkering/experimenting OR you have a project that is building on Lynx or are a customer of Logware and are interesting in securing the network with 25 or 50 nodes.This capital expense to secure the network that stores your data is minuscule compared the traditional cost. I easily see 100’s of miners run by companies that buy access to Logware and for the cost of $300/m, they are playing their part to secure the data they store on Lynx. It’s democratic, it’s decentralized, and it’s distributed cost sharing.

Also, a small gamble exists in the future. If we find that Logware works well and more and more Lynx are needed to drive Logware transactions (remember, Lynx are provably BURNED by Logware so as volume on Logware increases, circulating supply decreases thus driving up the value of remaining Lynx). This model, if successful, will make Lynx grow in value over time. So buying, holding and selling on the open market later isn’t a bad plan (for a medium term speculator). Right now Lynx are so cheap that Logware can run without an issue, but once Logware uses up it’s stash of coins to ‘fuel TX’ it needs to go somewhere to get more ‘gas’. Thus, Lynx has street value. Yes, we are still a utility token because of this, but like ETH, Lynx pays the cost of the usage of the network. The economic model is there, it’s seems to be working and it’s based on basic economics and traditional business models. I’m working on this design because it creates value on 2 fronts – it drives the value of Lynx and more importantly, it creates a profitable business in Logware (jobs, etc). Unlike some projects that simply try to grow value with breath holding, competing with USD and BTC and trickery of inexperienced investors, we have a project that is generating value in a real and measurable way. Rule 2 is a small building block in that design.

So, you understand my frustration when new miners complain that mining Lynx isn’t profitable. They have been trained by other projects to assume that short sighted model is being used by our project and it’s simply not the case. “You must unlearn what you have learned.” Again, it’s not a bad idea to read the Lynx white paper and deeply consider the implications of the design on the economics of the project.

cryptostan said:

Fully agree with Ben! Crypto is not a 5-minute toy. It’s meant to have a real purpose, and it should be taken as such. If someone wants to make a quick buck – DO NOT MINE… that is not a good way of making money. Go do arbitrage or be a market-maker. There is risk, but it is manageable. But please do not complain about mining profitability.
If the demand for the coin goes up, so will its price. This is supply-demand equation. At such time, you WILL make profit as a miner.