Есть две основные причины, мы получаем осиротевшие блоки в blockchains:
1) N шахтеры одновременно решить военнопленный для блока, каждый из представления нового блока с тем же родителем (который является то, что вызывает вилку)
2) Двойные попытки уровня расходов
1) происходит потому, что мы связали список блоков
2) происходит из-за мошенничества или сломанных кошельков
Просто с помощью DAG вместо связанного списка (и одна транзакции на блок) позволит повысить скорость сиротской, так как число допустимых DAG головок больше 1, но это по-прежнему не является оптимальным, так как скорость сиротой уменьшит только фактор количество головок.
Оптимально (для уменьшения сиротского), каждый неизрасходованного выход головки ДАГ. Если вы и только вы можете минировать свои собственные операции, вы никогда не можете получить сиротский блок (за исключением случая двойной тратиться). Это приведет к максимально возможной пропускной способности транзакций.
Огромная проблема состоит в том, что как только вы сделаете это, вы полностью потеряете цепочку консенсуса, потому что вы не можете построить на UTXOs чужого. Тогда возникает вопрос, заключается в следующем: есть ли другой способ обойти это? Можете ли вы сделать что-то вроде есть параллельный консенсус цепь, состоящая только из крупных шахтеров, собирающих только вознаграждение блока и не делать никакой проверки транзакций или пакетирование. Тогда, когда сделка будет отправлена, он построен ссылкой лучшего блока консенсусной цепи?