Предположим на минуту, что программное обеспечение Bitcoin будет " «Полностью» с открытым исходным кодом", Будет ли он выжить?
В настоящее время Bitcoin является "теоретически с открытым исходным кодом", Что означает, что - в принципе - каждый может изменить клиент, установить альтернативную цепочку с разной скоростью блока цепи, с большей или меньшей щедростью, с различным поведением в отношении сборов, с различными механизмами сценариев и так далее, и так на. Тем не менее, создание альтернативной цепи на практике это совершенно разные вещи. Это требует довольно некоторых навыков программирования, чтобы иметь возможность читать клиент Сатоси или несколько других реализаций, такие как libbitcoin; она требует навыков программирования GUI; она требует рабочей цепи инструментальной среды для компиляции; она требует навыков контроля версий, регрессионного тестирования навыков, времени, чтобы справиться с растущей абонентской базы - и, как следствие, это не так просто. И, даже если вам это удастся, вы все равно должны убедить большие бассейны горнодобывающих принять изменения, поскольку в противном случае ваши изменения не будут отражены в блоке цепи.
Теперь предположим, что ситуация была бы другой. Например, представьте, программное обеспечение, в котором большое количество параметров может быть изменено очень легко, одним нажатием кнопки мыши. Например, все основные параметры алгоритма может быть установлены деточкой подлинника или бабушкой в "Опции..." диалог. Давайте посмотрим на конкретном примере: Вы бы, как часть вашего программного обеспечения бумажника, а также часть вашего горного программного обеспечения, есть вкладка вариант, где он говорит, "Добыча Баунти для каждого блока", Вы можете принять решение по своему усмотрению (1), который блокирует вы были бы готовы принять как правильные блоки (когда ваше программное обеспечение бумажника проверяет блок цепь на корректность) и (2), который блокирует вы бы раздать другие члены майнинга, в случае вы управляете бассейн, и (3), который разделяет вас будет добыча на, в случае, если вы участвуете в бассейне.
С другой стороны, мы могли бы взять на себя совершенно компьютерную грамотность мира, мы учим C ++ и ассемблера в садике, и если вы хотите иметь вам собственную версию бумажника / горнорудное программное обеспечение вы бы просто написать, что между завтраком и обедом.
Я полностью в курсе, что это, вероятно, не работает в текущей структуре протокола и, без сомнения, порождает некоторое хаос, потому что совместимость блока будет нарушена. Узлы, которые изменили параметры в глупом образом потеряют все свои монеты и многие другие неприятные вещи. Тем не менее, пожалуйста, останься со мной на данный момент для следующего мысленного эксперимента.
Однажды мой счет за электричество идет вверх - и я чувствую искушение изменить параметр щедрот от 50 до 60 BTC: Я принимаю каждый блок в силе, если базовая монета 50 BTC (для поддержания совместимости), но я бы также принимать блоки с щедроты до 60 BTC. Я бы небольшое количество моих графических процессоров сделать добычу на 60 BTC баунти блоков, и я бы публиковать эти изменения на веб-странице бассейна я оперирую. (Помните, мы предполагаем, что все это не займет много программ, веб-страница редизайна, программное обеспечение бассейна редизайна ... это просто эксперимент, я могу начать с двумя кликами в моем диалоге опций). Достаточно интересно, так как я бассейн среднего размера, и моя добыча сообщество живет в том же регионе с увеличением счета за электричество, мои собратья пользователи принять этот шаг. Мы даже повезло, и выиграть два или три блока в ряд с этой новой стратегии. Теперь, другие бассейны горнодобывающих смотреть это с некоторым вниманием: Так как мои товарищами шахтеры просто разделить на 60 BTC блока в моем бассейне, некоторые шахтеры покидают свои бассейны и присоединиться к моему 60 BTC бассейна. Через некоторое время некоторые пулы двигаться дальше и принять мою политику 60 BTC. Все больше и больше пользователей, шахтеры и участники пула принять изменения: Легко настроить (только щелчок мышью) и может быть отменено быстро, если это окажется плохая идея. После того, как 4, 5, 6, дни большинство перешел к цепи 60 BTC (конечно, обратно совместим с оригинальной 50 цепи BTC).
Теперь кто-то приходит с идеей установки этого параметра до 200 BTC. Во-первых, многие из них скептически. Но как только бассейн выигрывает первые два или три 200 BTC блоков подряда ... снова некоторые шахтеры меняют свое мнение. После некоторых 4, 5, 6 дней ...
ОК. Теперь вы получили идею. (И, опять же, отказ от ответственности: Это не запрос на изменение алгоритма, но запрос на комментарий!)
Теперь мой вопрос: Я хотел бы понять, если есть механизм, который бы предотвратить такие "дрейф" в параметрах алгоритма. Сейчас эксперимент, хотя это абсурд, потому что это занимает много дней напряженной работы, чтобы получить другой алгоритм работает, и даже гораздо больше работы, чтобы убедить даже небольшое количество шахтеров или коллег poolers тратить свои счета за электроэнергию на другой алгоритм. А ВДРУГ? Есть ли дополнительный механизм, который бы не допустить такой дрейф от происходящих - вне человеческой лени программирования и тестирования различных алгоритмов и за пределами этого человека инерции и сопротивления против инноваций ("Я добыт с использованием исходных параметров Satoshi в течение 2 лет, и я буду добывать с помощью этих параметров, пока я не умру").
Что касается количества щедрот, может быть очевидный механизм: инфляция. Как только мы изменяем щедрот от 50 BTC до 500 BTC, в реальном мире значение измеряется в долларах или рабочих часов должно упасть до 1/10.
Так, может быть, другой шаг может быть более интересным. Несколько шахтеров могут принять решение отказаться от щедрот от 50 BTC до 1 BTC. Зачем они? Ну, это просто. Если они делают это и удастся убедить достаточное количество коллег миллионерами BTC, Bitcoin вступит быстрый дефляционной развитие, что является выгодным для всех тех, у кого уже есть много BTCS. Внезапно стоимость их BTCS поднимается и поднимается - все они должны сделать, это организовать достаточное количество поддерживающих шахтеров, которые следуют за их модификацией, немного удачи, чтобы выиграть несколько блоков и поймать внимание большего числа шахтеров.
Но как насчет других параметров? Например, маршрутная скорость цепи (мы бы удвоить скорость цепи и половину Баунти, так что не будет никакого эффекта Баунти). Или кто-то может предложить использовать SHA512 вместо SHA256 в виде хэша.
Мой стимул для этой нити не является модификация алгоритма, но понимание того, что это социальный механизм. Узлы Bitcoin образуют рой сетевых лиц. В настоящее время все они используют клиент Satoshi, просто потому, что она есть и работает, и все это делает. Если небольшое количество узлов в рое следует иной курс и выгоды от этого изменения - другие могут присоединиться в случае, если количество других, которые соединяются в, слишком мал, это развитие утихнет снова.. Если число других достаточно велико в течение короткого периода времени, развитие может расти и преобладать в долгосрочной перспективе. Рой скоро будет летать в другое направление.