разработчик
0,0
рейтинг
31 мая 2014 в 18:55

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

Git*
Канадский программист Юрий Рашковский решил объединить две популярные технологии — систему контроля версий 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

Илья Сименко @ilya42
карма
526,7
рейтинг 0,0
разработчик
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (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
    Канадский программист Юрий Рашковский, да.

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