# ゼロ知識証明・確定申告 他
- [Slideで表示](https://hackmd.io/@kt-party/B1_euIxSw#/)
- [テキストで表示](https://hackmd.io/h4OXPxe4SByGP-zv4ME4_Q)
---
## はじめに
いろいろ話します
- 俺も投資したい
- Windowsの利便化 : 右クリックした時のメニュー多すぎ問題
- ゼロ知識証明
- フリーランスのための確定申告等
---
## 俺も投資したい
けどお金はあまり無い。

---
### 少額で始められるポイント投資
- 楽天ポイント
- 楽天証券口座が必要(ちょい面倒)
- 楽天ポイントは"生活費"
- PayPayボーナス運用
- 気軽にポチポチすれば簡単にできる
- PayPayボーナスは少額なので誤差
---
### PayPayボーナス運用
- 運用開始: 2020/12/28
- 利益: **+11.17%**(+43円)

やった~利益でた~
---
## Windowsで右クリックした時のメニューが多すぎる
- レジストリエディタからメニュー削減可能
- [参考: 「Skypeで共有」削除方法](https://fireflyframer.blog.jp/24987086.html)
- 一個ずつ検索するのは面倒なので、アプリ使おう
- [ShellExView](http://www.nirsoft.net/utils/shexview.html)
- [参考: 右クリックの不要なメニューを手動で編集して削除する方法 – Windows10](https://itojisan.xyz/settings/18943/)
---
### ShellExView 使い方 1/3
- 右クリックで大量のメニューが表示
- とりあえずAcrobat系を削除したい

---
### ShellExView 使い方 2/3
- ShellExViewでContext Menuに絞って表示
- Acrobatを無効化!

---
### ShellExView 使い方 3/3
- Adobeのメニューが削除!
| Before | After |
| -------- | -------- |
|  | |
---
## ゼロ知識証明
- ある情報を保持していることを、情報自体を開示せずに証明する方法
- データプライバシ保護のひとつ
- 他には、差分プライバシ、Federated learning、準同型暗号、秘密分散計算
- 3要素
- 完全性: 証明できることは全て真
- 健全性: 真あれば真である証拠がある(偽であれば高確率で見破れる)
- ゼロ知識: 証明された事実だけが表明される
- [参考](https://note.com/strictlyes/n/n4566802b2830)
---
### 例:洞窟と鍵のやつ 1/2
- 問題: Aliceがピッキング技術を心得ていることを、ピッキングの様子を見せずに示す
1. Aliceが "1" or "2" に入る。
2. Bob「"1" or "2"」から出てきて!
3. Aliceは、必要に応じて鍵を使って、指定された方から出る
4. 1~3を何度も繰り返す

- 鍵を持っていないのに、n回成功する確率は$\frac{1}{2^n}$
---
### 例:洞窟と鍵のやつ 2/2
- 完全性: 証明できることは全て真
- Bobが指定した方からAliceが毎回出てくる
- 健全性: 偽であれば見破れる
- 何度も成功することで健全性が向上
- ゼロ知識: 証明された事実だけが表明される
- ピッキングの様子は見ていない

---
### 例:ウォーリーを探せ 1/2
- 問題: ウォーリーの位置情報を伝えずにウォーリーを発見したことを示す
1. Aliceがウォーリーの部分だけ繰り抜いたボードを送る
2. Bobはボードを被せてウォーリーがぴったりはまることを確認する


---
### 例:ウォーリーを探せ 2/2
- 健全性: 証明できることは全て真
- Aliceがランダムに切り抜いてもウォーリーを表示することは困難
- 完全性: 真あれば真である証拠がある
- Bobがボードを被せることでAliceがウォーリーを発見したことを確認可能
- ゼロ知識: 証明された事実だけが表明される
- ウォーリーの正確な位置情報は提示されない
---
### 例:九九わかんのけ?
1. Bob 「7×4=28?」
2. Alice 「"Yes" or "No"」
---
### 例:左右わかんのけ?
1. Bob 「ここ右折ね」
2. ??? 「左に曲がる」

---
### 例:色盲テスト
※ なぜかBobとAliceの役割が入れ替わっています
1. Alice 「ボールを入れ替えたかどうかを答えてね」

2. Alice 「ボールが入れ替わった?」

---
### 少しだけ理論
- 楕円曲線暗号
- Q $\leftarrow$ aP は簡単
- Q $\rightarrow$ aP は困難

※なんでAliceが男でBobが女なのか…
[参考1](https://gaiax-blockchain.com/elliptic-curve-cryptography) [参考2](https://qiita.com/kenmaro/items/d968375793fe754575fe#%E6%A5%95%E5%86%86%E6%9A%97%E5%8F%B7%E3%82%92%E5%BF%9C%E7%94%A8%E3%81%97%E9%9B%A2%E6%95%A3%E5%AF%BE%E6%95%B0%E5%95%8F%E9%A1%8Cdlp%E3%81%AE%E8%A7%A3%E3%82%92%E4%BD%BF%E3%81%86)
---
### データ扱うときに使えるんじゃね?
- 適用可能なケ―ス1:仮想通貨
- 送信アドレスと受信アドレス、送金額を秘匿
- Zcash
- 適用可能なケ―ス2:サプライチェーン
- 製品の中身は明かさないけど、製品がやりとりされていることを示す
---
## フリーランスのための確定申告
- はじめに
会社員ではない人(自分で確定申告が必要な人)のための税金関連の話です。
支払う税、その算出方法と節税の仕組み、オンライン確定申告の仕方、などを話します。
これでフリーランスになっても安心!?
---
### 対象
- フリーランスの人
- バイト掛け持ちの人向け
- その他、確定申告が必要な場合
---
### フリーランスの税 + 保険
- 所得税[今日ここ]
- ふるさと納税(~~資料作り疲れたから~~また今度)
- 住民税(府民税・市民税)(また今度)
- 国民健康保険(国保)
- 国民年金保険(年金)
※基本、体験談になるので、足りてない箇所もあるかもです。
※以降、「」は正式用語、""は通称等とする。
---
### 所得税の計算方法 1
1. 「支払額の総額」を算出
- いわゆる"額面"
- 個人事業主なら"全収入"「総収入金額」
---
### 所得税の計算方法 2
2. 「給与所得」を計算
- "額面" - 「必要経費」
- 会社員なら、"額面" - 「給与所得控除」
- 「給与所得控除額」の計算方法

[やさしい必要経費の知識 - 国税庁](https://www.nta.go.jp/taxes/shiraberu/taxanswer/shotoku/2210.htm)
[給与所得控除](https://www.nta.go.jp/taxes/shiraberu/taxanswer/shotoku/1410.htm)
---
---
### 所得税の計算方法 3
3. 「所得控除」を計算
- [「基礎控除」](https://www.nta.go.jp/taxes/shiraberu/taxanswer/shotoku/1199.htm) (だいたい48万円)
- 国民健康保険(国保)、社会保険料(社保)(全額)
- 国民年金保険(年金)(全額)
- ふるさと納税(2000円を超えた額)
- 生命保険控除
- 
- 医療費控除(保険金等を引いて10万円を超えた額)
- [配偶者控除](https://www.nta.go.jp/taxes/shiraberu/taxanswer/shotoku/1191.htm)(だいたい38万円)
[所得控除の一覧](https://www.nta.go.jp/taxes/shiraberu/taxanswer/shotoku/shoto320.htm)
<!-- - -->
---
### 所得税の計算方法 4
4. 「課税される所得金額」=「給与所得」-「所得控除」
---
### 所得税の計算方法 5
5. 「収める税金」を計算
- 「課税される所得金額」*「税率」-「控除額」+「復興特別所得税額」等

[税率表](https://www.nta.go.jp/taxes/shiraberu/taxanswer/shotoku/2260.htm)より
---
### オンライン確定申告のはなし
~~心折れたので~~簡単に(気が向いたら次回)
- やってくれること
- 自動で提出
- 生命保険料等を自動入力
- [連携サービス一覧](https://www.nta.go.jp/taxes/tetsuzuki/mynumberinfo/list.htm)
- やってくれないこと
- 国保の料金を自動入力
- 年金の支払い金額を自動入力
---
<style>
/* basic design */
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6,
.reveal section, .reveal table, .reveal li, .reveal blockquote, .reveal th, .reveal td, .reveal p {
font-family: 'Meiryo UI', 'Source Sans Pro', Helvetica, sans-serif, 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic';
text-align: left;
line-height: 1.6;
letter-spacing: normal;
text-shadow: none;
word-wrap: break-word;
color: #444;
}
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {font-weight: bold;}
.reveal h1, .reveal h2, .reveal h3 {color: #2980b9;}
.reveal th {background: #DDD;}
.reveal section img {background:none; border:none; box-shadow:none; max-width: 95%; max-height: 95%;}
.reveal blockquote {width: 90%; padding: 0.5vw 3.0vw;}
.reveal table {margin: 1.0vw auto;}
.reveal code {line-height: 1.2;}
.reveal p, .reveal li {padding: 0vw; margin: 0vw;}
.reveal .box {margin: -0.5vw 1.5vw 2.0vw -1.5vw; padding: 0.5vw 1.5vw 0.5vw 1.5vw; background: #EEE; border-radius: 1.5vw;}
/* table design */
.reveal table {background: #f5f5f5;}
.reveal th {background: #444; color: #fff;}
.reveal td {position: relative; transition: all 300ms;}
.reveal tbody:hover td { color: transparent; text-shadow: 0 0 3px #aaa;}
.reveal tbody:hover tr:hover td {color: #444; text-shadow: 0 1px 0 #fff;}
/* blockquote design */
.reveal blockquote {
width: 90%;
padding: 0.5vw 0 0.5vw 6.0vw;
font-style: italic;
background: #f5f5f5;
}
.reveal blockquote:before{
position: absolute;
top: 0.1vw;
left: 1vw;
content: "\f10d";
font-family: FontAwesome;
color: #2980b9;
font-size: 3.0vw;
}
/* font size */
.reveal h1 {font-size: 5.0vw;}
.reveal h2 {font-size: 4.0vw;}
.reveal h3 {font-size: 2.8vw;}
.reveal h4 {font-size: 2.6vw;}
.reveal h5 {font-size: 2.4vw;}
.reveal h6 {font-size: 2.2vw;}
.reveal section, .reveal table, .reveal li, .reveal blockquote, .reveal th, .reveal td, .reveal p {font-size: 2.2vw;}
.reveal code {font-size: 1.6vw;}
/* new color */
.red {color: #EE6557;}
.blue {color: #16A6B6;}
/* split slide */
#right {left: -18.33%; text-align: left; float: left; width: 50%; z-index: -10;}
#left {left: 31.25%; text-align: left; float: left; width: 50%; z-index: -10;}
</style>
<style>
/* specific design */
.reveal h2 {
padding: 0 1.5vw;
margin: 0.0vw 0 2.0vw -2.0vw;
border-left: solid 1.2vw #2980b9;
border-bottom: solid 0.8vw #d7d7d7;
}
</style>
{"metaMigratedAt":"2023-06-15T12:55:57.434Z","metaMigratedFrom":"YAML","title":"KT#015-yamauchi ゼロ知識証明・確定申告 他","breaks":true,"slideOptions":"{\"theme\":\"white\",\"slideNumber\":\"c/t\",\"center\":false,\"transition\":\"none\",\"keyboard\":true,\"width\":\"93%\",\"height\":\"100%\"}","contributors":"[{\"id\":\"9b84623d-4627-460d-8b6e-e676cbb02ad4\",\"add\":10814,\"del\":2366}]"}