PutCoinToIIDX ( number a){wallet.coin-=a;iidx.coin+=a}
IIDXCoinConsume(number a){iidx.coin-=a}
Konami{gainCoinFromPlayerByCredibility(){accountPayable.coin+=1; }finishedService(){accountPayable.coin-=1; wallet.coin +=1}}
gainCoinFromPlayerByCredibility(amount: cash|token|AccountPayable){accountPayable.coin+=amount; }
這就是Debit 和Credit (中文借和貸)的分別。這四個字在double entry 中幾乎只可以用:「本無意義,就是左和右,記住income , equity 和liability 的加減和asset/expense相對」來作說明,而且嚴重程度近乎100%。
可是這對非金融生來說太沒把握了。
那麼我給一個日常和會計都通用的概念:
打iidx 時,你要credit 一下硬幣進框體,令到框體欠你錢(credit +1。
那為甚麼要double entry?
原因只有一個:「那是因為你有多個一個賬戶」
在這例子中:IIDX 機體裡有一個,銀包裡也有一個。
那我用投幣進IIDX 做例子:
PutCoinToIIDX ( number a){wallet.coin-=a;iidx.coin+=a}
到最後,總有一刻,我們會把幣用掉
IIDXCoinConsume(number a){iidx.coin-=a}
那麼,我們可以用函數名來表示進出紀錄了。
Credit wallet.coin, Debit iidx.coin (PutCoinToIIDX)
所以顯示Credit:1 提示這個未平衡的buffer
不對,這是存入了konami 的戶口,但我們記賬不記別人的戶口,我們只好虛構一個名為「支出」(expense) 的帳戶,作為黑洞。
黑洞是怎麼運作的?黑洞就是人類的目標:虛無飄渺的快樂。(準確來說是人的主觀目的和欲望)。
資產怎麼消失:Credit iidx.coin, Debit IIDXCoinConsume(快樂)
最後,你錢包的錢怎麼來的?答:別人的快樂,但別人的快樂我們也沒法記錄。(所以準確來說是對自身以外的貢獻和信用)可以想像成一個白洞。
怎麼產生和怎麼消失對應著會計中兩個種類: 支出和收入。
我們只要關注「支出」和「資產」這兩個帳就可以了。 其餘的,都只是關乎「信譽」和「借錢」。
那麼反過來想,
你在PutCoinIntoIIDX 後,這個coin 是你的嗎?還是Konami 的?
這就處於有點曖昧的情況:理論上是你的,因為konami 還沒提供服務,也是konami 的,因為你99%都取不回來。
那麼konami 如果想記錄這筆錢,它要怎麼寫呢?
對konami 來說,這就叫「應提供服務帳」, account payable。「應提供服務帳」每加1 ,konami 就多了1 現金,但也多了1 負債。所以這個帳對應的,和上面你的「收入」這個白洞一模一樣,會憑空產生資產。靠的,是你對「konami 在收錢後會提供服務」的信任。
`
Konami{
`gainCoinFromPlayerByCredibility(){accountPayable.coin+=1; }
finishedService(){accountPayable.coin-=1; wallet.coin +=1}
}
我在這解開這個迷:income 的來源是信任,信任的原理是證明,要麼PoW ,要麼PoS。(要麼我先工作一個月再收薪水,要麼我是Konami ,有很多的機子,而且都不會收錢後就關機)。回到一個動詞,Work 的記號就是Works, Stake 的記號是甚麼呢?想清楚,是Sales。Sales 的原理就是「給予公開信息,讓你相信」。
所以,credit works, debit wallet.coin。credit sales, debit wallet.coin。但也可以把works 和sales 通稱incomes。
我收獲(debit)了遊玩(plays)。plays, eats, 等等可以通稱expenses。人們都說,這段回憶是我最寶貴的財富,所以你儲蓄了回憶。
那麼我希望你在沒有死記甚麼左加右減的情況下記著了四個賬了。
最後贏了兩個BJD娃娃,還餘300元。
廢柴同盟的資產是300元加兩隻BJD。
那麼我們放進去的錢都變expense 了嗎?廢柴同盟又把錢expense了嗎?你可以這樣算,但更準確的說法是:
1.我們debit 了廢柴同盟50% 股份。
2. 廢柴同盟debit 了一堆現金,來源是equity。也就是我們對廢柴同盟的信任,所以它和payable 沒有兩樣。我們也相信在玩完後會把錢分回來的。
3. 最後,廢柴同盟用部分現金換了兩隻BJD。credit wallet.coin, debit BJD x 2
asset , equity 和liability 增減的名稱是「變數」
Income 和expense 增減的名稱是「函數名」
Equity 和liability 一樣,是用來說明asset 的來源。
Expenses 是目標和回憶。
Incomes 是信用的兌現。
~完結拉線~
就是
Expenses 的credit 和 Incomes 的debit
它們都是「付款的方法」例如:payable/receivable 或者cash,對於定義來說也就是函數的參數的types
gainCoinFromPlayerByCredibility(amount: cash|token|AccountPayable){accountPayable.coin+=amount; }
會計之所以有時讓人摸不著頭腦,正是因為它同一時間把「函數名」、「變量名」、「型態名」都可以當成項目名稱的一部分。在使用時好好想清楚它是怎麼樣的identifier 是件很有趣的事。