Gitchain: смесь Гитхаба с Биткоином

    Канадский программист Юрий Рашковский решил объединить две популярные технологии — систему контроля версий Git и распределённую БД Биткоин. Его проект Gitchain, который недавно успешно собрал на Кикстартере запланированные 10 000 долларов, по задумке автора позволит сделать систему контроля версий Git по-настоящему распределённой. С ростом популярности крупных публичных репозиториев, таких как Гитхаб, система Git, которая изначально задумывалась как распределённая, фактически используется централизованно и полностью зависит от сторонних серверов.

    В Gitchain цепочка блоков, построенная по образу и подобию Биткоина, хранит метаданные репозиториев. Это напоминает устройство сети Namecoin, где имена доменов и данные их владельцев общедоступны и защищены от подделок точно так же, как защищены транзакции сети Биткоин. Сам код и данные репозиториев хранятся отдельно, в сети DHT, так как их объём может быть слишком большим и быстро раздует цепочку блоков до неприемлемого размера. Вот небольшой скринкаст, который демонстрирует сеанс работы с Gitchain:



    Юрий Рашковский пишет, что собранных денег хватит на то, чтобы завершить разработку базовой версии Gitchain до конца лета. Если удастся собрать 15 000 долларов, будут добавлены некоторые продвинутые функции — возможность создавать приватные зашифрованные репозитории, а также система вознаграждений участников сети, причём не только за майнинг блоков (proof of work), но и за хранение и передачу данных (proof of storage, proof of bandwidth). Это позволит перевести сеть из разряда хобби-проекта для энтузиастов в нечто более срьёзное и масштабируемое.

    Весь код Gitchain открыт и доступен на Гитхабе под лицензией Apache 2.0

    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 17
    • +5
      Сам код и данные репозиториев хранятся отдельно, в сети DHT, так как их объём может быть слишком большим и быстро раздует цепочку блоков до неприемлемого размера.

      А что ограничивает бесконечное добавление мета-данных кем угодно? Раздует точно так же ведь и опять централизованные крупные майнеры, лучше уж профессионалы GitHub.
      • +1
        Можно ли будет из этих метаданных восстановить репозиторий? Если нет, то польза от такой распределенности сомнительна.
        • +21
          С ростом популярности крупных публичных репозиториев, таких как Гитхаб, система Git, которая изначально задумывалась как распределённая, фактически используется централизованно и полностью зависит от сторонних серверов.
          Может эта фраза просто неудачно сформулирована, но я не вижу, каким образом существование гитхаба делает гит зависимым от сторонних серверов. Если гитхаб завтра закроется — 99.9% репозиториев останутся существовать на компьютерах их разработчиков, которые просто найдут другие сервисы куда их залить либо откроют доступ к локальному репозиторию из инета одним из множества существующих способов.

          Так какую реальную проблему пытается решить этот проект? Что именно и от каких подделок он пытается защитить?
          • –1
            >Так какую реальную проблему пытается решить этот проект?

            Зависимость от сторонних централизованных хранилищ?
            • +5
              В чём заключается эта зависимость? Гитхаб используется исключительно потому, что он очень удобен. Зависимость от него если и возникает, то она является психологической, а не технической.
              • –2
                Там в соглашении при регистрации сказано что они могут удалить любой проект.
                • +8
                  И? У тебя есть локальная копия на твоей машине, идешь в bitbucket, google code или поднимаешь свой gitolite на Amazon и все. Смена github на другой сторадж технически — 3 комманды в консоли. Где тут зависимость?
                  • +14
                    У меня есть подозрение, что многие товарищи не различают гит и гитхаб — они учатся пользоваться ими обоими одновременно, причём учат только необходимый для работы минимум, не вникая в архитектуру и идеологию DVCS вообще и гита в частности. И поэтому вообще возникла вся эта тема — один такой создал проект, другие дали на него денег, и теперь все довольны кроме недоумевающего что происходит меня. :)
                    • +4
                      Скажем так, в посте идет немного игра слов, но по сути логика в этом есть. Ведь множество всех git-репозитариев это тоже слово «git», а не GitHub. А GitHub сейчас централизованная точка доступа к этому множеству. И да, ваш репозитарий для вас сохранится, а вот доступ к остальным нет. С учетом множества зависимостей при развертывании и т.д. это можно считать серьезной зависимостью.
                      Нет, я не считаю идею работоспособной, да и копий GitHub думаю немало, но определенная логика в рассуждениях создателя есть.
                      Недавно кстати был аналогичный пример со спасением базы рутрекера.
                • +2
                  В том, что на централизованные хранилища случаются рейды DMCA, Роскомнадзора и прочей цензуры. А на децентрализованную сеть это сделать не так просто (хотя и возможно).

                  UPD: не правильно понял ваш вопрос.

                  Зависимость есть в том, что для всех локальных гит-репозиториев нужно какое-то общее место, rendezvous point, через которое они могут синхронизироваться и с которого можно утащить наиболее актуальную версию кода.
              • 0
                Полностью поддерживаю.

                Один вопрос: а все удоства гитхаба помимо самого гита доступны opensource где-то? Ну там вся навороченная вебморда и т.п. То есть, если гитхаб действительно загнется насколько сложно поднять полный аналог?

                Простите за глупый вопрос, редко им пользуюсь.
                • +2
                  Если у вас много денег, можно поднять на своем серере: enterprise.github.com/
                  Есть и опенсорсные решения, самое популярное: www.gitlab.com/
                • 0
                  Реальная проблема — контроль соответствия клиентского кода opensource проекта (например, Blockchain Wallet) исполняемого в браузере конкретному репозиторию с накопившемся трастом.
                • –6
                  Восторг!
                  • 0
                    Как я понял, это не какая-то замена гитхабу и не погоня за децентрализацией ради самой децентрализации, а просто вариант размещения удаленного репозитория — децентрализованный центр, так сказать. Гит может, конечно, работать вообще без центрального сервера, но это приводит к конфузу, разброду и шатанию в локальных репозиториях разработчиков. С такой системой не нужно будет выделять машину под всегда доступный личный сервер или доверять какой-то компании.
                    Как в обычных файловых хранилищах — можно свой сервер поднять, можно на готовый чужой сервис залить, можно в P2P отдать.
                    Интересно, как разработчик решит проблему скорости прохождения транзакций — если с биткоинами можно потерпеть, вряд ли кто-то захочет два часа ждать исправление критического бага.
                    • 0
                      Можно в фоне поднять облачный инстанс для синхронизации (например, в Амазоне) и затушить его, когда процедура закончена.
                    • 0
                      Канадский программист Юрий Рашковский, да.

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.