-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
263 additions
and
95 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
static/delvingbitcoin/Jan_2025/4018_Timewarp-attack-600-second-grace-period.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
<?xml version='1.0' encoding='UTF-8'?> | ||
<feed xmlns="http://www.w3.org/2005/Atom"> | ||
<id>1</id> | ||
<title>Timewarp attack 600 second grace period</title> | ||
<updated>2025-01-09T02:52:28.080526+00:00</updated> | ||
<author> | ||
<name>sipa 2025-01-08 15:17:23.805000+00:00</name> | ||
</author> | ||
<generator uri="https://lkiesow.github.io/python-feedgen" version="0.9.0">python-feedgen</generator> | ||
<entry> | ||
<id>1</id> | ||
<title>Timewarp attack 600 second grace period</title> | ||
<updated>2025-01-09T02:52:28.080557+00:00</updated> | ||
<link href="https://delvingbitcoin.org/t/timewarp-attack-600-second-grace-period/1326/32" rel="alternate"/> | ||
<summary>In an exploration of blockchain security, a strategy is examined where an attacker with complete control over the network's hashrate manipulates block timestamps to influence the difficulty adjustment algorithm. By setting the timestamp of the first block in every period to the previous block's timestamp minus a predefined grace period, and assigning minimal legal timestamps to subsequent blocks within the same period, the attacker can artificially adjust the perceived duration it takes to mine a series of blocks. Specifically, for the bulk of the blocks in a period, the timestamps are set to the lowest possible value, essentially zero, except for the last block which is stamped with the current time. This manipulation results in the calculation of the difficulty adjustment being based on the actual mining time of the last 2016 blocks plus the grace period. | ||
|
||
The difficulty adjustment formula incorporates this manipulated time span, adjusting the mining difficulty based on the total time observed, which includes the grace period. The efficiency of this attack method is quantified through simulations that demonstrate how the average block interval can be subtly altered. For instance, with a grace period of 600 seconds, the simulation yields an average block interval just slightly below the intended 600-second target. Increasing the grace period to 7200 seconds further decreases the average interval, illustrating the potential impact of this strategy on the blockchain's operation. | ||
|
||
This analysis sheds light on a theoretical vulnerability in blockchain protocols, suggesting that even with mechanisms in place to prevent drastic fluctuations in mining difficulty, there exists the possibility for manipulation through coordinated actions by a powerful attacker. The implications of such an attack could extend beyond mere adjustments to the mining difficulty, potentially affecting the security and reliability of the blockchain itself.</summary> | ||
<published>2025-01-08T15:17:23.805000+00:00</published> | ||
</entry> | ||
</feed> |
22 changes: 22 additions & 0 deletions
22
static/delvingbitcoin/Jan_2025/4019_Ecash-TIDES-using-Cashu-and-Stratum-v2.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
<?xml version='1.0' encoding='UTF-8'?> | ||
<feed xmlns="http://www.w3.org/2005/Atom"> | ||
<id>1</id> | ||
<title>Ecash TIDES using Cashu and Stratum v2</title> | ||
<updated>2025-01-09T02:50:45.495563+00:00</updated> | ||
<author> | ||
<name>mcelrath 2025-01-08 14:42:29.272000+00:00</name> | ||
</author> | ||
<generator uri="https://lkiesow.github.io/python-feedgen" version="0.9.0">python-feedgen</generator> | ||
<entry> | ||
<id>1</id> | ||
<title>Ecash TIDES using Cashu and Stratum v2</title> | ||
<updated>2025-01-09T02:50:45.495595+00:00</updated> | ||
<link href="https://delvingbitcoin.org/t/ecash-tides-using-cashu-and-stratum-v2/870/34" rel="alternate"/> | ||
<summary>In the realm of decentralized mining pools for Bitcoin, the concept of "shares" plays a pivotal role, representing full bitcoin blocks that adhere to a lesser proof-of-work (PoW) difficulty than the main Bitcoin network. These shares, potentially encompassing up to 4MB of transaction data, pose significant challenges in terms of validation, particularly when the transactions contained within a share are not present in the validator's mempool. This situation necessitates either the storage and download of transaction ID lists for every share or, in more extreme cases, the entire 4MB block. To address these concerns, the introduction of [Braidpool](https://github.com/braidpool/braidool/), a public blockchain designed as a Directed Acyclic Graph (DAG) where each DAG entry represents a share, has been proposed. By employing [Deterministic Block Templates](https://github.com/braidpool/braidpool/discussions/69), Braidpool aims to streamline the validation process by ensuring that shares implicitly commit to a set of transactions within a predefined mempool, thereby eliminating the need for separate storage or transmission of transaction data for validation purposes. | ||
|
||
However, the implementation of such a system is contingent upon the establishment of a consensus algorithm for the mempool, a feature currently absent in analogous systems like TIDES and Cashu, which complicates the transportation and storage of data due to the absence of a publicly known transaction list. The design of Braidpool inherently limits the size and frequency of shares it can support, dictated by the latency involved in transmitting these shares and the time required to reach consensus on them. With an estimated bead time ranging from 250ms to 1000ms, a miner with 0.1% of the Bitcoin hashrate could expect a monthly revenue variance of approximately 1.5%, highlighting the necessity of variance reduction strategies inherent to mining pools. | ||
|
||
To accommodate smaller miners, the concept of Braidpool sub-pools has been introduced, offering an alternative payout mechanism through eCash tokens derived from shares in the parent pool, rather than direct Bitcoin payments. This model significantly reduces the monthly revenue variance for miners operating as few as four S21-class devices, thus providing a viable solution for small-scale operations. However, for the smallest class of miners, such as those using BitAxe, the feasibility of achieving steady income becomes questionable due to the limitations imposed by transaction dust limits, making solutions like Lightning or eCash tokens more suitable for handling small denominations. Despite these challenges, participation in a Braidpool sub-pool still presents a lucrative opportunity for these small-scale miners, akin to entering a lottery with potentially rewarding outcomes.</summary> | ||
<published>2025-01-08T14:42:29.272000+00:00</published> | ||
</entry> | ||
</feed> |
18 changes: 18 additions & 0 deletions
18
static/delvingbitcoin/Jan_2025/4021_Timewarp-attack-600-second-grace-period.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<?xml version='1.0' encoding='UTF-8'?> | ||
<feed xmlns="http://www.w3.org/2005/Atom"> | ||
<id>1</id> | ||
<title>Timewarp attack 600 second grace period</title> | ||
<updated>2025-01-09T02:52:18.277938+00:00</updated> | ||
<author> | ||
<name>zawy 2025-01-08 17:04:51.668000+00:00</name> | ||
</author> | ||
<generator uri="https://lkiesow.github.io/python-feedgen" version="0.9.0">python-feedgen</generator> | ||
<entry> | ||
<id>1</id> | ||
<title>Timewarp attack 600 second grace period</title> | ||
<updated>2025-01-09T02:52:18.277969+00:00</updated> | ||
<link href="https://delvingbitcoin.org/t/timewarp-attack-600-second-grace-period/1326/33" rel="alternate"/> | ||
<summary>The discussion revolves around the intricacies involved in adjusting for Erlang and the "2015 hole" within a programming context. It highlights a common misconception regarding time stamping in block processing, where the expected behavior deviates significantly from the actual outcome. Initially, there's an assumption that a 600-second discrepancy before a previous block signifies a direct 600-second inaccuracy. However, this is identified as an underestimation. The real issue unfolds as a 1200-second discrepancy, doubling the initial assumption. This stems from the expectation that the timestamp should be 600 seconds later than it actually is, thus revealing a deeper layer of complexity in managing and adjusting timestamps in programming tasks. This understanding corrects the simplistic view of the problem, emphasizing the need for a more nuanced approach to handling time-related errors, especially in environments where precision and accuracy are paramount.</summary> | ||
<published>2025-01-08T17:04:51.668000+00:00</published> | ||
</entry> | ||
</feed> |
18 changes: 18 additions & 0 deletions
18
static/delvingbitcoin/Jan_2025/4023_Timewarp-attack-600-second-grace-period.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<?xml version='1.0' encoding='UTF-8'?> | ||
<feed xmlns="http://www.w3.org/2005/Atom"> | ||
<id>1</id> | ||
<title>Timewarp attack 600 second grace period</title> | ||
<updated>2025-01-09T02:52:12.290121+00:00</updated> | ||
<author> | ||
<name>sipa 2025-01-08 18:05:21.212000+00:00</name> | ||
</author> | ||
<generator uri="https://lkiesow.github.io/python-feedgen" version="0.9.0">python-feedgen</generator> | ||
<entry> | ||
<id>1</id> | ||
<title>Timewarp attack 600 second grace period</title> | ||
<updated>2025-01-09T02:52:12.290159+00:00</updated> | ||
<link href="https://delvingbitcoin.org/t/timewarp-attack-600-second-grace-period/1326/34" rel="alternate"/> | ||
<summary>The email discusses a significant discrepancy regarding an expected timestamp which was anticipated to occur 600 seconds later but instead resulted in a delay, being termed as a "1200 second lie." This terminology underscores the unexpected doubling of the waiting period from what was initially projected. The phrase captures the essence of the situation by highlighting the stark difference between the expected and actual outcomes in terms of time management and projection accuracy. Such a deviation not only emphasizes the importance of precise timekeeping in programming tasks but also reflects on the potential challenges faced when discrepancies arise, impacting overall efficiency and outcome predictability.</summary> | ||
<published>2025-01-08T18:05:21.212000+00:00</published> | ||
</entry> | ||
</feed> |
Oops, something went wrong.