Try   HackMD

a few feedback

不需要執行硬分叉作業。

「硬分叉」不算是可以被執行的行為或是程序,它其實是系統穩定性不足造成的副產品。他是在說:在 t = 1 時整個網路承認 block B_0 是大家的共識結果,但是在 t = 2 時,因為某些原因,網路上的節點分成兩批。一部分覺得接下來的 block 是 B_a 另一部份的覺得是 B_b。而基於這兩個 block 的差異,這兩批電腦對於帳本的理解就會開始不同。相當於從一個網路硬生生變成兩個。

而上述的「某些原因」大多是節點們使用的軟體不一樣。這常見於網路系統的版本更新時:一些節點已經更新到新版了,一些節點還沒有。所以與其說是「不需要」,還不如說因為有 onchain self-amendment 所以「直接避免」這樣的情況。

後來隨著系統的升級與改善,開發人員也可以開始透過其他像是 SmartPy、LIGO、Fi 等多種不同語言在 Tezos 鏈上做開發。

難得還有人可以知道 Fi 的存在。🤣

區塊鍊是一種分散式系統 (也被廣義地稱為網路),而分散式系統是由節點構成。節點(硬體電腦)上有一個獨立運行的軟體,而這些軟體(節點)之間以點對點網路連接。為了支援智慧合約,這些獨立運行的軟體裡面會包含一個叫做「虛擬機器」的系統元件。這個虛擬機器上面會原生一個「底層程式語言」,又被稱為「底層指令」之類的。但是底層語言寫出來的東西東常不太能被人類閱讀,所以基於底層的指令,又有很多「高階合約語言」會被創造出來。

關鍵來了,同一個區塊鍊上面,「整體系統」、「虛擬機」、「底層語言」、「高階語言」的名稱可以是不一樣的:

  • 乙太鏈
    • 系統= Ethereum
    • 虛擬機 = EVM
    • 底層語言/指令 = *unnamed (但是被以 opcodes 代稱)
    • 高階合約語言 = Solidity, Vyper,
  • Tezos
    • 系統= Tezos
    • 虛擬機 = Tezos
    • 底層語言/指令 = Michelson
    • 高階合約語言 = Ligo, SmartPy, Fi, ..

擁有超過 8,000 個 Tezos 的參與者可以成為委託人,透過烘焙和背書來運營這個網路。烘焙的意思是建立新的區塊(基本上是質押的另一個說法),而背書的意思是「同意」烘焙師所建立的區塊。又或者,如果代幣持有者沒有 8,000 個 XTZ,或不想自行設定所需的硬體,他們可以將這些任務委託給其他人。

  • 不是擁有 8000 xtz,而是擁有 8000 xtz 的等量烘焙權利 (baking right)。只擁有權利而沒有代幣本身。所以在 Tezos 上,這種委託關係應該是「抵押」(本身還持有 token),而不是「質押」 (需要把 token 轉給被質押方)。但是因為大家都講習慣了,所以會把名詞混在一起用。
  • 「委託人」指的是把資產委託給另一方的人,baker 應該是「受託人」
  • 「烘焙」本身確實是指「產生新的區塊」,但是這和「質押」無關。「質押」在這邊指涉的是上面的提及的「委託」一事。甚至一個節點的擁有者要是本身足夠有錢,他根本不需要別的帳號的委託,自己就可以進行烘焙。