@tadd 暗号文の掛け算をすると平文の足し算をしたことになる(加法準同型というのですね)Paillier暗号というのがあるそうです。これは使える!と思ったのですが、掛け算の結果を平文の足し算に複号する段階で私有鍵が必要で、同じ鍵でそれぞれの投票内容も複号できちゃいそうです。私有鍵を隠せないスマートコントラクトの場合には使えなさそう…。
https://tex2e.github.io/blog/crypto/homomorphic-tallying-with-paillier
@tadd 暗号文の掛け算をすると平文の足し算をしたことになる(加法準同型というのですね)Paillier暗号というのがあるそうです。これは使える!と思ったのですが、掛け算の結果を平文の足し算に複号する段階で私有鍵が必要で、同じ鍵でそれぞれの投票内容も複号できちゃいそうです。私有鍵を隠せないスマートコントラクトの場合には使えなさそう…。
https://tex2e.github.io/blog/crypto/homomorphic-tallying-with-paillier
技術オタクとしてスマートコントラクトのことを勉強するのは楽しいだろうと思うんだけど僕は実用にはならないんじゃないかと思ってるよ。
スマートコントラクトはコードの保管場所も状態の保管場所もブロックチェーンになっているのでコードもコードのステップごとの状態変化も全て公開されている。この状態で、例えば秘密投票を実現するためには、1ステップでアトミックに暗号化された多数の投票内容を復号して票の数を集計する命令を実装する必要がある。コードを実行してブロックをチェーンにつなぐためには、あるノードがノンスを発見するだけではなくて、多くのノードが同じコードを実行してノンスの検証をする必要があるので、多くのノードでこのアトミックな命令を実行する必要があることになる。
それだけのコストをかけても、参加する全員を信用できない組織を運用する必要があるとは思えないんだよね。組織の誰かを信用するなら、そこを信用の起点にして、ブロックチェーンを利用しないで従来と同じように組織を運用すればいいだけなんよね。
待って、やっぱりスマートコントラクトで秘密投票は実装できない。
開票メソッドがそれぞれの投票用紙を複号できるってことはブロックチェーンのどこかから復号鍵が得られる(どこから得られるかは開票メソッドのコードに書いてる)ってことだから、暗号化された投票用紙を誰でも複号できちゃうことになる。
それでも誰が何に投票したかわからないようにするためには投票元のウォレットが匿名のままにする必要がある。ということは組織の意思を決める投票権を誰だかわからない人に渡すことになる。それでいい組織もあるだろうけど、僕には多くはなさそうに思えてくる。
いやぁポンコツだねえ…
GitHubさんで「自分が死んだら管理を任せるアカウント」の設定ができるようになったのをこの前見た気がする。どうしようかねえ。
ヒアリは見るとひありとするよぬ
ちっちゃいのも好き
ぺったんこなのが好き
用語の問題もだけど何よりもブロックチェーンでできないことをブロックチェーンでできるって言ってるの許せなくない?
そういえばハッシュタグのフォローをできるようになったよ!
おちんぎんの一部が株で来るもんだからなんもわからんままなんもわからん
Fedibirdさんから「連合機能廃止しました」って見えててフシギ
Windows 98ってきっともうhttpsできないよなあ
次のパンデミックではexposure notificationsとワクチンもっとうまく働くといいなあ #遠い目
NFTを所有してる気がするっていうのは詐欺師の妄想だからどーでもいいんだけど、著者に無断で著作物を公開するのは著作権の侵害よね
Web3.0
Web3.1
Web95
Web98
WebNT
Web2000
WebXP
WebMe
いろいろ抜けてる気のする
ecdsaの鍵つくりましたw
久しぶりの経路でsshしようとしたら公開鍵認証が効かなくなっててどうしてかとssh -vしてみたら暗号スイートが合わなくなってたのわね。
漏れた時に交換でいないものは認証には使わない方がいいよ
てかFIDOのしくみちゃんと勉強しときたいなあ
「探偵が早すぎる 春のトリック返し祭り」C言語?カーネルのスケジューラ書いてるん??
https://github.com/yandex/smart/blob/72cda3d/kernel/groups.c#L20
https://tver.jp/episodes/epqeqsgze0
senooken JP Social is a social network, courtesy of senooken. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.
All senooken JP Social content and data are available under the Creative Commons Attribution 3.0 license.