Біткоін з космосу: забезпечуємо безперервне з’єднання з мережею

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

У той час, як Ілон Маск намагається обгорнути інтернетом планету з космосу, блокчейн біткоіна вже там кілька років як транслюється і покриває велику частину суші з найбільш заселеними регіонами. І найцікавіше у тому, що прийняти трансляцію можна за допомогою досить розповсюджених у нашій країні супутникових тарілок. Оскільки з недавніх пір трансляція безкоштовних каналів різко скоротилась, можна перепрофілювати вже встановлену антену на інше застосування.

Для чого отримувати блокчейн з космосу

Чим більше у Вас незалежних джерел отримання даних, тим надійніша система.

У проекції на мережу біткоіна це виглядає так: якщо у вас є своя повна синхронізована нода, то для підтримання її у такому стані потрібно мати безперервне з’єднання з мережею, аби постійно отримувати нові блоки. Утримання у себе повної ноди покращує загальну стабільність і доступність мережі біткоіна, а також захищає від узурпації мережі якоюсь недобросовісною групою осіб.

Щоб проілюструвати вплив запасного каналу зв’язку, візьмемо наступне: нехай ймовірність відмови каналу «інтернет» буде 0.05, а ймовірність відмови каналу «супутник» буде 0.1, тоді маючи обидва цих канали ймовірність отримати відмову буде 0.1*0.05, тобто 0.005. Таким чином, утримуючи у себе ноду з двома каналами синхронізації, досягається значне покращення відмовостійкості.

Цікавий факт: для передачі блоків через супутник використовується модифікований протокол FIBRE (Fast Internet Bitcoin Relay Engine), що дозволяє майже без затримок розповсюджувати інформацію про всі події мережі. Цей протокол, в якийсь час, давав майнерам можливість швидко повідомити один одному про нові знайдені блоки, аби не виконувати зайву роботу. Йдеться про зменшення часу на розповсюдження блоку у мережі біткоіна, який зовсім не константний, і в деяких випадках пропагація блоку займала майже хвилину. В той час як блок добувається за, орієнтовно, 10 хвилин.

Як зробити резервний канал

Покриття на теренах України забезпечує супутник Telstar 11N. Це 37 градус західної довготи. Щоб отримувати сигнал, потрібна антена з діаметром не менше 55 см. Також бажано, щоб конвертер встановлений на антені був PLL типу. Для отримання даних на ПК також необхідний приймач. Існує кілька варіантів: якийсь DVB-S2 приймач (USB, можливо PCI-E) або SDR приймач.

Далі буде описано про SDR, бо він був під рукою. У цьому конкретному випадку це DVB-T приймач з USB інтерфейсом. У силу того, що такий приймач не може живити конвертер, потрібен також інжектор живлення, і власне блок живлення. Знайти в продажу спеціалізованого блока живлення для LNB конверторів не вдалось, тому був збудований власний.

У хід пішли суматор хвиль метрового і дециметрового діапазону і блок живлення від антени дециметрового діапазону. Схематично це виглядає наступним чином:



Як виявилось, для живлення конвертера необхідні напруги 13 В для вертикальної поляризації і 18 В — для горизонтальної. На щастя, сигнал у наш регіон приходить у вертикальній поляризації.

Як навести антену на супутник

Були спроби наводити її за допомогою компасу, але невдалі. Ще були спроби навести за допомогою звичайного DVB приймача, теж невдалі, бо на супутнику жодної трансляції телебачення або радіо. Після кількох невдач, був знайдений метод з застосуванням простого додатку на мобільний телефон з Android на борту — SatFinder. Суть методу полягає у використанні місцевості для визначення азимуту: на карті google maps, у режимі супутник, ставиться GPS координата розташування антени і додаток малює лінію, що вказує на супутник по карті. Відповідно, лінія проходить через якісь будівлі навколо того місця, де встановлена антена, і вони слугують орієнтирами для наведення.

Наступний крок — відміряти кут нахилу до горизонту. Дуже добре, якщо на кріпленні антени є помітки з градацією кута нахилу, якщо ні — можна вдатися до невеличкого фокусу. Антену можна навести на якийсь супутник з хорошим рівнем сигналу, далі виміряти відстань від нижнього краю антени до вісі, на якій встановлена антена, і за допомогою тригонометрії порахувати кут нахилу.

Для прикладу, візьмемо вид з боку на антену. Якщо намалювати уявний прямокутний трикутник А, що проходить гіпотенузою через два краї антени (верхній і нижній), а одним катетом проходить через вертикальну вісь, на якій закріплена антена, то можна порахувати кут нахилу антени відносно горизонту. Уявивши прямокутний трикутник А’, у якому можна задати довільну висоту вертикального катета і, вимірявши висоту горизонтального катета, дізнатись тангенс кута нахилу шляхом ділення довжини горизонтального катета А’ на довжину вертикального катета А’. Тепер достатньо порахувати кут нахилу шляхом обчислення арктангенса, так як трикутники А і А’ подібні за стороною і двома прилеглими до сторони кутами. Далі потрібно уточнити кут до горизонту того супутника у SatFinder. Різницю кутів, фактичного і того, що в додатку потрібно запам’ятати. Далі потрібно додати до значення кута до горизонту спутника Telstar 11N з SatFinder різницю кутів і перевести у відстань від вісі до нижнього краю антени (позначимо як L`, також паралельну до горизонту). Для цього будуємо пряму L паралельну горизонту (у приміненні до антени можна взяти будівельний рівень), що з’єднує нижній край антени і вісь, на якій підвішена антена, і вимірюємо довжину L. Також потрібно виміряти висоту від точки перетину L з віссю, на якій підвішена антена до точки, де антенне кріплення має поворотний механізм, (нехай буде H) .

Тепер, знаючи фактичний кут нахилу, і довжину відрізку L можна порахувати L` знаючи необхідний фактичний кут для супутника Telstar 11N. Власне довжина L` становить довжина L*cos(різниця фактичних кутів між наведеним супутником і Telstar 11N) мінус висота Н* sin( різниця фактичних кутів між наведеним супутником і Telstar 11N).

Може здатись, що допущено помилку і частина з вимірюванням абсолютного кута не потрібна, але таким чином можна мати хоч якийсь спосіб перевірки.

Раптом хтось має кращий спосіб — поділіться ним.

Ще один параметр, який впливає на прийом сигналу — кут повороту конвертера від вертикалі. Оскільки поляризація не кругова, а вертикальна потрібно провернути конвертер на значення, яке теж вказане у додатку SatFinder. На конверторі має бути градація кута повороту і нульове значення.

Коли все це виконано, можна налаштовувати програмне забезпечення на ПК.

Як налаштувати ПК

Для цієї задачі необхідна операційна система Linux (можна спробувати і на інших UNIX-системах).

Вважаємо, що в дистрибутиві встановлений python версії 3.

Виконуємо в консолі sudo pip3 install blocksat-cli і запускаємо blocksat-cli cfg. Цей конфігуратор допоможе в ініціалізації налаштувань. Далі потрібно встановити певні програми і бібліотеки (rtl-sdr leandvb tsduck gqrx-sdr), необхідні для blocksat-cli. Їх можна знайти скомпільованими для Вашого дистрибутиву, запустивши blocksat-cli deps install, або скомпілювати власноруч звідси та звідси.

Після цього потрібно запустити blocksat-cli btc. Ця команда допише у конфігурацію біткоін ноди ще одне джерело отримання блоків, і безпосередньо blocksat-cli sdr, як у описаному випадку.

Можливо доведеться ще погратись з gqrx, щоб більш точно налаштувати антену. Цей додаток показує рівень сигналу SDR приймача на заданому діапазоні частот. Для налаштування необхідних параметрів можна запустити blocksat-cli gqrx-conf. Далі запуск gqrx буде налаштований на частоту прийому сигналу, або близько біля неї. Якщо у вікні додатку не буде ярко вираженої полоси сигналу — варто спробувати підлаштувати антену. У випадку, коли частота з піковою амплітудою не співпала з червоною полосою у gqrx, потрібно запускати blocksat-cli sdr —derotate <відхилення у кілогерцях>.

Ще одне зауваження, варте уваги: при відсутності бажання отримувати графічний інтерфейс з рівнем помилок і інших показників, можна не обтяжувати себе встановленням пакетів (компіляцією бібліотек), а скористатись Docker контейнером blockstream/blocksat-host

Тепер у ноди біткоіна буде ще одне джерело отримання блоків блокчейна.

Розширена документація про проект доступна за посиланням.

👍НравитсяПонравилось1
В избранноеВ избранном1
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Твой биткоин уже обвалился и сейчас мамкины инвесторы в панике его распродают. Тут спутник не поможет :)

Угу, обвалился... до уровня недельной давности

2015 год: тюльпаны, понци, МММ, только лохи могут верить что эта штука будет стоить больше $10к, скоро все до нуля обвалится и мамкины инвесторы останутся с ничем

2020 год: обвалился ваш биткоин до 16к, что я говорил! говорил же обвалится!

2025 год: опять ваш биткоин обвалился, до 100к, лох не мамонт, лох не вымрет

2030 бакса уже нет есть только xrp

Я знав, що існують такі люди, як Ви.

Опис вражень BitMEX при налаштуванні прийому даних зі супутника: blog.bitmex.com/bitcoin-satellite Погляд на ту ж проблему під іншим кутом.

Подписаться на комментарии