Система Біткоїн складається з трьох складових, функціонування та взаємодія яких забезпечують системі її властивості та виконання системою її функцій:
- Програма Bitcoin Core з повною версією блокчейну встановлена на комп’ютері та під’єднана до мережі Біткоїн – це вузол мережі Біткоїн або Нода (від англ. Node).
- Блокчейн (Blockchain) як база даних організована особливим чином, та як версія бази даних визнана більшістю вузлів.
- Майнінг (Mining).
Програму Bitcoin Core встановлюють люди з усіх куточків планети на свої комп’ютери, забезпечуючи цим децентралізацію системи.
Розробляють програму програмісти з різних куточків світу, віддалено, приєднуючись до команди розробників через інтернет. Немає єдиного центру розробки програми-вузла, який можна закрити.
Програма-вузол BitcoinCore має відкритий програмний код. Якщо код програми буде змінено таким чином, що робота цієї програми порушуватиме загально прийняті в системі правила, ці зміни одразу будуть виявлені та оголошені загалу. Вузли системи біткоїн ігноруватимуть результати роботи такої програми і ця програма буде відкинута мережею Біткоїн.
BitcoinCore не єдина програма-вузол, існують програми-вузли від інших виробників, наприклад Bitcoin Knots та інші.
Функції Bitcoin Core чи іншої програми-вузла:
- генерує пари ключів, реалізує можливість прийому та надсилання біткоїнів створюючи транзакції – тобто виконує функцію біткоїн-гаманця;
- містить повну, актуальну копію бази даних блокчейн;
- виконує функцію контролера на відповідність правилам системи Біткоїн, перевіряючи блоки з транзакціями, які надсилають майнери;
- взаємодія з іншими вузлами системи з метою синхронізації, оновлення версії блокчейну та контролю за дотриманням правил.
Програма-вузол є одиницею мережі Біткоїн, носієм всіх правил системи Біткоїн та контролером відповідності правилам системи.
Більшість вузлів, які працюють по однаковим правилам обумовлюють правила всієї системи. Впровадження змін до правил функціонування системи Біткоїн відбувається через оновлення програмного коду більшості програм-вузлів (нод).