Vielleicht eine Gute Idee

Ich hatte gerade eine Idee bezüglich Bitcoin und wollte die einfach mal loswerden, für den unwahrscheinlichen Fall, dass sie gut ist :wink: Bei der Idee handelt es sich vorerst nur mal um ein Gedankenspiel, wie man die Anreize meine Bitcoins (oder möglicherweise andere Crypto-Assets) zu stehlen, deutlich verringert könnte. Ich denke, dass meine Idee zumindest auf Ethereum funktionieren sollte (da Turing-Complete), aber mich würde interessieren, ob so etwas auch bei Bitcoin mit der eingeschränkten Smart-Contract Funktion möglich wäre. Oder möglicherweise existiert das Ganze bereits, hab beim google allerdings nichts gefunden (weiß aber auch allerdings nicht genau wonach ich suchen soll).

Ok nun aber zu der vielleicht guten Idee:
Nehmen wir an ich Sperre meine Coins in einem Smart-Contract ein, das nur erlaubt diese Coins
mit einer großen Zeitverzögerung zu versenden, sagen wir z.B eine Woche. Soll heißen, wann
immer ich einen Teil der Coins versenden möchte, muss ich eine Transaktion machen die das
Smart-Contract verändert und die Coins dann allerdings erst nach ca. einer Woche (also 1008
Blöcke) auf der gewünschten Adresse landen.
Nun nehmen wir noch an, dass das Smart-Contract so geschrieben ist, dass es jeder Zeit mit
einem, nennen wir ihn Withdrawal-Key, zurückgezogen werden kann.

Nun was würde das bedeuten, wenn nun 1. jemand meinen „normalen“ Key stehlen würde und 2.
jemand meinen „normalen“ und/oder meinen Withdrawal-Key stehlen würde.

Im ersten Fall hätte ich kein Problem, solange ich immer jede Woche auf die Blockchain schau
(könnte ja automatisiert sein) und dann, für den Fall das der Bösewicht meine Bitcoins
versenden möchte, diese Versendung einfach mit meinem Withdrawal-Key abbreche. Dann würde es sich natürlich, sobald ich gemerkt habe dass jemand meinen Key gestohlen hat anbieten, dass ich
meine Bitcoins auf eine andre Adresse versende, damit ich das nicht andauernd machen muss …

Im zweiten Fall wäre es so, dass sowohl ich als auch der Bösewicht den Withdrawal-Key haben und somit keiner keiner von uns beiden die Coins versenden könnte, weil der andere die Transaktion ja immer mit dem Withdrawal-Key abbrechen würde. Die Coins wären nun (erstmals)
verloren. Mit dem großen Unterschied, dass der Bösewicht von vornherein viel weniger Anreiz hätte mir meine Coins zu stehlen, da sein einziger nutzen darin besteht mir meine Coins wegzunehmen, er selbst aber keinen finanziellen Vorteil dadurch hat.
Man könnte also eine Menge an Bitcoin von denen man weiß das man sie eh nicht schnell
versenden möchte in so einem Smart-Contract einsperren und dies sollte es dann aus Sicht der
Spieltheorie wesentlich unwahrscheinlicher machen, dass ich das Ziel eines Bösewichts werden. Könnte mir so was vor allem bei Leuten gut Vorstellen die große Mengen an Bitcoin halten, dass sie ihre Coins auf so einer Wallte einsperren würden, vielleicht sogar Exchanges.

Außerdem bietet das zuletzt beschriebenen Szenario in dem beide, ich und der Bösewicht beide
Keys haben, eine interessante und absurde Situation. Denn nehmen wir mal an ich
habe 1 BTC in diesem Smart-Contract, dann habe ich -1BTC und der Bösewicht 0BTC aus dieser
Aktion gezogen. Aus spiel-theoretischer Sicht wäre es also sinnvoll, für beide Parteien sich
darauf zu einigen den Bitcoin aufzuteilen, dann hätte ich nur -0,5BTC und der Angreifer
+0.5BTC. Sehr absurde Situation :). Doch wenn man sie weiterdenkt würde jeder davon profitieren.
Also wäre es ja vielleicht sogar mögliche einen Mechanismus von vornherein in das Smart-Contract
mit einzuprogrammieren, der es erlaubt, dass wenn beide sich auf eine Split-Ratio einigen (oder
vielleicht auch einen default festlegen) die Bitcoins doch aus den Smart-Contract wieder raus
kommen.

Ich bin gespannt was ihr von meiner vielleicht guten Idee halten.

Viele Grüße
Manuel

PS: mir sind grad am Ende noch zwei Sachen eingefallen eingefallen:

  1. Der Coinbase Vault tut meines Wissens (bin da nicht so drin) etwas ähnliches, denke das das
    ganze dort allerdings offchain passiert und nicht von der Bitcoin Sicherheit sondern von der
    Coinbase Sicherheit abhängt?
  2. Übersehe ich aus spiel-theoretischer Sicht etwas was die Gebühren betrifft? Also weil ich für das andauernden verwenden des Withdrawal-Keys ja immer gebühren zahlen muss?

Für den unwahrscheinlichen Fall, dass das ne gute Idee ist :wink: a5559f6a385555af53b21b41e9f019960bbb983c0de6826228e4ea6680d99539

Mir ist nicht ganz klar geworden, welches Problem du lösen willst.

Die gewünschte Adresse will ja auch sicher aufbewahrt werden. D.h. um an die Coins zu kommen bräuchte ich zwei Teile: 1. den „normalen“ Key, und 2. den Key zur Zieladresse.

Gegenüber eines multisignature wallets hast du keinen Sicherheitsvorteil außer durch obfuscation (Verschleierung durch ein obskures Verfahren). Generell sollte die Sicherheit deiner Coins aber nicht vom Verfahren sondern von der Art der Verwahrung abhängen. Erprobte, verteilte Verwahrung erreichst du mit multisig.

Wenn ich dein Verfahren kenne, macht es für mich als Angreifer keinen Unterschied, ob ich von dir einen oder zwei Schlüssel erzwinge. Dagegen würde ich als Angreifer aufgeben, wenn du mir glaubhaft machst, dass du die Coins nicht alleine ausgeben kannst, weil du nicht alle Schlüssel hast. Wenn deine Abwehr zunächst darin besteht, mir dein Verfahren zu erklären, nehme ich dich nicht für voll.

1 „Gefällt mir“

danke für deine Antwort,

also mir ist schon klar, dass es multi-sigs gibt, aber der unterschied wäre doch der (vorrausgesetzt meine idee wäre umsetzbar):
Wenn bei einer Multi-Sig der angreiffer beide Keys hat kann er meine Coins stehlen, das heißt er hat einen hohen Anreiz dies zu tun (um genau zu sein der Anreiz ist genau so hoch wie viel meine Coins wert sind - transaktions gebühr). Bei meinem Verfahren wäre aber egal, sebst wenn er beide Keys stiehlt, die Coins (erstmal) verloren, also keiner von uns hat Zugriff auf diese, da der Withdrawl-Key den wir ja beide besitzen, jede Transation unterbinden kann: Das wiederum heißt ich verlier zwar meine Coins, der Angreiffer gewinnt jedoch keine, hat also demnach einen niedrigeren Anreiz dafür dich überhaupt die große mühe zu machen an meine Keys zu kommen.

Ich denke das Problem dasa du siehts und das hab ich tatsächlich bisher nicht bedacht: ist auf jeden Fall ein guter Punkt, ist dass du animmst das deine Keys auf z.B einem Ledger sind. Soll heißen das wenn die Keys gestoheln sind du sie nicht mehr kennst.
Ich z.B verwende allerinds eine Brain Wallet, soll heißen ich kenne meine 12 Schlüsselwörter für den Key auswendig, soll heißen das selbst wenn jemand meinen Key stiehlt ich immer noch meine Keys kenne …

Edit:
Also ganz einfach formuliert: Der nutzen wäre die Coins können nicht gestohlen werden, nur vernichtet: demnach viel geringerer Anreiz sieh zu stehlen.

und zu dem punkt

Na ja muss ich ja nicht erklären das würde ja dann auf der Blockchain einsehbar sein. Des Smart-Contract an sich kann ja jder sehn.

Wo sollen denn die Coins landen, wenn jemand den „withdrawal“ auslöst? Da bist du dann wieder bei der Frage, wie der zugehörige Seed gesichert ist – also bei der Frage der Verwahrung.

1 „Gefällt mir“

also der Withdrawl-Key würde die transaction abbrechen. Soll heißen die Coins würden auf der selben Adresse bleiben, bin mir nicht ganz sicher wie das dann auf einem Bitcoin Smart-Contract ausehen würde: Wahrschienlich eine Transaction auf die selbe adresse???

Dann kann ich sie also mit dem ersten key ausgeben.

Du hast strukturell immer noch ein Puzzle, zu dem man zwei von zwei Teilen benötigt. Bzw. unter bestimmten Umständen nur eines.

Keep it simple!

1 „Gefällt mir“

danke für die antwort bin froh das jemand lust hat darüber zu reden :wink:

hm vielleicht liegt hier das problem. An sich ja, also mit dem ersten key kann man sie ausgeben. Aber die idee wäre das der vorgang sich innerhalb einer woche mit dem zweiten key abbrechen lässt. Ich bin halt garnicht in der Bitcoin Smart-Contract programmierung drinnen, weshalb ich nicht weiß ob sowas überhaupt auf bitcoin möglich ist … das war ja auch teil der frage.

vllt kann ich auch einfach nicht erklären ! :joy:

Als Angreifer breche ich ab, und gebe dann sofort aus. Setzt voraus, dass ich beide Keys habe. Ergo 2/2.

So wie ich das verstehe, wäre das in Bitcoin möglich.
Multisig Addresse aus:

  1. erste Zieladresse mit timelock
  2. alternative Zieladresse == Ausgangsaddresse durch hash

Bei Lightning wird das so ähnlich gemacht.

1 „Gefällt mir“

Oh ok das ist ein guter punkt, das ganze müsste natürlich so konzipiert sein, dass das abbrechen die Coins zurück in das Smart-Contract transferiert.

Also abbrechen würde dann heiße wieder eine woche warten …

Wenn ich dass jetzt richtig verstehe willst du die coins per Smartcontract mit einem „Zeitschloss“ vershen.
Das würde dich aus meiner sicht gewaltig einschränken. (Zeitliche Bindung)
Warum nicht 128 User Acc. (OK 128 is extrem… geht auch weniger) und alle müssen verifizieren.
Währe zeitunabhängig aber trotzden bringt es keinem was einen Key zu finden.
Problem ist nur für dich: Jeh mehr Keys, desto sicher! Aber auch desto leichter verlier :wink:

1 „Gefällt mir“

Hm, ja also die Idee bezieht sich logischerweise nicht auf Coins die sich schnell bewegen müssen, sondern eher auf Coins von dem ich weiß, dass ich sie demnächst nicht bewegen muss (von denen hab ich so einige ;))

Bei einer 128 User Multi-Sig glaube ich wäre die Zeit zum Versenden länger als ne Woche :smiley: also bis man die mal versammelt hat xD

Und naja der Vorteil wäre (meiner Ansicht nach klar), in deinem fall brauche ich 128 (oder von mir aus auch weniger) andere Leute, denen ich vertraue, wenn nur einer von denen mir eins reinwürgen will seh ich meine Coins nie wieder, aber was ich vor habe, würde ja sozusagen als ein einzelner Agent funktionieren, muss mir halt nur zwei Keys merken.

Schon klar du hast natürlich recht, je mehr Keys, desto sicherer, aber um ehrlich zu sein, ich persönlich hätte nicht mehr als 10 Personen in meinem Leben denen ich den Key für eine Multi-Sig mit einer größeren menge an Bitcoins anvertrauen würde.

Aber eigentlich geht es ja auch nicht um die Sicherheit der Coins an sich, sondern darum den Anreiz dafür sie zu stehlen deutlich zu mindern. Also wenn meine Idee funktionieren würde, könntest du meine BTCs nicht stehlen, selbst wenn du all 128 Keys hast du könntest sie maximal vernichten (also keiner kann sie jemals wieder ausgeben) → ziemlich schlechte Beute für einen Bösewicht, also wirds wohl eher keiner versuchen…

Genau so sehe ich das auch. Wenn du ne Multi Sig hast und der Angreifer kommt an beide Keys hast du gewaltig was falsch gemacht.

Wenn der „Home Intruder“ dir eine über die Rübe zieht sind die Zettel mit den Keys (wenn du bei der Aufbewarhung der Hund drin ist) und dein Gedächtnis weg (temp. bzw. wenns blöd hergeht permanente Amnesie). Das Gehirn ist kein sicherer Speicherort.

Ja, das Smart Contracts super teuer sein können. Du zahlst nämlich die verbrauchten Byte per Block, und diese Contracts brauchen einen Haufen davon. Und du brauchst ihn für dein Szenario immer, auch wenn du etwas verschicken möchtest.

1 „Gefällt mir“

Das würde mir Sorgen bereiten. Das Gehirn speichert so viel, da sollten für diese 12 Wörter auch Platz sein…
Andere müssen Gedichte als Kinder auswendig lernen, einfach so zum Zeitvertreib…
:thinking:

1 „Gefällt mir“

Hm ok, ja ich verstehe.

Danke für die Erklärung!

Man könnte vielleicht sogar behaupten dass ich somit den Anreiz für den Bösewicht erhöhe mir eins über die Rübe zu hauen :wink:

Doch was ist wenn man das Ganze nicht wirklich als Use-Case für eine Privatperson sieht.
Nehmen wir an eine Große Exchange würde diese Methode verwenden. Ich nehme an dass die ihre Keys auf irgendwelchen Servern gespeichert haben müssen da sie die ja andauernd verwenden müssen, da gibt es dann mit Sicherheit auch noch Sicherheitskopien davon.

Wenn ein Angreifer nun aber wüsste das das Maximale was er beim Server hacken gewinnen kann gleich null ist (bzw die Genugtung das die Exchange ihre Coins verloren hat), wäre der Anreiz deutlich geschwächt im vergliech zu der enormen menge an Coins die er erbeuten könnte …

Vielleicht habe ich da aber auch eine ganz falsche Vorstellung …

Das mit der Brainwallet seh ich wie @Bontii, ich denke sogar mein Hirn ist der aller sicherste Speicherort. Ich meine wenn dein einziges Argument mit dem über die Rübe ziehen ist, einen Ledger kann man ja auch zertrümmern, oder (verbrennen was weiß ich :wink: )

1 „Gefällt mir“

Mhm… frag mal Leute mit Schlaganfall die ihre Muttersprache „vergessen“ haben. Anmesie nach Unfall. Narkosen killen dir auch Synapsen. Neurologische Erkrankungen wie Demenz, Parkinson,…

Viel Spaß beim Erinnern des Seeds wenn einer der obigen Fälle eintritt (sovie zum Thema sicher). Sicher nicht gleich Kapazität.

Ich teile die Ansicht definitiv mit nittels!

An @Bontii und @ManuelZ, niemand behauptet, dass das Gehirn nicht dafür gemacht ist Informationen zu speichern. Ja, das kann es in der Tat sehr gut. Ihr seid sicher in der Lage Eure Phrasen auswendig zu lernen. Das zweifelt hier niemand an.
Es geht allerdings nicht nur um das „über die Rübe ziehen“, sondern allgemein um die Verletzlichkeit des Gehirns.
Es gibt unzählige, unvorhersehbare Ereignisse die Euer „Brain-Wallet“ obsolet machen.
Sicher kann man einen Ledger zertrümmern, glücklicherweise ist das ja egal… meine Seed-Phrase sichert mir den Zugang zu meinen Coins. Das Zertrümmern eines ‚steelwallets‘ gestaltet sich allerdings bedeutend schwerer.

Natürlich gilt es Risiken abzuwägen. Spätestens bei der Vererbung (auch einer unerwünscht frühen Vererbung) scheitert das ‚Brain-Wallet‘. Es scheint unausweichlich die Seed-Phrase irgendwo physisch festzuhalten.

Beste Grüße,
HODLer

1 „Gefällt mir“

@nittels
Also das ist ja nun wirklich ein Strohmann Argument, wo hab ich denn bitte irgendwo verharmlost was Menschen mit wirklich schwerer neurologischen Erkrankungen erleben? Das verletzt mich ein bisschen … Ich habe auch nie gesagt, das du falsch liegst, ich verstehe dein Argument (bin halt nur andere Meinung), es gibt auf jeden Fall Argumente gegen eine Brainwallet, aber genauso gut gibt es (meiner Meinung nach) auch Argumente gegen eine Ledger. Ich denke da sollte man schon auch Wahrscheinlichkeiten und subjektive Situationen mit einbeziehen.
Ganz ehrlich, dass mag, bei dir ja vielleicht anders sein, aber für den unwahrscheinlichen Fall, dass ich an Gedächtnisverlust leide, habe ich traurigerweise, und ja das ist nicht schön aber ich versuche da ehrlich zu mir selbst zu sein, niemandem in meinem Leben an den ich meinen Ledger vererben könnte. Verstehe auch nicht warum du genau auf das Argument eingehst und nicht auf die anderen die sich auf die eigentliche Frage beziehen.

@HODLer
Wie gesagt ich verstehe das Argument, aber ich denke das man das ganz dennoch von Situation zu Situation bewerten muss. Ich wollte echt nicht dass, das ganze hier eine Diskussion zwischen Brainwallet und Ledger wird, musste halt dazu was sagen, wenn man es so darstellt als würde ich Gehirnverletzungen verharmlosen.
Aber genau hier gebe ich dir auch Recht

genau das wäre auch mein Fazit!