Frage:
Wie könnte ich die Ergebnisse einer Ja / Nein-Abstimmung unzugänglich machen, wenn sie nicht ohne einen vertrauenswürdigen Dritten bejaht wird?
TheHansinator
2020-08-03 09:00:24 UTC
view on stackexchange narkive permalink

Eine Familie von N Personen (wobei N > = 3 ist) ist Mitglied eines Kultes. Ein Vorschlag wird anonym unter ihnen verbreitet, um den Kult zu verlassen. Wenn tatsächlich jede einzelne Person heimlich den Wunsch hegt, zu gehen, wäre es am besten, wenn die Familie davon wüsste, damit sie offen miteinander umgehen und ihren Ausstieg planen könnten. Wenn dies jedoch nicht der Fall ist, möchte die Familie die tatsächlichen Ergebnisse nicht wissen, um Infighting und Hexenjagd zu verhindern.

Daher gibt es ein Schema, nach dem Wenn jeder in der Familie ja stimmt, weiß die Familie Bescheid, aber alle anderen Ergebnisse (alle nein , eine beliebige Kombination aus ja und nein ) sind für alle Familienmitglieder nicht voneinander zu unterscheiden?

Einige Hinweise:

  • N muss mindestens 3 - N = sein 1 ist trivial und N = 2 ist unmöglich, da ein Ja -Wähler die Stimme der anderen Person abhängig vom Ergebnis kennen kann.
  • Der anonyme Vorschlag ist nicht wichtig - es könnte gut sein Seien Sie jemand außerhalb der Familie, z. B. jemand, der Propaganda verbreitet.
  • Es ist wichtig, dass alle Nein nicht von gemischten Ja und Nein zu unterscheiden sind - Wir möchten nicht, dass die Familie entdeckt, dass es eine Art Schisma gibt. Wenn dieses Ergebnis jedoch unmöglich ist, bin ich mit einem Ergebnis einverstanden, bei dem ein einstimmiges Ergebnis erkennbar ist, eine gemischte Abstimmung jedoch nicht zu unterscheiden ist.

Einige Dinge, die ich bereits versucht habe:

  • Natürlich kann dies mit einem vertrauenswürdigen Dritten geschehen - alle teilen einer Person ihre Stimmen mit, und der Dritte gibt bekannt, ob alle Stimmen Ja sind. Dies ist jedoch keine zufriedenstellende Antwort für mich, da der Dritte von einem eifrigen Nein -Wähler (oder einem anderen Kultmitglied) kompromittiert werden könnte, um herauszufinden, wer das Ja ist em> Stimmen sind. Außerdem kennt diese Person die Stimmen und kann sich in einer gemischten Abstimmungssituation privat mit den Ja -Wählern treffen, um ihnen bei der Flucht zu helfen, was die Nein -Wähler nicht tun Nehmen Sie freundlich zu.
  • Man kann einen zweiten Dritten verwenden, um die Stimmen zu anonymisieren - eine Partei (die wirklich nur ein erschütterter Hut sein könnte) sammelt die Stimmen, ohne sie zu lesen, und sendet sie anonymisiert an die zweite Partei. wer liest sie und gibt das Ergebnis bekannt. Dies ist die beste Lösung, die ich mir vorstellen kann, aber ich denke immer noch, dass ich es besser machen möchte - schließlich gibt es in einem Siedlungskult wahrscheinlich keinen vertrauenswürdigen Dritten, den Sie finden könnten. Ich möchte eine Lösung finden, die einen Drittanbieter verwendet, dem nicht unbedingt vertraut wird.
  • Ich erkenne jedoch, dass Sie mindestens etwas benötigen, um geheime Informationen zu speichern, denn wenn Sie mit arbeiten In einem vollständig öffentlichen Hauptbuch könnten die Teilnehmer dann geheime Kopien der Informationen erstellen und simulieren, wie sich ihre Stimmen auswirken würden, bevor sie ihre tatsächliche Stimme abgeben. Insbesondere wenn alle Teilnehmer Ja stimmen, der letzte jedoch noch nicht abgestimmt hat, können sie eine Ja -Stimme simulieren und herausfinden, dass alle anderen mit Ja gestimmt haben, aber dann selbst nein stimmen - sie sind jetzt allein darin, die ja -Stimmen aller anderen zu kennen. Dies ist die Macht, die der verbleibende nein -Wähler nicht haben soll.

BEARBEITEN: Nach den Kommentaren von BlueRaja stelle ich fest, dass das Konzept des "vertrauenswürdigen Dritten" nicht genau definiert ist und dass ich auf einer bestimmten Ebene wahrscheinlich tatsächlich einen vertrauenswürdigen Dritten benötige Zumindest für einen zuverlässigen Haltezustand. Der Schlüssel ist, was ich dem Dritten anvertrauen würde - zum Beispiel kann ich im ersten und zweiten Beispiel nicht darauf vertrauen, dass ein Dritter weiß, wer was gewählt hat, aber ich kann ihnen den Inhalt der Stimmen anvertrauen. Im Idealfall möchte ich natürlich immer noch ohne einen vertrauenswürdigen Dritten arbeiten können, aber andernfalls möchte ich minimieren, was ich dem Dritten anvertrauen muss. (Ja, ein Dritter kann auch ein lebloses Objekt oder eine leblose Maschine einbeziehen, sofern er den Teilnehmern eine beliebige Menge an Informationen vorenthalten kann.)

Kommentare sind nicht für eine ausführliche Diskussion gedacht.Diese Konversation wurde [in den Chat verschoben] (https://chat.stackexchange.com/rooms/111602/discussion-on-question-by-thehansinator-how-could-i-make-the-results-of-a-ja Nein).
24 antworten:
#1
+57
reed
2020-08-03 16:20:39 UTC
view on stackexchange narkive permalink

Die Theorie

Dies kann auf verschiedene Arten implementiert werden, indem das Prinzip der Epidempotenz angewendet wird.

Sie möchten ein System, das nur ein Ergebnis liefert (binär 1) Wenn alle Eingaben aktiv sind, bedeutet dies, dass jeder den Kult nur verlassen möchte, wenn alle mit Ja gestimmt haben, andernfalls darf das System keinerlei Informationen zurückgeben (binär 0). Dies ist im Grunde eine UND-Beziehung zwischen den Eingaben, wie in der folgenden Tabelle dargestellt (0 = nein / falsch, 1 = ja / wahr):

  Eingabe: Sie möchten die Kultausgabe verlassen : Jeder will den Kult verlassen.0 0 0 | 0 0 0 1 | 00 1 0 | 00 1 1 | 01 0 0 | 01 0 1 | 01 1 0 | 01 1 1 | 1 --- > Hurra, jeder möchte gehen, wir können darüber reden!  

Nun, das ist möglicherweise nicht trivial, um sicher zu implementieren, weil Sie etwas brauchen, das zählen kann (N- 1 wird nicht ausreichen, um das Ergebnis auszulösen, aber N wird), und etwas, das zählen kann, kann möglicherweise auch Informationen über die Anzahl der Stimmen verlieren. Vergessen wir das also und stellen Sie fest, dass Sie wertvolle Informationen erhalten, wenn Sie nur das Gegenteil überprüfen (nein statt ja), da Sie tatsächlich mit einzelnen Informationen (entweder Ja oder Nein, 0 oder 1) arbeiten , 0 statt 1 usw.). Wenn Sie also überprüfen, ob sie im Kult bleiben möchten, anstatt zu gehen, und wenn Sie überprüfen, ob mindestens eine Person bleiben möchte, anstatt zu überprüfen, ob sie alle gehen möchten, erhalten Sie die folgende Wahrheitstabelle, in der alle Einsen ersetzt wurden mit Nullen und umgekehrt:

  Eingabe: Sie möchten im Kult bleiben. Ausgabe: Jemand möchte bleiben.1 1 1 | 11 1 0 | 11 0 1 | 11 0 0 | 10 1 1 | 10 1 0 | 10 0 1 | 10 0 0 | 0 --- > Hurra, niemand will bleiben, wir können darüber reden!  

Beachten Sie, dass wir jetzt eine ODER-Beziehung zwischen den Eingaben haben, die meiner Meinung nach einfacher sicher zu implementieren ist, da Sie nur ein System benötigen, das auf jede Eingabe genauso reagiert. Ein solches System wäre idempotent: Eine Stimme reicht aus, um die Ausgabe auszulösen, und alle nachfolgenden Stimmen hätten keine Wirkung. Was können wir nun verwenden, um ein solches System zu implementieren? Das System würde die folgenden Funktionen benötigen:

  • Es muss jedem vertraut werden. Es kann nicht von einem einzelnen Familienmitglied oder von einem einzelnen Familienmitglied gebaut oder gekauft werden jemand anderes. Ich nehme an, es muss etwas sehr Einfaches sein, das jeder verstehen und dem er vertrauen kann. Um böswillige Manipulationen des Systems zu vermeiden, sollte es auch unter Aufsicht aller Mitglieder betrieben werden.
  • Die Wähler dürfen die Ausgabe nicht überprüfen können, bevor das Experiment beendet ist. Dies bedeutet, dass die Abstimmung keine Rückmeldung über den aktuellen Status des Systems zurückgeben darf. Zum Beispiel ist das Ausblasen einer Kerze nicht sicher, wenn Sie sie sehen, die Hitze spüren oder etwas riechen können.

Das System

Die einfachste Lösung, die ich finden kann Denken Sie an etwas, das ein elektronisches Gerät mit einer idempotenten Taste beinhaltet, wie eine Fernbedienung zum Wechseln des Kanals auf einem Fernseher. Hier ist ein Beispiel, wie ich das System einrichten würde:

  • Holen Sie sich ein Gerät mit einer idempotenten Taste. Es könnte sich um ein Fernsehgerät mit Fernbedienung handeln, sofern sich dies ändert Kanal N hat immer den gleichen Effekt, egal wie oft Sie es tun (Idempotenz). Oder irgendetwas anderes, das Sie zu Hause haben, wie einen Knopf zum Öffnen eines Tors (wenn das Öffnen eines offenen Tors es offen lässt) usw. Wichtig ist jedoch, dass das System von allen als vertrauenswürdig eingestuft werden muss, wenn Sie es also wirklich wollen Alles, was die Familie sicher in Betracht ziehen könnte, ein neues Gerät zu kaufen (zusammen ins Einkaufszentrum gehen und ein vertrauenswürdiges Gerät kaufen).
  • Richten Sie das System sicher ein. Die gesamte Familie muss beim Einrichten des Systems anwesend sein, da das System sonst möglicherweise von demjenigen beschädigt wird, der es eingerichtet hat. Im Allgemeinen muss die ganze Familie anwesend sein und alle Vorgänge vom Beginn bis zum Ende des Experiments überprüfen (vom Kauf der Ausrüstung bis zum sicheren Wegwerfen).
  • Vermeiden Sie jegliche Art von Feedback vom System während der Abstimmung. Um beispielsweise den Fernsehkanal zu wechseln, befinden sich der Fernseher und die Fernbedienung möglicherweise unter einer riesigen dicken Decke. Um abzustimmen, müssen Sie Ihre Hand unter die Decke schieben. Aber die Lautstärke sollte stummgeschaltet sein, und vielleicht sollten Sie Musik im Hintergrund einschalten, die laut genug ist, um kein mögliches Summen oder Geräusch vom Fernseher zu hören. Möglicherweise möchten Sie sogar eine Verzögerung zwischen einer Stimme und der nächsten definieren, um zu vermeiden, dass Feedback von der möglichen Hitze der Fernbedienung durch die Hand des vorherigen Wählers erhalten wird.
  • Der Abstimmungsprozess sollte für alle gleich sein. Während des Experiments müssen die anderen Mitglieder sicherstellen, dass der Wähler nicht betrügt (wie unter die Decke gucken, sich seltsam verhalten usw.), damit alle während des Experiments anwesend sind. Es gibt eine relativ feste Zeitspanne, in der der Wähler mit der Hand unter der Decke bleiben kann. Es wird nicht als gültig angesehen, es unter die Decke zu schieben und sofort herauszuziehen, da dies eine offensichtliche und öffentlich unterscheidbare NEIN-Abstimmung wäre. Von außen muss jede Abstimmung ziemlich gleich aussehen.
  • Testen Sie das System, bevor Sie es für das eigentliche Experiment verwenden . Sie müssen sicherstellen, dass jeder den Prozess versteht, richtig abstimmt und das System entsprechend reagiert. Die ganze Familie nimmt an mehreren simulierten Abstimmungen teil, um das System zu testen (simulierte Abstimmungen sind gefälscht und öffentlich bekannt, nicht geheim).
  • Am Ende muss das System sicher zerlegt werden. Berührende Tasten oder Teile müssen möglicherweise sorgfältig gereinigt werden, um Fingerabdrücke zu entfernen. Wenn die Familienmitglieder dem System nach der Abstimmung nicht vertrauen und befürchten, dass jemand Informationen daraus extrahieren könnte, müssen möglicherweise alle Teile des Systems weggeworfen werden.
  • Die Abstimmung

    Angenommen, sie haben sich für die Implementierung des TV-Remote-Blanket-Systems entschieden. "Ok, alle zusammen, der Fernseher ist eingeschaltet, der aktuelle Kanal ist 123. Wenn Sie im Kult bleiben möchten, ändern Sie ihn in Kanal 0". Jedes Mitglied schiebt seinerseits eine Hand unter die Decke und wechselt entweder den Kanal (wenn es im Kult bleiben möchte) oder gibt vor, ihn zu ändern (wenn es gehen möchte). Am Ende wird die Decke entfernt und ... Kanal 123! Dann will niemand im Kult bleiben, Hurra! ... oder ... Kanal 0! Dann will mindestens ein Mitglied im Kult bleiben! Oder vielleicht alle, es gibt keine Möglichkeit zu wissen.

    Schlussbemerkungen

    Es hat Spaß gemacht, eine Lösung für dieses Problem zu finden, aber ich halte dies eher für ein Gedankenexperiment als für eine echte Sicherheitsfrage. Das Problem ist, dass das Bedrohungsmodell unvollständig ist, da ich nicht denke, dass dieses Szenario in einer Familie, in der alle Mitglieder Teil eines Kultes sind, tatsächlich Sinn machen kann. Kultmitglieder werden per Definition einer Gehirnwäsche unterzogen und sind paranoid. Sie vertrauen möglicherweise nicht einmal einem Geschäft, um einen neuen Fernseher oder eine Fernbedienung zu kaufen, und denken, dass jeder , den sie noch nicht kennen (einschließlich Verkäufer), "Feinde" sein könnte. Es ist definitiv möglich, ein System ohne elektronische Geräte einzurichten, indem nur einfache Objekte wie Kerzen, Töpfe, Wasser, Seile usw. verwendet werden. Dieses Zeug ist möglicherweise leichter zu vertrauen als ein elektronisches Gerät mit Blackbox, aber es kann auch sein Es ist schwieriger, solche Systeme zuverlässig arbeiten zu lassen. Ich frage mich auch: Wenn ein Familienmitglied vorschlägt, dass eine Abstimmung erforderlich ist, ist das nicht verdächtig? Warum sollte ein Mitglied des Kultes wissen wollen, ob jeder in der Familie gehen möchte? Wahrscheinlich ist derjenige, der dieses System vorschlägt, derjenige, der gehen will. Oder dies alles könnte eine Falle sein, um herauszufinden, wer gehen möchte.

    In Bezug auf das TV-System können Sie auch alle Tasten außer der 0 entfernen / deaktivieren, um eine echte binäre Auswahl zu treffen (drücken oder nicht drücken). Andernfalls haben die Wähler auch die zusätzliche Option zum "Zurücksetzen", indem sie den Kanal auf 123 ändern.
    _ "Wenn ein Familienmitglied vorschlägt, dass eine Abstimmung erforderlich ist, ist das nicht verdächtig?" _ Dies ist der Fehler in der Prämisse, über die ich die ganze Zeit mental gestritten habe.
    Vielleicht ist der Vorschlag "Lasst uns abstimmen" * auch * anonym (z. B. erscheint über Nacht eine getippte Notiz auf dem Küchenkühlschrank).Nur die Personen, die die Notizen hinterlassen, würden wissen, ob beide Notizen ("Ich habe darüber nachgedacht zu gehen" und "Lassen Sie uns eine anonyme Abstimmung abhalten") von derselben Person stammen ...
    Idempotenz ist wirklich der Schlüssel.Sie können den Vorgang so einfach wie das Gießen von Wasser in einen geschlossenen Eimer mit einem Trichter vereinfachen.Wenn jeder Einzelne unabhängig wählen kann, wie viel Wasser in den Eimer gegossen werden soll, gibt es keine Informationen darüber, wie voll der Eimer ist, außer dass der Boden nass ist (vorausgesetzt, der Eimer kann während der Abstimmung nicht manipuliert werden und tut dies nichtLärm abgeben usw.).
    Man könnte auch zwei Schüsseln Reis aufstellen, eine rechts rot gefärbt und eine links weiß gehalten, und sie dann unter eine Decke legen.Die Wähler müssen ein paar Körner aus der Schüssel rechts nehmen und sie links in die Schüssel geben, wenn sie bleiben wollen.Wenn der weiße Reis frei von roten Körnern bleibt, wollen alle gehen.
    -1 Diese Antwort basiert auf einem vertrauenswürdigen Dritten - einem Fernseher, von dem wir vertrauen, dass er nicht verfolgt, von welcher Fernbedienung das Signal kam.Nur weil der vertrauenswürdige Dritte allgemein verfügbar und leicht vertrauenswürdig ist, heißt das nicht, dass er kein vertrauenswürdiger Dritter mehr ist ...
    Legen Sie ein leeres Stück Papier und einen Tintenstempel daneben heraus.Wenn nach 3 Tagen noch kein Stempel auf dem Papier ist, gehen wir alle.
    @usul Damit gehen jedoch Informationen verloren.Wenn Sie dorthin gehen und sehen, dass es bereits einen Stempel gibt, wissen Sie, dass jemand anderes gehen möchte.Vielleicht könnten Sie eine dieser Stempel / Stempelkissen-Kombinationen so manipulieren, dass nur eine Stelle gestempelt werden kann, aber dann müssten Sie die Ansicht blockieren und Sie könnten möglicherweise daran erkennen, wie dunkel der Stempel ist.
    Ich habe dies abgelehnt, weil "nur ein Gerät bekommen, das so programmiert ist, dass es die Geheimnisse nicht preisgibt, und sicherstellt, dass niemand es auseinander nimmt", kaum eine ernsthafte Antwort auf eine Kryptographie-Frage ist.Ich denke, Sie haben eine effiziente Kryptografie mit öffentlichen Schlüsseln gelöst. Wir senden nur ein Flash-Laufwerk in einer Box, die jeder schließen kann, die sich jedoch nur öffnen lässt, wenn Alice ihr Passwort eingibt.
    @Michael: muss es nicht ein Vorschlag einer Person sein.Es kann etwas sein, das spontan passiert, und es gibt niemanden, der sich dazu entschlossen hat.Ich habe das oft, wenn ich mit Freunden zusammen bin und wenn wir hungrig sind - irgendwie geht jeder in das Restaurant X, aber niemand wird als derjenige angesehen, der "entschieden" hat (dies schließt diejenigen ein, die nach Y gehen wollten, aber keine strenge Opposition aussprachen)
    @CaptainMan, das Papier und der Stempel würden anzeigen, dass jemand bleiben möchte.Also, keine Briefmarken nach 3 Tagen, ihr geht alle.Wenn irgendwann jemand bleiben möchte, macht er einen Stempel und jeder bleibt, ohne zu wissen, wer den Stempel gemacht hat (außer dem Stempel).
    @JPhi1618 Angenommen, Sie sind die zweite Person und es gibt einen Stempel ... Nun, Sie wissen, wer gestempelt hat.Sie müssen verbergen, ob es einen Stempel gibt oder nicht.
    @CaptainMan, Oh, ich habe es mir nur ein paar Tage lang in einem Gemeinschaftsraum vorgestellt, als Leute kamen und gingen, also gab es keine Reihenfolge für die Besuche.Sie könnten 30 Mal kommen und gehen und es dann endlich stempeln.Ich denke, die anderen könnten die Gegend beobachten und dich sehen, also nicht perfekt, aber zur Not arbeiten.
    @JPhi1618 das ist nicht der Punkt.Wenn Sie drei Personen haben, Stayven, Stayuart und Goregory, dann wird Stayuart wissen, dass mindestens eine andere Person bleiben möchte, wenn Stayven das Papier stempelt. Sie wissen also, dass es 2/3 ist und nicht 1/3.Sie sind die einzigen, die diese Informationen haben, aber es ist immer noch ein Leck.
    Sie suchen ein XNOR-Tor
    Abstimmungen werden klassisch durchgeführt, indem ein Stück Papier durch eine dünne Öffnung in eine Schachtel gelegt wird.Dies ist auch hier möglich: Legen Sie Papier ein = Sie möchten bleiben, sonst nicht.Um zu verhindern, dass Sie auch am Ende Stimmen zählen können, können Sie das einzelne Blatt Papier durch Konfetti ersetzen.Alle diese TV / Wasser /… -Lösungen sind ziemlich kompliziert.Aber weder diese noch meine Lösung befassen sich mit einem weiteren Problem: Jemand, der bleiben will, kann es immer noch nicht tun und für das Verlassen stimmen, dann die anderen ausspionieren, die ihre Vorbereitungen treffen, und das dem Kult preisgeben.Das ist ein Problem in der Frage, nicht in den Antworten.
    #2
    +37
    SEJPM
    2020-08-04 00:18:10 UTC
    view on stackexchange narkive permalink

    Dies klingt nach einem klassischen Fall für kryptografisch sichere Mehrparteienberechnung .

    Die mit SMPC zu realisierende Funktionalität wäre eine UND-Baumreduzierung, die erfordert N-1 AND-Gatter und hat eine Tiefe von ungefähr log_2 (N) AND-Gattern, wobei jede "Ja" -Stimme eine wahrheitsgemäße (1) Eingabe in die Schaltung und jedes "Nein" ist Eine Falsey (0) -Eingabe.

    Die einfachste Lösung hierfür wäre wahrscheinlich die Verwendung des GMW-SMPC-Protokolls, mit dem N-1-Parteien zusammenarbeiten können, ohne dass geheime Informationen verloren gehen. Es gibt auch eine Variante, mit der höchstens N / 2 Personen vom Protokoll abweichen können.

    Der grundlegende Ablauf des Protokolls lautet wie folgt:

    1. Jede Partei hat ein 1-Bit-Eingang und wählt N-1 Zufallsbits und berechnet das XOR der Zufallsbits mit dem Eingangsbit. Dann wird jeweils ein Zufallsbit an eine andere Partei verteilt, und der Eigentümer behält das XOR der Zufallsbits und der Eingänge.
    2. Dann wird die Schaltung Gate für Gate ausgewertet, wodurch jeder einen XOR-Zufallsanteil erhält des Ausgangswerts dieses Gatters. XOR-Gatter können lokal berechnet werden, indem einfach die Anteile der Eingabewerte XOR-verknüpft werden. UND-Gatter erfordern ein interaktives Protokoll, das etwas kompliziert ist. Ich verweise Sie daher auf das (formatierte) Papier dazu: "Wie man ein mentales Spiel spielt" von Goldreich, Micali und Wigderson ( STOCS'87; PDF).
    3. Am Ende (nachdem alle Gates ausgewertet wurden) sendet jeder seinen Anteil am Ausgabebit, sodass jeder sie lokal zusammen XOREN kann.
    4. ol>

      Insgesamt erfordert das obige GMW-Protokoll N * (N-1) / 2 1 von 4 Oblivious Transfers von jeder Partei, was etwas sein sollte Effizient berechenbar für jede "Familie" von angemessener Größe und erfordert möglicherweise nicht einmal ausgefallene Techniken wie die OT-Erweiterung für diese kleine Anzahl von Teilnehmern.

      In Bezug auf Software scheint MP-SPDZ ein guter Ausgangspunkt für die Suche nach Implementierungen zu sein (sowie die awesome-mpc-Liste). Beachten Sie jedoch, dass Sie dort meistens fortgeschrittenere Schemata finden.

    Das sieht wahrscheinlich richtig aus, aber es fällt mir schwer, den Schritten zu folgen.Versaut das UND in Schritt 2 nicht das XOR in Schritt 3 _ (was, wenn ich verstehe, die zufälligen Bits aus der Berechnung entfernen soll) _?
    @BlueRaja-DannyPflughoeft Die Grundidee für die Endberechnungen in Schritt 2 ist, dass für jedes Gate jede Partei einen XOR-Anteil jeder Eingabe hat und am Ende des (nicht trivialen) Unterprotokolls jede Partei einen XOR-Anteil des UND hatder beiden zuvor XOR-gemeinsam genutzten Eingänge.Um dies zu verdeutlichen, stellen Sie sich den Zwei-Parteien-Fall vor: A hat L_A, R_A und B hat L_B, R_B s.t.L_A XOR L_B = L und R_A XOR R_B = R. Das Protokoll erlaubt nun A, O_A und B O_B s.t.O_A XOR O_B = L UND R. (das Fehlen von LaTeX auf dieser Seite ist wirklich scheiße :()
    #3
    +24
    user240587
    2020-08-04 00:35:12 UTC
    view on stackexchange narkive permalink

    Eine sehr Low-Tech-Methode: Geben Sie jedem Wähler eine Karte mit einem Loch in einem Ende, versetzt von der Mitte. Stellen Sie einen Behälter her, in dem sich die Karten befinden und durch den ein Loch gestanzt ist, das mit der Stelle übereinstimmt, an der sich das Loch in der Karte befinden würde, wenn es offen eingegeben würde. Jeder stimmt ab, indem er seine Karte offen für Ja und verdeckt für Nein in den Behälter legt (wobei die Box entsprechend verborgen ist, um zu verhindern, dass jemand die Stimmen selbst sieht). Ein Stab wird dann durch das Loch im Behälter eingeführt. Wenn alle mit Ja gestimmt haben, fällt die Stange durch. Wenn mindestens eine Person mit Nein gestimmt hat, wird die Stange gestoppt.

    Dies ist eine schöne Lösung (+1).Es ist wichtig, einen Weg zu finden, um die Abstimmungskarten sicher zu verwerfen, damit die Abstimmungen selbst (und die Reihenfolge, in der sie gestapelt wurden) nicht bekannt sind.
    Ich würde eine Röhre mit einer Glaskappe am Ende verwenden.Jede Person erhält einen klaren (Urlaub) und schwarzen (Aufenthalt) Marmor. Jeder rollt einen Marmor in die Röhre, ohne hinein zu schauen, der andere Marmor wird in einen Beutel gelegt. Danach wird ein weiterer klarer Marmor hineingewalzt.Schließlich wird ein Licht durch die Röhre gestrahlt.Wenn es am anderen Ende herauskommt, dann stimmen alle ab.Das Rohr, der Beutel und die Murmeln werden dann zerstört.
    Wie verhindern Sie, dass die Box inspiziert wird?Zum Beispiel könnte ich bemerkt haben, dass Joe die erste Karte in die Schachtel gelegt hat, und die untere Karte überprüfen, um zu sehen, wie Joe abgestimmt hat ...
    @meriton Die Schachtel könnte aus Pappe hergestellt und nach der Abstimmung verbrannt werden.Sie können die Box auch mit einer Reihe von "Ja" -orientierten Karten an beiden Enden auffüllen, um festzustellen, wer in der Abstimmungsreihenfolge die erste "Nein" -Stimme abgegeben hat.
    https://en.wikipedia.org/wiki/Blackballing, indem jedem Wähler zwei Bälle in verschiedenen Farben zur Verfügung gestellt werden, die beide in das Abstimmungsgerät gelegt werden, oder ein einzelner Ball und ein Abstimmungsgerät mit separaten Schubladen usw.
    #4
    +15
    jez
    2020-08-03 22:24:22 UTC
    view on stackexchange narkive permalink

    In einer Kiste befindet sich eine Katze mit einem Fläschchen Giftgas. Das Fläschchen ist an einem Knopf (mit "Nein" gekennzeichnet) befestigt, der das Gas abgibt. Direkt neben dieser Schaltfläche befindet sich eine Dummy-Schaltfläche, die ein identisches Klickgeräusch erzeugt (mit "Ja" gekennzeichnet). Die Box ist schallisoliert und man kann nicht hineinsehen. Die Familie sitzt vorne. Die Tasten befinden sich auf der Rückseite. Jede Person ist an der Reihe, hinter die Kiste zu gehen und einen Knopf zu drücken. Wenn alle an der Reihe waren, befindet sich die Katze - und damit auch der Kult - in einer Überlagerung von Zuständen. Reduzieren Sie dies, indem Sie die Box öffnen - oder, um noch bessere Ergebnisse zu erzielen: Setzen Sie Gasmasken auf und und öffnen Sie die Box. Schließlich begraben Sie entweder die Katze oder lösen den Kult nach Bedarf auf. Verwenden Sie im letzteren Fall ein sekundäres Abstimmungsverfahren, um zu entscheiden, wer die Katze hält.

    Wir sollten eine Ratte anstelle einer Katze verwenden, um Auswirkungen auf die Ergebnisse durch Katzenliebhaber oder ASPCA zu vermeiden.
    LOL - Ich liebe es, wie wir versuchen zu entscheiden, welches Tier getötet werden soll, wenn man es einfach so ändern könnte, dass etwas Farbe verschüttet wird oder so.Definitiv +1 auf die Antwort - dies ist definitiv der richtige Weg, um das Problem zu lösen.
    @Kevin Ich hatte ein ganzes Spiel geschrieben, in dem jede Person eine beliebige Anzahl von Tintentropfen in ein Glas Wasser gab, und ich wollte gerade auf "Senden" klicken, als mir klar wurde, wozu es isomorph ist.
    Dieses Gerät ist per Definition ein vertrauenswürdiger Dritter
    @BlueRaja-DannyPflughoeft nicht in dem Sinne, dass das OP besorgt ist über: (1) Es wird nicht beeinträchtigt, wenn wir allen Familienmitgliedern erlauben, den Mechanismus und das Verfahren zu untersuchen, um sich davon zu überzeugen, dass es wie beabsichtigt funktioniert (Analogie: Open-Source-Verschlüsselung);und (2) die Maschine behält keine Informationen darüber, wer / wie viele die "Nein" -Taste gedrückt haben, und kann daher nicht für Hexenjagdzwecke kompromittiert werden.
    Wenn wir zulassen wollen, dass "Open-Source-Geräte" nicht als "vertrauenswürdige Dritte" betrachtet werden, ist die Antwort trivial und erfordert nicht das Töten von Katzen: Verwenden Sie buchstäblich jeden automatisierten Open-Source-Abstimmungsautomaten.Nach der normalen Definition sind alle diese Geräte (einschließlich Ihrer) vertrauenswürdige Dritte.
    Und ein tertiäres Abstimmungssystem, um zu entscheiden, wer die Schachtel öffnen muss, idealerweise mit Gasmaske * und * Körperschutz.Um Terry Pratchett zu zitieren, hat eine Katze in einer Kiste drei mögliche Zustände: lebendig, tot und blutig wütend.
    Wie viele Katzen hat die Familie?Der Vorgang sollte wiederholbar sein
    @bradbury9 Sie kennen einen Mann, der einen Mann kennt.Du willst eine Katze?Er kann dir eine Katze besorgen.
    Die Katze stimmt mit Ja, wenn sie diesen Kult verlässt!
    #5
    +14
    Kevin
    2020-08-04 00:29:29 UTC
    view on stackexchange narkive permalink

    Das ist eigentlich ein schwieriges Problem! Hier ist meine Papier-Bleistift-Lösung, um sie so einfach wie möglich zu halten.

    1. Jede Person erhält 3 Zettel. Sie schreiben heimlich eine andere zweistellige Nummer auf jede von ihnen und legen sie verdeckt vor sich ab.

    2. Jede Person schnappt sich 3 Belege von anderen Personen, idealerweise nein zwei von derselben Person.

    3. Jede Person schreibt, was diese 3 Belege ergeben. Wenn sie mit Nein stimmen möchten, können sie eine Zahl schreiben, die höher als die tatsächliche Summe ist. Fahren Sie fort und zeigen Sie diese Informationen an.

    4. Wiederholen Sie Schritt 2, damit jede Person 3 neue Zettel hat.

    5. Jeder Person schreibt, was diese 3 Belege summieren, aber diesmal hält ihre Summe verdeckt. Wenn sie mit Nein stimmen möchten, sollten sie eine Zahl schreiben, die niedriger als die tatsächliche Summe ist. (Dies ist optional, wenn sie bereits in Schritt 3 falsch angegeben wurden.)

    6. Jede Person zerstört die Originalzettel vor sich. Danach bleibt nur noch die Summe, die sie in Schritt 3 und die Summe in Schritt 5 gemacht haben.

    7. Jeder zeigt seine Summen gleichzeitig an.

    8. ol>

      Addieren sich alle Summen in Schritt 3 zu allen Summen in Schritt 7? Wenn nicht, gibt es mindestens eine Nein-Stimme.

      Warum funktioniert das?

      Es gibt kein Geheimnis, das von einem Dritten generiert wurde. Aka, nichts erzeugt eine große Primzahl oder ähnliches. Wenn 'etwas' Informationen generiert, müssen alle Beteiligten darauf vertrauen. Dies umgeht dies, da das Geheimnis (was die Summe ist) von allen beteiligten Parteien generiert wird, ohne dass dies einer von ihnen weiß.

      Es gibt keine Verkettung von Informationen. Die Arbeit von Person B hängt nicht von den Ergebnissen anderer ab. Sie können ihre Eingabe nicht verwenden, um herauszufinden, ob Person A lügt.

      Es gibt keine Möglichkeit festzustellen, ob die Gesamtsumme einer Person legitim ist. Wenn sie '218' sagen, ist die einzige Möglichkeit zu wissen, ob dies eine mögliche Zahl ist, zu wissen, was auf allen Zetteln steht. Aber niemand hat alle Zettel gesehen.

    Süß.Es ist, als würde man ein nicht gewinnbares "Überläufer" -Brettspiel entwerfen.
    Wie abhängig ist dies von der Zufälligkeit und Unauffindbarkeit der beiden "Grabbing" -Verfahren?Wenn Sie sehen und sich merken könnten, wer wann welche Belege gepackt hat, würden Sie dann Informationen über die Stimmen der Leute erhalten?
    @jez - nicht sicher, aber ich bezweifle es.Ich meine, wenn Sie diese Person A gesehen haben, die von B, C und D geschriebene Belege gepackt hat, können Sie B, C und D fragen, welche drei Werte sie notiert haben, und dann damit bestimmen, ob A gelogen hat, als sie das sagtenInsgesamt war '162'.Aber Sie würden sich darauf verlassen, dass B, C und D Ihnen die Wahrheit sagen (und sich genau daran erinnern, welche drei Originalnummern sie geschrieben haben). Sie könnten auch E, F und G fragen - alle haben die Ausrutscher von Person A für die genommenzweite Runde, aber Sie sitzen im selben Boot: Sie vertrauen darauf, dass alle Ihnen die Wahrheit sagen und sich genau erinnern.
    Es ist auch erwähnenswert: Ich habe den Prozess absichtlich so einfach / leicht wie möglich gehalten.Wenn ich versuchen würde, dies so kugelsicher wie möglich zu machen, würde ich vorschlagen, N-1-Papierstücke zu verwenden.Wenn die Familie also 11 Mitglieder hätte, hätten sie jeweils 10 Zettel zum Ausfüllen.Auf diese Weise können Sie nur feststellen, ob jemand gelogen hat oder nicht, indem Sie jedem anderen Familienmitglied vertrauen, dass es die Wahrheit sagt (anstatt nur 3 vertrauen zu müssen). Dies können Sie bereits tun ("Haben Sie alle mit Ja gestimmt?")Dann muss Bob mit Nein gestimmt haben. ")
    Kann diese Leckinformation nicht, wenn nur eine Person mit "Nein" stimmt?Wenn sie die Summe in Schritt 3 um x erhöhen und in Schritt 5 um y verringern, unterscheiden sich die Endsummen um (x + y).Die Person, die mit "Nein" gestimmt hat, würde sofort wissen, dass sie die einzige war, die auf diese Weise gestimmt hat."Ich habe Beweise dafür, dass alle anderen in meiner Familie den Kult verraten wollen!"klingt nach schlechten Informationen zu lecken.
    Noch eine Vorsicht: Dies setzt auch voraus, dass sie alle grundlegende Berechnungen durchführen und numerisch lesen und schreiben können, was eher ein Glücksspiel ist als der Versuch, Fehler zu machen.Ihr mangelndes Vertrauen in das Team wurde gemeldet./ s
    @RobWatts Sie addieren verschiedene Zahlen.Niemand weiß, wer die Summen geändert hat, nur dass sie geändert wurden.
    @LorenPechtel - was er sagt ist, wenn ich nein gestimmt und die erste Summe um 3 und die zweite um 5 angepasst habe ... wenn ich sehe, dass der Unterschied 8 ist, werde ich wissen, dass niemand anderes die Zahlen manipuliert hat.Das ist ein guter Punkt, aber ich bin mir nicht sicher, wie viel Unterschied es zu der spezifischen Frage des OP macht (Hexenjagden und dergleichen).
    Es ist unwahrscheinlich, aber auch möglich, dass zwei oder mehr Menschen gegenläufige Lügen machen.
    Wie geschrieben, würde dieses Protokoll einer Absprache durch eine Gruppe von Personen unterliegen, um festzustellen, wie ein Drittel gewählt hat, ohne selbst als "Ja" gewertet werden zu müssen.
    @Kevin Guter Punkt - Sie können feststellen, ob Sie der einzige Nichtwähler sind.Die Informationen scheinen jedoch nicht allzu nützlich zu sein. In diesem Fall wissen Sie, dass Sie keine Verbündeten haben.
    @LorenPechtel hat leider eine Person Verbündete - den gesamten Rest des Kultes.
    @RobWatts Huh?Das einzige Leck, das ich sehe, ist, wenn nur eine Person bleiben möchte.Sie finden heraus, dass alle anderen gehen wollen.Keine Verbündeten.
    @RobWatts - das ist ein guter Punkt.Die Person, die weiß "Ich bin die einzige Person, die hier bleiben will", entscheidet: "Verdammt, mit meiner Familie werde ich sie alle der Grand Wahoobah melden! Ich habe jetzt eine neue Familie und sie alle lieben mich""
    @supercat - deshalb habe ich diesen Kommentar hinzugefügt - wenn Sie Angst haben, ändern Sie einfach '3' in 'N-1'.Auf diese Weise können Sie die Stimme eines anderen nur ableiten, wenn alle anderen zusammenkommen und den Aussagen der anderen vertrauen
    @Kevin: Ich weiß es zu schätzen, dass Sie versuchen, dies aus einer mathematisch / kryptografischen Perspektive zu betrachten, aber ich denke, eine robuste Lösung sollte einen unauslöschlichen Beweis dafür liefern, dass jede Person mit Ja gestimmt hat, bevor irgendjemand feststellen kann, dass dies der Fall ist.Selbst wenn im letzten Schritt jemand versuchte, seine Meinung zu ändern, würden andere Teilnehmer den Beweis erhalten, dass sie zuvor mit Ja gestimmt hatten.
    #6
    +13
    Hagen von Eitzen
    2020-08-03 19:17:58 UTC
    view on stackexchange narkive permalink

    Erforderliche Utensilien: Stift und Papier.


    Wählen Sie als Gruppe eine große Primzahl p.

    Jeder wählt ein geheimes Paar aus von Zahlen a i sub> , b i sub> mit a i sub> b i sub> ≡ 1 (mod p ). Wählen Sie beispielsweise a i sub> zufällig im Bereich 1… p - 1 aus und suchen Sie b i sub> durch den erweiterten euklidischen Algorithmus. Wenn entweder a i sub> oder b i sub> verdächtig klein ist (z. B. weniger als halb so viele Ziffern wie p ), fangen Sie einfach mit einem neuen Zufallswert von vorne an. Diejenigen, die mit "Nein" antworten möchten, wählen stattdessen nach dem Zufallsprinzip sowohl a i sub> als auch b i sub> aus.

    Jetzt werden die Zahlen vertauscht: Jeder gibt seinem linken Nachbarn sein a i sub> und erhält a j sub> von ihrem rechten Nachbarn.

    Jeder multipliziert jetzt mod p sein jetzt gehaltenes Zahlenpaar und gibt das Ergebnis bekannt. Jetzt werden die angekündigten Zahlen mod p multipliziert. Wenn alle mit "Ja" gestimmt haben, ist das Endergebnis 1. Wenn eine beliebige Anzahl von ihnen mit "Nein" gestimmt hat, ist das Ergebnis eine Zufallszahl und daher sehr wahrscheinlich nicht 1 (also möchten wir vielleicht p größer machen, um das Vertrauen zu erhöhen).

    Würden die Person zu Ihrer Rechten und die Person zu Ihrer Linken nicht zusammenarbeiten können, um herauszufinden, ob Sie mit "Ja" gestimmt haben?Wenn wir uns wegen Hexenjagden Sorgen machen, kann nicht jemand sagen: "Hey, ich bin Bob gegenüber etwas misstrauisch. Er hat mir ###### gegeben - was hat er dir gegeben? Lass uns herausfinden, ob er mit Ja gestimmt hat."
    Können Sie nicht einfach alle Zahlen in einen Hut werfen, damit einzelne Zahlen nicht auf eine bestimmte Person zurückgeführt werden können?
    Gehen wir davon aus, dass die Kultmitglieder hier diese Berechnungen von Hand durchführen?Wenn ja, gibt es etwas, das sie daran hindern würde, ihre Berechnungen einfach zu verfälschen?Ich würde vorschlagen, dass wir von ihnen verlangen möchten, dass sie allen anderen Mitgliedern ihre Antworten beweisen.
    @Kevin Bob gibt nur einer Person eine Nummer, sein * a *.Er * erhält * eine Nummer von einer anderen Person
    @securityOrange, das die Multiplikation durchführt und dann lügt und eine Zufallszahl gibt, ist nicht wirklich von der einfachen Multiplikation mit einer Zufallszahl zu unterscheiden (d. H. Einfach mit Nein zu stimmen).Natürlich kann es Seitenkanäle geben, wenn der effektive Nichtwähler entscheidet, dass das tatsächliche Durchführen der Multiplikation zu viel Mühe macht und nur die Antwort gibt;)
    @timuzhti - ah, ich habe verpasst, dass es keinen Pass in beide Richtungen gibt.Aber es ist immer noch das gleiche Problem.Wem gibt Bob seine Nummer?Wenn Bob die Wahrheit sagt, gibt es nur eine andere Zahl, die sie haben können (die eine, multipliziert mit der anderen, das ist mod = 1 in Bezug auf P.). Wenn diese Person zusammenarbeitet und fragt: "Hey, welche Zahl haben Sie gegebenBob?"Es sollte trivial sein herauszufinden, ob Bob lügt.
    Ich glaube, Ihr Schema könnte erheblich vereinfacht werden (insbesondere durch Arbeiten in der additiven Gruppe modulo eine beliebige große Zahl _m_ anstelle der multiplikativen Gruppe modulo _p_), aber es leidet auch an einem grundlegenden Fehler: Ein "Nein" -Wähler kann bestimmen, oboder nicht alle anderen stimmten mit "Ja".Und ich sehe keine Möglichkeit, das zu beheben.
    Du hast mich bei "Pick a Big Prime" verloren.(In Wirklichkeit ist die Antwort in Ordnung. Ich bin nur der Meinung, dass die Antwort für den Cousin des Kunstmajors verständlich sein sollte, da OP einen tatsächlichen Kontext für die Frage (Familie, Kult, ...) lieferte.)
    Bemerkenswert: Die Stimme eines Einzelnen könnte von den beiden zusammenarbeitenden Nachbarn entdeckt werden.Wenn ich die Zahlen A und B geschrieben habe, lernt mein linker Nachbar A direkt und mein rechter Nachbar kann B herausfinden, indem er das, was ich sage, mit der Umkehrung der Zahl multipliziert, die er mir gegeben hat.Wenn meine Nachbarn das System brechen und sich gegenseitig vertrauen wollten, konnten sie zusammenarbeiten, um AB zu lernen.
    @timuzhti Ich würde nicht zustimmen, da die Variation, die über Ihre Berechnungen lügt, die Abstimmung rückgängig machen könnte.Wenn beispielsweise N = 3 ist und 1 Stimme abgegeben wurde und 2 von 3 Personen die Multiplikation bis auf die letzte ehrlich durchführen, besteht eine 50% ige Chance, dass die Person ein Ja gibt und das Abstimmungsergebnis rückgängig macht.Wenn man sich nur auf eine negative Stimme stützt, ist dies ein sprödes System. Eine einzelne unehrliche Person - ein einzelner byzantinischer General - sagen wir: D - korrumpiert das Ergebnis.Weißt Du, was ich meine?:) Gedanken?
    @securityOrange Die verwendete Chiffre ist zerbrechlich, ja, was ehrlich gesagt ein gutes Beispiel dafür ist, warum Sie Ihre eigene nicht rollen sollten.So wie ich es sehe, * versucht * diese Antwort, eine homomorphe Verschlüsselung zu verwenden / zu entwerfen, die hoffentlich auf eine ganzzahlige Faktorisierung oder das diskrete Protokoll reduziert werden kann, und zumindest OW-CPA, wenn nicht IND-CPA (was kaum unmöglich ist, macht RSA es), funktioniert aber nicht ganz - denn bei der Vereinfachung wurde die falsche Funktion verwendet, was sich auf ein einfaches Problem reduziert!Die besten Chiffren hierfür sind standardmäßig probabilistisch, sodass sie IND-CPA sein können, während sie homomorph bleiben.
    #7
    +10
    securityOrange
    2020-08-03 11:04:50 UTC
    view on stackexchange narkive permalink

    Dies ist eine wirklich coole und interessante Frage. Das gefällt mir wirklich gut.

    Ich denke, wir sollten zunächst das, was Sie versuchen, auf möglichst abstrakte, informationstheoretische Weise aufschlüsseln. Hier ist mein Verständnis:

    • N > 3 Knoten in einer Gruppe kommunizieren miteinander.
    • Sie übertragen entweder einen 0 oder 1 , ein Ja oder ein Nein.
    • Wir nehmen alle Eingaben und dann UND . Mit anderen Worten, das Ergebnis ist uns egal, es sei denn, alles ist ein 1 . Wenn nicht alles 1 ist, ist es 0 . (Wenn Sie mit Logikgattern nicht besonders vertraut sind, könnte dies interessant sein.)
    • Die Übertragung jedes Knotens muss allen anderen Knoten unbekannt sein.

    Die Frage wird dann, wie technisch die Lösung sein sollte. Eine technischere Lösung mit einer einzigen Low-Tech-Technik macht dies ziemlich einfach:

    1. Alle Knoten bestätigen ihre Identität persönlich, und jeder Knoten erzeugt ein öffentlich-privates Schlüsselpaar und gibt ihre öffentlichen Schlüssel an einen zentralen Server weiter.
    2. Anschließend senden sie ihre Stimmen an den zentralen Server, der sie mit ihren öffentlichen Schlüsseln entschlüsselt.
    3. Der Server führt ein AND und gibt das Ergebnis zurück.
    4. ol>

      Wenn wir versuchen wollten, die Technologie zu senken, würden wir wahrscheinlich einige seltsamere Lösungen wählen. Folgendes fällt mir ein:

    • Etwas lösliches Material wird mit etwas Wasser in einen Behälter gegeben. Jede Person schüttet abwechselnd eine Chemikalie mit verbundenen Augen und angehaltenem Atem mit erheblichen Hintergrundgeräuschen ein.
    • Sie wählen entweder Wasser für Ja oder eine farblose, geruchlose Säure für Nein. Die Säure ist stark genug, um Materialien im Laufe der Zeit in einer beträchtlichen Menge Lösungsmittel zu lösen
    • Nachdem die Stimmen abgegeben wurden, bleibt das Setup einige Zeit ungestört. Dieser Betrag wird bestimmt, indem die Zeit ermittelt wird, die erforderlich ist, um das Objekt sichtbar aufzulösen, wenn ein Abstimmungsergebnis von N - 1 negativen Stimmen vorliegt.
    • Nachdem die festgelegte Zeitspanne verstrichen ist, Alle Mitglieder betrachten die Ergebnisse separat (um zu vermeiden, dass Reaktionen zum Ausdruck gebracht werden) und konvergieren dann, um die Ergebnisse zu diskutieren.

    Letztendlich geht es um die Antwort, unabhängig davon, wie viel Computer in die Auswahl einfließen Wahrung der Vertraulichkeit und Integrität in einer Übertragungsumgebung, die die Vertraulichkeit aufhebt, wenn die Übertragungen ein AND -Gatter passieren. Die Wasser-Säure-Lösung ist eine von vielen Möglichkeiten, aber meiner Meinung nach erledigt sie immer noch die Arbeit.

    Gute Frage! Es hat wirklich Spaß gemacht, darüber nachzudenken. Wenn ich irgendwelche Einschränkungen übersehen habe, die Sie bereits erwähnt haben, schreiben Sie sie in einen Kommentar und ich werde sie überarbeiten.

    Bearbeiten: Anfangs sagte ich, dass Wasser "Nein" und Säure "Ja" ist. Es hätte umgekehrt sein sollen. Vielen Dank für den Hinweis, @TripeHound.

    Ich mag die chemische Lösung, und es könnte eine einfache Lösung geben, bei der Chemikalien aufgrund einer geringfügigen Änderung des pH-Werts ihre Farbe ändern.Wenn ja nur Wasser hinzufügt und nein eine Lösung hinzufügt, die den pH-Wert leicht verändert, können sowohl ja als auch nein geruchlos und farblos sein.Die als Wahlurne verwendete Flasche kann bemalt werden, sodass die Ergebnisse erst nach dem Ausgießen der Flasche sichtbar werden.
    Es ist nur schade, dass Wissenschaftler wie Chemiker weniger wahrscheinlich einem religiösen Kult beitreten.:) :)
    Ist dein Nein = Wasser, Ja = Säure nicht falsch herum?Ich lese, dass die Säure das Material auflöst (wenn es sich in Wasser auflöst, da es in Wasser beginnt, löst es sich immer auf).Wenn daher jemand "Ja" (= Säure) sagt, löst sich das Material (nach ausreichender Zeit) auf, selbst wenn alle anderen "Nein" sagen.Wenn nein = Säure, dann löst sich das Material auf, wenn mindestens eine Person "Nein" sagt: Es bleibt nur übrig, wenn alle "Ja" sagen (d. H. Alle fügen Wasser hinzu).Oder habe ich etwas verpasst?Eine geniale Lösung (?) Auf jeden Fall!
    In beiden Beispielen werden vertrauenswürdige Dritte verwendet (im zweiten Fall ist der "Dritte" die Chemikalie, der wir vertrauen, dass sie sich wie erwartet verhält).
    @TripeHound Du hast recht!Ich machte einen Fehler.Vielen Dank für den Hinweis!Ja, die negative Stimme sollte die Säure sein, und die positive Stimme sollte das Wasser sein.Wirklich, die Säure / Wasser-Kombination kann alles sein: Das Wichtigste ist die richtige Idempotenz, wie jez erwähnt.Das "Ja" sollte die idempotente Antwort sein, damit wir standardmäßig keine Wirkung haben;Das "Nein" sollte stark nicht idempotent sein.
    @EsaJokinen Ich stimme vollkommen zu - anstatt eine Säure zu sein, könnte man es auch zu einer Farbe machen.Ich habe auch darüber nachgedacht.Ich denke es funktioniert?In der Praxis kann es jedoch schwierig sein, die Menge an Farbstoffen im Wasser zu messen, es sei denn, Sie haben Pigmentpartikel pro Million oder etwas anderes betrachtet, während Sie beim Auflösen eines Objekts eine Volumenänderung oder ähnliches messen können.(Stellen Sie nur sicher, dass es durchnässt ist, wenn Sie das Volumen zum ersten Mal messen.) Was denken Sie?
    @BlueRaja-DannyPflughoeft Ich stimme nicht zu.Solange alle Kultmitglieder die Chemikalie zusammen beziehen, denke ich, dass es überhaupt keine dritte Partei ist.Was sind deine Gedanken?
    @securityOrange: Nein, ich habe nicht über das Färben des Wassers gesprochen, sondern über ** pH-Indikatoren **, die die Farbe nach einem bestimmten Schwellenwert für Hydronium- (H3O +) oder Wasserstoffionen (H +) vollständig ändern.Siehe [die vollständige Lösung als Antwort] (https://security.stackexchange.com/a/236622/70406).
    Sie haben den wichtigen Schritt vergessen, eine gleiche Menge der anderen Flüssigkeit entweder in einen separaten Behälter oder in den Abfluss zu gießen.Auf diese Weise kann niemand die reduzierten Flüssigkeitsmengen zwischen den Antworten betrachten und feststellen, wie jemand abgestimmt hat.
    #8
    +9
    Qmppu842
    2020-08-03 18:33:00 UTC
    view on stackexchange narkive permalink

    Kann nicht kommentieren, weil ich ein Neuling bin.
    Um @reeds und @securityOranges Antworten hinzuzufügen / zu kommentieren:
    Dies scheint mit Schaltern als Semi-Low-Tech-Option leicht möglich zu sein.

    Machen Sie eine Schaltung wie:
    Batterie zum Umschalten zum Umschalten zur LED zurück zur Batterie.
    Dann kann man sogar seine faire Arbeitsweise vor allen Teilnehmern aufbauen und demonstrieren.
    Drähte könnten so lange wie nötig sein.
    Neben jedem Schalter könnten sogar Lichter / LEDs angebracht werden.
    Du würdest wahrscheinlich nur Leuten Pappkarton geben, um ihre Hand zu halten, während sie sich im selben Raum befinden .

    Mithilfe von Schaltflächen können Sie sicherstellen, dass das System, selbst wenn es bei Abstimmungen physisch gestohlen wird, schnell genug in seinen ursprünglichen Zustand zurückkehrt, sodass keine Informationen gewonnen werden können.
    Dann müssen nur die Leute auf die Uhr schauen und jeder wird für ~ 10 Sekunden abstimmen, wenn die Uhr eine bestimmte Zeit erreicht.

    Bearbeiten: Ich erstelle eine Demonstration davon:
    https://imgur.com/a/kb6XQe6

    Kurz gesagt:
    1. and 3. button being pressed, No blue LED

    Über zwei von drei Tasten werden gedrückt, aber kein Licht. Unten sind alle drei Tasten gedrückt und somit kam Licht. All the buttons being pressed, blue LED

    Und hier hoffentlich ein Bild, um die Verbindungen zwischen Komponenten zu löschen: Connections explained

    1, 2 und 3: Von der Batterie zur ersten Taste
    4, 5 und 6: Tasten
    7, 8, 9 und 10: Verbindung zum Widerstand
    11: der Widerstand
    12: die LED
    13: Verbindung zurück zu "Batterie"

    Ich habe Arduino als meine Batterie verwendet, hätte aber jede andere sein können Methode zur Stromversorgung der LED.

    Eine Verbesserung besteht darin, dies mit einer durch einen Zeitgeber ausgelösten Latch-Schaltung zu kombinieren, so dass die Abstimmungsergebnisse genau einmal abgetastet werden.Andernfalls kann jemand möglicherweise testen, ob er die einzige Gegenstimme war, indem er seine Stimme umschaltet, während die Ausgabe angezeigt wird.
    @DanBryant Auch das ist nicht erforderlich. Eine Sicherung, die mehr oder weniger sofort durchbrennt, wenn Strom angeschlossen wird, ist ausreichend.
    Ich denke ihr Leute denkt immer noch zu hoch. Ich habe dies mit allen gezeigten Kombinationen zum Spaß physisch demonstriert. [Hier in dieser Galerie https://imgur.com/a/kb6XQe6 weibl. (Http://imgur.com/a/kb6XQe6), die Sie sehen sollten, habe ich vorgeführt.
    Dieses Gerät ist per Definition ein vertrauenswürdiger Dritter
    @BlueRaja-DannyPflughoeft Können Sie das erklären? Ich kann mir nicht vorstellen, wie oder welcher Teil das Vertrauen Dritter benötigt.
    Ein "vertrauenswürdiger Dritter" muss keine Person sein, sondern kann ein Gerät sein, dem wir vertrauen, dass es sicher und anonym ist.In dieser Antwort handelt es sich bei diesem Gerät um eine von Ihnen erstellte benutzerdefinierte Schaltung.
    Aber der Punkt ist, dass es so einfach ist, dass es vor den Wählern gemacht werden kann. Die Wähler können es prüfen und so viele bauen, wie sie wollen, um Redundanz hinzuzufügen. Sie könnten sogar jedes für sich bauen und separat testen und alle gleichzeitig drücken.
    @Qmppu842.Ich meine, irgendwie.Um ehrlich zu sein, wenn Sie mir dieses Gerät geben würden, wäre mein erster Gedanke: "Warten Sie, woher weiß ich, ob die Verkabelung so ist, wie sie mir beschrieben wurde?"Und ich würde damit herumspielen, alle Tasten ausprobieren und ein bisschen glücklich sein ... bis ich dachte: "Warte, woher weiß ich, dass es keine versteckte N-te Taste gibt, die das Verhalten des Geräts verändert?"Ich meine, wenn ich kompetent genug wäre, könnte ich das Gerät möglicherweise untersuchen und sein gesamtes Innenleben nachverfolgen und volles Vertrauen in es haben ... aber abgesehen davon hätte ich keine Garantie dafür, dass das Endergebnis davon warwahr.
    @Qmppu842: Die Einfachheit der Erstellung eines vertrauenswürdigen Dritten spielt keine Rolle.Es ist immer noch ein vertrauenswürdiger Dritter.
    #9
    +8
    Esa Jokinen
    2020-08-04 11:31:58 UTC
    view on stackexchange narkive permalink

    Dies verbessert die Gedanken von securityOrange, jedoch in einer zuverlässigeren Form, ohne zu warten.

    Chemische Lösung unter Verwendung eines pH-Indikators

    Betrachten wir verschiedene pH-Indikatoren, halochrome chemische Verbindungen, dh Verbindungen, die durch Farbänderung auf den Säuregehalt oder die Basizität der Lösung reagieren. Dieses korrigierte Bild aus dem EduMission-Blog zeigt einige Beispiele, und auf Wikimedia ist ein vollständigeres und genaueres Diagramm verfügbar.

    enter image description here

    Da wir beim Mischen dieser Lösungen nicht verletzt werden möchten, ist es besser, Verbindungen zu wählen, bei denen der Übergang scharf genug ist, um deutlich wahrgenommen zu werden, wie Thymolphthalein ist oberhalb von pH 10,5 blau und unterhalb von 9,3 farblos. Phenolphthalein ist nicht so gut, weil es oberhalb von pH 10 wieder farblos wird. Eine zu genaue Messung des pH-Werts würde auch die Informationen über die Stimmenzahl preisgeben.

    Dies funktioniert für ziemlich große Gruppen, da die Die pH-Skala ist logarithmisch: Die Zugabe von 1 Gramm Natriumhydroxid zu 60 Litern Wasser ergibt einen pH-Wert von 10,6!

    Abstimmungsanordnung:

    1. Bereiten Sie z Natriumhydroxid -Lösung für Abgabe von Nein Stimmen. Wenn Sie z. 0,4 Gramm Natriumhydroxid auf 0,4 Liter Wasser erhalten Sie eine Lösung mit einem pH-Wert von 12,4.

    2. Haben Sie einen Kolben mit Wasser für Ja Stimmen (pH) 7). Beide Flüssigkeiten sind farblos und mit dem Auge nicht zu unterscheiden. Daher ist es wichtig, dass die Lösungen zusammen mit den anderen vorbereitet werden.

    3. Jeder für sich nimmt eine volle Pipette einer der beiden Lösungen und gießt sie in einen dritten Kolben. Nennen wir es eine Wahlurnenlösung . Es ist wichtig, eine Pipette zu verwenden, die im Vergleich zu den Kolbengrößen klein genug ist, damit die Oberflächenhöhe keinen Hinweis darauf gibt, welche Lösung bereits verwendet wurde.

    4. Um die Stimmen zu zählen , lassen Sie Thymolphthalein in die Wahlurnenlösung fallen.

      Wenn es blau wird, hat zumindest jemand eine Nein-Stimme abgegeben. Mal sehen, wie sich die logarithmische Natur des pH-Werts auswirkt, wenn 10 Personen mit dieser Lösung abstimmen. Der graue Bereich zeigt den Übergangsbereich von Thymolphthalein, in dem wir nicht sicher sagen können, wie die Farbe aussehen würde.

      pH as a function of casted no votes

    5. Um die Ergebnisse zu überprüfen, können Sie beiden ursprünglichen Lösungen Thymolphthalein hinzufügen, um sicherzustellen, dass es wie erwartet funktioniert. Mischen Sie danach alles zusammen, um eine genauere Messung des pH-Werts oder der Volumina zu verhindern, da die genauen Stimmenzahlen angezeigt werden können.

    6. ol>
    Dies ist einfach eine chemiebasierte Implementierung des Schemas "[blackball] (https://en.wikipedia.org/wiki/Blackballing)".
    Nein, ist es nicht.Das Blackball-Schema behält die Stimmenzahl bei, und bei diesem Problem ging es darum, die Stimmenzahl in allen anderen Situationen zu verbergen, aber wenn alle mit Ja gestimmt haben.
    #10
    +7
    Phil
    2020-08-04 17:45:46 UTC
    view on stackexchange narkive permalink

    Mit Haushaltsgegenständen: Jeder bereitet ein Glas Wasser zu, am besten destilliert. Wenn Sie mit Nein stimmen möchten, lösen Sie eine beliebige Menge Salz in Ihrem Glas auf. Jeder muss sein Glas umrühren, um zu verhindern, dass Rührbewegungen verschenkt werden.

    Kombinieren Sie gleichzeitig die Wassergläser zu einer Pfanne. Die Gläser werden in eine Schüssel mit Wasser getaucht, um zu verhindern, dass Tropfen zum Wähler zurückgeführt werden. Kochen Sie das Wasser ab, wenn es Salzreste gibt, war es keine einstimmige Ja-Stimme.

    Das Problem ist, dass der aktuelle Wähler (je weiter er in der Abstimmungslinie ist, desto besser) überprüfen kann (indem er das Wasser entnimmt), ob jemand bereits für "Salz" gestimmt hat oder nicht.
    Nachdem die Pfanne mit Wasser gefüllt wurde, aber bevor Salz hinzugefügt wurde, ist sie öffentlich sichtbar.Alle Teilnehmer können die Pfanne beobachten und jeden angreifen, der versucht, eine nicht autorisierte Probenahme durchzuführen.
    @Woj Ich hatte vorgehabt, die Gläser gleichzeitig in die Pfanne zu gießen.Zur Verdeutlichung aktualisiert.
    Dies ist einfach eine salzbasierte Version des Schemas "[blackball] (https://en.wikipedia.org/wiki/Blackballing)".
    @schroeder mit Blackball können Sie anschließend zählen, wie viele schwarze Bälle geworfen wurden, was gegen die Anforderungen verstößt.Mit diesem Schema kann man nie sagen, wie viele Leute Salz hineingeben.
    Sie gehen von einem Verhältnis von Bällen zu Wählern von 1: 1 aus.
    @schroeder auch ohne ein Verhältnis von 1: 1 von Bällen, wenn ich x schwarze Bälle einsetze, kann ich ableiten, ob jemand anderes mit mir abgestimmt hat, wenn es> x schwarze Bälle gibt.Wenn ein Wähler in meinem Schema das Salz vorher genau gewogen und den Rückstand danach genau gewogen hat, könnte er möglicherweise einen ähnlichen Abzug machen, aber dies könnte trivial verhindert werden, indem die Pfanne gewaschen wird, bevor jemand die Möglichkeit hat, es zu wiegen.
    #11
    +6
    Nick Bonilla
    2020-08-03 21:16:29 UTC
    view on stackexchange narkive permalink

    Verwenden Sie Verschlüsselungsebenen, wobei jedes Familienmitglied nur einen Schlüssel für eine der Ebenen hat.

    enter image description here

    Schritt 1: Verschlüsselung

    Lassen Sie zu Beginn einer Abstimmung ein Familienmitglied eine einfache Nachricht verschlüsseln, die besagt: "Ja, wir alle möchten gehen." Nachdem die erste Person die Nachricht mit einem soeben generierten privaten Schlüssel verschlüsselt hat, sendet die erste Person sie per E-Mail an ein anderes Familienmitglied, um die bereits verschlüsselte Nachricht erneut mit ihrem eigenen privaten Schlüssel zu verschlüsseln und sie dann an alle Mitglieder von weiterzuleiten Die Familie hat eine Verschlüsselungsebene hinzugefügt. Dies stellt eine "Zwiebel" der Verschlüsselung bereit, wobei jedes Familienmitglied der Nachricht eine Verschlüsselungsebene hinzugefügt hat.

    Schritt 2: Entschlüsselung

    Während der Abstimmung senden die Mitglieder ihre E-Mails per E-Mail echter oder gefälschter privater Schlüssel. Wenn Fälschungen angegeben werden, kann die Nachricht nicht entschlüsselt werden.

    Nur wenn alle Familienmitglieder einander ihren wahren Schlüssel angegeben haben, können sie alle Ebenen der verschlüsselten Nachricht entschlüsseln.

    Schritt 3: Zukünftige Abstimmung

    Wenn die Familie nächstes Jahr eine weitere Abstimmung durchführt, müssen sie sich neue private Schlüssel einfallen lassen und den Prozess von vorne beginnen.

    Ich denke, dies funktioniert, vorausgesetzt, der gefälschte private Schlüssel führt eher zu einer falschen Entschlüsselung als zu einer fehlgeschlagenen Entschlüsselung.Auf diese Weise sieht die Gruppe nicht, wessen Schlüssel nicht entschlüsselt werden konnte.
    Tatsächlich.Es scheint, als könnte ein symmetrisches Schema, wie eines, das einem einmaligen Pad ähnelt (XOR mit zufälligen Bytes), den gleichen Effekt haben, aber weniger nachvollziehbar sein.
    Ich bin mir nicht sicher, ob das funktioniert.Person B hat Zugriff auf zwei Daten: Welche Person A hat sie gesendet und was jeder sagt, dass ihre Schlüssel sind.So kann Person B herausfinden, welche Person A gewählt hat (überprüfen Sie einfach: Sind die Daten, die sie erhalten haben, mit dem entschlüsselbar, was A später als Schlüssel bezeichnete?). Ebenso hat Person C die Daten, die B an sie gesendet hat, zusammen mit welchen A.und B sagten beide, ihre Schlüssel seien.Wenn A und B beide mit Ja gestimmt haben, sollte C in der Lage sein, die Daten zu entschlüsseln.Wenn nicht, stimmte einer (oder beide) mit Nein.
    Dies ist bei weitem die beste Antwort bisher (die meisten anderen verlassen sich auf vertrauenswürdige Dritte, die sie als Fernseher oder Chemikalien getarnt haben), aber es gibt immer noch einige Probleme.Am auffälligsten ist, was @Kevin mentioned:, die vorletzte Person, weiß, was die letzte Person gewählt hat.Ich denke, dies kann behoben werden, indem jeder eine zweite Verschlüsselungsrunde durchführt.Das andere Problem ist, dass es [verwerflich] ist (https://en.wikipedia.org/wiki/Non-repudiation) _ (jemand, der mit "Ja" gestimmt hat, kann beweisen, dass er mit "Ja" gestimmt hat) _.
    Das Entschlüsseln der Nachricht mit dem echten oder dem falschen Schlüssel führt zu Kauderwelsch, wie @niemiro feststellte.
    @NickBonilla - wir sprechen nicht über das Entschlüsseln der ursprünglichen / endgültigen Nachricht - sondern über die * Eingabe *, die eine bestimmte Person hat.Nehmen wir an, es gibt 4 Personen: Alice, Bob, Charlie und Diane, die in dieser Reihenfolge verschlüsseln.Alice verschlüsselt eine Nachricht und gibt sie Bob.Später wird Alice allen ihren Verschlüsselungsschlüssel mitteilen - also weiß Bob zu diesem Zeitpunkt, wie Alice abgestimmt hat (auch bekannt als, war seine Eingabe durch Alices Schlüssel entschlüsselbar?). Ebenso ist Charlie Charlie, wenn Bob Charlie die zweite Schicht der Zwiebel gibtSpäter werden wir herausfinden, was Alice und Bob für Schlüssel hatten und wissen, ob sie beide mit Ja gestimmt haben.
    Wie stellen Sie sicher, dass der richtige Schlüssel angewendet wird, da die Ver- / Entschlüsselung jeder Schicht von der vorherigen abhängt?Sie verfolgen die Reihenfolge der Stimmen?
    #12
    +5
    thieupepijn
    2020-08-04 03:26:48 UTC
    view on stackexchange narkive permalink

    Ich denke, dieses Problem kann auf folgende einfache Low-Tech-Weise gelöst werden. Geben Sie jedem Wähler zwei Steine, einen schweren Stein, der für Ja steht, und einen leichten Stein, der für Nein steht. Die Abstimmung erfolgt, indem Sie einen Ihrer Steine ​​in ein schwimmendes Objekt legen. Das Objekt sinkt nur, wenn alle Wähler ihren schweren (Ja) Stein in das schwimmende Objekt legen.

    Sie müssten die Felsen visuell identisch machen (oder jemand würde den Abstimmungsstatus bis jetzt kennen).Dann müssen Sie das schwebende Objekt blockieren, damit sich das Untertauchen nicht ändert (ein Hinweis auf die vorherigen Abstimmungen).Dann darf der Wähler das Setup nicht berühren können, sonst könnte er die Gewichte überprüfen und eine Vorstellung von den bisherigen Stimmen haben.
    Schließlich ist das Untertauchen basierend auf allen vorhandenen Gewichten zum Eintauchen des Objekts kompliziert: Wenn Sie einen kleinen Unterschied zwischen den Gewichten haben, müssen Sie mit dem System äußerst präzise sein (nur ein kleiner Unterschied löst ein Untertauchen aus).Wenn die Unterschiede groß sind, können mehrere leichte Objekte einem schweren entsprechen.
    Oder geben Sie einfach jedem einen identischen Kanister und zwei Gewichte, 1 kg und 3 kg.Jeder legt diskret eines der Gewichte in seinen Kanister, dann kommen alle zusammen und legen sie auf eine Seite eines skalierten Satzes.Nachdem alle ihren Kanister platziert haben, legen Sie ein Gewicht von 3 n - e kg für ein kleines e auf die andere Seite.Bestimmen Sie das Ergebnis.Entfernen Sie das Gewicht von 3 n kg und lassen Sie dann jeden Teilnehmer seinen Kanister entfernen.
    Dies ist einfach eine Variation des Schemas "[blackball] (https://en.wikipedia.org/wiki/Blackballing)".
    @Schroeder Ich denke nicht, dass dies eine Variation des Blackball-Schemas ist.Im Blackball-Schema ist die (genaue) Anzahl positiver und negativer Stimmen bekannt.Etwas, das das OP ausdrücklich nicht will.
    #13
    +5
    bta
    2020-08-04 01:31:29 UTC
    view on stackexchange narkive permalink

    Der Versuch, dies so niedrig wie möglich zu halten.

    • Jeder erhält zwei kleine Pellets, ein Stahl-BB und ein Kunststoff-Airsoft-Pellet (gleiche Größe, aber unterschiedliche Zusammensetzung).
    • In der Wahlkabine befinden sich zwei Steckplätze, einer mit der Bezeichnung "Abstimmung" und einer mit der Bezeichnung "Verwerfen". Jeder Schlitz führt zu einem undurchsichtigen Beutel. Weder die Beutel noch ihr Inhalt können direkt beobachtet werden.
    • Der "Vote" -Beutel ist mit mehreren Plastikpellets vorbestückt, und der "Discard" -Beutel ist mit mehreren Stahlpellets vorbestückt.
    • Wenn der Wähler gehen möchte , legt er sein Plastikpellet in den Slot "Vote". Wenn sie bleiben wollen, legen sie ihr Stahlpellet in den "Vote" -Slot. Das verbleibende Pellet wird in den "Discard" -Slot gelegt.
    • Nachdem alle abgestimmt haben, werden die Beutel mit einem Seltenerdmagneten getestet. Wenn der "Vote" -Beutel vom Magneten angezogen wird, enthält er mindestens ein Stahlpellet (also mindestens eine Person, die für den Aufenthalt gestimmt hat). Wenn es nicht vom Magneten angezogen wird, haben alle dafür gestimmt, zu gehen.
    • Der Beutel "Verwerfen" ist die Kontrollgruppe. Da es mit Stahlpellets vorbestückt war, sollte es unabhängig von der Abstimmung immer vom Magneten angezogen werden.
    • Sobald das Ergebnis ermittelt wurde, besucht jeder Wähler ein letztes Mal die Wahlkabine. Auf dieser letzten Reise können sie eine beliebige Anzahl von Pellets eines Typs in einen (oder beide) Schlitze legen.

    Dies sollte die Abstimmung anonym und nicht nachvollziehbar halten. Die Abstimmungsmarken enthalten keine nachvollziehbaren Informationen wie Handschrift, und der Wähler verwendet beide unabhängig von seiner Wahl. Ein Lauscher kann Ihre Stimme nicht bestimmen, indem er auf den Klang des Pellets lauscht, da nicht bekannt ist, welche Tasche der Wähler zuerst verwendet hat. Mit dem Magneten können Sie das Vorhandensein einer "Aufenthalts" -Stimme testen, ohne die Stimmen selbst direkt zu prüfen. Die letzte Fahrt durch die Wahlkabine fügt den Daten genügend zufälliges Rauschen hinzu, sodass die ursprüngliche Stimmenzahl für jeden, der die Wahlkabine abreißt, vollständig nicht wiederherstellbar ist.

    Die einzige Information, die aus dem Prozess austritt, ist die Stärke von die Anziehungskraft zwischen dem Magneten und dem Inhalt der Tasche. Eine schwächere Anziehungskraft bedeutet weniger "Aufenthalt" -Stimmen. Dies ist aus mehreren Gründen eine akzeptable Leckage. Erstens kann der Mensch die Anziehungskraft ohne spezielle Ausrüstung nicht quantifizieren. Vielleicht noch wichtiger ist, dass die Anziehungskraft erheblich variiert, je nachdem, wie die Pellets im Beutel angeordnet sind (d. H. Stärkerer Zug, wenn näher am Magneten). Diese Unvorhersehbarkeit sollte zu einer ausreichend großen Fehlerquote bei jeder Anzahl von Vermutungen führen, um diese Vermutungen wertlos zu machen.

    Der Nachteil ist, dass dieses Verfahren möglicherweise für eine Familie funktioniert, aber schwierig sein kann, wenn auch die Anzahl der Wähler steigt groß. Ein einzelnes Metallpellet, das mit einer großen Anzahl von Kunststoffpellets gemischt ist, kann übersehen werden, es sei denn, Sie haben einen unangemessen starken Magneten.

    Dies ist eine sehr komplexe Variante des Schemas "[blackball] (https://en.wikipedia.org/wiki/Blackballing)".
    @schroeder - Das ist die Grundidee.Die zusätzliche Komplexität dient nur dazu, die angeforderte Anonymität und Maskierung der Stimmenzahlen zu gewährleisten.
    #14
    +3
    HiddenWindshield
    2020-08-04 04:43:02 UTC
    view on stackexchange narkive permalink

    Besorgen Sie sich Sperrholz, kleine Filzkugeln (oder andere weiche, nicht laute) Kugeln, die nicht voneinander zu unterscheiden sind, und einige Holzschrauben. Bauen Sie eine Box mit zwei Löchern vorne, eines mit der Aufschrift "Leave" und das andere mit der Aufschrift "Stay". Die Demontage muss schwierig sein, um Manipulationen zu vermeiden. Sparen Sie also nicht an den Schrauben. Jedes Loch führt zu einer Rampe, die eine Kugel im Boden des Kastens ablagert. Das "Stay" -Loch hat jedoch eine Kerbe von der Größe einer Kugel. Befestigen Sie die Box an der Wand (damit niemand sie kippen kann). Richten Sie eine "Wahlkabine" aus Blättern oder Ähnlichem ein, um zu verhindern, dass jemand die Stimme einer anderen Person sieht, und begrenzen Sie die Zeit, die jede Person in der Kabine verbringt, auf gerade lange genug, um ihren Ball in ein Loch zu stecken.

    Wenn jemand seinen Ball in das "Stay" -Loch legt, fällt dieser Ball in die Kerbe. Jeder nachfolgende "Stay" -Wählerball rollt über die Kerbe (ähnlich dem gelben Marmor in diesem Video; möglicherweise ist eine gewisse Abstimmung erforderlich, um sicherzustellen, dass andere Bälle so rollen, wie sie sollen). und fallen in den Boden, genauso wie die "Leave" -Stimmen. Wenn alle die Möglichkeit hatten abzustimmen, zerlegen Sie die Schachtel und prüfen Sie, ob sich ein Ball in der Kerbe befindet.

    Dies ist einfach eine Variation des Schemas "[blackball] (https://en.wikipedia.org/wiki/Blackballing)".
    @schroeder Bei der Blackball-Abstimmung kann jeder sehen, wie viele negative Stimmen es gibt.Das OP verlangte, dass niemand wissen kann, wie viele Personen negativ gestimmt haben, nur ob mindestens eine Person negativ gestimmt hat.
    Sie gehen von einem Verhältnis von Wählern zu Bällen von 1: 1 aus.
    @schroeder Das Blackball-Schema gibt Informationen preis, wenn nur eine Person für einen Aufenthalt gestimmt hat. Sie wissen, wie viele schwarze Bälle sie eingesetzt haben. Wenn sie also so viele sehen, wissen sie, dass sie die einzigen sind, die mit Nein gestimmt haben.Diese Lösung vermeidet dieses Problem geschickt.
    #15
    +3
    Dietrich Epp
    2020-08-04 22:41:13 UTC
    view on stackexchange narkive permalink

    Dies kann auf das Problem der Essens-Kryptographen reduziert werden.

    Das Protokoll ist relativ einfach.

    1. Holen Sie sich einige Würfel für Generieren einheitlicher Zahlen im Bereich 0..M-1.

    2. Ordnen Sie alle Personen in einem Kreis so an, dass sie sich neben zwei Personen befinden: eine links und eine links das Recht.

    3. Jeder trifft sich mit seinen Partnern und generiert ein gemeinsames Geheimnis, eine einheitliche Nummer im Bereich 0..M-1. Jede Person hat zwei gemeinsame Geheimnisse, weil sie mit zwei Personen gepaart ist.

    4. Jeder geht für sich und generiert ein persönliches Geheimnis, ebenfalls eine einheitliche Zahl im Bereich 0 ..M-1.

    5. Jeder gibt eine Nummer auf einem Blatt Papier ein.

      • Wenn er abstimmt, bleibt , geben sie ihre persönliche Geheimnummer an.

      • Wenn sie für Aufenthalt stimmen, übermitteln sie das linke Geheimnis abzüglich des rechten geheimen, reduzierten Modulo M.

    6. Alle Stimmen werden addiert und Modulo M reduziert. Wenn alle gewählt, um zu bleiben, dann ist das Ergebnis 0, da alle gemeinsamen Geheimnisse einmal positiv und einmal negativ erscheinen. Wenn jemand für den Austritt gestimmt hat, ist das Ergebnis eine einheitliche Zufallszahl im Bereich 0..M-1.

    7. ol>

      Also,

    • Wenn alle Teilnehmer mit "Urlaub" stimmen, lautet das Ergebnis "Urlaub".

    • Wenn ein Teilnehmer mit "Aufenthalt" stimmt, lautet das Ergebnis mit Wahrscheinlichkeit "Urlaub" 1 / M und "bleiben" sonst.

    "verlassen" nicht garantieren, dass jeder gehen will, ist keine gute Lösung.Es wäre umgekehrt nutzbar - wenn "bleiben" die Chance hätte, durch eine "Urlaub" -Stimme generiert zu werden, aber "Urlaub" bedeutete immer, dass jeder gehen möchte.
    @RobWatts: Das ist eine falsche Analyse.Alle physischen Systeme haben eine Wahrscheinlichkeit ungleich Null, ein falsches Ergebnis zu erzielen. Daher ist es * immer * möglich, ein falsches "Urlaub" -Ergebnis zu erzielen, unabhängig davon, welche Technik Sie verwenden.Diese Lösung ist nicht anders, zwingt Sie jedoch dazu, Ihre Toleranz für ein fehlerhaftes Ergebnis im Voraus zu quantifizieren, indem Sie M wählen.
    Ich bin nicht einverstanden mit Ihrer düsteren Angelegenheit.Ihre Antwort hat ebenso ein Problem mit der Erzeugung eines falschen Ergebnisses (die Leute könnten bei der Durchführung der Berechnung immer einen Fehler machen), so dass Sie diese Fehlerstufe * zusätzlich zu * der 1 / M-Wahrscheinlichkeit des Systemausfalls selbst haben.Tatsächlich steigt die Wahrscheinlichkeit eines menschlichen Fehlers mit zunehmendem M, sodass Bemühungen, die Fehlertoleranz zu verringern, diese tatsächlich verschlimmern könnten.
    @RobWatts: Triviales Problem mit trivialen Lösungen - Sie führen die Abstimmung mehrmals durch.Alle Systeme haben dieses Problem, alle Systeme haben diese Lösung.In dieser Diskussionslinie gibt es nichts, was für meine Antwort spezifisch ist.
    #16
    +2
    jez
    2020-08-04 09:38:36 UTC
    view on stackexchange narkive permalink

    Beginnen Sie mit einem identifizierbaren Klartext: Lassen Sie uns trennen. Sie sind es nicht, wir alle.

    Jede Person generiert ein zufälliges Bitmuster (einmaliges Pad) und hält es geheim. Geben Sie die Nachricht an den Tisch weiter, wobei jede Person sie mit ihrem einmaligen Block XOR-verknüpft. Die Person nach Ihnen ist die einzige, die Ihre Ausgabe sieht.

    Wenn Sie zum Anfang des Kreises zurückkehren, gehen Sie noch einmal in derselben Reihenfolge um. Wenn Sie diesmal mit "Ja" stimmen möchten, XOR die Nachricht mit dem gleichen Muster, das Sie zuvor verwendet haben. Wenn Sie mit "Nein" stimmen möchten, verwenden Sie ein anderes zufällig generiertes Muster (halten Sie es erneut geheim).

    Befolgen Sie am Ende des zweiten Schaltkreises die resultierende Meldung : entweder trennen oder sdfljhsdfhgvsladfj. Im letzteren Fall wird niemand wissen, wie viele "Nein" -Wähler dafür verantwortlich waren, dass die Nachricht nicht entschlüsselt wurde.

    Dies ist der Antwort von Nick Bonilla sehr ähnlich, außer dass die Schlüssel im Allgemeinen nicht geteilt werden. Wenn die Familienmitglieder A bis Z sind: Bob kann Alices erste Ausgabe mit dem ursprünglichen Klartext vergleichen und so auf Alices erstes Geheimnis schließen, weiß aber nicht, ob dies dasselbe war wie Alices zweites Geheimnis (nur Zach) kennt Alices zweiten Eingang). Yolanda wird in der Lage sein, die endgültige öffentliche Nachricht mit ihrer eigenen zweiten Ausgabe zu vergleichen und so auf Zachs zweites Geheimnis zu schließen, aber sie wird nicht wissen, ob dies dasselbe war wie Zachs erstes Geheimnis (nur Alice hat Zachs erste Ausgabe gesehen). Im Fall von N = 3 sind Bob und Yolanda dieselbe Person, aber ich bin nicht sicher, ob dies ihm / ihr hilft.

    Was ist, wenn Charlie Alice fragt, welche Saite sie Bob das zweite Mal gegeben hat?Diese Lösung funktioniert nur, wenn keine Zusammenarbeit zwischen Parteien besteht. Dies ist keine Einschränkung, die Sie ohne weiteres annehmen können.
    @Sneftel - Ja, dies ist ein Problem mit vielen der Verkettungslösungen hier.Wenn Bob eine Eingabe von Alice erhält, ist diese im Wesentlichen nicht privat - weil jeder Alice fragen kann, was sie ihm gegeben hat.
    Ja, Kombinationen von Menschen können sich zu Individuen zusammenschließen.Dies könnte verbessert werden, indem die Leute anonymisiert werden (jeder trifft sich im Vorraum, zieht seine identischen Kultgewänder und -masken an, wühlt ein bisschen herum und geht dann in den Wahlraum).Aber dann ist der Anonymisierungsmechanismus ein TTP (was wir eigentlich nicht unbedingt vermeiden können - selbst verdeckte Zettel sind ein TTP).
    Ich würde auch sagen, dass wir irgendwo * eine * Einschränkung der Fähigkeit annehmen müssen, Post-hoc zu verleihen.Ansonsten ist es trivial unlösbar: Ein "Nein" -Wähler kann einfach alle anderen "Nein" -Wähler auffordern, sich auszuweisen, was zu demselben Einwand führt, den OP auf N = 2 hingewiesen hat, aber für alle N.
    @Kevin, aber wann immer Sie versuchen zu konferieren, wissen Sie nicht, ob die Antwort, die Sie erhalten, wahr ist
    #17
    +2
    Artimithe55
    2020-08-04 00:41:48 UTC
    view on stackexchange narkive permalink

    Was Sie fragen, ist ein System, das V = v (1) UND v (2) UND ... UND v (n) ausgibt, wobei v (i) ist die binäre Abstimmung derselben Person. Nach dem DeMorgan-Gesetz ist V = NICHT W , wobei W = w (1) ODER w (2) ODER ... ODER w (n) und w (i ) = NICHT v (i) . Daher können wir die Frage einfacher formulieren. Wir suchen nur nach einem System, das antworten kann, ob:

    Von den N Personen, die gewählt haben, mindestens eine Stimme Nein abgegeben hat?

    Dies folgt der Intuition ;; Wenn Sie eine einstimmige Zustimmung benötigen, spielt es keine Rolle, wie die restlichen Stimmen lauten, sobald eine Person Einwände erhebt. Mit anderen Worten, Sie fragen nach einem anonymen Vetosystem.

    Dies kann auf viele Arten implementiert werden.

    • Ein elektronischer Druckknopfschalter (mit der Bezeichnung "Drücken, um zu bleiben" im Kult ") in einem geschlossenen Raum. Das System startet im Zustand 0 und durch Drücken der Taste wird der Zustand 1 aktiviert. Nachdem jeder die Gelegenheit hatte, in den Raum zu gehen und heimlich die Taste zu drücken, wird das Gerät untersucht, um festzustellen, ob jemand dies getan hat.
    • A. Variation des oben Gesagten: Ein Knopf B im Raum, der nur den Stromkreis schließt, und ein S außerhalb des Raumes, wo jeder sehen kann. Beide sind mit einem Licht verbunden, das nur aufleuchtet, wenn beide Tasten gedrückt werden. Zuerst wird S ausgeschaltet und B nicht gedrückt. Jeder beobachtet S, um sicherzustellen, dass es nicht vorzeitig berührt wird, und geht in den Raum, um sich beim möglichen Drücken von B abzuwechseln. Sobald alle fertig sind, drehen sie S zusammen, um zu sehen, ob B während der Abstimmung gedrückt wurde. Sie können sogar mehrere Räume mit jeweils einem eigenen B an dasselbe Gerät anschließen, sodass die Abstimmung gleichzeitig stattfinden kann. Auf diese Weise ist es nicht möglich, sich gegen einen Wähler zu verschwören und S direkt nach der Abstimmung umzudrehen.
    • Eine mechanische Version in Form einer Box mit einer Markierung in der Mitte der Innenseite. Ein kleines Stück Papier wird genau auf den Marker gelegt und die Box ist verschlossen. Jeder Wähler hat die Möglichkeit, in einen geschlossenen Raum zu gehen und die Schachtel zu schütteln. Sobald alle fertig sind, wird die Schachtel geöffnet, um festzustellen, ob sich das Papier bewegt hat.
    • Eine robustere Version der oben genannten, bei der viele Schwarzweißpapiere in zwei ordentlichen Stapeln angeordnet sind (durch Schütteln der Schachtel würden sie verwechselt ).
    Eine Variante, die einfach durchzuführen ist: Holen Sie sich eine Dose Bier.Jede Person betritt der Reihe nach den Raum und schüttelt die Dose Bier, wenn sie mit Nein stimmen möchte.Öffnen Sie am Ende die Dose Bier.Wenn es überall sprüht, hat jemand mit Nein gestimmt.Ansonsten ist es ja einstimmig.
    @KenShirriff Haha, das ist gut!Obwohl Sie Fizz-Dosen entfernen können, die geschüttelt wurden, damit sie beim Öffnen nicht überlaufen, können sie das Veto ablehnen, wenn jemand den Trick dazu kennt.
    Ich mag die Idee, die Box zu schütteln, aber wie hält man Leute davon ab, (A) die Box zu öffnen, wenn sie an der Reihe sind, und (B) das Geräusch der Box zu hören, die zittert?
    @shieldgenerator7 {A} Manipulationssicheres Siegel;und / oder verriegeln Sie die Box und und der Schlüssel befindet sich während der Abstimmung außerhalb.{B} Haben Sie eine alternative Box zum Schütteln mit einheitlichem Inhalt.Arti: Alternative zu Papier (oder Bier): Zwei Schichten verschiedenfarbiger Sand.Sie können Sand nicht entfernen.
    #18
    +1
    David Schwartz
    2020-08-04 01:04:57 UTC
    view on stackexchange narkive permalink
    1. Nennen Sie die Anzahl der Personen N.
    2. Jeder Person wird eine Nummer von 1 bis N zugewiesen.
    3. Jede Person erstellt ein zufälliges Polynom N-Ordnung, dessen Y- Der Achsenabschnitt ist Null, wenn sie mit JA stimmen möchten, oder der Y-Achsenabschnitt ist größer als Null, wenn sie mit NEIN stimmen möchten.
    4. Jede Person löst die Gleichung ihres Polynoms für diskrete Punkte von X = 1 bis X = N.
    5. Jede Person übergibt die Lösung für jeden ganzzahligen Wert von X von 1 bis N an die Person mit der entsprechenden zugewiesenen Nummer.
    6. Jede Person summiert alle zugewiesenen Nummern und gibt die an Summe.
    7. Die resultierenden offenbarten Summen werden als Lösungen für ein Polynom N-Ordnung verwendet, das die entsprechenden Punkte durchläuft.
    8. Der Y-Achsenabschnitt dieses resultierenden Polynoms wird unter Verwendung der Lagrange-Interpolation berechnet . (Oder eine andere bequeme Methode, wenn N klein ist.)
    9. Wenn der Y-Achsenabschnitt Null ist, ist das Ergebnis JA. Andernfalls ist es NEIN.
    10. ol>

      Dies funktioniert, weil die Summe einer beliebigen Anzahl von Polynomen mit einem Y-Achsenabschnitt von Null ein Polynom mit einem Y-Achsenabschnitt von Null ist. Keine Kombination von Teilnehmern, die kleiner als alle sind, hat genug Punkte auf einem Polynom, um seinen Y-Achsenabschnitt zu bestimmen, sondern auf der resultierenden Endkurve, da jeder seinen Summenpunkt auf dieser offenlegt.

      Sie benötigen N Punkte auf einem Polynom N-Ordnung zur Bestimmung seines Y-Achsenabschnitts. Das einzige Polynom einer Gruppe, die kleiner als alle Teilnehmer ist und N Punkte hat, ist das endgültige resultierende Summenpolynom. Daher kann nur der Y-Achsenabschnitt von einer Teilmenge der Gruppe bestimmt werden, die kleiner als alle ist.

      Versuchen wir ein Beispiel mit drei Personen. Wir werden Alice, Bob und Charlie benutzen. Wir werden nur Bob mit NEIN stimmen lassen. Jeder wählt ein zufälliges Polynom aus, für dessen Lösung drei Punkte erforderlich sind, dessen Y-Achsenabschnitt für JA Null und für NEIN ungleich Null ist.

      Alice ist 1. Sie stimmt mit JA. Ihr Polynom ist Y = 3 (X ^ 2) - 2 X
      Bob ist 2. Er stimmt mit NEIN. Sein Polynom ist Y = 2 (X ^ 2) + X + 1
      Charlie ist 3. Er stimmt mit JA. Sein Polynom ist Y = 3 (X ^ 2) - X

      Beachten Sie, dass Bob einen Begriff "+1" hat, seit er mit NEIN gestimmt hat. Alle anderen haben keinen solchen Term, daher haben ihre Kurven einen Y-Achsenabschnitt von Null.

      Alice löst jetzt ihr Polynom an den Punkten 1, 2 und 3.
      Sie gibt sich eine 1, Bob eine 8 und Charlie eine 21.

      Bob löst jetzt sein Polynom an den Punkten 1, 2 und 3.
      Er gibt Alice eine 4, sich selbst eine 11 und Charlie eine 22.

      Charlie löst jetzt sein Polynom an den Punkten 1, 2 und 3.
      Er gibt Alice eine 2, Bob eine 10 und sich selbst eine 24.

      Sie geben jetzt jeweils ihre Summen bekannt
      Alice berechnet 1 + 4 + 2 und offenbart 7.
      Bob berechnet 8 + 11 + 10 und offenbart 29.
      Charlie berechnet 21 + 22 + 24 und offenbart 67.

      Sie müssen nun die Kurve lösen, die durch die Punkte (1,7), (2,29) und (3,67) verläuft, um zu sehen, wie ihr Y-Achsenabschnitt aussieht. Die Lösung ist Y = 8 (X ^ 2) - 2 (X) + 1.

      Sie werden feststellen, dass diese Gleichung die Summe der gewählten Gleichungen ist. Und es hat eine "+ 1" am Ende wegen Bobs Abstimmung. Somit ist das Ergebnis je nach Bedarf NEIN. Aber niemand außer Bob kann sagen, auf welcher Kurve das "+ 1" stand (es sei denn, alle anderen verschwören sich gegen ihn).

      Dies ist eine geringfügige Variante des JZSS-Algorithmus (Joint Zero Secret Sharing). Siehe M. Ben-Or, S. Goldwasser und A. Wigderson, Vollständigkeitssätze für nichtkryptografische fehlertolerante verteilte Berechnungen, Proceedings of the 20th ACM Symposium on the Theory of Computing, S. 1-10, 1988.

    Wie können die Spieler überprüfen, ob kein böswilliger Akteur einen negativen y-Achsenabschnitt gewählt hat?Angenommen, ich bin sicher, Joe möchte gehen und seine Lieblingsnummer ist 13. Wenn ich -13 eingebe, kann ich seine Abstimmung stornieren.Oder nehmen wir an, ich möchte das Zählen verhindern, indem ich -1000 eingebe.Was machen die Spieler, wenn die Summe negativ ist?
    Durch das Aufdecken der Summe der Eingaben kann jeder die Summe der Eingaben der * anderen * Spieler berechnen, wodurch Informationen verloren gehen können.Insbesondere wenn nur ein einzelner Spieler positiv gestimmt hat, wird er erfahren, dass er der einzige war.
    @meriton Wenn jeder tut, was er tun soll und niemand gehen will, ist das Ergebnis Null.Wenn jemand tut, was er nicht tun soll oder jemand gehen möchte, sind die Ergebnisse nicht Null.Vermutlich werden Leute, die nicht gehen wollen, den Anweisungen folgen.Sie haben Recht, dass jeder außer jedem einzelnen Wähler freigeben kann, wie dieser einzelne Wähler abgestimmt hat.Aber das ist wahr, egal was passiert und kein Algorithmus kann es verhindern.Wenn alle außer Ihnen abstimmen und das Endergebnis Urlaub ist, können alle anderen gemeinsam wissen, dass Sie für Urlaub gestimmt haben, da Sie der einzige sind, der sich nicht verschwört.
    Ich denke, Sie haben meine zweite Sorge falsch verstanden.Ich mache mir keine Sorgen, dass alle anderen gemeinsam lernen können, was ein Spieler gewählt hat.Ich bin besorgt, dass ein Spieler, der mit "Bleiben" stimmt, feststellen kann, ob er der einzige war, der mit "Bleiben" gestimmt hat, wodurch Informationen verloren gehen, die aus der getroffenen Gesamtentscheidung (von der der Spieler wusste, dass sie "bleiben", unabhängig davon nicht "bleiben")was die anderen gewählt haben).Im Falle der Kultisten würde ich mir vorstellen, dass es sehr schlecht enden würde, wenn ein Kultist entdecken würde, dass alle anderen bereit sind zu gehen ...
    Ein Spieler, der abstimmt, kann nicht bestimmen, wie viele andere Spieler noch gewählt haben oder nicht.Die einzige Kurve, auf der sie genug Punkte haben, ist die Summenkurve.Sie können ihre eigene Stimme abziehen, aber eine Person, die bleibt, kann das immer tun.Wenn das Ergebnis erhalten bleibt, bleiben alle Stimmen erhalten.Wenn es Urlaub ist, hat jemand anderes für Urlaub gestimmt.Vielleicht ist Ihre Sorge, dass jemand, der für den Urlaub stimmt, sagen kann, ob er der einzige war, der für den Urlaub gestimmt hat oder nicht?(Das kann behoben werden, aber es macht den Algorithmus viel komplexer.)
    Wenn das Ergebnis erhalten bleibt, muss mindestens eine Person gestimmt haben.Das heißt nicht, dass jeder hat!
    @meriton Die Terminologie zum Verbleiben / Verlassen kann für mich verwirrend sein.Bleiben wir bei Ja / Nein.Ja muss einstimmig sein.Der einzig interessante Fall ist, wenn das Endergebnis Nein ist, sonst weiß jeder, dass jeder sowieso mit Ja gestimmt hat.Wenn es ein Nein gibt, ist das einzige, was dies leckt, dass jemand, der mit Nein gestimmt hat, erkennen kann, ob er das einzige Nein war oder nicht, indem er seine Kurve von der resultierenden Kurve subtrahiert.Sonst leckt nichts.Ja, die Wähler können nicht sagen, wie viele Nein-Stimmen es gab, nur dass es mindestens eine gab.Kein Wähler kann sagen, wer sonst mit Nein gestimmt hat, nur ob es mindestens einen anderen ohne Stimme gab.
    Genau, und dieses Leck ist für unsere Kultisten ein ziemliches Problem, denn ein Nein-Wähler könnte erfahren, dass es kein anderes Nein gab, d. H. Alle anderen stimmten mit Ja!Kultistisch bedeutet dies, dass ein Kultist, der bleiben will, lernt, dass alle anderen gehen wollen!
    Lassen Sie uns [diese Diskussion im Chat fortsetzen] (https://chat.stackexchange.com/rooms/111429/discussion-between-david-schwartz-and-meriton).
    #19
    +1
    CSM
    2020-08-04 16:38:24 UTC
    view on stackexchange narkive permalink

    Es gibt zwei leere Stoffbeutel und eine Pfannenwaage. Die erste Tasche gibt an, wie sie abstimmen möchten, die zweite als Scheck.

    Jede Person erhält zwei Ton- oder Holzscheiben mit leicht unterschiedlichem Gewicht. Die schwerere Scheibe steht für Urlaub. Sie legen die Scheibe für ihre Abstimmung in eine Tasche und die andere in die andere Tasche. Anschließend wird der Beutel gegen ein Gewicht geprüft. Die Pfanne wird nur ausgeglichen, wenn alle Stimmen für Urlaub sind, bleibt aber vollständig unten, wenn auch nur eine für Aufenthalt ist.

    Falls erforderlich, können beide Taschen zusammen gegen ein anderes Gewicht gewogen werden, um sicherzustellen, dass keine Skulduggery stattgefunden hat.

    Sobald die Abstimmung überprüft wurde, werden beide Taschen bei einem Brand zerstört.

    Dies ist identisch mit der obigen "Rock" -Antwort.
    #20
    +1
    Renan
    2020-08-05 00:08:34 UTC
    view on stackexchange narkive permalink

    Ich habe mich von der Antwort von Qmppu852 inspirieren lassen. Ich werde versuchen, es einfacher zu machen:

    Besorgen Sie sich einen Generator und ein wirklich langes Kabel, 10 Meter (das sind ~ 30 Fuß) ) sollte reichen.

    Erstellen Sie mehrere Controller, einen für jedes Familienmitglied. Jeder Controller verfügt über zwei Tasten: Eine ist ein Dummy, der nichts tut. Die andere Taste soll den Stromkreis schließen. Beide Tasten sind sichtbar markiert, sodass jeder weiß, welche welche ist.

    Verbinden Sie die Controller mit dem Kabel. Da sie alle seriell mit dem Generator verbunden sind, wird der Stromkreis nur geschlossen, während alle Nicht-Dummy-Tasten gleichzeitig gedrückt werden.

    Wenn die Abstimmungszeit kommt, sitzen alle auf einem Kreis. Jedes Familienmitglied hält einen Controller auf dem Rücken und drückt einen Knopf. Auf diese Weise wird jeder sehen, dass alle anderen eine Taste drücken, aber niemand weiß, welche Tasten die anderen drücken. Jeder Einzelne weiß nur, welche Taste er drückt.

    Wenn jeder die Nicht-Dummy-Taste auf seinem Controller drückt, wird der Stromkreis geschlossen. Sie können eine Glühbirne oder einen Summer an den Stromkreis anschließen, damit diese sehen können, ob er sich einschaltet. Aber ich denke, es macht mehr Spaß, wenn der Generator etwa 50 V liefert und die Steuerungen nicht isolieren. Wenn alle mit Ja stimmen, bekommt jeder einen Ruck.

    Wenn jemand mit Nein stimmt, wird der Stromkreis nicht geschlossen. Aber niemand weiß, wer für nein stimmt. Um es noch schwieriger zu machen, die Stimmen aller zu kennen, könnten sie Handschuhe tragen, um keine Fingerabdrücke auf den Knöpfen zu hinterlassen. Oder sie können beide Tasten vor der Abstimmung drücken, bevor sie den Generator aktivieren, um einen Fingerabdruck auf beiden Tasten zu hinterlassen.

    #21
    +1
    Loren Pechtel
    2020-08-06 00:25:48 UTC
    view on stackexchange narkive permalink

    Nehmen Sie einen einfachen Taschenrechner und geben Sie eine Zahl ein. Legen Sie es in eine steife Schachtel mit einem Loch über dem Löschknopf. Legen Sie das Ganze in eine andere Schachtel mit einer Öffnung an der Seite und einem Stück Stoff über der Öffnung.

    Jeder greift in die äußere Schachtel und drückt etwas - den klaren Knopf, um Nein zu stimmen, jeder andere vor Ort zu stimmen ja. Ein Beobachter kann möglicherweise die Muskelbewegung beim Drücken erkennen, aber er kann sicherlich nicht erkennen, ob Sie tatsächlich auf der Taste sind.

    Entfernen Sie den Taschenrechner und untersuchen Sie ihn. Wenn es noch eine Nummer gibt, haben Sie ein einstimmiges Ja.

    #22
    -1
    shieldgenerator7
    2020-08-04 19:52:19 UTC
    view on stackexchange narkive permalink

    Spielen Sie ein Telefonspiel. Aber mit Zahlen.

    Lassen Sie die Leute im Kreis sitzen und 1 Person beginnen. Sie wählen eine Zufallszahl zwischen 1 und 1000 und halten sie geheim. Dann flüstern sie der Person zu ihrer Linken diese Zahl ins Ohr. Dann addiert diese Person 1 zu dieser Zahl, wenn "Nein", und sie addiert 100 zu dieser Zahl, wenn "Ja". Diese Person flüstert dann die neue Nummer der Person zu ihrer Linken zu. Dies setzt sich in einem Kreis fort und macht 2-3 "Runden" um die Gruppe. Die letzte Person, die eine Nummer erhalten hat, hält sie geheim.

    Niemand kennt die Startnummer außer der ersten Person, aber sie weiß, welche Nummer sie der Person zu ihrer Linken gesagt hat. Wenn die Ziffer 1 und die Ziffer der Nummer, die sie gesagt haben, und die Nummer, die sie erhalten haben, als sie wieder auftauchte, dieselbe ist, dann wissen sie, dass alle mit Ja gestimmt haben. Wenn es nicht dasselbe ist, wissen sie, dass mindestens eine Person mit Nein gestimmt hat.

    Das Wichtigste ist, dass sie es tun, weil sie die Startnummer nicht kennen und es kein definitives Ende der Schleife gibt Ich weiß nicht, wer mit welcher Nummer abgestimmt hat. Jeder weiß jetzt, ob die Abstimmung einstimmig ist, aber niemand weiß, wer was gewählt hat.

    BEARBEITEN: Anstatt 100 für Ja und 1 für Nein hinzuzufügen, wählen Sie eine Zufallszahl zwischen 1 und 5. Wenn Sie mit Ja stimmen , multiplizieren Sie es mit 100. Wenn Sie mit Nein stimmen, multiplizieren Sie es mit 1. Addieren Sie diese Zahl zur laufenden Summe und geben Sie die laufende Summe an die nächste Person weiter. Dies löst das Problem, dass bekannt ist, wie viele Personen mit Ja oder Nein gestimmt haben.

    Dadurch geht die Anzahl der Stimmen verloren, z. B. wenn die Anzahl 501 größer zurückkommt als in der ersten Runde, bedeutet dies, dass 1 Person mit Nein gestimmt hat.
    @BlakeWalsh Ich wusste, dass mit meiner Antwort etwas nicht stimmt.Danke, dass du mich darauf hingewiesen hast.Ich werde mir überlegen, wie ich es verbessern kann.
    @BlakeWalsh Ich glaube, ich habe das Problem gelöst
    #23
    -1
    Toby Smith
    2020-08-06 15:48:01 UTC
    view on stackexchange narkive permalink

    Konstruieren Sie einen Behälter, in den Flüssigkeit gegossen werden kann, der jedoch ohne offensichtliche Manipulation nicht leicht zu beobachten ist. So etwas wie ein undurchsichtiger Kraftstoffbehälter, an dem eine Düse angebracht ist.

    Jeder hat die Möglichkeit, etwas klare Flüssigkeit in den Behälter zu geben.

    Jeder stimmt ab, indem er entweder eine hinzufügen kann roter Farbstoff oder gießen Sie etwas roten Farbstoff in den Abfluss.

    Am Ende wird der Behälter aufgebrochen und der Inhalt wird freigelegt. Wenn es eine Menge roten Farbstoffs enthält, war die Abstimmung nicht einstimmig.

    Dies ist genau das gleiche wie die Antwort "Salz" oben
    #24
    -2
    Terry Maurel
    2020-08-03 21:59:50 UTC
    view on stackexchange narkive permalink

    Interessantes Problem. Low Tech: Ein Dritter gibt jedem Wähler zwei identische Zettel: eines mit maschinengeschriebenem "Ja", das andere mit "Nein" (oder einem anderen Symbol, 1/0, J / N usw.) ist das Ende der Beteiligung Dritter. Sie begeben sich in einen privaten Bereich, in dem sie heimlich ein Blatt Papier mit der gewünschten Antwort auswählen können. Alle kehren zurück und geben gleichzeitig ihre Stimme in die Wahlurne ab, die zur Randomisierung geschüttelt wird.

    Obwohl es theoretisch möglich sein kann, die Quelle der Minderheitenstimme zu bestimmen, sogar bis zur DNA-Probenahme aus dem Papier. In der realen Welt haben selbst die paranoidesten einige praktische Einschränkungen und Kontrollmethoden - z Verbrennen Sie die Stimmzettel nach dem Zählen.

    Medium-Tech: Verdrahten Sie ein Relais / Flip-Flop in Reihe mit einem "Tally" -Schalter, der einen Stromkreis zum Einschalten eines Lichts oder einer ähnlichen Anzeige vervollständigt. Es gibt nur einen Abstimmungsknopf, der vor dem Zählknopf verborgen ist (z. B. in einem anderen Raum, einer anderen Box usw.). Der Zählknopf ist öffentlich, sodass er nicht ohne Zeugen berührt werden kann.

    Sobald jeder eine private Gelegenheit dazu hat Drücken Sie die Abstimmungs-Taste (oder nicht), und betätigen Sie dann gemeinsam den Schalter, der die Schaltung vervollständigt, wenn das Relais / Flip-Flop ausgelöst wurde. Mit anderen Worten, das Umlegen des Zählschalters schließt die Schaltung nur ab, wenn die Abstimmtaste von jemandem gedrückt wurde. Da die Abstimmung privat ist, gibt es nur eine Taste und sie arbeitet an einem einzelnen Punkt in der Schaltung (dh dem Relais oder Flip-Flop, das nur einmal ausgelöst werden kann). Es gibt keine Rückverfolgung zu who die Abstimmung ausgelöst.

    Ihr Low-Tech-Vorschlag ist einfach eine papierbasierte Version des Schemas "[blackball] (https://en.wikipedia.org/wiki/Blackballing)".Und es besteht keine Notwendigkeit für einen Dritten.Ihre Medium Tech-Version ist dieselbe.


    Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
    Loading...