【解説】モナコインへの攻撃 Block Withholding Attackって一体何なの?
こんにちは、NABです。
5/15に話題となった、モナコインへの攻撃。その名もBlock Withholding Attack。
モナコインだけでなく、ビットコインを含む他通貨も大きく下げる原因となっていました。
「モナコインにバグ発見」
「モナコインが攻撃を受け、大規模な巻き戻しを実施 」
ってつぶやく声も聞こえてきたので、取引所ハッキング?って思ったのですが、そうではなくブロックチェーン自体に「攻撃」がされた様子。
モナコイン高騰前から推していたホリエモンも、
こりゃ大事件。
— 堀江貴文(Takafumi Horie) (@takapon_jp) May 18, 2018
暗号通貨史上で最も大きいブロックチェーンへの攻撃について。モナコインでの事件の重要性。 (Junya https://t.co/NtBTBrIi3i) - https://t.co/JDA2nygvdA
と言っているし、なんだかとんでもないことが起きたのかもしれない。
不可能とされていた、ブロックチェーンへの「攻撃」ってどういうことだろう?
同じことがビットコインにも起こりうるのか気になるところ。
というわけで調べました。
モナコインへの攻撃について(Block withholding attack) | ビットコイン研究所
暗号通貨史上で最も大きいブロックチェーンへの攻撃について。モナコインでの事件の重要性。 | JunyaHirano.com
モナコインへの攻撃から、ブロックチェーンへの攻撃やマイニングを深掘りする - Gunosy Blockchain Blog
大御所お二人と、最近テクノロジー系の良記事をよく見かける強いグノシー。
これら3つのブログの解説は素晴らしいです。
ただ初心者には難解に感じる部分もあるので、自信の理解を深めるためにもう少し噛み砕いてみました。
通常のRe-Orgをおさらい
Re-Orgって概念は、昨年8月のUASF騒ぎの時に知りました。
当時、ビットコインの信頼性を揺るがす大問題として界隈で話題になっていました。
Re-Orgというのは、もう承認されたから大丈夫、って思ってた取引がごっそりとなくなることでした。
もう自分のものになった、と信じていたコインが突然なくなるかもしれないということです。
初心者向けに解説してみますが、nonceやハッシュ値などの基礎的な内容は省いているので、「マイニングって何?」ってレベルだとわからないかもです。
また、専門知識が薄いので間違えがあるかもです。あればぜひご指摘を。
PoWの場合、マイナーたちマイニング報酬を得るために競って次のブロックの正解を探します。
あるマイナーが最初に次のブロックの正解を見つけたとします。
この段階ではまだマイニング報酬を受け取ることができないので、マイニング成功とは言えません。
そこで最初に正解を見つけたマイナーは、
「正解みっけ!」
とネットワーク全体に宣言します。
これを「ブロードキャスト」と呼びます。
ビットコインの台帳を管理するノードたちは「ブロードキャスト」で伝わってきた新ブロックが本当に正解かどうか検証をします。
ノードたちが検証の結果「正解」を確認することでそのブロックのマイニングが終了。こうなって初めてマイナーはマイニング報酬を受け取ることができます。
このようにして通常、ブロックチェーンは1本の鎖として伸びてゆきます。
しかし、「ブロードキャスト」された新ブロックがネットワーク全体に伝播するまでは数秒かかります。
その間に別のマイナーが別の正解を見つけることもあります。
こちらも正解には違いないので、とりあえずブロックにつなげておきます。
そのため一時的にブロックが二股に分かれます。いわゆる、ソフトフォーク。
それぞれのブロックには、その後もブロックが伸びてゆきます。
ただし、ビットコインには「ブロックが長い方が正しいチェーン」という基本ルールがあります。
したがって短いと判定された時点で、短い方のチェーンは消えます。これがRe-Org(Re-Organization:再編成)です。
つまり、頻繁にチェーンは分岐してますが、多くは1〜2ブロックで消えてしまいます。
消えてしまったブロックに入っていたトランザクションはなかったことになります。
ただし、未承認の段階に戻るだけなので、いずれ新しいブロックに取り込まれて承認されます。
消えてしまったチェーンに入っていた取引は、
おそらくこんな流れになるのだと思います。(推測)
なので1承認されたからといって安心できない。
ビットコインでは「6承認ぐらい」が、いわゆる安全な取引の目安とされるの根拠のようです。。(ビットコインも過去に具体的に6承認程度の取引がRe-Orgにより消えたことがあるようです。)
Block Withholding Attackのカラクリ
悪意のあるマイナーは、十分なハッシュパワーを集めて計画実行をはじめました。
①まず1つのブロックの採掘に成功します。そしてそれをブロードキャストせずに次のブロックの採掘を続けます。
②標的にする取引所へモナコインを送金します。これは隠しているチェーンではない、この後消す予定のチェーンの方に乗せます。
③同じモナコインを自分のウォレットに送信します。こちらは自分が隠しているチェーンの方に乗せます。
④取引所がモナコインを承認完了してくれたらすかさず他のコインにトレードして出金。
⑤出金完了と、自分が隠しているチェーンが、正規のチェーンよりも十分長いことを確認したらブロードキャスト。
⑥するとRe-Orgが起こり取引所が受け取ったはずのモナコインが消えてしまいます。
通常Re-Orgにより消えてしまった取引は0承認に戻り、時間が経つとまた新しいブロックに取り込まれて承認数が増えてゆきます。
しかし今回は後からブロードキャストされたチェーンの方に自分のウォレットに対する送金が記録されています。そのため0承認となった取引所への送金は二重送金(不正送金)と判断されて、こちらの送金の方が取り消されてしまうのです。
これで計画成功となりました。
対策は?
すぐにできる対策は、決済完了と認める承認回数をあげることしかないようです。
今回のBlock Withholding Attackでは20承認を超えるチェーンのRe-Orgが複数回起こっているので、多くの取引所は必要承認回数を大幅に引き上げました。
また今回のBlock Withholding Attackはいわゆる二重支払いを行うことが目的でしたが、Block Withholding Attackにはそういった不正以外にもインセンティブがあるように思えます。それは自分が次のブロックを発見できる十分なハッシュパワーを持っている自信があれば、採掘したブロックをブロードキャストせずに、次のブロックの採掘を開始した方が有利に採掘することができそうだからです。
なぜなら、ブローキャストせずに次の採掘を始めれば、その間他のマイナーたちはすでに答の出ている無駄なブロックの採掘を続けてくれているからです。ブロードキャストせずにせっせと掘り進めてゆけばどんどん差がついてゆく仕組みです。
隠し持っている自分のチェーンが他のチェーンより十分長いこと確認してから一気にブロードキャストすれば、その間のブロックは全て自分のものになります。なんだかオセロゲームの大逆転みたいですよね。
Block Withholding AttackはSelfish Miningとも呼ばれているそうです。
自分が有利にマイニングを成功させるためのズルなので、Selfish Miningという呼び方もとてもしっくりきます。
そんな自分勝手なBlock Withholding Attack。それをできる仕組みを放置しておくなんてネットワーク全体にメリットがあるように思えません。
素人考えでは、採掘したブロックは即ブロードキャストしなければいけない(2個以上まとめてブロードキャストするの禁止)というルールに変更できれば良いと思うのですがどうなのでしょう?
でも簡単にそうできない理由があるのでしょう。
今回はその理由まではわかりませんでしたが、今後わかったら追記しますね。
またご存知の方がいらっしゃれば、教えていただけると嬉しいです。
わかったこと
調べて見てわかったのは、今回のBlock Withholding Attackと言われる手法はブロックチェーン技術全てに対する信頼を揺るがすものではないということ。
攻撃対象となるのは少なくとも、PoWを採用しているコインで、かつ、
- 流動性が比較的高い(簡単に他のコインに交換できなければ成功しないので)
- 攻撃可能な程度に小規模(大きなハッシュパワーを集めなければならないので)
- ブロックタイムが短い(掘りすすめる時間が長いとキツイ)
- 難易度調整の頻度が高い(難易度が低くなった瞬間を見計らってサッと計画実行できる)
- GPU(汎用パソコン)でマイニングするコイン(ASIC(特定通貨のマイニング専用機)でマイニングするコインだと当然高価なASICが大量に必要。高価なASICをたくさん持つということは、そのコインの将来性にBETすることになる。するとBlock Withholding Attackすることでコインの価値を下げるような馬鹿げたことをするインセンティブがなくなる。)
- KYCの低い取引所で取引可能(足がつかないように)
という条件を満たした場合です。
ビットコインもPoWですが、これらを考えると同様の攻撃をビットコインに行うのはほぼ不可能とみました。
結論
当初報じられていたように「ブロックチェーンを揺るがす重大バグ発見」というような深刻なものではないとわかって一安心です。
ビットコインって、なんで承認に10分もかかるのだろう?とか、難易度調整って、ハッシュパワーの変動に合わせてもっと頻繁にあれば良いのに、と疑問に思っていました。でも信頼性の確保のためには大切な設計だったんですね。
今回の件で、ビットコインの初期設定を考えたナカモトサトシの神がかりっぷりを改めて感じました。
いい勉強になったなぁ。
ブロックチェーンはまだ未成熟な技術。こうした問題を経験して、より信頼性の高いものにアップデートされてゆくのでしょう。
ブロックチェーンの未来に期待します。
長くなりましたが、最後まで読んでくださってありがとうございます。
ステラからの贈り物 昨年6月のXLMエアドロップ完了!?ってKrakenからメールきたよ
Krakenからメールが届いておりました。
1/20付けですね。
件名は何と、
「XLMがお客様のアカウントにエアドロップされました!」
あれ、ひょっとして去年のやつ?
去年この記事読んで、ならばとBTCをKrakenに移動したのを思い出しました。
スナップショットは6/26って書いてあったので、ちゃんと間に合うように入金してたんですよ。
でも配布期日になっても一向にルーメンがクレジットされないんですよね。
無料配布ですしね、そんなもんかなって思って忘れてました。
それから約半年を経て、エアドロップ完了のお知らせ!
こんなに時間がかかることもあるんですねー。
およよ、スナップショット前の6/25に1BTCだけ入金して、7/2に出金してますな。
そんで、XLM入金が1/15。半年以上かかってる(笑)
でも忘れたころにもらえて、しかもXLMはこの間相当伸びたので得した感がすごい!
Coingeckoでみると、スナップショットの6/26では@3.39円、入金された1/15では@69.59円!
988.65623XLM入金されてたので約68800円!ラッキーだね。
最近はエアドロップ系の詐欺も多いようなので注意が必要ですが、普段使っている取引所に入金するタイプなら問題ないよね。最近これ系はあまり情報追ってなかったけど、もしまた見つけたらチャレンジしてみよう。
ルーメン、って美味しそうだよね。
麺類好きの私。
しょーもな。。
【仮想通貨と確定申告】その20 仮想通貨Excel元帳 年始に必要な手続き
あけおめだわん!
って、もう成人式もどんど焼きも終わってしまいましたね。
昨年、最後の記事を更新したころに新しい家族を迎えまして、年末、年始とまさに「犬三昧」の毎日でございましたっ。
名前は、「モハ」って言います。まだ三ヶ月の柴犬の女の子です。
親バカですのでちょくちょくブログにも登場すると思います。よろしくどうぞです。
さて、昨年末はブログアクセスも急上昇。そしてご質問も多くいただきました。
その中に「年をまたいだら、元帳はどうやって年ごとの利益を把握するの?」というものがありました。
確かに、年越し後もそのまま追記していったら年次の利益が把握できなくなりますよね!
全くご指摘の通り、先々のことまで考えておりませんでした。(反省)
そんなわけで前回さっさと最終回宣言をしてしまいましたが、早速戻ってまいりました。
ほんの一瞬、年次の利益を計算する機能を追加しようかとも思いましたが、毎年新しいファイルに記入した方が新たな気持ちで取引に望めますし(と勝手に断言)、年次ごとに新たなファイルに記録する方法で対処することにしました。
納税に備えて年末に全ポジションを売却された方は、またまっさらなシートに記録を初めていただければ良いのですが、こちらのブログの読者にはそんな方はいらっしゃらないと思います。年末に全ポジションクローズするなら、こんなややこやしい元帳への記帳は全く不要ですから(笑)
というわけで、新年にはまっさらなシートに、
- 保有中のポジション→仕訳帳と商品有高帳に転記
- 取引所口座に入金されているJPY →仕訳帳に転記
以上を2点を記帳してやらなくてはなりません。
例によってサンプルには、「元帳ダウンロード(解説用 JPY利確版)」を用います。
これを「元帳ダウンロード(記帳用)」に転記してゆきます。
皆さんは取引所や通貨をカスタマイズしてお使いだと思いますので、すでに使っていたファイルを2017年用として、それをコピーして2018年用とし、2018年用の仕訳帳と商品有高帳の内容をまっさらにした上で用いてください。
準備はできましたか?
では順を追って参りましょう。
ステップ1 保有中のポジションを転記
商品有高帳に転記
「元帳ダウンロード(解説用 JPY利確版)」にはBTC,BCH,ETH,ETC,XEMについて残高があります。この数字をまっさらなシートに転記してゆきます。
まずはBTCから。
BTCタブをクリック。
最終行の「残高」の「数量」「@」「金額」をまっさらなファイルに転記。
ここでは、最終行#5の「3.00000000」「125,031.28911139」「375,093.86733417」をコピーします。
そして、まっさらなファイルのBCHタブを開き、1行目の「受入」の「数量」「@」「金額」にペースト。
ここで大切なのが、そのままペーストするのではなくて、値をペーストすることです。
すると、こうなります。
この要領で保有している全通貨の商品有高帳を転記してください。
そうそう、伝票番号は#1、日付は1/1でOKです。
すべて入力が終わった時の残高表示エリアはこうなります。
「@」が転記されています。
「記帳に誤りがあります」はまだ無視して大丈夫。
仕訳帳に転記
当然このままでは商品有高帳残高と仕訳帳残高が合いません。仕訳帳にも残高を入力しましょう。
日付は1/1として、「借方」「数量」「通貨」を全通貨入力します。
「金額」欄は貸借の一致をJPYベースで確認するためにあるだけです。集計には用いておりませんので、ここでは記入してなくても大丈夫。もちろん几帳面な方はご記入頂いても大丈夫です。
2017年用のファイルの残高エリアの数値を参照して入力します。
この範囲の値です。
BTCから行きましょう。Coincheckに3BTCあります。これを入力すると、
こうなります。
全通貨、全取引所分入力してくだしあ。
こうなりました。
残高表示エリアはこうなります。
ここまでの入力で、上の判定欄は全て「OK」になるはずです。
もしならない場合はこの段階で入力ミスを正しておきます。
下の判定欄は現段階では、入力は正しくても「記帳に誤りがあります」と表示されてしまいますので気にせず次のステップへ。
ステップ2 取引所口座に入金されているJPYを転記
取引所にJPYを全く残していない方はこのステップはパスしても良いのですが、端数を残さず綺麗さっぱり残高がない方はおそらくほぼいらっしゃらないでしょう。
やり方は先ほどの仕訳帳へのポジション残高入力と同じ。
各取引所のJPY残高を、2017年用ファイルの残高エリアを参照して転記します。
「Wallet」の数値は転記しないでください。転記するのは各取引所のJPYの値のみです。
これを転記すると。
こうなります。
ここまで正しく入力しても、やはり「記帳に誤りがあります」と表示されてしまいます。次のステップで解決します。
ステップ3 仕訳帳の貸借を合わせる
エラー判定のロジックはざっくり言うと、「保有ポジションの取得原価の合計」と「銀行口座からの出金額の合計」 を比較しています。ここにズレが生じるとエラーとなります。
つまり、「100万円分BTCを買ったなら、最初に銀行口座から100万円出金があるはずでしょ」というところをチェックしています。
なのでこの観点からすると、ここまでのステップで仕訳帳に入力した内容では、銀行口座からの出金額を反映していないわけです。
というわけでこれを入力してやります。
まず仕訳帳に最初に入力した、保有ポジション残高に関して、この残高と貸借が合う金額はどこに示されているかというとこちらです。じゃん。
そうです。取得原価の合計額と貸借が合います。
なのでこの金額を仕訳帳の借方に「Wallet」で入力してやります。
こんな感じ。
さて、JPY残高に関しても同じ処理をしなければなりません。
各口座のJPY残高の合計額を、借方にも記入します。
借方は300000JPY + 20000JPY、なので貸方は320000JPYです。
はい、これでエラー表示が消えませんか?
僕はこれで消えました。
手順通り入力すれば消えるはずですので、消えない方は入力ミスを疑ってみてください。
お疲れ様でした!
新年早々(早々?)ややこやしい内容の記事でした。
今年もしばらく仮想通貨元帳ネタから離れられそうにないですね。。
昨年最後の記事では、出川神などと書いた側からガラって焦りましたが、今年もトータルでは大きく伸びることは間違いなしでしょう!
今年もゆるゆるとマイペースに記事更新になりそうですが、みなさまの大切な利益確保のお力になれればこれ幸いです。
今年もよろしくお願いいたします。
NAB@暮しの仮想通貨
【仮想通貨と確定申告】その19 仮想通貨Excel元帳 カスタマイズ方法#2
いよいよ12月も下旬。
仮想通貨市場全体の伸びが止まりません!
年末は納税のための利確売りが連鎖して暴落?と、秋頃は読んでいましたが、蓋を開ければ今のところ絶好調!!
この現象を見ていると、日本市場に限って言えば、税制が仮想通貨取引に圧倒的に不利!という事実が、市場牽引の好材料になっているのでは?と思えてきました。
なんせ仮想通貨元年と言われる2017年、「億り人」では飽き足らず、憧れの対象は今や「自由億」!
この1年で「お小遣い」と言えるレベルではない利益を出している方が大半、と思われます。今ここで利確したら最高税率でガッポリやられてしまう。。ならばバイアンドホールドに徹しておこうと思いませんか?
僕はズッポシそう思っています。
さて、カスタマイズ記事2回目。
これで仮想通貨Excel元帳に関する記事は、一旦の最終回となります。
ファイルは問題点が見つかった時に修正を加えています。
実際にカスタマイズする前に、もう一度過去記事からファイルをダウンロードするようお勧めします。
前回ご紹介しきれなかった、取引所の種類を追加、変更する方法についてご説明しましょう。
取引所の種類を追加するには
もう一度、画面構成をおさらい。
取引所の種類を変更する時に手を加えなくてはならないポイントは、
- 「残高表示エリア」に新たな取引所の行を追加、もしくは不要な取引所の行を削除する。
- 「仕訳帳エリア」の「貸方」「借方」の列(B列、G列)のプルダウンに新しい取引所名を増やす、もしくは不要な取引所名を削除する。
では、順を追って解説します。
1. 「残高表示エリア」
新しい取引所を追加する場合を例にとります。
赤ワクで示したところが取引所とウォレットが表示される範囲です。
その範囲内の、新たに取引所を追加したい位置の行を選択します。
「Binance」を追加してみましょうか。
画像の例ではセル「L2:V2」を選択しています。
行そのものを選択して挿入してしまうと「仕訳帳エリア」にも空行ができてしまうので、セル自体を選択するのがポイントです。
選択が完了したら、
とします。すると空行ができます。
できた空行に、隣の行にある具をコピペししょう。
そして今回もテキストの置換。
やっていることは、選択したセルの範囲にある「Bittrex」という文字列をすべて「Binance」に変更しているだけ。しらみつぶしに手動で変更しても同じ結果です。前回通貨名を置換した時と同じですね。変更箇所が多いので間違えないように置換しましょう。
そうそう、置換する時は、「数式内も検索」にチェックをするのを忘れないようにして下さい。
追加した行の位置によってはもうひとつ作業が必要です。
今回は2行目に新しい行を追加したので、「合計」の行の合計範囲がずれてしまいました。
「合計」の行のセル内にはSUM関数が入っています。この開始行が3行目になってしまっているので、追加した行が集計されません。
開始行が2行目になるように置換してください。
「残高表示エリア」の変更は以上です。
追加した取引所で取り扱いのない通貨のセルの中身は消去してしまってもよいですよ。
2. 「仕訳帳エリア」
「借方」「貸方」と書いてある列(B列とG列)に修正が必要です。
「借方」から行きましょうか。まずB列のプルダウンを示す▼が付いているセルを選択。(画像ではB2からB37)
その状態で、
新しい取引所「Binance」を追加したので、「条件」の入力エリアにカンマ区切りで「Binance」を追記します。入力されている順はプルダウンの並び順と同じなので、追加したい位置に追記してください。
ためしにどこかプルダウンをクリックしてみて下さい。
「Binance」が表示されれば成功です。
同じ方法で「借方」についても「Binance」を追記してください。
これで終了です。
前回記事に書き漏れましたが、このプルダウン▼、デフォルトでは37行目までしか入力されていません。足りなくなったらコピペしてつぎ足せば問題なく使えますよ。
テスト入力してみる
テスト入力して、「残高表示エリア」に正しく集計されるかどうかも確認してみてください。
こんな感じで集計されれば成功です。
「記帳に誤りがあります」と表示されているセルがあるのは、商品有高帳が未入力だからです。今回の修正を確認するには、残高の数量が正しく集計されていることが確認できれば十分です。
もしうまく集計されない場合は、置換や追記をした時のスペルミスや、セル範囲の指定ミスを疑ってください。
これにて説明完了
関数のロジックの説明とか、細かい部分は端折ってますので、Excelに詳しくない人は少してこずるかもしれませんね。
うまくいかない時はコメント欄に遠慮なくご質問ください。
さてさて。
この上昇相場、さすがに年が開けたら一旦調整が入りそうですね。
それでも僕はノーガード戦法(ガチホ)を変えません。
出川効果もありますし、年末はまだまだ上げると読んでいます。
「出川神」に感謝して、年末ご祝儀相場、まだまだいっしょに楽しみましょう!!
ではまた。
【仮想通貨と確定申告】その18 仮想通貨Excel元帳 カスタマイズ方法#1
過去記事でダウンロード可能な仮想通貨Excel元帳、本日はこちらのカスタマイズ方法をご説明します。
ファイルは問題点が見つかった時に修正を加えています。
実際にカスタマイズする前に、もう一度過去記事からファイルをダウンロードするようお勧めします。
Excelのセル関数の使い方などはある程度知識をお持ちという前提で書きますね。
また、説明にはGoogleスプレッドシートの画面を使いますので、Excelとはメニュー表記や位置などが異なります。ご了承ください。
カスタマイズするのは
- 通貨の種類を追加、変更
- 取引所の種類を追加、変更
以上です。
今回は通貨の種類を追加、変更する方法をご紹介します。
例をしてあげるのは通貨を追加する方法ですが、ご理解いただければすでにある通貨の変更もできるようになります。
通貨の種類を追加するには
まず画面構成をおさらい。
通貨の種類に変更する時に手を加えなくてはならないポイントは、
- 「残高表示エリア」の1行目に通貨シンボルを追加、ないし削除する。
- 「帳簿選択タブ」を増やす。もしくは不要なタブの名前を変えたり削除する。
- 「仕訳帳エリア」の「通貨」の列(D列、I列)のプルダウンに新しい通貨シンボルを増やす、もしくは不要な通貨シンボルを削除する。
では、順を追って見てゆきます。
1. 「残高表示エリア」
「通貨」プルダウンと書かれている範囲に書かれている通貨シンボルは、「仕訳帳エリア」の「通貨」の列(D列、I列)のプルダウンに対応しています。
不要な通貨シンボルは他の通貨シンボルに書き換えて構いません。また追加する場合は M列からU列の間の好きな場所に列を追加してください。
例としてU列の左に1列追加します。
空の列ができました。
そこに隣の行の具をコピペします。
通貨シンボルは、えっと「NAB」にしときましょうか。
隣のE列の具(E2からE15)を選択してコピペしました。選択は解除しないでください。そのままで、
通貨シンボルの文字列を置換します。
「XEM」の列からコピペしたので「XEM」から「NAB」に置換しています。
「数式内も検索」にチェックをするのを忘れないようにしてください。
やっていることは、選択したセルの範囲にある「XEM」という文字列をすべて「NAB」に変更しているだけです。しらみつぶしに手動で変更しても同じ結果です。でも変更箇所が多いので置換したほうが間違えがありませんよ。
置換した直後は「#REF!」となっているセルもありますが、今は気にしないでください。
「残高表示エリア」の変更は以上です。
2. 「帳簿選択タブ」
商品有高帳のタブならどのタブでも良いのですが、例では「XEM」のタブをコピってます。
タブの名前を変えてください。「NAB」にします。
「XEM」で使用していた時の値が入っていますので、不要な値を選択して削除します。
注意するのは、「残高」欄の数式は削除しないということです!
I列からK列では「移動平均法」で計算するための数式が入っています。これはそのまま利用します。
削除するのはA列からH列の範囲ですよ。
「帳簿選択タブ」の変更は以上です。
3. 「仕訳帳エリア」
「通貨」と書いてある列(D列とI列)に修正が必要です。
まずD列のプルダウンを示す▼が付いているセルを選択。(画像ではD2からD37)
その状態で、
新しい通貨「NAB」はU列に追加しました。
なので「条件」のなかの「'仕訳帳'M1:T1」を「'仕訳帳'M1:U1」に変更して「保存」。
ためしにどこかプルダウンをクリックしてみて下さい。
「NAB」が表示されれば成功!
今回はここまで
結構長くなりました。
次回は取引所を追加、変更する方法をご説明しますよ。
なるはやで、書きます。。
記事が記事だけに、年内には間に合わせます。
ではまた。
【仮想通貨と確定申告】ニュース 国税庁より「仮想通貨に関する所得の計算方法等について」が出ました
国税庁より「仮想通貨に関する所得の計算方法等について」が出ました。https://t.co/J7pivun22l …
— 金光碧 (@KanemitsuMidori) 2017年12月1日
なんと、差し迫ったこの時期に出ました。
ページ数も少ないのでさらっと読めますよ。お読みでない方はぜひ。
でももっとわかりやすく各項目を一言でまとめちゃいました。
大方従来の解釈通りで、このシリーズ記事とも大きく違わない内容だったのでホッとしたところです。
1. 仮想通貨の売却
所得金額(利益)= 売却金額 ー 仕入単価 × 売却数量
っていう、当たり前の計算。 について。
2. 仮想通貨での商品の購入
仮想通貨で商品を購入した場合も、一旦商品価格で現金化したと考えて上記1の計算で所得金額を求めてね、っていうこと。
3. 仮想通貨と仮想通貨の交換
仮想通貨間取引も、上記1の計算で同様に求めてね。
4. 仮想通貨の取得価額
このシリーズでくどいほど解説した、「移動平均法」による取得価額の計算。
その方法で計算してね、ってこと。
はい、はっきりと「移動平均法」で、と指定されちゃいました。
(継続適用するなら、「総平均法」でもいいよ、って書いてあるけど、「総平均法」なんて年間のトレード全て終了しないと取得単価計算できないんだよね。仮想通貨間取引の場合は超手間もかかる割にあんま魅力ないよね。採用したい人いるの?)
2017.12.5 追記
イケハヤ様が「総平均法」で取得価額を計算したと記事にされました。
1年分遡って計算するには「移動平均法」より「総平均法」の法が楽ですね。ただ「総平均法」でも仮想通貨間取引の取得原価計算は例の「取引当日の日本円レートを調べる」という不毛な作業が生じるので、1年分全てたどるのは相当しんどいですよ。同じしんどい思いするなら、僕は日々コツコツ「移動平均法」で計算してゆきます。そうそう、最初に「総平均法」を選択したら、翌年以降もずっと「総平均法」で計算しないとイケマセン!その点ご注意。
というわけで、夢の「先入先出法」による楽々記帳は、本当に夢で終わってしまうのか!?
来年の記事に乞うご期待です(笑)
5. 仮想通貨の分裂(分岐)
フォークでなくて、分裂(分岐)。あえてフォークと言わない硬い言い回しが国税らしくて好感(笑)
フォークコインの取得価額は0円でいいお!
よっしあー、これは嬉しい♪
6. 仮想通貨に関する所得の所得区分
雑所得。
もう耳タコ。何遍もご丁寧にありがとうございます。全然嬉しくない。
事業所得者が事業用資産で取引した場合や、露骨に仮想通貨取引で食ってる人は事業所得でもいいよ。
7. 損失の取り扱い
雑所得以外の所得とは損益通算できまへん。
8. 仮想通貨の証拠金取引
はやりの仮想通貨FXっすね。
淡い期待がありましたがやっぱりこれも雑所得。
9. 仮想通貨のマイニング等
マイニングは取得時に利益計上してね。
電気代とか経費にしてあげるんだからさ。
てかマイニングはマイニングなんだね。
発掘とか採掘とか鉱業じゃないんだ(笑)
どうでしょう?
って言われても困ると思いますが。
なにかサプライズありました?
いまさら具体的に言ってくれなくても、タックスアンサーというわずかな手がかりから、さすがの界隈の皆さんが知能を結晶して導き出していた答えと、あまり違いがなかったですね。
個人的にはフォークコインの取得価額0円が公式に認められたのは相当嬉しい!
これ認められなかったら、これから迎えるビットコインのフォーク祭りが、ヘタしたらフォーク地獄ですよ(半笑)
あとは、「移動平均法」が指定されちゃったのが何気に辛い。
なんで「総平均法」だけじゃなく、「先入先出法」もOKって言ってくんないの(泣)
というわけで、「移動平均法」で行くなら、ぜひみなさん絶賛公開中の我がファイルをご利用ください。
ではまた。
【仮想通貨と確定申告】その17 記帳方法を解説するよ チュートリアル#最終回
時すでに今日は11月末。
完全に締め切りオーバーしておりますが、ようやく今回でチュートリアル最終回。
そして後日、なるはやでダウンロードファイルのカスタマイズ方法をご紹介して、長々と続いたシリーズ、一旦の締めとさせていただこうと思っています。
それでは参りましょう。
2/20 Coincheckにて1BTC@20万円で購入
CoincheckのBTC残高が増えて、CoincheckのJPY残高が減るので、入力はこうなります。
仕訳自体は、1/10と全く同じです。
商品有高帳の記帳も1/10同様、BTCが増える取引なので、「受入」に記入します。
数量に1BTC、金額に20万円を入力して、@ = 金額 ÷ 数量とします。
今回は右端の残高欄の表示が変化します。これが重要。
「残高」の@の値が100,000.00000000から125,031.28911139に変化しています。この計算のロジックは以下の通り。
(299,500円(これまでの残高)+ 200,000円(今回買った金額))÷ 3.995BTC( 全BTC)= @125,031.28911139円
これが「移動平均法」による計算です。「移動平均法」では新たにポジションを取得した時に@が変化するのが特徴です。(売却などポジションが減る時には変化しません。)
ここ、重要ポイントですよ。
2/28 PoloniexにてETCを0.995BTCで購入
1/30の取引と似ていますが、異なるのは今回売却損が生じている点です。
売却損が生じた場合は借方の金額<貸方の金額となりますので、売却益を借方に記載して貸借をバランスさせます。
商品有高帳については特筆するべき点がないので割愛。
3/1 Zaifにて50000XEM@1円で購入
3/10 Zaifからnano walletへ50000XEM送金 送金手数料は15円
これら単に以降の仕訳の解説のために必要だったので行った取引です。(nano walletにNEMをいれときたかっただけ。)
3/1は1/10などJPYによる購入の仕訳と同じ。3/1は1/20など送金の仕訳と同じです。
なので特に改めて解説すべきポイントはありません。割愛。
3/20 Delegate Harvesting開始 手数料6XEM
3/10などの送金の場合と似ている仕訳になるんですが、通貨が他の口座へ移動しないという点が異なります。なので単に貸方の残高が減り、それに対応して借方に手数料を記帳しています。
商品有高帳はこのようになります。単にXEMの残高が減るだけですね。
同様に何かの手数料をコインで支払った場合もこのような仕訳でよいでしょう。
3/30 Harvest報酬100XEM入金
8/1 BTCハードフォーク 3BTCより3BCH誕生
10/1 Coincheckへマイニング報酬5ETH入金
いずれもラッキーで無からコインがもらえた場合の仕訳です。10/1に関してはマイニング報酬なので、電気代などの経費がかかっていますから無からはないのですが、コインを得たことに対しては無から得たという解釈で良いでしょう。電気代などの経費は別途会計ソフトにて計上します。
2017.12.1追記
本日国税庁より「仮想通貨に関する所得の計算方法等について」が出ました。
マイニングについては取得時に利益計上しなければならないようです。
フォークコインについては、はっきりと取得原価0円よいと発表されました!
さて問題となるのが、もらった段階で利益計上すべきかどうかという点ですが、これについては一貫性があればどちらで解釈しても税務上は問題ないと思います。
たとえば8/1のようにフォークコインを得たケース。これについては「0円で購入した」という解釈もできますし、当日のレートから計算して「XXX円のコインをもらった」という解釈もできます。
しかし仮想通貨の場合暴落も日常的にあり、特にフォークコインの場合、誕生の瞬間には数万円の価値があったけど、その後価値が0円になるということも想定されるわけです。それを取得時点で利益計上してしまうと、税金の払い損になる可能性も相当高いわけです。なのでここは「0円で購入した」と解釈しておいて、実際に日本円で売却する、ないしは他のコインと交換する際に利益計上するほうが圧倒的に安全です。なので私は後者を採用しています。
そして仕訳帳は貸借がバランスしない例外となります。青色申告に用いる会計ソフトによる実際の仕訳帳には登場しない仕訳なので特に問題ありません。でも貸借があってないと気持ちが悪い方とおっしゃる几帳面な方は、貸方は0JPYと入力しておけば良いでしょう。入力してもしなくても集計の結果は変わりません。
8/1のBCHの商品有高帳を参考にします。「0円で購入した」という解釈なので、@、金額とも0円で入力します。
Zaifのチップなどの仕訳もこれと同様に「0円で購入」という考えで記帳するのが現実的だと思います。実際チップなどは不特定多数の方から、不特定の日に入ってくるものだと思いますが、「XXX円のコインをもらった」として毎日記帳しようと思ったら、とても大変です。なにせ、計算には当日の日本円レートが必要となりますので、チップをもらった日はすべてレートを調べなければならなくなってしまいます。チップなのでおそらく高額ではないと思いますが、高額ではないもののために手間ばかり増えては消耗するだけですね。「0円で購入」として記帳すれば、仕訳帳と商品有高帳の残高を増やすだけで済みますのでグッと楽になります。
2017.12.3追記
マイニング報酬同様、フォークコインとは異なりすでに価値の定まったものの贈与のため、受け取った時点の評価額で利益計上するのが本来の方法だと思われます。(Harvest報酬含む)
僕は記帳の手間を省きたいのと、少額のため「0円で購入」の解釈で記帳するつもりですが、正しい方法については個別に税務署へ確認して下さい。
9/1 Zaifにて1BCH@3万円で購入
最後に、フォークコインを取得した後に、追加購入した場合はどのようになるかという確認です。記帳は1/10などと同じです。ただ、追加購入したことでどのように商品有高帳の「残高」の@が変化するのか見ていただきたかっただけです。計算ロジックは2/20の解説と同じです。
3BCHはタダでもらいましたが、その後1BCH@3万円で購入すると、取得原価は3万円 ÷ 4BTC = @7500円となります。
お疲れ様でした!
以上でようやくチュートリアル終了です。
最後まで待ってくださっていた読者の方がいらっしゃったとしたら、こんな年末間近まで記事をひっぱってしまったこと、おわびします。
明日は12月。もうじき決算です!
皆さん、いっしょに良い決算を迎えましょう。
ではまた。
【仮想通貨と確定申告】コラム ひょっとして棚卸資産の評価方法は、「先入先出法」が最強!?
先日のコラムにて、三分法による記帳で大幅な省力化ができる可能性について検証しました。
最終的にネックになったのが、商品有高帳の記載。つまり、取引の記帳は対日本円取引のみで済むのですが、商品有高帳は仮想通貨間取引もすべて記帳しなければならないので、この点の省力化ができないということです。
そして「最終仕入原価法」を用いれば、商品有高帳の記載は不要になりますよと書きました。でもデメリットも大きいんです。
しかし、はたと思いつきました。
もう一つあるではないですか!
「先入先出法〜」(♪ドラえもん風)
ダウンロード可能なファイルでは、「移動平均法」を採用しています。Excelで商品有高帳をつけるのに計算しやすく、かつ、実際の取得原価に則した値が得られるのが理由です。しかし反面、期首付近の取引の値が少なからず最終的な取得原価に影響しますので、商品有高帳をつけていない場合は期末時点から遡って在庫ポジションの取得原価を計算することができないのがデメリットなのです。
「最終仕入原価法」ならば、その期の最後に取得したポジションの取得原価をそのまま在庫ポジションの取得原価とできるので、商品有高帳をつける必要はなくなりますが、いかんせん価格変動の激しい仮想通貨、在庫ポジションのすべてを、最終取得時のポジション価格で行えば、今年のような上昇相場では在庫の過大評価となり、当期の納税額が膨らんでしまいます。。
先日まで、ここで手詰まり、となっていたのですが。
ありました。「先入先出法」♪
計算のロジックはこちらを参考にしてください。
計算方法は?
簡単に言えば、売却は先に取得したポジションからおこなったとして商品有高帳を記帳してゆく方法です。(記帳はちょっと面倒)
でも頭を切り替えると、先入先出法を採用すれば、商品有高帳を記帳せずに在庫評価を行う、ということが可能なのではないでしょうか?
「先入先出法」では、在庫ポジション、つまり最後に残っているポジションの取得原価は、最後に買った時の価格から遡って考えれば良いことになります。
例をあげましょう。
期末に7BTC持っていたとします。
この取得原価を知りたい時は、期末から購入履歴を辿ります。
12/1 2BTC@100万円
11/1 3BTC@80万円
10/1 5BTC@60万円
はい、10/1まで辿ったら、7BTCを超えました。
この7BTCの取得原価は、
2BTC × 100万円 + 3BTC × 80万円 + 2BTC × 60万円 = 560万円
となります。
もしお分かりでない場合は、上記「犬簿記」さんのサイトをよく読んでみてください。
つまり、「先入先出法」なら商品有高帳をつけなくても、実際の取得原価に則した棚卸評価額が得られるというわけです。
これで、三分法による楽々記帳&きっちり納税が実現!となりそうです。
ちなみに「先入先出法」を採用する場合には、あらかじめ税務署に書類を提出する必要があります。過去記事で紹介しておりますので参考にしてください。ちなみに書類の提出が必要なのは個人事業主ないし法人の場合です。個人の雑書得申告の際に「先入先出法」が適用できるかどうかは、所轄の税務署に確認してください。
いざ税務署へ!
というわけで平日に時間がとれた本日、早速税務署に行ってきました。
しかし僕の場合は今年開業届を出した際、すでに「移動平均法」を採用すると書類を提出済みなので、年度内の変更はできない、という結果と成りました。。無念。(国税のページにもちゃんとそう記載がありますので、税務署職員の方は悪くありません。)
まだ1回も決算をしていないので、特例的に訂正を認めてもらえないかワンチャンに賭けてみたのですが、やっぱりそうは問屋がおりませんでした。
提出期間の定めが当該年度の3月15日までとなっておりますので、今年はもう変更ができません。来年度になったらダメもとでまた出しに行ってみます。
これからご新規で提出される方は、あとから気軽に変更することはできなくなりますので、ぜひ慎重に選択して提出してください。
以上、夢の三分法による楽チン記帳、は実現可能という記事でした。
しかし長々解説しているダウンロードファイルの記事のありがたみが一発でぶちとんでしまうほどのインパクトです。。
とりあえず「移動平均法」で決算する今期には(「先入先出法」への変更が認めてもらえなければ来年以降も(泣))利用価値がありますので、責任持って最後まで解説いたします。よろしければもうしばらくお付き合いのほどお願いいたします。(早く書かないともう年末!)
ビットコインFXで稼いだ手法(って僕じゃないけど)
BTC FXが盛り上がってるようですね。
大昔に為替のFX(って言い方へんですが)で大金を溶かした経験があるので、BTC FXは見て見ぬ振りをつづけていました。
仮想通貨に興味を持ったきっかけは、レバなしHODLオンリーでも儲かりそう(どんだけ凹んでも強制決済がない)という憶測からなんですが、それは短期トレードで消耗した経験があるからなんですよね。
そんなつもりで始めた仮想通貨ですが、毎日相場を見ていると、短期売買もやりたいという衝動が芽生えてものです。
でも、含み益の大きいポジションを抱えたまま短期売買も行うと、ポジションの取得原価がガンガン切り上がってゆく(最近の上昇相場では、商品有高帳の残高が取引のたびに増加してしまう)ので、今年の納税額がガンガン増えてしまいます!(来年は減りますが)
これではなんのために利益を出しているのかわからない状態になってしまいます。
つまり、数万円の利益のために、含み益数十万円が利益として確定することになるので、実際の利益が税金で飛んでしまうイメージ。翌年の税金は安くなるとはいえ、なんとも虚しいです。
というわけで思いついたのがBTC FXでして、これなら現物とは別ポジションとして計算できます(おそらく)ので、BTCによる利益とならず、含み益が確定して納税額ガンガン増えちゃうよ問題がクリアーとなるわけです。
というわで最近興味津々のBTC FXですが、具体的な手法を公開してくださっている神記事を発見しましたので、思いっきり個人的にメモっておきます。
僕はまだ始めていませんが、なかなか面白そうですね。
今度は溶かさないように、じっくり戦略を練るところからスタートします。
【仮想通貨と確定申告】コラム 三分法と分記法で記帳した場合、結果の利益は一致するのか?
お久しぶりです。NABです。
今朝Trezor様より神メールが届いていました。
なに、ハードフォーク中止になったの?
Twitterで界隈でも話題になっていますね。
あまり情報追っていませんが、Trezor様がそうおっしゃるならもちろん信じておきます。
やはり大御所大石様の予想通り、大方のマイナーが経済的合理性に従って行動した結果なのでしょうか。サトシが生み出したビットコインの基本設計って、やっぱりすごいんだなぁとあらためて関心しきりです。
さて、今日はまとまった時間が取れるので久々に記事を更新しておりますが。
いや、まとまった時間は結構あった(笑)のですが、年末も近づいているということで、自身の帳簿の整理に追われておりました。ええ、記事にしながらも、自分の帳簿はタックスアンサー対応していなかったもので。
ようやく遡って入力が完了して、改めて現状の利益額が確定。
そして懸案事項だった、「三分法と分記法の記帳結果が一致するか?」についてようやく検証することができました。
三分法と分記法の記帳結果は一致するの?
結果は、
完全一致!
見事に完全一致。1円未満の端数まで一致しました。
ただ、ひたすら過去の帳簿を遡って入力するのは疲労度も高く、単純な記帳ミスを連発しましたので、完全一致という回答を得るまでは道のりは長かったです。
頑張った甲斐がありましたが、あたりまえといえばあたりまえですね。三分法と分記法、どちらを選んでも結果が一致するので、どちらも記帳ルールとして自由に採用することができるんですよね。
ではここでおさらいしましょう。
トレードのたびに利益を計算する方法。
10万円で買ったBTCをETHに変えただけなので、日本円で利益は受け取っていないけれど、その時のETHの日本円評価額が20万円だったら、利益は10万円として記帳する方法。
過去記事でご提供している、Googleスプレッドシート形式の帳簿で採用しているのはこの記帳方法。
それに対して、
仮想通貨間の取引は、記帳はしない。
記帳するのは日本円で仮想通貨を買った時と、仮想通貨を売って日本円を得た時だけ。
利益は期末に、
利益 = 年間売却額 ー(期首保有ポジション評価額 + 年間購入額 ー 期末保有ポジション評価額)
として求める方法。
でした。
これが一致するということは、
対JPYで売買した取引だけ記帳して、あとは年末に保有ポジションの評価額さえわかれば、面倒な、「仮想通貨間取引のたびに利益計算をする」という不毛なタスクに追われなくて済む!?
ということになるのですが。
はたして、本当にそうなのでしょうか?
年末の保有ポジションの評価額って、どうやって求める?
はい、新たな問題浮上。
どうやって求めましょう?
最後に買った時の金額?そう簡単に行けば良いのですが。
では、帳簿の画面を見てください。
赤枠で囲った紫色のセルが、全ポジションの評価額の合計です。
ではこの金額ってどうやって求めたんでしたっけ?
それは、
商品有高帳の残高、最終行の値でした。
つまりこの例だと、BTCの取得単価は125,031円なので保有数3BTCをかけると、375,093円が評価額になります。これを全通貨合計したものが全ポジションの評価額合計となります。
結局キーになるのは赤枠で囲った取得単価です。
でもこの数字、年末になってポンと求めることがっ! できないんです・・・。
この数字が得られるのは、商品有高帳を1年間まじめに記帳した結果です。仮想通貨間取引の際の評価替えもすべて商品有高帳に記帳しているから得られる数値なんですよね。ズル?して簡単に正確な納税額を計算できないものかと考えてみたものの、やっぱり全部記帳する必要がある、ということがわかったというオチになりました。
しかし、ちょっとだけズルできますね。それは、
真面目に記帳するのは、商品有高帳だけでOK
ということ。
対JPYの購入、売却のみ会計ソフト(私はMFクラウドを使用)に記帳して、商品有高帳だけスプレッドシートに記帳する。
年末に決算する時に商品有高帳で求めた全ポジションの評価額合計を、会計ソフトに期末在庫として入力すれば、正しい利益が得られます。
僕はこの方法でやろうかなー、って思っています。
やっぱり楽できないもんですねー。
それでもなおやっぱりスーパー簡単な記帳方法に未練があるというお方に、もう一つアイデアがあります。
それは、
禁断の、「最終仕入原価法」を採用!
そうです、過去記事でも紹介しました。
実は税法上、デフォルトの期末在庫評価方法はこの、「最終仕入原価法」なんです。
どういうことかと言いますとこの評価方法、
期末在庫評価は、最終購入時点の取得単価をもとに求めるという超ラジカルな方法です。
つまり、
年末に100BTC持ってます。実際いくらで買ったのかはもうわかりません。
でもでもでも、年末に0.01BTCを100万円で買ったら、その評価額は、
(100BTC + 0.01BTC)× 100万円 = 1億1万円!
となります。
ブヒャー、仮に年初に1BTC数万円で買ってたとしてもこうなるんです。
期末在庫が過大に評価されるとその年の利益は増えてしまうのでしたね。(翌年は減りますが。)
ということで、あまり現実を反映した評価額とはなりません。
取得原価が変動しやすい在庫を評価する場合、会計上は望ましくない方法なのですが、簡便なので税法上はデフォルトの評価方法なのですよ。
以下のサイトが参考になります。
なので、本当に簡単に記帳したい方は、最後に購入したポジションの取得原価を用いてポジションの評価額を計算して、それを元に税額を求めてみてはいかがでしょうか。
なんせ、
税法上、デフォルトの方法なので!
ただ、先日のタックスアンサーにおける「仮想通貨間取引も課税」という指針とは完全に矛盾する利益額がもとめられますので、税務署がOKと言ってくれるかどうかは、まったくわかりません。
おそらく、個別の税務署でも対応が異なるでしょう。
最後のポジション購入額を使って求めた税金が損にならない&税務署と交渉するリテラシーのある方はお試しになってみてください。(そして、是非結果を教えてください(笑))
以上、お役に立ちましたでしょうか。
【仮想通貨と確定申告】その16 記帳方法を解説するよ チュートリアル#3
前置きなしでいきますよー。
2/1 PoloniexからZaifへ10ETH送金 送金手数料は10円
チュートリアル#1で解説した1/20の取引と同じ仕訳ですね。パスします。
2/10 Zaifにて5ETHを10万円で売却 売却益は3.75万円
売却益の仕訳。チュートリアル#2ではタックスアンサー対応のため、仮想通貨間取引を日本円換算して売却益を計上しましたね。
今回はリアルに日本円に利確した場合の仕訳です。
仕訳自体はあらためて解説するほどでもなく、単純に売却するETHと貸方、得たJPYを借方に記入するだけ。
そして差額を売買益として貸方に記入。貸借を一致させます。
注目して欲しいのが、赤で記したETHの仕入れ価格の62,500円と、売却益の37,500円。
この数字、仮想通貨間取引を単に物々交換として記帳した場合の金額と変わってくるんです。
ダウンロードコーナーに置いてある、ファイル「元帳ダウンロード(解説用)」(JPY利確版ではないほう)では、この仕訳の金額はこうなっています。
それぞれのファイルで、ETHの評価額が異なるからこのようになるんですね。
この差が生じたのは1/30です。
「JPY利確版」と「そうでないほう」の比較をします。
「そうでないほう」
2BTC=20ETH=20万円(=BTCの取得原価のまま)→1ETH=1万円
「JPY利確版」
2BTC=20ETH=25万円(=トレード時のBTCの評価額)→1ETH=1.25万円
「JPY利確版」ではETHの取得原価(1/30)が高くなるので、実際に売却(2/10)した時の売却益は低くなります。
売却益はこのように求めますね。
売却益 = 売却価格 ー 取得原価
取得原価の見積もりが高ければ、売却益は低くなります。
つまり、タックスアンサーにならって仮想通貨間取引の都度、日本円評価額から売却益を計上したとしても、通算すると利益(と税金)が増えてしまうわけではないです。
そして、仮想通貨間取引時点の日本円評価額というのも、厳密なものでなくて良いとわかります。
BTCをアルトに変えた時の正確な日本円レートなんてわからない!
などと神経質に考えなくても大丈夫です。
少々安く見積もっても、実際の利確(日本円に変えた時)のときの利益(と税金)が増えるだけですし、逆に高く見積もっていれば、その時点での利益(と税金)は増えますが、実際の利確の時の利益(と税金)は少なくなるんです。
あとから記帳する場合は、取引所から時系列データを手に入れて、取引をした日の終値を用いる、などのルールで記帳して行けば良いでしょう。
ちなみに2/10時点の売却益は、「JPY利確版」で8.75万円(1/30 5万円 + 2/10 3.75万円)、「そうでないほう」で5万円。
「JPY利確版」の方が3.75万円利益が多いじゃないかー!
という声も聞こえてきそうです。
しかしこれは、全ポジションを決済していないからですね。
3.75万円の差は商品有高帳に反映されています。
まずは「JPY利確版」の商品有高帳。
赤いラインのところが、2/10時点のETH残高、187,487.5円。
そして、「そうでないほう」の商品有高帳。
149,990円。
その差は、
187,487.5 - 149,990 ≒ 3.75万円
です。
つまり、2/10時点で「JPY利確版」の方が売却益3.75万円多いのですが、ポジションの評価額も3.75万円多いので、次回以降の利確の時に利益が少なくなり、その差がなくなるわけです。
先日のコラムでお伝えしたかったのは、まさにこのことでした。
くどいようですが、仮想通貨税制を理解する上で大切なポイントだと思いますので、繰り返させていただきました。
エクセルファイルを使って、皆様にも実感していただければと嬉しいです。
【仮想通貨と確定申告】その15 記帳方法を解説するよ チュートリアル#2
久方ぶりの記事更新でございます。
気がつくと、丸3週間更新をサボっておりました。その要因は、
- 引っ越し(ブログの引っ越しではなくて、リアルに住まいの転居)
- 相当使い込んでいるMacが遅すぎる→思い切ってOSダウングレード
- しばらく書いていないと、更新がはてしなく面倒になる
えー、主な要因は、「3」ですね。。
記事の更新は、まめにしましょう(大反省)
さて、「2」のMacが遅すぎる件に関して、本当に致命的でした。
2007年iMacと、2009年MacBookProを使って記事を書いていますが、同時多発的に重くなったんですよ。しかも負荷が大きいアプリの処理が重いというレベルではなく、
文字入力ができない!!
文字入力って、めちゃ基本事項じゃないですか。水道ひねっても水が出ないから、うんこもできないレベルの不自由さです。
現象としては、
キー入力する→変換候補が表示されるまでえらい時間がかかる(イラリ)→やっと候補が表示され、候補を選択→入力した文字が消える(激怒)
なんの冗談でしょう。。
ここまでの流れで1分以上時間が経過するんですよ。たぶん弘法大師様でも発狂すると思います。
原因はMacのスペックに見合わない過剰なOSアップグレードかと思い、思い切ってダウングレード。
- 2007年iMac:OSX El Capitan → OSX Yosemite
- 2009年MacBookPro:OSX Sierra → OSX Yosemite
めっちゃ思い切ってダウングレードしましたが大正解。今はあたりまえに文字入力ができるありがたさに酔いしれております。
超個人的なメモですが、今回助けていただいたサイトをリンクしておきます。
Mac OS Xをダウングレードする3つの方法 | カズログ
仮想通貨間取引の記帳
では前回に引き続き、ダウンロードしたファイル「元帳ダウンロード(解説用 JPY利確版)」の黄色いセルに書いてある取引の入力方法を解説します。
もうひとつ「元帳ダウンロード(記帳用)」を開いて、そちらに実際に入力してみましょう。
1/30 Poloniexにて20ETHを2BTCで購入
まずは売却するBTCの仕入れ単価を知るために、商品有高帳を先に記載します。
#3に追記します。今回2BTC売却しますが、現在の仕入れ単価は1行上の「残高」の@なので10万円です。
「金額」は数量×@で20万円です。
つづいて仕訳帳に入力。
売却する通貨を右側、購入する通貨を左側に記入します。
まず右側に2BTC、20万円を入力。
そして引き換えに得たETHを左側に入力。20ETH、20万円。
単に物々交換ですから本来ならこう入力したいところなのですが、9月に国税より出たタックスアンサーで仮想通貨間の取引も課税と一応明確になったので、ここに利益を記載しなければならなくなりました。
実際の取引は、2BTCと20ETHの交換ではい終了、なのですが、帳簿上の利益を記入します。
このときのレートが、12.5万円@1BTCだったとすると、20ETHの価値は25万円になりますので、
こう入力します。
そしてETHに商品有高帳には、
こう入力。
数量20、金額25万円なので、@は金額÷数量で12,500円とします。
さて、未入力のものがあと一つあります。
仕訳帳の貸借が合っていませんでした。借方は25万円、貸方は20万円でしたのであと5万円貸方に記入が必要です。
これで貸借が合いました。
残高を確認してください。
PoloniexのBTC残高が0.995に減り、ETH残高が20へ増えました。
また売買益5万円も集計されています。
そして、判定欄がすべてOKと表示されていれば、記帳エラーがないことが確認できます。
今回のポイント!
- 仮想通貨間の取引時に、現在の日本円レートから「売却益」をする
- 「売却益」は仕訳帳の貸方に記帳
ふひゃー、
久々に記事書くと意外としんどいですね。
前置きの方が長かった気がしますが、今回はリハビリということでここまでといたします。
【仮想通貨と確定申告】その14 記帳方法を解説するよ チュートリアル#1
ダウンロードしたファイル「元帳ダウンロード(解説用 JPY利確版)」の黄色いセルに書いてある取引の入力方法を解説します。
もうひとつ「元帳ダウンロード(記帳用)」を開いて、そちらに実際に入力してみましょう。
1/1 銀行からCoincheckへ100万円入金
プラスになる取引を左側(借方)、マイナスになる取引を右側(貸方)に記帳します。
CoincheckのJPY残高が増えて、銀行残高のJPY減るので、入力はこのようになります。
今回はJPYのみの取引なので、商品有高帳への記帳はありません。なので「#」は空欄です。
この時の残高は、
こうなります。
WalletのJPY残高は-100万円となります。JPYのウォレット、つまり銀行です。この残高は銀行口座と仮想通貨取引口座間の入出金残高を意味するので、実際の銀行残高とは異なります。
1/10 Coincheckにて1BTC@10万円で購入
CoincheckのBTC残高が増えて、CoincheckのJPY残高が減るので、入力はこうなります。
BTCの取引なので、BTCの商品有高帳にも記載します。
BTCが増える取引なので、「受入」に記入します。
数量に5、金額に50万を入力。@は金額÷数量で10万とします。
商品有高帳に記帳する目的は、この@(仕入れ単価)を計算するためです。面倒ですが、大切な記録であることを理解してください。
そしてこの取引の「#」は1とします。これを仕訳帳の「#」にも記帳しておきましょう。照合するときに楽になります。
残高は、
Coincheckの残高は50万円と5BTCとなりました。そして、BTCの@には商品有高帳より10万円と転記されています。
1/20 CoincheckからPoloniexへ3BTC送金 送金手数料は500円
Coincheckから3BTC送金しました。Poloniexに着金したのは2.995BTCです。その差が手数料ですね。今回は先に商品有高帳に入力します。
3BTC送金を先に入力。「払出」数量に3、現在の@は一つ前の行の「残高」の@、図では「J4」のセルです。ここの10万を転記。金額は数量×@で30万円とします。
同様に2.995BTCの着金を入力。「受入」数量に2.995、現在の@ま「J4」セルの10万円。金額は数量×@で299,500。
そして「#」は2。
この情報をもとに仕訳帳を入力します。
Coincheck残高が減るので、貸方はCoincheckを選択。数量は3BTC、そしてJPY評価額の30万円を入力。
Poloniex残高は増えるので、借方はPoloniexを選択。数量は2.995BTC、そしてJPY評価額は299,500円を入力。
仕訳帳は貸借の金額が同じになるというのがポイントでした。30万円-299,500円で500円借方が少ないです。これが手数料ですね。
なので、借方に入力を追加。手数料を選択して数量は500JPYとします。これで貸借が一致します。
入力が終わったら、残高を確認します。
BTC残高はCoincheckで2減り、Poloniexで2.995増えました。
そして、手数料が500円増えています。
判定の欄はすべてOKになっていれば入力間違いはありません。仕訳帳、商品有高帳とも入力を終えたら判定欄を確認する癖をつけましょう。
今回のポイント!
- プラスになる取引を左側(借方)、マイナスになる取引を右側(貸方)に記帳
- JPY以外の取引は、商品有高帳にも記帳
- 商品有高帳をつけるのは、@(仕入れ単価)を計算するため
- 対応する#を入力しておくと照合がラク
- 仕訳帳、商品有高帳とも入力を終えたら、残高と判定欄のOKを確認
とりあいず今回はここまで。お疲れ様でした。
【仮想通貨と確定申告】コラム 仮想通貨間取引の日本円レートはどうやって決めるの?
先日のタックスアンサーにより、現在のところ仮想通貨間取引も課税の可能性が濃厚。
となるとみなさん、税額計算にお悩みですよね。。
そんな折、マナ様がよいタイミングで記事にして下さいました。
記事の一文を引用させていただきます。
この時の売買益に対する納税額を計算する場合、売買をした時間(〇月〇日〇時〇分〇秒)のビットコインの相場を正確に調べないと、正確な利確額も納税額も出せない。
そうなんですよ、僕もそう思っていました。
しかし先日のコラムを書くにあたって、あれこれ考えて気づきました。
ひょっとして、取引時点の日本円レートって、実は納税額にあまり影響しない?
どういうことなのか、解説してみます。
具体例
まずは購入した通貨が順当に伸びた場合。
取引1:10万円で1BTC購入
↓
取引2:1BTCで10ETH購入(1BTC = 20万円の時) 利益 = 20万円 - 10万円 = 10万円
↓
取引3:10ETHを30万円で売却 利益 = 30万円 - 20万円 = 10万円
通算利益 20万円
BTCをETHに替えた時に利確、そしてETHをJPYに替えた時にまた利確となります。
次は、BTC一気に伸びた時にETHに変え、その後下げた時。
取引1:10万円で1BTC購入
↓
取引2:1BTCで10ETH購入(1BTC = 50万円の時) 利益 = 50万円 - 10万円 = 40万円
↓
取引3:10ETHを30万円で売却 利益 = 30万円 - 50万円 = ▲20万円
通算利益 20万円
BTCをETHに替えた時に大きく利確!、しかしETHをJPYに替えた時は損切りとなります。
つまり上記2つのケース、
- 10万円で1BTC購入という出発点
- 10ETHを30万円で売却という着地点
は同一ですが、中間の仮想通貨間取引における日本円評価レートのみ異なります。
ということは、言い換えれば、中間のレートはどんなレートでも、着地点が同一であれば、税額は同じということです。
上記例ではスタートから着地まで、3回の取引を行っています。
その場合利益計算が2回生じるのですが、1回目の利益が大きければ、2回目の利益は低くなる、そんな関係だと言えます。なので、中間の取引時点の日本円レートは、実はあまり意味を持ちません。
その年の税額に影響するとすれば、取引2が終了した時点で12月31日を迎えた場合。
その際の利益は、ケースAでは10万円、ケースBでは40万円となります。こうなると税額が相当異なります。
しかし翌年はどうでしょう。
取引3を行ったのが翌年で、その後取引することなく12月31日を迎えたら、その年の利益は、ケースAでは10万円、ケースBでは▲20万円となります。はい、1年目はケースBの方が税金が高かったですが、2年目はケースBの方が税金が安いです!つまり、通算すれば中間のレートがいくらでも利益は同じ!
利益は同じ、でも税額は?
はい、そこですよね。賢明なみなさんはとっくにお気づきかと思います。
ケースBの2年目の利益は▲20万円ですが、税額は0円。それでおしまい。「雑所得」は利益が出れば課税ですが、損益を翌年に繰り越すことができません(泣)
なので、複数年通算した時の税額が同じになるということではない点には注意が必要です。しかし、仮想通貨の市場は当面伸びつづけることを信じて、毎年利益を出すぞ!という期待でトレードされている方がほとんどかと思いますので、この点はあまり意識をしなくて良いのではないかと思います。個人的には。
あと、複数年で通算した際の税額を考える時には、課税の累進性も考慮する必要もありますね。複数年通算したときの利益が同じでも、ある年の利益が大きければその年の税率は大きくなる可能性があります。
日本円レートはどうやってきめるの?
以上を踏まえて、仮想通貨間取引時点の日本円レートを正確に求める必要はない、というのが僕の結論です。
つまり、取得しやすいおおよそのレートで良いのです。ただ、取引ごとにそのレートをきめるルールにばらつきがあると、税額調整のために恣意的に変更していると税務署に判断される可能性があるので、一定のルールで取得するのが良いでしょう。例えば、コインチェックの終値のレートを必ず用いる、など。
税理士の丸山先生の記事を参考にさせていただきました。
棚卸すればもっと簡単?
そういえば、以前書きましたね。棚卸の記事。
販売業では通常、販売の都度利益計算なんでしないんです。
理由は、面倒だから。
それでもちゃんと利益額を計算できるのは、棚卸の考え方があるからでした。
仮想通貨でも、同じなんじゃないでしょうか?
棚卸の記事からざっくり引用すると、
粗利(売上総利益)= 売上高 ー 売上原価
売上原価 = 期首在庫 + 1年間の仕入合計 - 期末在庫
期末在庫 = 棚卸数量 × 仕入れ単価
という関係でした。
仮想通貨取引で言う「利益」は一番上の式の「粗利」のこと。
式より、利益を求めるのにまず必要なものは、
- 売上高
- 売上原価
です。
売上高は、一年間に仮想通貨を売却して得たJPY総額です。 仮想通貨間取引は無視してください。実際に入金されたJPYのみの総額です。
売上原価を求めるには、
- 期首在庫
- 1年間の仕入合計
- 期末在庫
が必要です。
期首在庫は、1月1日に持っていたポジションの取得原価。もっていなければ0で良いです。
1年間の仕入合計は、仮想通貨購入に使用したJPY総額です。売上高同様、こちらも仮想通貨間取引は無視して大丈夫です。実際に支出したJPYのみの総額です。
期末在庫は、12月31日時点で保有しているポジションの取得原価です。
期末在庫は、
- 棚卸数量
- 仕入れ単価
で求めます。
棚卸数量は、文字どおり、仮想通貨の数量です。
仕入れ単価は、最終的に購入した時点での日本円レートです。
するとどうでしょう、棚卸をするように、12月31日時点で保有する通貨の数量と仕入れ単価がわかれば、利益額が計算できてしまうことになります。
これなら、日本円レートを探してこなければならないのは、12月31日に保有しているポジションのもののみで良いことになります。ぐっと手間が省けますね。
ここで注意!
いわゆる三分法での計算でした。
これですごく簡単に利益計算できるはずですが、税務署が、このほうほうで良いと言ってくれるかどうかは、別問題!
もういまさら全部の取引の日本円レートなんて、いまさら求めてられないよ!
とさじを投げてしまいそうな方。諦めて確定申告スルーしてしまうより、この方法で利益計算してみて、「三分法による計算です。」と主張して確定申告されるのはいかがでしょう。むしろ会計の世界では三分法の方がスタンダードなので、あらかじめ税務署にお伺いをたてるのものよいかもしれませんね。もちろんこの方法で絶対に大丈夫、と保証しているわけではありません、あしからず。
理論上は分記法で記帳した場合と同じ結果になるはずなんですが、実際僕もまだ両方試して結果が一致することを確認したわけではありません。
今度時間がある時にやってみます!
【仮想通貨と確定申告】その13 仮想通貨Excel元帳の使い方(帳簿選択タブ)
絶賛暴落中。
でしたが、9月15日20時台から急激に戻し始めましたね。
ナンピン、は今の所しそびれています。
さて、Excel元帳の使い方、解説3回目。
今回は「帳簿選択タブ」についてお話しします。
3.帳簿選択タブ
「帳簿選択タブ」だなんてたいそうな呼び方してますが、つまり普通のExcelシートの切り替えタブです。
「仕訳帳」タブ以外は、タブに書かれている通貨名の「商品有高帳」です。
JPY以外の取引では、その通貨の残高と仕入れ単価を記録するために、「仕訳帳」に記入をする都度、「商品有高帳」にも記入をしなければなりません。めんどうですが頑張りましょう。
「BTC」タブをクリックしてください。
一番左の列より「#」。これは仕訳帳エリアの説明のときにも出てきました。帳簿番号です。 対応する仕訳帳の入力の「#」欄に記載します。突合しやすくするために記入します。
解説不要の「日付」。
そして、「受入」エリア、「払出」エリア、「残高」エリアと続きます。
「残高エリア」は自動計算です。入力可能な「受入」エリア、「払出」エリアは背景をグレーに着色しています。
「受入」に記載した取引はプラス、「払出」に記載した取引はマイナス、それを集計したものが「残高」になります。商品有高帳の仕組みはこちらで紹介しています。
各エリアには「数量」「@」「金額」欄があります。
「数量」は通貨の数量、「@」は単価なので、
「金額」=「数量」×「@」
の関係です。
最後に「残高」エリアの先頭行にはみ出て記載されている数値について解説します。
これは、「数量」「@」の最終行の値を転記しています。すなわち、最終的な「数量」と「残高」を表しています。この値は仕訳帳から参照しているため、単に参照しやすくする目的で先頭行に転記しています。特に数量については、仕訳帳での集計値と、こちらの残高は一致するはずです。記載に間違いがないか確認するために、一致していればOKと表示されるようにしていると、「残高表示エリア」の記事で説明しました。照合しているセルがわかりやすくなるように、どちらも青色に着色してあります。
おつかれさまでした。
取説、ってよむのしんどいですよね。
本当はさわって直感的にわかる、完成度の高いファイルを作りたいんですよ。
でもハイレベルすぎて今の僕にはできません。。泣く泣く取説で補完することとなりました。
「仮想通貨Excel元帳の使い方」と題しまして、3回に分けてファイルの構成を解説いたしました。
最後までお読みくださった方、本当にありがとうございます。
次回からは、「解説用」ファイルの黄色に着色したセルに書いたサンプル取引を、実際に入力する手順を解説いたします。