В вновь созданный altcoin? Конечно. Есть множество способов, вы могли бы поддерживать баланс, что вы хотите, и удалить остатки вы не хотите.
Круто. Но как подойти? Я думаю, вы не можете ничего с Rpc-командами делать, но придется использовать Berkeley для этого.
Как бы вы оценили усилия для редактирования цепи, и как трудно было бы изменить двоичные данные?
Это зависит от того, что вы пытаетесь достичь, почему вы пытаетесь достичь, и как вы хотите работать.
Достаточно ли изменить открытый ключ в / двоичных данных, баз данных или там, где она хранится, чтобы стереть адрес и это могло повлиять на балансы других адресов?
Вы должны создать протокол, который будет просто игнорировать определенные transactionIDs или выходы транзакций.
Что произойдет, если есть какой-либо вид несогласованности в цепи? Будет ли она по-прежнему будет vailid?
Не уверен, что вы имеете в виду несогласованности. Мое предположение, что вы будете пытаться аннулировать некоторые неизрасходованные выходы. Ваши новые правила протокола будет просто закодированы не признают их как действительные входами для любых сделок.
Пока ваша цепь удовлетворяет другие требования протокола? Конечно.
И эти требования будут? Есть ли какой-то технический документ?
Мы вернулись к разговору о Bitcoin, а не какой-то новый altcoin, верно?
В этом случае клиент Bitcoin Ядро имеет правила протокола. Лучший способ понять ТОЧНЫЕ правила, чтобы читать исходный код.
В целом, хотя более значительные правила, которые приходят на ум:
- Каждый блок должен иметь ссылку на предыдущий действительный блок всего пути обратно к блоку генеза.
- Каждый блок должен хэш-значение, которое удовлетворяет трудности в то время.
- Каждый блок должен иметь Merkle корня, который генерируется из списка допустимых операций.
- Каждый блок не должен присудить награду блок, который больше, чем сумма надлежащего блока субсидий плюс все сделки сборов всех входящих сделок.
- Каждый блок должен иметь метку времени в пределах определенных ограничений относительного эти блоки до него.
Каждый блок имеет ссылку на блок перед ним. Вы должны выбрать, какой предыдущий блок вы хотите раскошелиться из. Тогда вам придется создавать блоки быстрее, чем остальная часть сети обновляет текущую цепочку, пока ваша цепочка не имеет больше блоков, чем текущий.
Таким образом, теоретически можно было бы атаковать цепь и вилка от последней контрольной точки, если один был достаточно hashpower, чтобы догнать сети?
Да. До тех пор, как вы могли бы догнать до следующей контрольной точки устанавливается.
Защищает ли сеть сама по обновлению контрольно-пропускных пунктов?
Я не думаю, что это целевое назначение контрольно-пропускных пунктов, но я думаю, что это побочный эффект от их существования. Как я понимаю, намеченная цель имеет больше общего с оптимизацией процесса загрузки новых узлов.
И я думаю, что было маленькое недоразумение. То, что я на самом деле хотел бы спросить, если это возможно модифицировать исходный код клиента, чтобы найти блоки быстрее, изменив среднее время для решения блока от 10 минут до 10 микросекунд или что-то подобные - не modiying метки времени. я думаю, нет, разница будет слишком низкой, и это, вероятно, уже уничтожены БТС давно.
Каждый клиент устанавливает целевой трудности для себя, но все они делают это на основе той же самой информации и правил, так что все они в конечном итоге с той же трудностью. Если вы пытаетесь установить более низкие трудности, то все сверстники отказываются передавать или принимать ваш блок.
Каждые 2016 года блокирует клиент смотрит на 2016 блоков, которые только что закончили. Если потребовались более 20160 минут, чтобы решить блоки, то сложность уменьшается пропорционально ускорить решение блока. Если прошли менее 20160 минут, чтобы решить блоки, то сложность увеличивается пропорционально замедлять решение блока. Единственный способ контролировать среднее время для решения блока является регулирование трудности и трудности, с которыми вы решить должны быть по крайней мере так же трудно, как и остальные сети, или они будут просто игнорировать ваши блоки. Вот почему это называется "доказательство правильности работы", Хэш, что вы предоставляете "доказывает" к остальной части сети, что вам "работал" на блоке как жесткий, как они это делали.