# \#consensus

**URL:** https://forum.autonomys.xyz/tag/consensus/38.md

[Latest](https://forum.autonomys.xyz/latest.md) · [Categories](https://forum.autonomys.xyz/categories.md) · [Tags](https://forum.autonomys.xyz/tags.md)

---

## [A LOT faster Snap sync](https://forum.autonomys.xyz/t/a-lot-faster-snap-sync/4847)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 0\
**Last updated:** [June 18, 2025, 4:31am UTC](https://forum.autonomys.xyz/t/a-lot-faster-snap-sync/4847 "2025-06-18T04:31:49Z")

</div>

A significant delay for Snap sync on consensus chain right now is downloading pieces from DSN. IIRC this is a requirement for domains due to the need to sync at a specific consensus chain height, but it is not actually t…

---

## [Change derivation of PoSpace seed (and HDD-compatible exploit)](https://forum.autonomys.xyz/t/change-derivation-of-pospace-seed-and-hdd-compatible-exploit/4438)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 10\
**Last updated:** [October 5, 2024, 6:34am UTC](https://forum.autonomys.xyz/t/change-derivation-of-pospace-seed-and-hdd-compatible-exploit/4438 "2024-10-05T06:34:13Z")

</div>

Right now we have the following design and implementation: let sector\_id = SectorId::new(public\_key\_hash, sector\_index); let seed = sector\_id.derive\_evaluation\_seed(piece\_offset, history\_size); However, the observation…

---

## [Farmer equivocation is problematic](https://forum.autonomys.xyz/t/farmer-equivocation-is-problematic/3063)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 16\
**Last updated:** [September 27, 2024, 11:43am UTC](https://forum.autonomys.xyz/t/farmer-equivocation-is-problematic/3063 "2024-09-27T11:43:40Z")

</div>

Currently in Subspace consensus we have a notion of equivocation. After thinking about it some I’m convinced that it is a UX hazard and should be re-designed in the way it functions. For background, equivocation is supp…

---

## [Assigning farmers to shards](https://forum.autonomys.xyz/t/assigning-farmers-to-shards/4437)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 2\
**Last updated:** [September 25, 2024, 8:53pm UTC](https://forum.autonomys.xyz/t/assigning-farmers-to-shards/4437 "2024-09-25T20:53:08Z")

</div>

There were different proposals on how to assign farmers to shards for upcoming scalability design, but they all seemed complex and smelled like Proof of Stake to me. I think there is a more elegant and natural solution t…

---

## [Faster way to sync non-archival nodes](https://forum.autonomys.xyz/t/faster-way-to-sync-non-archival-nodes/2341)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 12\
**Last updated:** [March 26, 2024, 4:19am UTC](https://forum.autonomys.xyz/t/faster-way-to-sync-non-archival-nodes/2341 "2024-03-26T04:19:21Z")

</div>

With growing blockchain size sync process takes longer and longer, which is a big user experience problem for farmers. There are fast and warp syncs in Substrate that are not functional in Subspace due to various reason…

---

## [Why are the heights of best head and finalized different by tens of thousands?](https://forum.autonomys.xyz/t/why-are-the-heights-of-best-head-and-finalized-different-by-tens-of-thousands/2394)

<div class="topic-metadata">

**Author:** [@tom](https://forum.autonomys.xyz/u/tom)\
**Replies:** 0\
**Last updated:** [January 22, 2024, 1:46pm UTC](https://forum.autonomys.xyz/t/why-are-the-heights-of-best-head-and-finalized-different-by-tens-of-thousands/2394 "2024-01-22T13:46:55Z")

</div>

---

## [Bad fraud proof DomainId(1), error](https://forum.autonomys.xyz/t/bad-fraud-proof-domainid-1-error/2190)

<div class="topic-metadata">

**Author:** [@gateomega](https://forum.autonomys.xyz/u/gateomega)\
**Replies:** 1\
**Last updated:** [November 23, 2023, 9:23am UTC](https://forum.autonomys.xyz/t/bad-fraud-proof-domainid-1-error/2190 "2023-11-23T09:23:54Z")

</div>

Issue Report Environment Ubuntu 22.04 Advanced CLI Problem I have Bad fraud proof DomainId(1), error as below: 023-11-22T19:33:02.800931Z \[Consensus\] Bundle equivocation proof verification failed: FailedToGetDomainTo…

---

## [Extreme audit algorithm inefficiency (CPU-bound)](https://forum.autonomys.xyz/t/extreme-audit-algorithm-inefficiency-cpu-bound/2040)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 11\
**Last updated:** [November 6, 2023, 3:37pm UTC](https://forum.autonomys.xyz/t/extreme-audit-algorithm-inefficiency-cpu-bound/2040 "2023-11-06T15:37:34Z")

</div>

I have been trying to tune auditing performance and turned out it is severely CPU-bound. Why? Quite naturally actually. For every sector we pick an s-bucket and check all of the audit chunks of every encoded chunk. Let…

---

## [Why can't Subspace have Chia-like "filter"?](https://forum.autonomys.xyz/t/why-cant-subspace-have-chia-like-filter/2074)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 9\
**Last updated:** [November 5, 2023, 6:15pm UTC](https://forum.autonomys.xyz/t/why-cant-subspace-have-chia-like-filter/2074 "2023-11-05T18:15:29Z")

</div>

It is not very intuitive to me right now why we have to audit all sectors. IIRC there are some attacks that would be possible if we skip sectors according to some criteria, however wouldn’t that also cause issues for Chi…

---

## [Not requiring justifications in blocks can lead to trivial DoS attacks](https://forum.autonomys.xyz/t/not-requiring-justifications-in-blocks-can-lead-to-trivial-dos-attacks/1926)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 19\
**Last updated:** [October 9, 2023, 4:59pm UTC](https://forum.autonomys.xyz/t/not-requiring-justifications-in-blocks-can-lead-to-trivial-dos-attacks/1926 "2023-10-09T16:59:37Z")

</div>

Right now we use what Substrate calls “justifications” to store PoT checkpoints. Justifications are pieces of data stored alongside the block in the blockchain database and typically used for finality in PoStake blockcha…

---

## [Understanding security statements for Subspace consensus](https://forum.autonomys.xyz/t/understanding-security-statements-for-subspace-consensus/1599)

<div class="topic-metadata">

**Author:** [@Chen\_Feng\_2023](https://forum.autonomys.xyz/u/Chen_Feng_2023)\
**Replies:** 9\
**Last updated:** [September 14, 2023, 8:02am UTC](https://forum.autonomys.xyz/t/understanding-security-statements-for-subspace-consensus/1599 "2023-09-14T08:02:30Z")

</div>

Subspace consensus builds upon Nakamoto-style Proof-of-Work (PoW) and Proof-of-Stake (PoS) consensus. Let’s understand the security statements for each of them. PoW Security: Given some honest mining power \\Omega, an a…

---

## [Thoughts about what to include in block header and slot number](https://forum.autonomys.xyz/t/thoughts-about-what-to-include-in-block-header-and-slot-number/1624)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 4\
**Last updated:** [August 24, 2023, 6:51am UTC](https://forum.autonomys.xyz/t/thoughts-about-what-to-include-in-block-header-and-slot-number/1624 "2023-08-24T06:51:49Z")

</div>

We have discussed that we will use randomness from slot n to farm, but will wait for something like n+6 before actually producing a block with the solution to ensure everyone is in the same conditions and slower or faste…

---

## [Proof of space performance improvements by sharing tables between pieces](https://forum.autonomys.xyz/t/proof-of-space-performance-improvements-by-sharing-tables-between-pieces/1585)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 29\
**Last updated:** [August 10, 2023, 8:58am UTC](https://forum.autonomys.xyz/t/proof-of-space-performance-improvements-by-sharing-tables-between-pieces/1585 "2023-08-10T08:58:35Z")

</div>

I’ve been hacking intensively on Chia again last week and got some decent progress, but there is one thing that bothers me. Since we need a table for each piece, on commodity hardware performance looks like “seconds per…

---

## [Notion of time slots with PoT](https://forum.autonomys.xyz/t/notion-of-time-slots-with-pot/1600)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 13\
**Last updated:** [August 8, 2023, 3:04pm UTC](https://forum.autonomys.xyz/t/notion-of-time-slots-with-pot/1600 "2023-08-08T15:04:37Z")

</div>

I noticed a “small” implementation problem. Out notion of time was fixed before PoT, what I mean by that is that our time slots were basically current time - time of the block #1 divided by the time slot duration. Howe…

---

## [On using the heaviest chain](https://forum.autonomys.xyz/t/on-using-the-heaviest-chain/1598)

<div class="topic-metadata">

**Author:** [@Chen\_Feng\_2023](https://forum.autonomys.xyz/u/Chen_Feng_2023)\
**Replies:** 1\
**Last updated:** [August 8, 2023, 12:15pm UTC](https://forum.autonomys.xyz/t/on-using-the-heaviest-chain/1598 "2023-08-08T12:15:34Z")

</div>

As we know, with difficulty adjustment, Bitcoin uses the heaviest chain (calculated by the sum of the block difficulties) instead of the longest chain to determine the ledger. However, it is a bit tricky to use the heavi…

---

## [AES usage in PoT](https://forum.autonomys.xyz/t/aes-usage-in-pot/1522)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 0\
**Last updated:** [June 6, 2023, 10:53am UTC](https://forum.autonomys.xyz/t/aes-usage-in-pot/1522 "2023-06-06T10:53:24Z")

</div>

Current spec says that we use AES, but that is a big too high-level IMO. In particular, when using AES-NI intrinsics, there are a few distinct intrinsics that can be used. Here is what encoding looked like in our old e…

---

## [Proof-of-time propagation](https://forum.autonomys.xyz/t/proof-of-time-propagation/1519)

<div class="topic-metadata">

**Author:** [@dariolina](https://forum.autonomys.xyz/u/dariolina)\
**Replies:** 0\
**Last updated:** [June 5, 2023, 2:06pm UTC](https://forum.autonomys.xyz/t/proof-of-time-propagation/1519 "2023-06-05T14:06:08Z")

</div>

For the Proof-of-Time specification, one of the questions is how exactly the proofs-of-time will reach farmers. As we have previously discussed: domain operators (executors) are expected to dedicate a CPU core to run…

---

## [S-buckets sizes difference](https://forum.autonomys.xyz/t/s-buckets-sizes-difference/1487)

<div class="topic-metadata">

**Author:** [@dariolina](https://forum.autonomys.xyz/u/dariolina)\
**Replies:** 3\
**Last updated:** [May 15, 2023, 8:42am UTC](https://forum.autonomys.xyz/t/s-buckets-sizes-difference/1487 "2023-05-15T08:42:12Z")

</div>

I have plotted the following distribution of current s-bucket sizes for a 1300-piece sector: The median is around 750 chunks per bucket. I attribute the drop after s-bucket index ~50000 to the fact that by that point…

---

## [Replace first block zeroes with pseudo-random data](https://forum.autonomys.xyz/t/replace-first-block-zeroes-with-pseudo-random-data/1498)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 1\
**Last updated:** [May 15, 2023, 8:18am UTC](https://forum.autonomys.xyz/t/replace-first-block-zeroes-with-pseudo-random-data/1498 "2023-05-15T08:18:55Z")

</div>

Fix polynomial normalization by nazar-pc · Pull Request #1454 · subspace/subspace · GitHub reminded me that we should probably replace zeroes in the genesis block with pseudo-random data instead. Not sure if those zeroes…

---

## [Performance of chia proof of space re-implementation in Rust](https://forum.autonomys.xyz/t/performance-of-chia-proof-of-space-re-implementation-in-rust/1478)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 2\
**Last updated:** [May 12, 2023, 7:53pm UTC](https://forum.autonomys.xyz/t/performance-of-chia-proof-of-space-re-implementation-in-rust/1478 "2023-05-12T19:53:10Z")

</div>

Still not working quite correctly, but re-implementation of chiapos in Rust is faster. Specifically, ~175ms for k17, a few ms faster than first phase in C++ chiapos + we don’t do other phases. k16 goes down do ~91ms. P…

---

## [Remove erasure coding from v2.3 plotting](https://forum.autonomys.xyz/t/remove-erasure-coding-from-v2-3-plotting/1435)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 8\
**Last updated:** [April 25, 2023, 7:26pm UTC](https://forum.autonomys.xyz/t/remove-erasure-coding-from-v2-3-plotting/1435 "2023-04-25T19:26:58Z")

</div>

I have a proposal to remove erasure coding from v2.3 consensus (plotting). I know @dariolina will not like it, but I think there are more positive aspects to it than negative. Erasure coding was added due to the fact th…

---

## [Slight change to sector contents](https://forum.autonomys.xyz/t/slight-change-to-sector-contents/1368)

<div class="topic-metadata">

**Author:** [@nazar-pc](https://forum.autonomys.xyz/u/nazar-pc)\
**Replies:** 17\
**Last updated:** [April 16, 2023, 7:08am UTC](https://forum.autonomys.xyz/t/slight-change-to-sector-contents/1368 "2023-04-16T07:08:02Z")

</div>

Initially I read specification incorrectly and there was growing confusion between what I though I understood and what I was implementing. Eventually we talked with @dariolina and we were able to understand each other: …
