Bitcoin Archives - Technik - Blogbasis.net https://technik.blogbasis.net/tag/bitcoin Die Basis des freien Wissens – Technik Sun, 28 Sep 2014 22:21:14 +0000 de hourly 1 https://wordpress.org/?v=6.8.1 Oniontip.com – BTC Spenden für TOR-Server Betreiber https://technik.blogbasis.net/oniontip-com-btc-spenden-fuer-tor-server-betreiber-28-09-2014 https://technik.blogbasis.net/oniontip-com-btc-spenden-fuer-tor-server-betreiber-28-09-2014#respond Sun, 28 Sep 2014 22:21:14 +0000 http://technik.blogbasis.net/?p=1184 Ich hatte letztens das Glück den Entwickler der Webseite Oniontip.com im IRC (und auch bald vielleicht im RL) kennenzulernen. Seine gute Idee möchte ich gerne mit euch teilen.

Was ist Oniontip?

Oniontip entstand während eines Bitcoin Hackathons in Dublin und der Quelltext ist auf GitHub zu finden. Die Idee ist, dass Betreiber von TOR-Servern eine Bitcoinaddresse im ContactInfo-Feld hinterlassen. Die Adresse wird extrahiert und der dazugehörige TOR-Server wird dann auf der Oniontip-Webseite aufgelistet.

Möchte eine Person die selbstlosen TOR-Betreiber beim Betrieb der für das TOR-Netzwerk überlebenswichtigen Server unterstützen, so kann dieser auf Oniontip eine Spenden-Bitcoinaddresse anfordern und etwas überweisen.

Diese Spende wird vom Script anteilig auf alle Server aufgeteilt. Die Server, welche mehr Bandbreite dem TOR-Projekt zur Verfügung stellen, bekommen ein dementsprechend größeres Stückchen vom Bitcoin ab.

Ich habe meine TOR-Relays vor einigen Tagen (~ eine Woche?) dort eingetragen und seitdem wurden ganze 12 Bitcoins gespendet. Im Namen der Betreiber sage ich Danke dafür.

Die Konfiguration anpassen

Um seinen TOR-Server bei Oniontip.com listen zu lassen, muss man das ContactInfo-Feld in der Konfigurationsdatei anpassen:

gehaxelt@torhost:~$ cat /etc/tor/torrc | grep ContactInfo
#ContactInfo Random Person <nobody AT example dot com>
#ContactInfo 0xFFFFFFFF Random Person <nobody AT example dot com>
ContactInfo tor@noreply.com - 1McE8F5bE7SmcHJzvvGSfvricVPUjhUGt5

Die Bitcoinadresse solltet ihr natürlich anpassen, ansonsten habe ich einen kleinen Nebenverdienst ;)
Nach einem Neustart des TOR-Daemons und einigen Stunden des Wartens sollte euer Server in der Liste erscheinen:

service tor restart

Fazit

Ich für meinen Teil finde die Idee ganz gut. Diese wird wahrscheinlich nicht die Kosten der Serverbetreiber decken, jedoch ihren Dienst als kleine Motivation erfüllen. Sollte ich irgendwann mal ein paar Bitcoins rumliegen haben, so werde ich eine Spende an Oniontip in Erwägung ziehen.

~ Sebastian

]]>
https://technik.blogbasis.net/oniontip-com-btc-spenden-fuer-tor-server-betreiber-28-09-2014/feed 0
Mit Awesome und curl den aktuellen DOGE/BTC-Kurs im Blick haben https://technik.blogbasis.net/mit-awesome-und-curl-den-aktuellen-dogebtc-kurs-im-blick-haben-27-01-2014 https://technik.blogbasis.net/mit-awesome-und-curl-den-aktuellen-dogebtc-kurs-im-blick-haben-27-01-2014#respond Mon, 27 Jan 2014 01:13:28 +0000 http://technik.blogbasis.net/?p=1013 Wenn man Leute beobachtet, die sich viel mit Crypto-Währungen beschäftigt fällt auf, dass immer wieder Webseiten aufgerufen werden um den aktuellen Kurs zu erfahren. Dass muss nicht sein. Denn mit einer API kann man die Kurse auch durch ein Programm abrufen lassen. Wenn man Linux nutzt geht das recht schnell. Hier will ich kurz zeigen wie man sich für Awesome ein kleines Wiget für diese Aufgabe schreibt.

Erstmal braucht man eine Möglichkeit um den aktuellen Kurs zu erfahren.

Wenn es schon eine API gibt ist das natürlich praktisch. Durch Googeln von „Dogecoin API Price“ bekommt man einen nützlichen Beitrag auf Reddit. Dort gibt es dann auch gleich einen Link auf eine Web-API. Die kann man dann dank curl auch direkt von der Shell aus nutzen.

curl https://bter.com/api/1/ticker/doge_btc

gibt einem

{"result":"true","last":"0.00000184","high":"0.00000220","low":"0.00000180","avg":"0.00000195","sell":"0.00000185","buy":"0.00000182","vol_doge":395657724.31,"vol_btc":769.703167}%

zurück. Für ein Widget muss man sich die Ausgabe dann nur noch etwas formatieren. Ich hab das erstmal mit einem Ruby-Skript gemacht. Denn hier gibt es das coole Tool Rubular.

cmd = `curl -s http://bter.com/api/1/ticker/doge_btc`
regex = /last\":\"([0-9\.]+)/
cap = cmd.match(regex).captures
p cap[0]

das geht also alles soweit erstmal.

Jetzt ein Awesome-Wiget schreiben:

Erstmal braucht man eine rc.lua . Hier kann man jetzt an einer geeigneten stelle den Lua-Code für das Widget einfügen. Der sieht dann so aus:

--Create a Doge-Notifier, which shows the number of doge/BTC
mydogeStatus = widget({ type = "textbox" })
mydogeStatus.text ="Doge-Notifier init"

mydogeStatustimer = timer({ timeout = 5 })
mydogeStatustimer:add_signal("timeout", function()

mydogeStatus.text = "Doge/BTC: ".. awful.util.pread([[curl -s http://bter.com/api/1/ticker/doge_btc | grep -m 1 -ioP 'last":"([0-9\.]+)' | sed -e 's/last":"//g']])

end
)
mydogeStatustimer:start()

So das wars auch schon: Den Code hier drüber kann man einfach in seine rc.lua Copy-Pasten und dann noch das „mydogeStatus“ in die entsprechende Widgetbox (oft wibox) packen.

Im Code hier verwende ich kein Ruby mehr, dass war zu ineffizient (Warum eigentlich?). Egal bash-Magie tuts ja auch. Wenn man es klüger machen kann kannst du es ja mit einem Kommentar mitteilen (wäre sogar sehr nett).

]]>
https://technik.blogbasis.net/mit-awesome-und-curl-den-aktuellen-dogebtc-kurs-im-blick-haben-27-01-2014/feed 0
Litecoins (LTC) minen – Wie und Warum? https://technik.blogbasis.net/litecoins-ltc-minen-wie-und-warum-12-09-2013 https://technik.blogbasis.net/litecoins-ltc-minen-wie-und-warum-12-09-2013#respond Thu, 12 Sep 2013 18:16:39 +0000 http://technik.blogbasis.net/?p=871 Nachdem die Crypto-Währung „Bitcoin“ sehr bekannt wurde, entstanden daraus viele neue Crypto-Währungen. Litecoin ist ähnlich wie Bitcoin, jedoch basiert es auf einem anspruchsvolleren Algorithmus und der Preis hält sich relativ stabil bei 2.5$. Wie generiert (mined) man diese Coins und lohnt sich das überhaupt?

Ein wenig zur Theorie und dem Warum?

Ich hab mich nicht groß mit der Theorie der Crypto-Währungen auseinandergesetzt, doch im Großen und Ganzen geht es darum, mathematische Berechnungen durchzuführen, bis ein (Aufgaben)-„Block“ gelöst wurde. Man investiert Rechenpower um einen Block zu lösen und bei Erfolg wird man mit einer bestimmten Anzahl an Coins belohnt. Der Litecoin-Algorithmus sieht eine Belohnung von 50 LTC pro gelösten Block vor.

Als Einzelperson ohne entsprechend speziell darauf ausgelegte Hardware ist es sehr unwahrscheinlich, dass man zeitnah einen Block selbst gelöst bekommt. Die Hash-Rate meiner beiden Server (CPU-Mining) liegt gerade bei ~60kH/s. Der Profit-Rechner liefert mir folgende Wahrscheinlichkeiten:

Time to Find a Block
Expected Time	 935 days 01 hours
Probability of a Block in 1 hour	 0.00%
Probability of a Block in 6 hours 	0.03%
Probability of a Block in 12 hours	 0.05%
Probability of a Block in 24 hours	 0.11%
Probability of a Block in 48 hours	 0.21%
Probability of a Block in 72 hours	 0.32%
Probability of a Block in 7 days	 0.75%
Probability of a Block in 14 days 	1.49%

Bei einer Belohnung von 50 LTC und einem Preis von 2.5$ wären das 125$ (94€) die ich erst in frühstens 2.5 Jahren sehen würde.

Aus diesem Grund gibt  es sogenannte „Pools“. Das sind sozusagen Verbände bzw. Gruppen von verschiedenen Minern, welche zusammen an einem Block rechnen und den erzeugten Gewinn je nach Beteiligung aufteilen. Das hat den Vorteil, dass die Auszahlung in LTC bzw. in Dollar regelmäßiger stattfindet.

Ich habe mich zum Beispiel im Pool „http://pooledbits.com“ eingetragen. Dort gibt es keine Gebühren und es wird ungefähr 1 Block am Tag gelöst.

Nun zum zweiten Teil der Frage: Warum mine ich eigentlich Litecoins und nicht z.B. Bitcoins?

Einerseits ist Bitcoin ein wenig ausgelutscht. Ich vermute, dass sich der relative hohe Preis nicht (mehr/sehr) lange halten wird, und dafür lohnt sich der Aufwand (Rechenpower) nicht. Stattdessen investiere ich die Rechenpower der sonst „idlenden“ Vserver in Litecoins. Die Währung ist von der Berechnungsschwierigkeit etwas leichter als Bitcoin, und außerdem hält sich der Preis stabil bei 2.5$. Sollte Bitcoin irgendwann abdanken, dann könnte mit etwas Glück der Preis der Litecoins steigen -> Win.

Meiner Meinung nach kann es nicht schaden ein paar Litecoins gemined zu haben. Sollte der Preis steigen, hat man gewonnen, andernfalls hat man nichts verloren. Die Kosten der Server kann man mit dem Minen sowieso nicht decken. Laut dem Rechner wären das bei mir ungefähr 4$ (ungerechnet 3€) an Gewinn pro Monat für beide Vserver.

Die Einrichtung des Miners

Wenn man sich für einen LTC-Mining-Pool entschieden hat, dann erstellt man sich bei diesem einen Account. Normalerweise gibt es im Webinterface die Möglichkeit „neue Worker“ anzulegen. Diese Worker sind eure Computer, welche für euch rechnen werden.

Praktisch und theoretisch lohnt sich GPU-Mining mehr, als CPU-Mining. Da ich aber den GPU-Miner auf meiner Nvidia-Karte nicht zum Laufen bringen konnte, und die Server (auf denen ich mine) keine brauchbare Grafikkarte haben, erkläre ich nur das CPU-Mining.

Wir führen wieder die Standard-Schritte zum Selbst-kompilieren von Software aus:

mkdir /tmp/mining && cd /tmp/mining
wget http://sourceforge.net/projects/cpuminer/files/pooler-cpuminer-2.3.2.tar.gz
tar xfv pooler-cpuminer-2.3.2.tar.gz
cd cpuminer-2.3.2
./configure CFLAGS="-O3"
make
sudo make install

Danach sollte uns das Programm „minerd“ zur Verfügung stellen. Das Programm werden wir mit folgenden Parametern aufrufen:

minerd --url=[URL] --userpass=[USER.Workername:PW] --threads [ANZAHL]

Im Webinterface des Pool sollte die URL des Mining-Servers stehen, zu dem sich der Minerd verbinden soll. Den Benutzernamen bzw. Workernamen und das dazugehörige Passwort findet ihr ebenfalls dort. Der Aufruf sollte am Ende so ähnlich aussehen:

minerd --url=stratum+tcp://pooledbits.com:8338 --userpass=gehaxelt.1:x --threads 8

Die Personen, welche meinen Artikel über die Daemontools gelesen haben, könnte die Einrichtung als Service interessieren.

Dazu legen wir erstmal einen neuen Benutzer an:

sudo useradd -M -s /bin/nologin miner

Dem Benutzer wird kein Home-Verzeichnis erstellt (-M) und die Shell wird auf /bin/nologin gesetzt (-s), da wir den Benutzer an sich nur als Dummy benötigen. Die „run“-Datei sieht dann folgendermaßen aus:

#!/bin/bash
USER="miner"
exec 2>&1
exec setuidgid miner minerd --url=stratum+tcp://pooledbits.com:8338 --userpass=gehaxelt.1:x --threads 8

Damit sollte minerd immer schön am Minen sein :)

In der Logdatei meldet sich der erfolgreiche Start von Minerd folgendermaßen:

@400000005232038139b3fedc [2013-09-12 20:09:59] 8 miner threads started, using 'scrypt' algorithm.
@400000005232038418f2872c [2013-09-12 20:10:02] thread 2: 1524 hashes, 1.05 khash/s
@400000005232038425f7a09c [2013-09-12 20:10:02] accepted: 1/1 (100.00%), 1.05 khash/s (yay!!!)
@40000000523203842c47ee0c [2013-09-12 20:10:02] thread 1: 4104 hashes, 2.31 khash/s
@40000000523203842caa324c [2013-09-12 20:10:02] thread 5: 4104 hashes, 2.30 khash/s
@400000005232038434e0b094 [2013-09-12 20:10:02] thread 3: 4104 hashes, 2.13 khash/s
@40000000523203850ade0544 [2013-09-12 20:10:03] thread 7: 4104 hashes, 1.86 khash/s
@4000000052320385195d109c [2013-09-12 20:10:03] thread 0: 4104 hashes, 1.67 khash/s
@40000000523203851d04f28c [2013-09-12 20:10:03] thread 6: 4104 hashes, 1.63 khash/s
@40000000523203852850b784 [2013-09-12 20:10:03] thread 4: 4104 hashes, 1.51 khash/s
@40000000523203862ce78d54 [2013-09-12 20:10:04] thread 1: 5976 hashes, 2.97 khash/s
@4000000052320386375588f4 [2013-09-12 20:10:04] accepted: 2/2 (100.00%), 15.12 khash/s (yay!!!)
@4000000052320388374e87fc [2013-09-12 20:10:06] thread 3: 18420 hashes, 4.56 khash/s
@4000000052320389061aa134 [2013-09-12 20:10:07] accepted: 3/3 (100.00%), 17.55 khash/s (yay!!!)
@40000000523203893a05f73c [2013-09-12 20:10:07] thread 1: 11508 hashes, 3.57 khash/s
@400000005232038a091e34a4 [2013-09-12 20:10:08] accepted: 4/4 (100.00%), 18.15 khash/s (yay!!!)
@400000005232038a2b361494 [2013-09-12 20:10:08] thread 3: 8592 hashes, 4.78 khash/s
@400000005232038a359d0f3c [2013-09-12 20:10:08] accepted: 5/5 (100.00%), 18.37 khash/s (yay!!!)

Fazit

Litecoin ist eine Crypto-Währung, welche sich mit genug Rechenpower „verdienen“ lässt. Ohne entsprechende Hardware kann man aber keinen Profit erwarten, und trotzdem kann es vorteilhaft sein einige Litecoins (LTCs) generiert zu haben, falls der Preis – wie am Beispiel von Bitcoin – schlagartig steigen sollte.

~ Sebastian

 

 

]]>
https://technik.blogbasis.net/litecoins-ltc-minen-wie-und-warum-12-09-2013/feed 0