Leserartikel Alles über Bitcoin-Core & Installation vom Quellcode

Status
Für weitere Antworten geschlossen.
In diesem Artikel werden wir Bitcoin-Core vom Quellcode, auf einem Ubuntu GNU/Linux 64-Bit Betriebssystem installieren.
Diese Installationsanleitung gilt für alle Debian/Ubuntu ähnlichen Distributionen/Betriebssysteme; wie zum Beispiel: Kubuntu, Lubuntu, Xubuntu, Kali Linux, KDE neon, Linux Mint, Elementary OS, Zorin OS, und viele mehr.
Hauptsächlich unterscheidet sich die Installation durch den, von der jeweiligen Distribution verwendeten Paket-Manager. Ubuntu verwendet das „Advanced Package Tool (APT)“. Andere Distributionen verwenden andere Paket Manager, wie zum Beispiel der „pacman“ von „Arch Linux“, den auch „Manjaro“ verwendet.
Durch das abändern der Befehle, in die von der Distribution verwendeten Paket Manager, zum Beispiel:
Ubuntu Befehl:
Code:
apt-get install bitcoin-qt
Arch Linux Befehl:
Code:
pacman -S bitcoin-qt
Kann diese Anleitung auch für andere Distributionen verwendet werden. Der Name der Pakete kann jedoch abweichen.

Bitcoin-Core ist das Quellprogramm aller Bitcoin Programme
Als erstes sollte man verstehen wie das gesamte System funktioniert. Es ist auch ratsam zu wissen, wie und wo, das eigene Geld aufbewahrt wird.
Bitcoins funktionieren auf folgender weise: Jeder Benutzer muss sich zuerst eine Bitcoin-Wallet (Bitcoin-Geldbeutel) erstellen. In dieser Wallet werden dann die Bitcoins aufbewahrt. Am besten stellt man sich die Bitcoin-Wallet, wie ein Bankkonto vor und so sieht die Kontonummer aus:
E0476E4991D85CF0FA8A5678CA8312 (Frei erfunden, kann per Zufall jemandem gehören)
Diese Verkettung von Hexadezimal-Zahlen, nennt man einen String (Strang).
Im unterschied zu einem normalen Bankkonto, das den IBAN-String hat; hat eine Bitcoin-Wallet zwei Strings. Es gibt den Privaten und den öffentlichen String, der auch "Key" (Schlüssel) genannt wird (Public & Private Key). Der Private-Key ist der Zugang zum Konto; wer diesen Schlüssel hat, kann bezahlen. Der Public-Key ist wie die Kontonummer auf die Geld überwiesen werden kann.
Der Private-Key ist in der Blockchain aufgeschrieben und wie viel Geld zu einem bestimmten Key/String/Konto gehört.
Wie eine Blockchain im Detail funktioniert, werde ich hier nicht erklären, da gibt es genügend Quellen im Internet.
Das ganze ist selbstverständlich verschlüsselt und wenn man die Datei mit einem Text-Bearbeitungs-Programm (Texteditor) öffnet, sieh es so aus:

BlockChane.png


Mir diesen Informationen können wir nichts anfangen, aber wir haben jetzt ein Vorstellung davon, wie der Digitale Geldbeutel aussieht.
Manch einer dürfte sich jetzt denken, das eine Verschlüsselung allein nicht sicher genug ist und sein Geld diesem Geldbeutel nicht anvertrauen würde. Dem stimme ich zu.
Die Verschlüsselung lässt sich auch entschlüsseln und muss auch im Programm entschlüsselt werden, damit das Programm selbst mit diesen Daten arbeiten kann. Durch das entschlüsseln der Blockchain, werden die Inhalte der Wallets für Menschen lesbar/sichtbar; wie viele Bitcoins in einer Wallet enthalten sind und wie dies zustande kam.
Jeder Bitcoin hat einen Verlauf, von dem Moment an, an dem er generiert wurde, wird er in der Blockchain festgehalten; wann, wo, wie dieser Bitcoin entstanden ist und zu welcher Wallet er gehört. Welche Walet zu welcher Person gehört, ist in der Blockchain nicht eingetragen, da bei der Erstellung einer Wallet, keine Personenbezogenen Informationen angegeben werden müssen und auch nicht eingegeben werden können.

Blockchain.png


Das ist ein Screenshot der Blockchain auf meinem Computer. Zurzeit ist die BlockChain etwa 350GB groß und sie wächst mit jeder Transaktion (Überweisung).
Kauft man etwas mit einem Bitcoin, wird in der Blockchain aufgeschrieben, dass der Bitcoin einer anderen Wallet gut geschrieben wurde und in der anderen Wallet wird ebenso die Herkunft des Bitcoins aufgeschrieben. Es werden keine Informationen aus der Blockchain gelöscht, nur hinzugefügt; um Betrügereien zu verhindern.
Jetzt denkt sich manch einer, dass sich die Herkunft auch fälschen lässt und wenn die Blockchain auf dem eigenen Computer liegt, kann man ja die Informationen beliebig manipulieren. Was auch so ist.
Um zu verhindern das gefälschte Informationen, die Bitcoins beeinflussen, werden alle Informationen der Blockchain, mit allen Blockchains, auf allen Computern die Bitcoin-Core installiert haben, über das Internet verglichen. Somit sind die Blockchains auf allen Computern identisch. Wenn jetzt jemand die Blockchain auf seinem Computer manipuliert, wird dies sichtbar, da derjenige der einzige ist der eine abweichende Information hat und der Eintrag wird ungültig.
Nun gibt es schlaue Köpfe die das austricksen wollen, indem sie ganz viele Wallets auf ihren Computer erstellen, hunderte Wallets, und in all diese Wallts eintragen, dass eine bestimmte Wallet, einen bestimmten Wert/Inhalt besitzt. Jetzt überprüft Bitcoin-Core dies Information und stellt fest, das diese eine falsche Information ist; weil nicht genügend Quellen in der Blockchains die gleich Information enthalten; aber auch der Hash passt nicht.
Andere versuchen das System auf eine andere Art auszutricksen, in dem sie Online-Bitcoin-Wallets anbieten. Eine Online Wallet ist nichts weiter, als ein Web-Server (Computer), mit einer Internetseite, über die sich jedermann Online registrieren kann und über eine Webseite, Bitcoin-Core, der auf diesen Server installiert ist, eine Online-Wallet einrichten kann. Das tolle daran ist, wenn ein Hacker so einen Service einrichtet, die gesamten Informationen, die ein HaCkEr benötigt um eine Wallet zu hacken, bereits auf seinem Computer liegen. Nun kann der Hacker in allen Walets, die sich auf seinem Computer befinden, einer bestimmten Wallet, einen bestimmten Wert zuschieben und sich so bereichern.

Bitcoin-Map.png


Das Bitcoin-System ist dezentral aufgebaut.
Sollten die Online-Bitcoin-Wallets Anbieter den Markt übernehmen, worauf sie dank der Unwissenheit und Ignoranz der Benutzer, gute Chancen haben, ist der Bitcoin nichts mehr Wert.
Es heißt, das über 50% der vorhandenen Wallets, einen bestimmten Inhalt haben müssen, damit dieser vom System als echt anerkannt wird. Also muss der Hacker irgendwie dafür sorgen, das 50% der Walet Besitzer, bei ihm eine Wallet einrichten. Das ist einer der Gründe warum es so viele kostenlose Bitcoin-Wallet Anbieter gibt. Server und der Unterhalt von Servern, Webseite, Kundenservice, Rechtsabteilung und so weiter, kosten viel Geld; wie finanzieren sich diese Kostenlosen Dienste?
Ein Weiterer Grund warum es diese Online-Bitcoin-Wallets gibt, ist die Bitcoin Anonymität zu durchbrechen. Jeder der sich Online eine Wallet einrichtet, muss sich registrieren und seine IP-Adresse wird auch festgehalten. Somit ist die Wallet mit einer bestimmten Person verbunden und alle Transaktionen dieser Wallet, sind dieser Person zugeordnet; was den Zweck der Bitcoins, als anonyme Währung, unbrauchbar macht.
Deswegen sollte jeder der Bitcoins benutzen will, sich Bitcoin-Core auf seinem eigenem Computer installieren; am besten noch Tor dazu.
Das Kaufen von Bitcoins ist dabei die Achillesferse; beim kauf wird meistens das Geld vom eigen Bankkonto, zu einem anderen geschickt und gegen Bitcoins getaucht. Dabei ist der Käufer nur so anonym, wie es die Banken und Verkäufer zulassen.


Artikel Erweiterung
Ich habe die Funktionsweise von Bitcons nicht ausreichend erklärt und möchte dies nachholen.

Stell dir vor, du sitzt an einem Tisch mit drei Freunden und ihr möchtet Poker spielen, habt aber kein Bar Geld und auch kein Chips, also nimmt ihr Papier und Stift, um den Kontostand jedes Spielers aufzuschreiben.
Spieler 4 ist die Bank und führt die Kontostände.
Die erste runde beginnt und alle Spieler legen 10 Credits in den Pott. Spieler 2 gewinnt die Runde und bekommt den Pott im wert von 40 Credits.

BitCoinPoker-1.png

Dieser Zettel symbolisiert die Bitcoin Chane

Spieler 4 hat eine Idee wie er betrügen könnte. Da Spieler 4 die Bank ist und die Kontostände führt, denkt er sich „Ich könnte doch einfach meine Kontostand verändern.“ also schreibt er sich ein neues Guthaben auf, anstatt 90 Credits, macht er 100 Credits daraus.
Einer der Spieler bemerkt, das Spieler 4 betrügt und verlangt ein Änderung des Systems, von einem zentralen zu einem dezentralen System.
Das Problem bei einem zentralen System ist, das derjenige der die Buchführung macht, die Bücher manipulieren kann. Bei eine dezentralen System, ist das ohne weiteres nicht möglich.

Die Funktionsweise des dezentralen Systems
Anstatt das nur ein Spieler Buch führt, führen alle Spieler Buch. Jeder Spieler schreibt seine eigenen und den Kontostand der anderen Spieler auf seinem eigenen Zettel auf, somit haben alle Spieler die gleichen Daten auf ihren Zettel stehne, sollte einer der Spieler betrügen und sein Guthaben verändern, können die Daten von allen Spielern miteinander abgeglichen werden. Wenn einer der vier Spieler auf seinem Zettel zum Beispiel anstatt 90 Credits plötzlich 100 Credits sthen hat, legt man einfach alle zettel auf den Tisch und vergleicht die Daten auf allen Zetteln. Dabei wird festgestellt das die Daten auf nur einem von vier Zetteln anders sind als auf den anderen drei. Drei Zetel geben den Kontostand von Spielre 4 als 90 Credits an und der Zettel von Spieler 4 gibt 100 Crdits an. Somit ist klar das Spieler 4 seine Kontostand manipuliert hat und kann korrigiert werden.
Jedoch kann auch bei einem dezentralen System betrogen werden. Sagen wir es spielen 100 Spieler und 51 Spieler verabreden einen Betrug, sie ändern all die Daten von Spieler 4, von 90 zu 100 Credits. Was passiert in diesem Fall?
Die Mehrheit gewinnt und der Betrug wird zum Fakt, Spieler 4 behält 100 Credits und alle anderen müssen ihre Daten auf dem Zettel anpassen.
Bei Bitcoins passiert das automatisch im hintergehend und kaum jemand bemerkt etwas davon.

Wie ist es möglich Bitcoins zu manipulieren?
Wenn du dir Bitcoin-Core auf deinem Computer installierst, wirst du feststellen, das du dir fast unbegrenzt viele Wallets anlegen kannst, die menge der Wallets, die in der Datenbank angelegt werden kann, ist nicht bekannt; auf jeden Fall mehr, als es Menschen auf der Welt gibt und das genügt. Demzufolge kannst du dir eine Server anlegen, eine Internetseite erstelen und Bitcoin-Core installieren. Kunden die auf deine Web-Seite kommen, können sich dann eine Bitcoin-Wallet bei dir anlegen und diese nutzen. Das ist genau das was Bitcoin-Wallet Anbieter wie BitcoinChange.org und andere machen.
Wenn sich die meisten Bitcoin Nutzer, keinen eigenen Bitcoin-Core auf ihren Computer installieren und solche Service wie zum Beispiel vom größten Bitcoin-Wallet Anbieter „BitcoinChange.org“ nutzen, gebe sie BitcoinChange.org sehr viel Macht. BitcoinChange.org kann, wenn mindestens 50,01% der Bitcoin-Wallets auf dem BitcoinChange.org Server liegen, die Wallets seiner Kunden manipulieren, da diese Wallets auf dem BitcoinChange.org Server angelegt sind und sich selbst Guthaben auf seine Wallet gutschreiben können. BitcoinChange.org kann aber auch andre Manipulationen ausführen und damit z.B. die Börsenpreise beeinflussen, bis hin zum Diebstahl der guthaben seiner Kunden. All diese Macht in der Hand von einem einziegen Mann, ist das wirklich gut? Selbstverständlich habe auch Banken interesse an Bitcoins und kaufen sich bei BitcoinChane.com ein um controlle über den Bitcoin zu bekommen, auch die Zentralbank FED kauft sich da ein.
Der Zweck des Bitcoins ist, sich von dem Monetären Zentralen Geldsystem zu entkoppeln und den Banken ihre Macht zu nehmen. Banken kontrollieren die gesamte Wirtschaft bis hin zu Politik.
Zitat von Amschel Mayer Rothschild „ Gebt mir die Kontrolle über die Währung einer Nation, und es ist mir gleichgültig, wer die Gesetze macht! "

Nun zur Installation
Zum kompilieren und installieren von Programmen, erstellen wir zu erst ein neues Verzeichnis, in dem wir arbeiten werden. Für gewöhnlich erstellt man das Verzeichnis in das: /home/USER/buildUSER“ ist der Ordner mit dem Namen deines Kontos, auf deinem Computer. Also USER mit dem Namen deines Ordner Ersätzen.
Ich mache das etwas anders und erstelle das /build Verzeichnis in das /root Verzeichnis. Dadurch ist der Inhalt des Ordners, nur dem "root“ zugänglich.

* root Konto
Viele werden sagen, das es keine gut Idee ist, im root Konto zu arbeiten. Für eine Linux Anfänger sicherlich richtig; da man als root uneingeschränkten zugriff auf das gesamt System hat und sogar die wichtigsten Systemdateien, mit einem einzigen Befehl löschen kann und dadurch das Betriebssystem so schädigen, das es nicht mehr funktioniert und es neu installiert werden muss.
Also vorsichtig sein, wenn man als root angemeldet ist. Am besten gar nicht als root anmelden.
Aber in diesem Fall müssen wir uns für eine kurze Zeit als root anmelden, um Bitcoin-Core zu installieren.
Manche werden sagen, das man Bitcoin-Core auch wo anders im System installieren kann.
Kann man sicher machen, aber Seinen Geldbeutel lässt man ja auch nicht beim Nachbarn vor der Tür liegen.
Manche Leute scheine nicht zu verstehen, das Bitcoin-Core nicht einfach nur ein Programm ist, es ist viel mehr als das. Bitcoin-Core ist ein echter Digitaler Geldbeutel, in dem echte Werte, mit denen man Dinge kaufen kann, aufbewahrt werden.
Bargeld lässt man ja auch nicht einfach so auf dem Tisch liegen, Menschen habe Tresore um ihr Geld aufzubewahren und das Digitale Geld soll man einfach so auf den Desktop legen?
Wer einem den Rat gibt, Bitcoin-Core nicht im root Verzeichnis zu installieren, der hat keine Vorstellung von Sicherheit.
Das root Verzeichnis ist der sicherste Ort auf einem Computer und nur da kann man sein Geld aufbewahren, sonst nirgends.

Entsperren des "root" Kontos
Um im root Verzeichnis arbeiten zu können, muss man sich als "root" anmelden. Um sich als root anmelden zu können, muss das root-Konto entsperrt werden und ein Passwort vergeben werden.
Nun öffne das „Command Line Interface (CLI)“, mit der Tastenkombination Strg+Alt+T.
Mit folgendem Befehlen richten wir jetzt das root Konto ein:
Code:
sudo passwd -u root
Code:
sudo passwd root
Jetzt zwei mal das gewünschte Passwort eingeben.
Und mit dem folgenden Befehl, als SuperUser anmelden:
Code:
su

Compiler und Dependencies installieren
Als erstes muss ein Compiler und die benötigten Dependencies (Abhängigkeiten) installiert werden. Die „GNU Compiler Collection (GCC)“ und die Dependencies Installiert wir mit folgendem CLI Befehl:
Code:
sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3 libevent-dev libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev libdb++-dev libsqlite3-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libqrencode-dev
Wenn du als root angemeldet bist, kannst du den Befehl sudo (SuperUserDo) weglassen.

Datenbank herunterladen und entpacken
Als nächstes muss die „Oracle Berkeley Data Base, Version 4.8.30“ heruntergeladen und Installiert werden.
Download: http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz

Nach dem Download sollte sich die Datei im /home/USER/Downloads Verzeichnis befinden.
Jetzt in dem CLI ein neues Verzeichnis erstellen und in dieses wechseln:
Code:
mkdir /root/build
Code:
cd /root/build
die heruntergeladenen Datei in das /root/build Verzeichnis entpacken.
Dateien werden immer in das Verzeichnis entpackt, in dem man sich befindet. Mit dem Befehl pwd (Present Working Directory), kann der Verzeichnis-Standort überprüft werden; das sollte jetzt /root/build sein.
Code:
tar xfzv /home/USER/Downloads/db-4.8.30.NC.tar.gz
Der Befehl setzt sich folgendermaßen zusammen:
tar ist das Programm zum entpacken von .tar Dateien. Die Optionen xfzv habe folgende Bedeutung: x=Extract, f=File, z=gZip, v=Verbose, Pfad/zu/Datei

Datenbank reparieren
Bevor die Datenbank kompiliert werden kann, muss erst ein Bug (Fehler) beseitigt werden (BugFix).
In dem Verzeichnis: /root/build/db-4.8.30.NC/dbinc muss die Datei atomic.h mit einem Texteditor geöffnet und bearbeitet werden. Am besten und einfachsten ist es mit einem Grafischen Editor; ich benutze den „Kate“. Der "nano“ Texteditor ist standesmäßig auf fast jedem Linux-OS vorinstalliert.
In das CLI diesen Befehl eingeben:
Code:
kate /root/build/db-4.8.30.NC/dbinc/atomic.h
oder
Code:
nano /root/build/db-4.8.30.NC/dbinc/atomic.h

Nun öffnet sich die Datei im Editor.
Jetzt die Zeile 147:
Code:
__atomic_compare_exchange((p), (o), (n))
mit diesem Eintrag ersetzen:
Code:
__atomic_compare_exchange_db((p), (o), (n))

Das ganze noch einmal in der Zeile 179:
Code:
static inline int __atomic_compare_exchange(
mit:
Code:
static inline int __atomic_compare_exchange_db(

Edit-DB-01.png


Mit dem grafischen Editor kann man sich das leicht machen. Ich denke das alle Editoren diese Funktion besitzen „Suchen und ersetzen“, damit kann ein Eintrag gefunden und ersetzt werden. Die Suchen-ersetzen-Funktion, wird mit der Tastenkombination Strg+R aufgerufen und am unteren Rand des Editors erscheinen Felder; in die, die zu suchenden Einträge eingegeben werden und in das zweite Feld, der Eintrag mit dem es ersetzt werden soll. Dann nur noch auf ersetzten klicken und fertig.

Edit-DB-02.png


Eigentlich genügt es, "_db“ an:
static inline int __atomic_compare_exchange(
hinten dran zufügen, so:
static inline int __atomic_compare_exchange_db(

und hier auch das gleiche:
__atomic_compare_exchange((p), (o), (n))
__atomic_compare_exchange_db((p), (o), (n))


Wie du wahrscheinlich bemerkt hast, ist es nur ein Verweis (Link), der angepasst werden muss.
Jetzt das ganze mit der der Tastenkombination Strg+S speichern.
Nano schließt man mit der Tastenkombination Strg+X
Und der BugFix ist erledigt.

Datenbank kompilieren und installieren
Nun ist die Datenbank bereit zum kompilieren und installieren.
In folgendes Verzeichnis wechseln:
Code:
cd /root/build/db-4.8.30.NC/build_unix/
Als nächstes muss konfiguriert werden, das machen wir mit dem Befehl:
Code:
../dist/configure
Jetzt kompilieren mit dem Befehl:
Code:
make
Der Befehl make kann mit der Option --jobs=X alternative -jX versehen werden. Diese Option wird bei Multi-Core CPUs verwendet. Hat man mehr als einen Prozessorkern (was die meisten wohl haben werden), kann anstelle von „X“ die Zahl der zu benutzenden Prozessorkerne eingetragen werden. Ich habe eine acht Kern Prozessor und benutze alle acht Kerne zum kompilieren, Beispiel:
Code:
make -j8
Jetzt noch mit folgendem Befehl, das kompilierte Programm installieren:
Code:
make install
und die Datenbank ist installiert.

Bitcoin-Core herunterladen
Kommen wir nun endlich zur Bitcoin-Core Installation.
Die offizielle Bitcoin Internetseite https://bitcoin.org verweist uns an GitHub, zum herunterladen des Bitcoin-Core Quellcodes: https://github.com/bitcoin/bitcoin
Ich kann diesen Quellcode nicht empfehlen, da es sich um eine Testversion handelt.
Die offizielle Version findet ihr auf: https://bitcoincore.org Da die neuste Version aussuchen und herunterladen.

Download HTTPS-Server: https://bitcoincore.org/bin

BitcoinCore-org-bin.png


Immer den Quellcode herunterladen.
Alle Dateien die für ein Betriebssystem angepasst sind, sind Binäre Dateien und nicht der Quellcode. Auf dem Screenshot sind die Quellcode Dateinen zu sehen, bei neuere Versionen ändert sich lediglich die Versionsnummer.

Bitcoin-Core-Download.png


Die Installationsanleitung basiert auf der, zum Zeitpunkt als dieser Artikel erstellt wurde, neuste Version: bitcoin-core-0.21.0
Solltest du eine andere Version installieren, musst du den Pfad/Versionsnummer anpassen.

Quellcode entpacken
Nach dem der Download fertiggestellt ist, wechseln wir im CLI das Verzeichnis in /root/build:
Code:
cd /root/build
Jetzt die heruntergeladene Datei im CLI in das /root/build Verzeichnis entpacken:
Code:
tar xfzv /home/USER/Downloads/bitcoin-0.21.0.tar.gz

Quellcode konfigurieren
In das Verzeichnis /root/build/bitcoin-0.21.0 wechseln:
Code:
cd /root/build/bitcoin-0.21.0
Im CLI diesen Befehl eingeben:
Code:
./autogen.sh
Da die installierte Datenbank Version „db-4.8.30.NC“ etwas von der für Bitcoin-Core kompatiblen Version „db-4.8.30“ abweicht, muss die Option --with-incompatible-bdb hinzugefügt werden. Ohne diese Option bekommt man beim konfigurieren, am ende eine Fehlermeldung, mit dem Hinweis diese Option hinzuzufügen. Befehl:
Code:
./configure --with-incompatible-bdb

Ich habe die Dokumentation der Datenbank nicht gelesen, ich denke aber das die „NC“ Version, Verbesserungen enthält.

Quellcode kompilieren und installieren
Nachdem Bitcoin-Core erfolgreich konfiguriert wurde, können wir jetzt kompilieren:
Code:
make -jX
Zum Schluss noch:
Code:
make install
Fertig.

Bereinigen
Nachdem installieren, kann man noch etwas aufräumen und damit Speicherplatz freimachen. Der Befehl make clean löscht Dateien, die nach der Installation nicht mehr benötigt werden.

Startmenü Verknüpfung erstellen
Jetzt habe wir noch eine letzten schritt zu machen.
Eine Verknüpfung um Bitcoin-Core zu starten, wird aus einem mir nicht bekannten Grund, bei der Installation nicht erstellt. Also müssen wir das selbst machen.
Als erstes brauchen wir eine Bildchen vom Bitcoin-Core; dieses kopieren wir in ein anderes Verzeichnis. Befehl:
Code:
cp /root/build/bitcoin-0.21.0/doc/bitcoin_logo_doxygen.png /usr/share/icons/hicolor/64x64/bitcoin-logo.png

Nun öffne wir einen Texteditor und fügen folgenden Code ein:
Code:
[Desktop Entry]
Version=0.21.0
Name=Bitcoin-Core
GenericName=bitcoin-qt
Comment=Send and recive Bitcoins
Exec=/usr/local/bin/bitcoin-qt
Terminal=false
MultipleArgs=false
Icon=/usr/share/icons/hicolor/64x64/bitcoin-logo.png
Type=Application
Categories=Application;Network

Das speichern wir jetzt unter:
Code:
/usr/share/applications/bitcoin-qt.desktop

Screenshot.png


Nun ist die Bitcoin-Core Verknüpfung im Startmenü, in der Kategorie "Internet" zu finden.
Fertig.

root abmelden
Um sich aus dem CLI als root abzumelden, den Befehl exit eingeben oder die Tastenkombination „
Strg+D drücken.



Deinstallation von Bitcoin Core und Datenbank
Solltest du dich aus irgend einem Grund für eine Deinstallation entscheiden, wird das so gemacht.
Mit dem Befehl su als "root" anmelden.
Zum deinstallieren von Bitcoin-Core, in das /root/build/bitcoin-0.21.0 Verzeichnis wechseln.
Code:
cd /root/build/bitcoin-0.21.0
und folgenden Befehl eingeben:
Code:
make uninstall && make distclean
Verzeichnis löschen
Code:
rm -r /root/build/bitcoin-0.21.0

Datenbank deinstallieren und löschen
Code:
cd /root/build/db-4.8.30.NC/build_unix/
Code:
make realclean
Verzeichnis löschen
Code:
rm -r /root/build/db-4.8.30.NC

root abmelden
Code:
exit
root Konto sperren
Code:
sudo passwd -l root


First-Start.png


Konfiguration von Bitcoin-Core
Beim ersten Start von Bitcoin-Core fragt das Programm, wie und wo die Blockchain gespeichert werden soll. Es gibt zwei Optionen.
Die erste ist, das die Blockchain heruntergeladen, verifiziert und dann fast vollständig gelöscht wird; es bleiben nur ca. 2GB Blockchain auf dem Datenträger.
Die zweite Option ist, das die gesamte Blockchain nach dem herunterladen, auf dem Computer verbleibt; was ich empfehle.
Optimal ist es, wenn die Blockchain nicht auf dem selben Datenträger gespeichert ist, auf dem das Betriebssystem installiert ist; sondern auf einem zweiten Datenträger.
Der Ordner in dem die Blockchain gespeichert wird, kann frei gewählt und benannt werden.
Nachdem Bitcon-Core gestartet ist, muss man sich noch eine Wallet einrichten.

Energie- und Internet-verbrauch
Da sich einige Leute sogen um den Energie und Internet verbrauch (Traffic) machen, will ich das jetzt richtigstellen.
Bitcoin-Core muss sich bevor er arbeiten kann, aus dem Internet zurzeit etwa 350GB Daten herunterladen, die Blockchain; was ich schon weiter oben erwähnt habe. Danach verbauch Bitcoin-Cor etwa 22MB pro Stunde, das sin ca. 16GB im Monat.
Die Prozessorauslastung ist die meiste Zeit bei 0%. Ab und zu macht der Bitcon-Core Berechnungen, dann steigt die CPU Auslastung für einige Minuten etwas an, bei mir um etwa 10%.
Auch wehrend des Downloads der Blockchain, bleibt die CPU-Auslastung hoch, bei mir zwischen 20 und 40%. Die CPU-Auslastung hängt mit der Verifizierung der heruntergeladen Daten zusammen. Somit ist der Internet- und Energie- verbrauch des Bitcoin-Core, nachdem die Blockchain heruntergeladen ist minimal.

CPU.png


So sieht dann das Bitcoin-Core Graphical User Interface aus::
New-Wallet-01.png

New-Wallet-02.png

New-Wallet-03.png

New-Wallet-04.png

New-Wallet-05.png

New-Wallet-06.png

New-Wallet-07.png

New-Wallet-08.png

New-Wallet-09.png

New-Wallet-10.png


Hier noch wie eine neue Wallet erstellt wird.

New-Wallet.png
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Innensechskant
Interessanter Artikel - zur Übersichtlichkeit würde ich Formatierungen für Abschnitte / Überschriften hinzufügen

root@linux schrieb:
nächstes muss die „Oracle Berkeley Data Base, Version 4.8.30“
hier musste ich etwas schmunzeln :D
Wie in vielen anderen Projekten wird eine "steinalte" BDB Version genutzt (Mai 2010) -(4.8.x wird nicht mehr supportet) - das wird oft wg. Abwärtskompatibilität, fehlenden Entwicklerressourcen/Alternativen usw. gemacht.
Mal etwas geforscht und dann bitcoin issue 18916 gefunden - dort geht es auch um das Alter von BDB - aber lt. Beschreibung (closed wg. PR 19077) sollte eigentlich SQLite für neue Wallets genutzt werden (~Mitte 2020).
Keine Ahnung wie problematisch/relevant/aktuell das ist.

Beim Compilieren von älterer Software muss öfters gepatcht werden, da Compiler die Standardeinstellungen wechseln : 2010 gab es GCC 4, aktuell ist GCC 10 (bzw. 9,8 stable) .
GCC 5 (2015) wechselte zu C11 (2011) anstatt C89 (1989) als default.

Deswegen haben viele Linux-Distributionen eigene Patches bzw. unterscheiden sich die Pakete/Versionen - ein aktuell unterstütztes CentOS 7 hat wohl GCC 4.8.x per default, aber rolling distros oder auch Fedora nutzen GCC 10 .
 
mindestens 60% sind das hier:

sudo snap install bitcoin-core

fertig.
 
  • Gefällt mir
Reaktionen: snaxilian
root@linux schrieb:
Das ist ein Screenshot, der Blockchain auf meinem Computer. Zurzeit ist die BlockChain etwa 350GB groß und sie wächst mit jeder Transaktion (Überweisung).
Was für ein Wahnsinn und Speicherplatzverschwendung.
Von der gigantischen Stromverschwendung die Bitcoin mitsich bringt durch das exzessive rechnen (rechnen müssen!) mal ganz abgesehen . Und das für eine Währung, mit der ich letztlich kaum etwas anfangen kann und die hauptsächlich für Spekulation eingesetzt wird oder um Ransomware-Erpresser zu bezahlen. :-)

root@linux schrieb:
Als nächstes muss die „Oracle Berkeley Data Base, Version 4.8.30“ heruntergeladen und Installiert werden.
Download: http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
Was von Oracle runterladen. Und dann noch als http und nicht https.
Das nenn' ich mal sicherheitsbewusst. :-)
Generell ist es bei Downloads immer gut, wenn man den dann anschließend noch mit Prüfsummen abgleicht die man von einer anderen Quelle bezieht. Dann wäre auch das http nicht allzu schlimm.

Man kann übrigens durchaus die bei vielen Distributionen beiliegende Berkeley-DB 5.x verwenden. DBD 4.8 braucht man eigentlich nur aus Kompatiblitätsgründen, weil sich das DB-Format und damit auch das Wallet-Format ändert (da kommt dann auch das --with-incompatible-bdb zum Zuge!).
Die bei der Distributionen mitgelieferten BDB hat dann i.d.R. auch den Patch den Du hier ausführst. Allerdings brauchst Du den eh nur, wenn Du mit LLVM/clang statt mit gcc kompilieren willst.

Aber selbst wenn Du BerkeleyDB 4.8.30 plus den Patch haben willst, reicht es das Skript
install_db4.sh aus dem contrib-Verzeichnis der Bitcoin-Sourcen zu nutzen.
Das macht dann auch noch die oben angesprochenen Prüfsummen-Checks.

root@linux schrieb:
Um im root Verzeichnis arbeiten zu können, muss man sich als SuperUser anmelden. Um sich als SuperUser anmelden zu können, muss das root-Konto entsperrt werden und ein Passwort vergeben werden.
Kommt drauf an, wie es gesperrt ist. Aber normalerweise reicht ein
sudo -i
(wenn man denn sudo verwendet)

Davon mal ab:
Downloaden und kompilieren sollte man nie als root. Ist auch gar nicht nötig (wenn man ohnehin alles im Homeverzeichnis baut). Das root brauchst Du nur zum installieren/deinstallieren!
 
  • Gefällt mir
Reaktionen: einar_silenoz, nullPtr und sedot
Vasdada schrieb:
sudo snap install bitcoin-core
Vor einigen Jahren habe ich es mit sudo apt install bitcoin-qt versucht und es hat wegen der Datenbank nicht funktioniert. Da war ich gezwungen vom source code zu installieren und bin dabei geblieben.

----

lokon schrieb:
Beschreibung (closed wg. PR 19077) sollte eigentlich SQLite für neue Wallets genutzt werden (~Mitte 2020).
Keine Ahnung wie problematisch/relevant/aktuell das ist.
"closed" wahrscheinlich, weil man im laufe der Diskussion festgestellt hat, das es nicht zu realisieren ist.
Ich denke das es am Hash liegen wird, der darf sich ja nicht ändern; mit einer neuen Datenbank, ändert sich der Hash zwangsläufig und die gesamte Blockchain ist ungültig.
Sieht wo so aus, dass Bitcoin für immer mit dieser alten Datenbank arbeiten werden wird.

----

andy_m4 schrieb:
Was für ein Wahnsinn und Speicherplatzverschwendung.
Was soll man den sonst auf die riesigen Datenträger, die man heutzutage in jedem Computer findet, machen?
Die meisten Leute haben fast lehre Datenträger, den meisten Platz verbraucht das Betriebssystem.
Außerdem kann man ja die 2GB Option anklicken; da wird dann nur das nötigste, der Blockchain auf dem Datenträger gespeichert.

andy_m4 schrieb:
Von der gigantischen Stromverschwendung die Bitcoin mitsich bringt durch das exzessive rechnen (rechnen müssen!) mal ganz abgesehen .
Das muss man etwas gelassener sehen.
In einer fernen Zukunft, könnten Krypto-Währungen das Bargeld Ersätzen.
Das Bar- und Buchgeld, verursachen auch riesige kosten und verbrauchen Unmengen an Energie und Ressourcen. Krypto-Währungen sind dagegen sehr umweltschonend. Da das Bitcoinsystem dezentral ist, verteilen sich die Energiekosten bzw. Betriebskosten, auf die einzelnen Nutzer.

andy_m4 schrieb:
Was von Oracle runterladen. Und dann noch als http und nicht https.
Das nenn' ich mal sicherheitsbewusst. :-)
Beschwere dich bei Oracel, nicht bei mir.

andy_m4 schrieb:
Man kann übrigens durchaus die bei vielen Distributionen beiliegende Berkeley-DB 5.x verwenden
Habe ich versucht, geht nicht. Vieleicht hat ja jemand eine Hack, wie man die DB5 mit Bitcoin um laufen bekommt, aber wozu?
Bitcoin funktioniert einwandfrei mit der BDB-4.8.30. Wo zu ändern?

andy_m4 schrieb:
Kommt drauf an, wie es gesperrt ist. Aber normalerweise reicht ein
sudo -i
Ja, sudo -i geht auch.
 
Zuletzt bearbeitet:
root@linux schrieb:
"closed" wahrscheinlich, weil man im laufe der Diskussion festgestellt hat, das es nicht zu realisieren ist.
PR19077: Add sqlite as an alternative wallet database and use it for new descriptor wallets

ist merged - d.h. Bestandteil des Quellcodes.
Als nicht Bitcoin-User habe ich aber keine Idee ob da alle Features funktionieren oder nicht - es liest sich jedenfalls so.
Aber es gibt wohl aktuell keine Möglichkeit der Konvertierung BDB -> SQLite wallet - aber das soll bis 2023 gemacht werden lt. Issue 20160 (via suche).

dort steht
late 2021:
  • Introduce migratewallet command to migrate a legacy-bdb to descriptor-sqlite
2023:
  • Stop loading legacy-bdb, descriptor-bdb, legacy-sqlite wallet entirely. Inform users how to migrate
 
lokon schrieb:
soll bis 2023 gemacht werden
Ich verstehe trotzdem den Sinn nicht. Auch wenn eine neue Datenbank funktionieren sollte; steht man nach ein paar Jahren wieder vor dem gleiche Problem.
Und wie ich schon sagte; wozu ändern?
Funktioniert doch einwandfrei.
 
Ich habe den Artikel noch einmal überarbeitet und ich denke das ist jetzt die finale Version; soweit es keine unbeantwortet Fragen gibt.
 
root@linux schrieb:
Und wie ich schon sagte; wozu ändern?
Distributionen liefern oft keine Pakete aus bei denen der Support eingestellt ist - die Distribution übernimmt den "Support" wenn die Benutzer wegen Fehlern am Programm Bugtickets erstellen - ist die Software zu kompliziert oder will keiner Support übernehmen, dann wird diese entfernt oder das Feature deaktiviert (in Arch ist der wallet support in bitcoin deaktiviert).

root@linux schrieb:
Funktioniert doch einwandfrei.
Wenn ich
Berkeley DB wallet files can easily be corrupted
auf stackexchange-bitcoin lese, dann wäre das für micht etwas problematisch.
Bei der persönlichen Wallet-Verwaltung kann ja "ganz schnell" mal ~ 170 Mio. $ oder 280 Mio. $ verschwunden / nicht zugreifbar sein.
Die Unterschiede zw. BDB und SQLite bei Bitcoin klingen jedenfalls nach einer Verbesserung.
Da Bitcoin offen entwickelt wird kann quasi jeder bei der Weiterentwicklung mitmachen oder nicht - vermutlich ist aber das Argument "BDB funktioniert bei mir" nicht so toll - durch Benutzung von Bitcoin wird der Code auch weiterentwickelt, weil Schwachstellen auffallen, an die früher nicht gedacht wurde.
 
Die BDB ist halt eine alte Datenbank. Das letzte update hatte sie im Jahr 2010
https://oss.oracle.com/pipermail/bdb/2010-May/000030.html
Zu seiner Zeit wahr die BDB, wohl die beste Wahl.

lokon schrieb:
Die Unterschiede zw. BDB und SQLite bei Bitcoin klingen jedenfalls nach einer Verbesserung.
Da stelle ich mir die Frage, wenn sich die Datenbank austauschen lässt, was lässt sich dann noch austauschen?
Kontostände?
Bitcoin hat uns vieles gelehrt und es ist an der Zeit, den Bitcoin komplett zu überarbeiten und neuzustarten; mit einer neuen Open Source Database, die zukunftsfähig ist; und die Transaktionsgebühr (Fee) abzuschaffen.
 
ACHTUNG
Ich musste den Artikel nochmals ändern.
Änderungen ab der Stelle: Bitcoin-Core herunterladen
Die GitHub Version: bitcoin-master, ist eine Testversion.
Die offizielle Version, gibt es auf https://bitcoincore.org/ zum herunterladen.
Download Server: https://bitcoincore.org/bin/
 
root@linux schrieb:
Was soll man den sonst auf die riesigen Datenträger, die man heutzutage in jedem Computer findet, machen? Die meisten Leute haben fast lehre Datenträger, den meisten Platz verbraucht das Betriebssystem.
Ja super. Jetzt wird Speicherplatzverschwendung schon damit begründet, das man ja angeblich sowieso genug hätte.

Die Lebenswirklichkeit ist aber, das die Leute oftmals mit Smartphones rumrennen. Und da speicher mal 350GB :-)
Ein weiteres Problem ist die Verteilung. Da triffst Du dann ein weiteres mal auf die Lebenswirklichkeit. Die besteht nämlich nicht aus Glasfaseranbindungen, sondern nicht selten aus relativ langsamen Verbindungen und/oder Volumentarifen. Ich stell mir grad vor, wenn jemand mit seinem 5GB monatlichen Transfervolumen sich mal eben GB-weise TransaktionsLogs runterzieht. :-)
Und wir haben jetzt nooch die Situation das die Nutzungszahlen immer noch moderat sind. Sollte es irgendwann mal in den Bereich kommen wo es zum Alltag einer signifikanten Anzahl von Leuten gehört (sagen wir nur mal im Umfang von Kreditkartennutzung), dann wird auch das TransaktionsLog schneller wachsen und selbst wenn Du da immer nur Diffs austauschst, wird das Ganze ziemlich umfangreich werden. Ums kurz zu fassen: Du hast ein Skalierungsproblem!

root@linux schrieb:
Außerdem kann man ja die 2GB Option anklicken; da wird dann nur das nötigste, der Blockchain auf dem Datenträger gespeichert.
Das man die gesamte Transaktionshistorie sehen kann ist Bestandteil des (Sicherheits-)Konzeptes. Klar kann man einen Stand festlegen und dort sozusagen das Log abschneiden. Untergräbt damit aber im Prinzip den integralen Sicherheitsmechanismus.

root@linux schrieb:
Das muss man etwas gelassener sehen. In einer fernen Zukunft, könnten Krypto-Währungen das Bargeld Ersätzen.
Mal sehen. Ich glaube der fundamentale Fehler der in solchen Überlegungen steckt ist, das Geld lediglich als Tauschmittel begriffen wird. Das war es in der Historie aber nie.

root@linux schrieb:
Das Bar- und Buchgeld, verursachen auch riesige kosten und verbrauchen Unmengen an Energie und Ressourcen. Krypto-Währungen sind dagegen sehr umweltschonend.
Mit dem Unterschied: Wenn ich hier zum Bäcker gehe, kann ich mir mit Euros Brötchen kaufen. Komme ich da irgendwie mit irgendeiner Cryptowährung wie Bitcoin an, wird er mich höchstens verständlos angucken und aus den Laden heraus bitten.
Wie bereits gesagt: Die praktische Anwendbarkeit ist nicht gegeben. Und ob es in der Zukunft irgendwann so sein wird, weiß niemand.
Und selbst wenn es sich verbreiten sollte: Es steigt ja dann auch der Rechenaufwand. Die Energiebedarf (die jetzt schon gigantisch ist) würde steigen (Skalierungsproblem Nr.2!).

Wie gesagt: Du verbrennst ein Haufen Ressourcen ohne konkreten Nutzen. Zumal der Hauptteil des Rechenaufwandes ja nicht dafür ist, das Du irgendwas verschlüsselst oder signierst. Da wendest Du Energie auf, hast aber auch ein konkreten Nutzen (das Dein Text verschlüsselt ist).
Die meiste Rechenkapazität geht fürs Proof-of-Work drauf. Das Wahllose rumprobieren um eine gültige Block-Signatur zu erhalten. Du führst Millionen von Rechenoperationen durch, wovon Du eigentlich nur eine überhaupt brauchst. Und am Ende war selbst das umsonst, weil irgendein anderer Miner einen Tick schneller war.
Und wovür das Ganze? Nur damit sichergestellt wird, das keiner das TransaktionsLog einseitig beeinflussen kann. Und selbst das ist ja heute nicht mehr so klar gegeben, wie wir gleich sehen werden.

root@linux schrieb:
Da das Bitcoinsystem dezentral ist,
Bitcoin ist nicht mehr dezentral. Normalerweise war es ja mal so gedacht, das es tatsächlich dezentral ist und auch das Mining sich gleichmäßig auf alle Nodes verteilt. Da man fürs Mining selbst Bitcoins bekommt bestand natürlich ein Anreiz Geld in Rechenleistung zu stecken. Hautzutage arbeitet man da mit Spezial-CPUs die nix anderes können als die Rechenoperationen für das Proof-of-Work durchzuführen. Um das zu machen musst Du aber ordentlich Geld in die Hand nehmen. Das macht halt Lieschen Müller nicht. Das macht nicht mal die engagierter Hackertruppe die sich zusammentut.

Im Ergebnis hast Du heute eine Mining-Struktur wo das Mining zwar nicht komplett monopolisiert ist, aber auf wenige Schwergewichte verteilt ist. Was direkt zum nächsten Punkt führt. Die Sicherheit von Bitcoin und Co beruht halt darauf, das niemand über deutlich mehr Rechenkapazität als alle anderen Teilnehmer verfügt.

Richtig lustig wird es dann aber, wenn Quantencomputer ins Spiel kommen. Dann ist das Bitcoin-Netzwerk von ein auf den anderen Tag quasi tot und die Coins die Du hattest weg.

Aber auch ohne Quantencomputer hat Crypto ein Problem, weil über die Zeit durch bessere Hardware usw. Crypto altert. Kennt man auch aus eigenener Erfahrung: Verfahren die noch vor 20 Jahren als sicher galten sind es heute nicht mehr.
Diesem Verfall kann sich natürlich auch Bitcoin nicht entziehen und wird über kurz oder lang seine Krypto anpassen müssen. Wobei sich dann die Frage stellt: Was passiert mit dem bisherigen TransaktionsLog? Und wie verteilt man das Update sinnvollerweise. Man kann ja nicht davon ausgehen, das alle immer den neusten Bitcoin-Client haben und auch in jedem Fall haben wollen.
Das selbe Problem hast Du übrigens auch, wenn Bugs gefunden werden und gefixt werden müssen. Ich sag nicht, das das prinzipiell nicht geht. Ich sag nur, das das Unsicherheiten mitsich bringt.

root@linux schrieb:
verteilen sich die Energiekosten bzw. Betriebskosten, auf die einzelnen Nutzer.
Ähm. Dem Planeten und seinem Klima ist das egal, wo jetzt genau das CO2 herkommt. Ob nun verteilt von Millionen Leuten oder aus paar Miningfabriken.

root@linux schrieb:
Bitcoin funktioniert einwandfrei mit der BDB4.8.30. Wo zu ändern?
Hab ich doch gesagt. Damit erspartst Du die die Patchorgie.
Abgesehen davon hätte ich kein gutes Gefühl dabei eine uralt Version zu verwenden der keinerlei Pflege mehr zukommt. Also sprich: Wenn da mal ein kritischer Bug gefunden wird, was mache ich dann? Die BDB 5.x wird halt noch gepflegt und da liefert mir die Distributionen die Fixes frei Haus. Bei der 4er Version müsste ich von Hand frickeln. Und es ist sowieso unschön wenn etwas am Paketmanagement vorbei installiert wird, weil es dann auch genötigt bin mich selbst drum zu kümmern und selbst nachzuschauen, obs Bugs oder Probleme gibt und es ja nicht versehentlich zu vergessen.
Wenn man schon am Paketmanagement vorbei was macht, dann sollte man den Umfang so gering wie möglich halten.

Weißte, einerseits redest Du seitenweise von Sicherheit und was man machen sollte, andererseits verstößt Du bei erstbester Gelegenheit gegen etablierte und gängige best practise. Das passt irgendwie nicht zusammen.
 
root@linux schrieb:
und die Transaktionsgebühr (Fee) abzuschaffen
Hier glaube ich eher, dass die Miner zukünftig aufgrund von Halving und Difficulty nicht mehr vom Schürfen neuer Blocks, sondern von den Fees leben werden. Und wer weiß, vielleicht wird auch Bitcoin dann zu Proof-of-Stake schwenken und sozusagen die erste digitale Währungsreform durchleben.

Back to topic: Ich bin da auch auf andy_m4's Seite und sage: Lieber die offizielle Version laden und verifizieren, als das Paket selbst schnüren, denn in beiden Fällen schauen wohl nur die wenigsten detailliert in den Programmcode.
 
Zuletzt bearbeitet von einem Moderator:
Gelinde gesagt: Dieser Artikel hat einiges an Verbesserungspotenzial.

  • Wieso soll man eine Funktion im Quellcode umbenennen?
  • Ein Programm in /root installieren. Ernsthaft?
  • "Ich mache das etwas anders und erstelle das /build Verzeichnis in das /root Verzeichnis. Dadurch ist der Inhalt des Ordners, nur dem "root“ zugänglich." -> Das hätte man auch einfacher haben können, als /root voll zu müllen.
  • Wenn du auf deinem Rechner diese Bitcoin-Geschichte und die Datenbank mit Root-Rechten laufen lässt, bitte sofort ändern. :(

In dem aktuellen Zustand deiner Anleitung zu folgen sehe ich als potenziell schädlich an, da es Leute, die der Anleitung folgen ermutigt, das Zeug als root laufen zu lassen.

- Die ganze Wallet-/Online-Wallet-Erklärung ist ziemlich mau, um nicht zu sagen: falsch.

Wieviele Wallets du unter deiner Kontrolle hast ist völlig Wurst, solange du nicht die Mining-Power hast, um neue, korrekte Blöcke zu erstellen. Und deshalb ist die Aussage, dass die ganzen Online-Wallet-Anbieter quasi nur auf die Bitcoin-Weltherrschaft aus sind völlig Banane.
Ergänzung ()

root@linux schrieb:
Das ganze ist selbstverständlich verschlüsselt und wenn man die Datei mit einem Text-Bearbeitungs-Programm (Texteditor) öffnet, sieh es so aus:
Quatsch. Nur weil was in deinem Text-Editor unleserlich ist, ist es nicht verschlüsselt...

Allgemein tut sich der Eindruck auf, dass dein Wissen um diese Technik nicht tiefer geht als das, was du hier ausgeführt hast.
 
  • Gefällt mir
Reaktionen: andy_m4
nullPtr schrieb:
Allgemein tut sich der Eindruck auf, dass dein Wissen um diese Technik nicht tiefer geht als das, was du hier ausgeführt hast.
Immerhin lebst Du noch und das Parsing hab Dir keine NullPointerException beschert. :-)
 
Immer diese Gemecker.
nullPtr schrieb:
Quatsch. Nur weil was in deinem Text-Editor unleserlich ist, ist es nicht verschlüsselt...
Ist die Blockchain verschlüsselt?

el osito schrieb:
sondern von den Fees leben werden.
Also, ich habe mich bislang, mit der Fee nicht so sehr beschäftigt und weiß auch nicht wo diese Fee hingeht. Soweit ich aber weiß, bekommt man beim Mineing keine Transaktionsgebühren ausbezahlt, sondern erschafft neue Bitcoins.
Wofür sollte man auch ein Gebühr bekommen, die jemand anderes ,für einen anderen Zweck bezahlt hat?
Das ergibt keinen Sinn.
Ich vermute, dass die Fee an den Erfinder der Bitcoins geht. Das ergibt Sinn.

nullPtr schrieb:
Wieso soll man eine Funktion im Quellcode umbenennen?
Na, weil der Quellcode sonst nicht funktioniert.

nullPtr schrieb:
Wenn du auf deinem Rechner diese Bitcoin-Geschichte und die Datenbank mit Root-Rechten laufen lässt, bitte sofort ändern. :(
nullPtr schrieb:
In dem aktuellen Zustand deiner Anleitung zu folgen sehe ich als potenziell schädlich an, da es Leute, die der Anleitung folgen ermutigt, das Zeug als root laufen zu lassen
Nur weil man ein Programm als root installiert, heißt das nicht, das man es als einfacher Benutzer nicht starten kann. Du musst Bitoin-Core nicht als root laufen lassen, geht auch als unprivilegierter Benutzer. Das gut daran ist, das eine unprivilegierter Benutzer keine Zugriff auf das "root Verzeichnis" hat und dadurch auch nicht am Quellcode herumspielen kann. Wenn du aber den Quellcode im Benutzer Verzeichnis /home/USER anlegst, hat der Benutzer jederzeit, uneingeschränkten Zugriff auf den Quellcode.
Und das musste ich dir tatsächlich erklären?
Das ist Linux-Grundwissen.
Wer so etwas nicht weiß, sollte niemandem irgendwelche Ratschläge in Sachen Sicherheit geben.
Das Problem ist halt, das der Unwissende nicht weiß das er unwissend ist.
Das steckt noch eine menge Verbesserung-potenzial in dir.

----

andy_m4 schrieb:
Leute oftmals mit Smartphones rumrennen.
Von Smartphones war hier nie die reden.
Wieso bringst du jetzt Smartphones ins Thema?
Dann kannst du ja auch gleich Waschmaschinen erwähnen oder Bügeleisen; heben genau soviel damit zutun.

andy_m4 schrieb:
Untergräbt damit aber im Prinzip den integralen Sicherheitsmechanismus.
Da stimme ich dir vollkommen zu und deshalb empfehle ich auch, dass man sich die gesamte Blockchain herunterladen und auch auf dem Computer behalten soll.
andy_m4 schrieb:
Du verbrennst ein Haufen Ressourcen ohne konkreten Nutzen.
Das Bitcoins keinen Nutzen haben ist mir neu; und daraus folgt die Frage, warum so viele Menschen auf der Welt Bitcoins nutzen?

andy_m4 schrieb:
Im Ergebnis hast Du heute eine Mining-Struktur wo das Mining zwar nicht komplett monopolisiert ist,
Wen mann sich Bitcoin-Core auf seinem Computer installiert, wird man nicht automatisch zum Miner.
Das Mineing habe ich in diesem Artikel expliziert nicht erwähnt, warum bringst du dieses Thema?

andy_m4 schrieb:
wenn jemand mit seinem 5GB monatlichen Transfervolumen
Wie schon gesagt, Smartphones sind nicht Gegenstand dieses Artikels..
Wenn man Bitcoin-Core nur zum versenden und empfangen von Bitcoins benutzt, werden nur sehr wenig Rechenoperationen durchgefügt.
Es werden ab und zu zwecks Verifizierung, Transaktionen durchgeführten (Blocks berechnet und verifiziert), da steigt die Prozessorauslastung etwas an und dauert einige Minuten an; das ist aber auch schon alles.
Der Internet-Traffic ist tatsächlich nach dem die Blockchain heruntergeladen wurde, seht klein. Es werden neue Blocks nachgeladen, sobald sie entstanden sind und die P2P Verbindungen suchen ständig nach neuen Peers. Ist nicht gerade nichts an Traffic der durch die Leitung geht aber auch nicht besonders viel.

CPU.png


Auf dem Screenshot kannst du sehen, das Bitcoin-Core in den letzten 12 Stunden 245MB Daten empfangen und 22MB Daten gesendet hat. Des weitern siehst du auch meine CPU Auslastung und die CPU Auslastung die bitcoin-qt (Bitcoin-Core) verursacht, ist fast immer 0% und deshalb ist das Feld in dem die Auslassung angezeigt wird, leer. Da ich ein hochauflösendes Video, mit dem Matrix-Code als Desktop Hintergrund laufen habe, habe ich eine ständige CPU-Auslastung von ca. 8% und wenn ich andere Programme starte, noch etwas mehr.
Die Geringe CPU Auslastung ist zum Teil mit den System-Energie-Einstellungen zu erklieren, die ich selbst im Quellcode des Linux-Kernels vorgenommen habe.
Screenshots von Linux-Kernel Konfiguration make menuconfig:

menuconfig-01.png

menuconfig-02.png

menuconfig-03.png
 
Zuletzt bearbeitet:
root@linux schrieb:
Das Bitcoins keinen Nutzen haben ist mir neu; und daraus folgt die Frage, warum so viele Menschen auf der Welt Bitcoins nutzen?
Warum spielen so viele Leute Lotto?
 
root@linux schrieb:
Also, ich habe mich bislang, mit der Fee nicht so sehr beschäftigt und weiß auch nicht wo diese Fee hingeht. Soweit ich aber weiß, bekommt man beim Mineing keine Transaktionsgebühren ausbezahlt, sondern erschafft neue Bitcoins.
Wofür sollte man auch ein Gebühr bekommen, die jemand anderes ,für einen anderen Zweck bezahlt hat?
Das ergibt keinen Sinn.
Ich vermute, das die Fee an den Erfinder der Bitcoins geht. Das ergibt Sinn.
Wiki Transaktionsgebühren
Transaktionsgebühren bekommen die Miner für ihre Arbeit (Reward).
 
  • Gefällt mir
Reaktionen: root@linux
root@linux schrieb:
Eine Währung mit Lotto vergleichen?
Beides ist in den Augen vieler nutzlos, trotzdem wird mit beiden viel "gespielt". Also ja: nur, weil es genutzt wird, muss es nicht unbedigt echten Nutzen haben.
Für mich wäre der einzige Anreiz Bitcoin zu kaufen, es später teurer verkaufen zu können.
 
  • Gefällt mir
Reaktionen: root@linux
Status
Für weitere Antworten geschlossen.
Zurück
Oben