• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

block is taking a long time

wal

Member
This data taken from cryptoid.info

I am wondering why there were blocks every minute and now its been 17 minutes (and counting) with no block?

76334217 minutes84.2 kB90.89369707 DASH19.7 MXvhExSNNr97U1...
76334119 minutes1717.0 kB61.0545225 DASH19.7 MXcHawKrATqHhW...
76334020 minutes1516.6 kB60.18954978 DASH19.9 MXvhExSNNr97U1...
76333923 minutes23.6 kB3.78295371 DASH19.1 Mcybtc
76333823 minutes54.3 kB17.87417331 DASH17.6 MXvhExSNNr97U1...
76333724 minutes1710.3 kB3,031.49662338 DASH17.5 MXvhExSNNr97U1...
76333626 minutes22.8 kB3.74295331 DASH17.3 MMining Pool Hub
76333527 minutes10.2 kB3.60295191 DASH14.6 MCoinotron
76333427 minutes10.2 kB3.60295191 DASH14.6 MXvhExSNNr97U1...
76333327 minutes20.6 kB3.62088766 DASH14.8 MXvhExSNNr97U1...Show last 100 blocks...

https://imgur.com/a/P2POO
 
It's because a block being mined is the answer to a probabilistic event that has an average of 2.5min but as a low chance to be 1 second and an even lower chance to be 40 minute.
These random event follow a specific probabilistic distribution.
This can happen sometimes, in the long run the average is 2.5 (this is why you see estimate when we talk about a block to come, such as superblock)
 
It's because a block being mined is the answer to a probabilistic event that has an average of 2.5min but as a low chance to be 1 second and an even lower chance to be 40 minute.
These random event follow a specific probabilistic distribution.
This can happen sometimes, in the long run the average is 2.5 (this is why you see estimate when we talk about a block to come, such as superblock)

Ok.is there some reason it can't simply be 2.5min +-10sec?
Hard to do business when payment confirmation takes 20 min..
 
Ok.is there some reason it can't simply be 2.5min +-10sec?
Hard to do business when payment confirmation takes 20 min..
Probabilistic event being the block hash calc? If yes then I assume if miners suddenly stopped mining we could see a single block time spike?
 
It is most of the time 2.5 +-10s. Most of the time. Again probablistic random event.
That's due to the way we secure the network. On some cryptocurrency similar event (what is a 20minute block) takes 2 hours (this is something you will find in the other crypto out there as we secure the network in the same way with some difference). Other things is that this event (20min) are still rare, again, it's an average.
It's probably possible to reduce that, I'm probably not smart enough to find this solution then, and may be a mathematicien/cryptograph will find a way to do so one day.
But for your business, if you handle less than, let's say 100$ worth of goods, you don't need 6 conf or even 1 confirmation, the Dash network is secured enought to accept a 0-conf (so quasi-instant).
You just need to verify the fee associated with the transaction to ensure it will be included in the block, and verify in multiple node that it has been broadcasted to the network correctly. This is more for big transaction ( 10k / 100k ).

So in short : You can accept a transaction that has the right fee even if it's not confirmed because you know it will be confirmed. So you can accept in the first seconds. Why does some seconds make it hard to do business ?
It is not due to miners suddently stopped mining. Actually Dash network handle in a way better way this kind of event due to Dark Gravity Wave calculation algorithm.
 
>You just need to verify the fee associated with the transaction to ensure it will be included in the block, and verify in multiple node that it has been broadcasted to the network correctly.

Has you or someone written something that is production-grade? (or any resources that may assist in an implementation)
Do you need to run multiple nodes yourself to handle that last case? (verify in multiple nodes)
 
Right now, I'm working on DAPI that will in the future allows you to do so. By requesting to multiple node, you are able to verify in multiple places in the world that your transaction is being broadcasted correctly (which is one of the concern you need to have).
It depends on when you want to setup, having multiple nodes in the same datacenters is an additional security, but for me it appears that it is not as good as having multiple node in different datacenter (because you are connected to mostly the same peers).

What I suggest you is to :

Have multiple node (let's say 3) in multiple place (let's say NA, EU, and Asia). And validate this way. Whenever you see the transaction being broadcasted in theses locations, you can say that you have it in the mempool and be confident about it. It also depends on what kind of goods/services you are selling obviously, and for a pretty huge price (let's say >10k) it might be better to wait for at least the first confirmation.
If you have a good development team, you can even be more secured by setting a SPV node that connect to a lot of different peer in different location in the world (you ask for more peer using the packet message getaddr and you use the received addr message to then ask a getaddr to those, this way you are able to connect to a pretty good number of node, on these nodes, you listen for the tx message concerning your transaction, and if the number of tx message received goes toward your threshold, you will be then able to say "Ok, this transaction, which is not included in a block, has been propagated to 50+ different node, and the fees it has make me certain that it will be accepted, I can accept this transaction and send the good/service.
 
Thank you Obusco that should help a lot. I will research SPV node. excuse the n00b question but can dashd morph into an SPV node?
 
Thank you Obusco that should help a lot. I will research SPV node. excuse the n00b question but can dashd morph into an SPV node?
Quite so, but only by pruning instead of keeping the full blockchain :/

In your case, the problem is that dashd abstract of lot of stuff for you, in a way where you aren't able to know about the percentage of node that sent you a tx message, even if you can ask for more peer in the node.
So for you, it would be quite complicated to do that without having a SPV implementation, what is your timeframe for such a need ?
 
Back
Top