Based on a hacky BigQuery query, there are over 21,000 accounts that have at least a dust amount of ENS tokens and have had for >= 180 days. Each of these would become immediately valuable as a place to put ENS tokens and immediately earn significantly more rewards.
I think you’re being entirely too casual about this; to be resistant to gaming your calculation has to take either the minimum balance over the last 180 days, or (better, IMO) sum up the balance-seconds to use as a weighting factor instead.
BigQuery query
WITH
transfers AS (
SELECT
block_timestamp,
block_number,
log_index,
`from` AS account,
-CAST(value AS BIGNUMERIC) / 1e18 AS value
FROM
`blockchain-etl.ethereum_ens.ENSToken_event_Transfer`
UNION ALL
SELECT
block_timestamp,
block_number,
log_index,
`to` AS account,
CAST(value AS BIGNUMERIC) / 1e18 AS value
FROM
`blockchain-etl.ethereum_ens.ENSToken_event_Transfer` ),
balances AS (
SELECT
block_number,
log_index,
block_timestamp,
account,
COALESCE(SUM(value) OVER (value_window), 0) AS balance_before,
COALESCE(SUM(value) OVER (value_window) + value, 0) AS balance
FROM
`transfers`
WINDOW
value_window AS (
PARTITION BY
account
ORDER BY
block_number,
log_index ROWS BETWEEN UNBOUNDED PRECEDING
AND 1 PRECEDING ) )
SELECT
block_timestamp,
account,
balance,
LAST_VALUE(
CASE
WHEN balance_before <= 0 OR balance_before + balance <= 0 THEN block_timestamp
ELSE NULL
END
IGNORE NULLS) OVER (PARTITION BY account ORDER BY block_number, log_index ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) AS last_zero
FROM
`balances`
WHERE balance > 0
QUALIFY
ROW_NUMBER() OVER (PARTITION BY account ORDER BY block_number DESC, log_index DESC) = 1
AND current_timestamp - last_zero > INTERVAL 180 day
ORDER BY balance
Why not set the minimum amount at 10 ENS also, though?