加密數字貨幣非法「挖礦」行為可能涉嫌的刑事犯罪
作者:李俊南 ,上海華勤基信(杭州)律師事務所負責人
近年來,比特幣、萊特幣、狗狗幣等加密數字貨幣的火熱行情吸引無數一夜暴富心態的人群積極參與,幣安、火幣、OKEx之類的網站迅速擴張擁有大量交易參與方,除了通過買賣途徑,很多人也選擇通過「挖礦」獲得加密數字貨幣。在「挖礦」的過程中產生一系列行為,而其中部分行為可能涉嫌刑事犯罪。筆者認為,如果要辨析可能涉嫌刑事犯罪的行為,必須先就加密數字貨幣和「挖礦」行為的概念進行了解。
第一部分 關於加密數字貨幣和「挖礦」的概念和性質
一、加密數字貨幣的概念
口語化普遍使用「虛擬貨幣」或者「數字貨幣」來指稱比特幣、萊特幣、USDT、狗狗幣等,其實「虛擬貨幣」或者「數字貨幣」的范圍比較廣泛,泛指不受管制的、數字化的貨幣,包括我們日常所知道的騰訊Q幣、盛大元寶等 游戲 幣或置換網站內部增值服務等的網路專用幣,也包括加密數字貨幣,筆者本文探討的各種行為或情節特指加密數字貨幣。加密數字貨幣是一種使用密碼學原理來確保交易安全及控制交易單位創造的交易媒介或者商品,來源於開放式的演算法導致沒有固定的發行方或管理方,通過網路計算方法進行解密獲得原始數字貨幣,因為演算法解總量可控從而做到讓數字貨幣總量固定,交易過程獲得網路中各個節點的認可從而導致交易行為的固定性或安全性。
加密數字貨幣與實物貨幣或者形式貨幣的數字化不同,《關於防範比特幣風險的通知》[1]和《關於防範虛擬貨幣交易炒作風險的公告》[2]明確其作為虛擬商品的性質,「不由貨幣當局發行,不具有法償性與強制性等貨幣屬性,不是真正的貨幣,不應且不能作為貨幣在市場上流通使用」。貨幣最初為不容易大量獲取的物品,而後變為金屬(尤其是金銀),這些本身即有價值的物品被挑選出來賦予交換權,按照某一時間點特定的價值比例可以循環、普適地交換其他商品或服務。政府(包括其他具有公信力的主體)成立後發行法幣,基於政府公信力和金銀儲量等基礎進行許諾,賦予法幣可以代替實物貨幣進行與商品或服務之間的交換。法幣(比如人民幣、美元、英鎊等)是在主權信用、貨幣契約理論和金銀儲備等基礎上而被賦予的代表一定可供交換價值的 社會 接受度。而 社會 之所以接受,是因為發行法幣時,主權機構將會就該等份額的法幣做出相應信用許諾,法幣具有轉化為真實實物價值的可能性。通常每個主權國家或區域只是用一種法幣,由中央銀行發行和控制,嚴格遵循「MPQV」的公式進行計算,避免發生嚴重背離市場的通貨膨脹或緊縮。
加密數字貨幣背後並沒有所謂的主權信用或價值支撐,是通過區塊鏈技術保密和流通、計算機演算法而獲得的虛擬物。區塊鏈是用分布式資料庫識別、傳播和記載信息的智能化對等網路。2009年比特幣第一個區塊被開發出來,有人稱之為「創世區塊」。用於加密數字貨幣的計算機演算法,目的是生成一種虛擬標記,這個標記被設定的程序認為完成了程序要求的解或運算結果程度,基於運算結果給這個標記一定的數字貨幣值。這個值本身沒有內在價值,是數學難題的解答,充其量可能對應的就是解法研發和所耗費的「礦機」購買價格、能耗價格等,而前者無法代表有價物,後者代表的只有消耗而沒有創造。
二、「礦機」和「挖礦」
獲得加密數字貨幣的初始方法就是運算,需要藉助計算機(「礦機」)來完成復雜運算過程。「礦機」通過中央處理器晶元或者顯卡參與數學計算,開展「挖礦」過程。如果能夠計算出結果,那麼被賦予一個或者幾分之一個數字貨幣值。以比特幣為例,「挖礦」就是找到一個隨機數(Nonce)參與哈希運算Hash(BlockHeader),使得最後得到的哈希值符合難度要求。
「挖礦」過程涉及的參與方和設備材料包括礦工、礦機、礦機銷售方、礦池管理方、區塊確認和廣播等。礦工可以簡單地理解為參與「挖礦」的每個人或機構,礦池是為了避免單個礦工「挖礦」收益的不穩定性而聚合礦工後產生的集合,根據不同礦工的運算貢獻對收益結果進行分配,區塊確認和廣播是通過區塊鏈節點互相認可某一個礦機代表的礦工工作量證明,進行記賬和通知其他節點。礦工的收益存儲於有密鑰的電子錢包中,可以查閱、使用和交易。「挖礦」的形式主要分為集中託管式和分布式,前者是礦工將礦機託管給某個礦池管理方,礦工支付電費和管理費,礦池管理方統一進行操作維護;後者是礦工自行管理礦機。
筆者認為單純的「挖礦」行為在此前並未存在任何有關於涉嫌違法的法律規定,但2021年5月21日國務院金融穩定發展委員會召開第五十一次會議,根據會議精神,「堅決打擊比特幣挖礦和交易行為」,此後就虛擬貨幣非法「挖礦」行為應當會出台進一步的規定。
第二部分 非法「挖礦」行為涉及刑事犯罪的現狀
一、筆者以「刑事案件」、「虛擬貨幣」、「挖礦」等關鍵詞在中國裁判文書網中進行搜索,存在132篇文書。經過對案件文書的研判,筆者發現:
1.根據審判程序來看。 一審判決書佔比81.81%;二審裁定書等佔比16.67%;審判監督駁回申訴通知書等佔比1.52%。
2.根據定罪罪名來看。 (1)一審定罪主要分布為:盜竊罪主要為盜竊公共電力資源,計算機系統相關犯罪主要為在他人計算機內植入木馬外掛程序、利用工作職務便利使用可控制的計算機系統挖礦等,非法吸收公眾存款罪、詐騙罪、集資詐騙罪和組織、領導傳銷活動罪除了與「挖礦」有關,還與加密數字貨幣的發行緊密相關,少量盜竊罪和其他類案件主要是與礦機買賣相關,或「挖礦」收益取得後被非法侵犯產生的其他犯罪行為。大量案件為單一罪名,少量案件數罪並罰。(2)二審定罪主要為組織、領導傳銷組織犯罪,佔50%;控制、入侵、破壞計算機系統等計算機系統相關犯罪,佔18.18%;其餘各項罪名(搶劫罪、集資詐騙罪、非法吸收公眾存款罪、盜竊罪等)佔31.82%。基本所有案件均維持原判。
二、筆者另通過網路搜索發現:
2018年5月騰訊網報道[3]稱,「西安市未央區檢察院提前介入一起特大網路黑客盜竊虛擬貨幣案,並批捕該案三名嫌疑人。三名嫌疑人為專業化的網路技術人員,組織『黑客聯盟』非法侵入他人計算機系統並將計算機中的虛擬貨幣轉移,涉案金額高達6億元」。
2020年11月哈爾濱新聞網報道[4]稱,黑龍江警方抓獲28名犯罪嫌疑人,成功破獲一起涉嫌以「哥倫布CAT虛擬貨幣」「挖礦」為噱頭的特大網路傳銷案件,總價值近人民幣3億元。
2021年5月8日法制現場報道[5]稱,武漢市洪山警方「宣布打掉一專為網路詐騙團伙開發APP的 科技 公司」,「晟昌 科技 」接受委託定製開發一款名為聯合眾鑫的虛擬幣平台,以USDT充值後,「宣稱兌換聯合眾鑫獨有幣種ZBCT後,可在平台內購買礦機挖礦產生收益」,但礦機運營圖片全部為網路圖片,同時可以使用後台修改許可權,「隨意修改ZBCT價格及具體收益比率」。「晟昌 科技 」公司「3年間開發了150餘個涉及區塊鏈、虛擬貨幣、電子錢包、網路商城等APP、小程序,幾乎全部是網路金融詐騙、傳銷團伙所定製」[6]。
公布案例和網路報道表明,近年來與加密數字貨幣「挖礦」行為相關的違法犯罪活動非常猖獗,採取網路等方式,存在金額高、行為性質復雜、多角色參與、受害者群體遍布廣等特徵。
第三部分 就非法「挖礦」行為涉及刑事犯罪的一些思考
一、我國關於非法「挖礦」行為的態度
從2013年12月中國人民銀行等五部委發布的《關於防範比特幣風險的通知》至2021年5月21日國務院金融穩定發展委員會第五十一次會議要求,都在宏觀層面確認了加密數字貨幣在發行、交易過程中可能存在風險。因為加密數字貨幣去中心化不可管控的特性,被大量的犯罪活動所「青睞」。
2021年5月25日,內蒙古發展和改革委員會發布了《關於堅決打擊懲戒虛擬貨幣「挖礦」行為八項措施(徵求意見稿)》,發布之前已多次對虛擬貨幣「挖礦」和交易行為進行圍追堵截。國家能源局四川監管辦公室發布《關於召開虛擬貨幣「挖礦」有關情況調研座談會的通知》。
二、從國際上而言
新加坡、韓國、日本等地均已出台了與虛擬貨幣相關的行業規范政策,比如在投資人門檻、交易所牌照、實名認證機制等方面均有所要求。印度則准備直接禁止民眾交易及持有加密數字貨幣。各個國家和地區的大趨勢也逐漸朝著管控方向歸攏。
三、非法「挖礦」行為的非法性體現分析
單純的個人購買或者租用礦機進行加密數字貨幣「挖礦」,並未有法律規定禁止,這是基於個人需要而獲得虛擬商品的行為,需要被禁止的應當是帶有非法屬性的「挖礦」行為。
前文提及的案例表明,主要犯罪行為體現為:
1.技術型非法攫取
部分不法分子利用投資者購買礦機,或管理計算機,或其他便利條件,通過對計算機系統內植入木馬病毒為自己「挖礦」,涉嫌 入侵、控制或破壞計算機系統犯罪 ,或盜取他人已經獲得的加密數字貨幣 涉嫌盜竊罪 。
2.盜取電力資源
部分不法分子通過私設電纜、增設微電腦控制器等手段盜竊電能用於「挖礦」,已經成為了部分地區的多發性案件。盜電行為不僅僅直接通過秘密手段非法使用和侵犯了公共資源和他人合法權益,同時可能會因線路漏電引起火災、影響節能減排政策下的區域供電安排和平衡、影響區域性階梯用電的電價,應予以打擊。
3.引發 非法吸收公眾存款罪,詐騙罪 或 組織、領導傳銷活動罪 等涉眾
(1)A宣稱可以銷售(含銷售後託管)或租賃礦機進行「挖礦」, A向 社會 公眾宣稱,礦機具有強大的算力(衡量礦機銷售價格或租賃費用多以算力或配置為主要標准之一),稱可以每月獲得一定的加密數字貨幣收益回報。如果回報是維持在一定的固定標准時,則A就有可能 涉嫌非法吸收公眾存款罪 。
(2)A宣稱其礦機存在一定標準的算力,但實際未達到該等運算效率,甚至礦機並不實際存在,A收受投資人支付的購買款和租賃費,就 涉嫌詐騙罪、合同詐騙罪 或 集資詐騙罪 。
(3)A通過三級以上代理渠道推廣「挖礦」業務,要求各級代理必須先購買或承租一定數量的礦機,可以介紹他人參與購買或承租礦機「挖礦」的行為,可以獲得浮動收益。也就是說,代理通過購買或承租一定數量的礦機獲得入會資格,再通過拉人頭等方式拿到另外的利潤分配,形成三級或以上組織架構,A將 涉嫌組織、領導傳銷活動罪 。
四、再進一步思考
1.A沒有礦機或礦機根本不符合其宣稱的性能,向投資人銷售的同時約定託管,或進行租賃時以虛假信息表現存在礦機、以各種借口阻止投資人現場查看或查看虛假場所,但是A與投資人約定退出機制並按月交付投資收益,在市場上購買加密數字貨幣宣稱「挖礦所得」給予投資人、賺取利差的行為,是否涉嫌犯罪?筆者認為A的行為屬於詐騙行為,究其本質都是採用了虛構事實或者隱瞞真相的行為,使投資人誤以為A有符合宣傳的礦機、可以帶來符合預期的收益,才支付的購買價款或租賃費用。
2.A自己發行了一種加密數字貨幣,自行定價,宣稱租賃A的礦機可以「挖礦」獲得該加密數字貨幣,實際上並沒有礦機供投資人使用,僅僅是根據投資人的投入金額,向投資人固定地發放加密數字貨幣。A通過程序設定「挖礦」所得數量,甚至將該加密數字貨幣與主流加密數字貨幣的兌換價格無限調整,是否涉嫌犯罪?筆者認為,A的行為仍然是詐騙行為,該加密數字貨幣可能僅僅在A控制網路節點中做閉環運作,通過一系列的包裝,利用投資人的回報期待,以無價值的數字化產物置換法幣(也可能現要求投資人以法幣購買主流加密數字貨幣,再以主流加密數字貨幣進行投資,增加手段的隱蔽性),實際上還是非法佔有受害人財產。
3.A發行了加密數字貨幣,投資人租賃礦機參與「挖礦」的目的不在於看好該加密數字貨幣的升值空間,而在於該加密數字貨幣與主流加密數字貨幣的恆定兌換比例。投資人以其獲得的黑色或灰色收入購買該加密數字貨幣,在閉環系統里兌換為主流加密數字貨幣,通過買賣獲得法幣資產。涉及犯罪所得的非法收入通過「挖礦」洗白。A的行為根據其故意程度、參與上游犯罪程度,可能涉嫌上游犯罪的共犯、幫助網路信息犯罪活動罪、掩飾隱瞞犯罪所得罪、洗錢罪等。
綜上所述,大量人群為了高回報期待參與「挖礦」行為,在不法分子的引誘、欺騙下,或在自身利益驅動下可能發生違法犯罪的行為,涉案的罪名種類繁多,行為手段也日趨復雜化、隱蔽化、涉眾化,需要加強監管,避免加密數字貨幣的熱潮給犯罪活動提供溫床。
『貳』 不加入礦池不用挖礦軟體怎麼挖礦
是違法行為。由於個人挖礦已經很難達到需求,全球的算力在不斷的增加中,單個設備或者是少量的算力都已經很難再挖到比特幣了,也是將大量的礦機組合在一起形成了礦池,礦池的算力是非常強大的,也保證可以更加快速的挖到虛擬貨幣。
『叄』 區塊鏈入門108個知識點
1、什麼是區塊鏈
把多筆交易的信息以及表明該區塊的信息打包放在一起,經驗證後的這個包就是區塊。
每個區塊里保存了上一個區塊的hash值,使區塊之間產生關系,也就是說的鏈了。合起來就叫區塊鏈。
2.什麼是比特幣
比特幣概念是2009年中本聰提出的,總量是2100萬個。比特幣鏈大約每10分鍾產生一個區塊,這個區塊是礦工挖了10分鍾挖出來的。作為給礦工獎勵,一定數量的比特幣會發給礦工們,但是這個一定數量是每四年減半一次。現在是12.5個。照這樣下去2040年全部的比特幣問世。
3.什麼是以太坊
以太坊與比特幣最大的區別是有了智能合約。使得開發者在上邊可以開發,運行各種應用。
4.分布式賬本
它是一種在網路成員之間共享,復制和同步的資料庫。直白說,在區塊鏈上的所有用戶都有記賬功能,而且內容一致,這樣保證了數據不可篡改性。
5.什麼是准匿名性
相信大家都有錢包,發送交易都用的錢包地址(一串字元串)這就是准匿名。
6.什麼是開放透明性/可追溯
區塊鏈存儲了從 歷史 到現在的所有數據,任何人都可以查看,而且還可以查看到 歷史 上的任何數據。
7.什麼是不可篡改
歷史 數據和當前交易的數據不可篡改。數據被存在鏈上的區塊上,有一個hash值,如果修改該區塊信息,那麼它的 hash值也變了,它後邊的所有區塊的hash值也必須修改,使成為新的鏈。同時主鏈還在進行交易產生區塊。修改後鏈也必須一直和主鏈同步產生區塊,保證鏈的長度一樣。代價太大了,只為修改一條數據。
8.什麼是抗ddos攻擊
ddos:黑客通過控制許多人的電腦或者手機,讓他們同時訪問一個網站,由於伺服器的寬頻是有限的,大量流量的湧入可能會使得網站可能無法正常工作,從而遭受損失。但區塊鏈是分布式的,不存在一個中心伺服器,一個節點出現故障,其他節點不受影響。理論上是超過51%的節點遭受攻擊,會出現問題。
9.主鏈的定義
以比特幣為例,某個時間點一個區塊讓2個礦工同時挖出來,然後接下來最先產生6個區塊的鏈就是主鏈
10.單鏈/多鏈
單鏈指的是一條鏈上處理所有事物的數據結構。多鏈結構,其核心本質是公有鏈+N個子鏈構成。只有一條,子鏈理論上可以有無數條,每一個子鏈都可以運行一個或多個DAPP系統
11.公有鏈/聯盟鏈/私有鏈
公有鏈:每個人都可以參與到區塊鏈
聯盟鏈:只允許聯盟成員參與記賬和查詢
私有鏈:寫入和查看的許可權只掌握在一個組織手裡。
12.共識層數據層等
區塊鏈整體結構有六個:數據層,網路層,共識層,激勵層,合約層,應用層。數據層:記錄數據的一層,屬於底層技術;網路層:構建區塊鏈網路的一種架構,它決定了用戶與用戶之間通過何種方式組織起來。共識層:提供了一套規則,讓大家接收和存儲的信息達成一致。激勵層:設計激勵政策,鼓勵用戶參與到區塊鏈生態中;合約層:一般指「智能合約」,它是一套可以自動執行,根據自己需求編寫的合約體系。應用層:區塊鏈上的應用程序,與手機的app類似前分布式存儲研發中心
13.時間戳
時間戳是指從1970年1月1日0時0分0秒0...到現在的當前時間的總秒數,或者總納秒數等等很大的數字。每個區塊生成時都有一個時間戳,表明生成區塊的時間。
14.區塊/區塊頭/區塊體
區塊是區塊鏈的基本單元,區塊頭和區塊體是區塊鏈的組成部分。區塊頭裡麵包含的信息有上一個區塊的hash,本區塊的hash,時間戳等等。區塊體就是區塊里的詳細數據。
15.Merkle樹
Merkle樹,也叫二叉樹,是存儲數據的一種數據結構,最底層是所有區塊包含的原始數據,上一層是每個區塊的hash值,這一層的hash兩兩組合產生新的hash值,形成新的一層,然後一層層往上,-直到產生一個hash值。這樣的結構可以用於快速比較大量的數據,不需要下載全部的數據就可以快速的查找你想要的最底層的 歷史 數據。
16什麼是擴容
比特幣的一個區塊大小大約是1M左右,可以保存4000筆交易記錄。擴容就是想把區塊變大,能保存更多的數據。
17.什麼是鏈
每個區塊都會保存上一個區塊的 hash,使區塊之間產生關系,這個關系就是鏈。通過這個鏈把區塊交易記錄以及狀態變化等的數據存儲起來。
18.區塊高度
這個不是距離上說的高度,它指是該區塊與所在鏈上第一個區塊之間相差的區塊總個數。這個高度說明了就是第幾個區塊,只是標識作用。
19.分叉
同一時間內產生了兩個區塊(區塊里的交易信息是一樣的,只是區塊的hash值不一樣),之後在這兩個區塊上分叉出來兩條鏈,這兩條鏈接下來誰先生成6個區塊,誰就是主鏈,另外的一條鏈丟棄。
20.幽靈協議
算力高的礦池很容易比算力低的礦機產生區塊速度快,導致區塊鏈上大部分區塊由這些算力高的礦池產生的。而算力低的礦機產生的區塊因為慢,沒有存儲到鏈上,這些區塊將會作廢。
幽靈協議使得本來應該作廢的區塊,也可以短暫的留在鏈上,而且也可以作為
工作量證明的一部分。這樣一來,小算力
的礦工,對主鏈的貢獻比重就增大了,大型礦池就無法獨家壟斷對新區塊的確認。
21.孤塊
之前說過分叉,孤塊就是同一時間產生的區塊,有一個形成了鏈,另一個後邊沒有形成鏈。那麼這個沒形成鏈的塊就叫
孤塊。
22.叔塊
上邊說的孤塊,通過幽靈協議,使它成為工作量證明的一部分,那它就不會被丟棄,會保存在主鏈上。這個區塊就是下
23重放攻擊
就是黑客把已經發送給伺服器的消息,重新又發了一遍,有時候這樣可以騙取伺服器的多次響應。
24.有向無環圖
也叫數據集合DAG(有向非循環圖),DAG是一種理想的多鏈數據結構。現在說的區塊鏈大都是單鏈,也就是一個區塊連一個區塊,DAG是多個區塊相連。好處是可以同時生成好幾個區塊,於是網路可以同時處理大量交易,吞吐量肯定就上升了。但是缺點很多,目前屬於研究階段。
25.什麼是挖礦
挖礦過程就是對以上這六個欄位進行一系列的轉換、連接和哈希運算,並隨著不斷一個一個試要尋找的隨機數,最後成功找到一個隨機數滿足條件:經過哈希運算後的值,比預設難度值的哈希值小,那麼,就挖礦成功了,節點可以向鄰近節點進行廣播該區塊,鄰近節點收到該區塊對以上六個欄位進行同樣的運算,驗證合規,再向其它結點轉播,其它結點也用同樣的演算法進行驗證,如果全網有51%的結點都驗證成功,這個區塊就算真正地「挖礦」成功了,每個結點都把這個區塊加在上一個區塊的後面,並把區塊中與自己記錄相同的列表刪除,再次復生上述過程。另外要說的是,不管挖礦成不成功每個節點都預先把獎勵的比特幣50個、所有交易的手續費(總輸入-總輸出)記在交易列表的第一項了(這是「挖礦」最根本的目的,也是保證區塊鏈能長期穩定運行的根本原因),輸出地址就是本結點的地址,但如果挖礦不成功,這筆交易就作廢了,沒有任何獎勵。而且這筆叫作「生產交易」的交易不參與「挖礦」計算。
26.礦機/礦場
礦機就是各種配置的計算機,算力是他們的最大差距。礦機集中在一個地的地方就是礦場
27.礦池
就是礦工們聯合起來一起組成一個團隊,這個團隊下的計算機群就是礦池。挖礦獎勵,是根據自己的算力貢獻度分發。
28.挖礦難度和算力
挖礦難度是為了保證產生區塊的間隔時間穩定在某個時間短內,如比特幣10分鍾出
塊1個。算力就是礦機的配置。
29.驗證
當區塊鏈里的驗證是對交易合法性的一種確認,交易消息在節點之間傳播時每個節點都會驗證一次這筆交易是否合法。比如驗證交易的語法是否正確,交易的金額是否大於0,輸入的交易金額是否合理,等等。驗證通過後打包,交給礦工挖礦。
30.交易廣播
就是該節點給其他節點通過網路發送信息。
31.礦工費
區塊鏈要像永動機一樣不停的工作,需要礦工一直維護著這個系統。所以要給礦工們好處費,才能持久。
32.交易確認
當交易發生時,記錄該筆交易的區塊將進行第一次確認,並在該區塊之後的鏈上的每一個區塊進行再次確認:當確認數達到6個及以上時,通常認為這筆交易比較安全並難以篡改。
33.雙重交易
就是我有10塊錢,我用這10塊錢買了一包煙,然後瞬間操作用這還沒到付的10塊錢又買了杯咖啡。所以驗證交易的時候,要確認這10塊錢是否已花費。
34.UTXO未花費的交易輸出
它是一個包含交易數據和執行代碼的數據結構,可以理解為存在但尚未消費的數字貨幣。
35.每秒交易數量TPS
也就是吞吐量,tps指系統每秒能處理的交易數量。
36.錢包
與支付寶類似,用來存儲數字貨幣的,用區塊鏈技術更加安全。
37.冷錢包/熱錢包
冷錢包就是離線錢包,原理是儲存在本地,運用二維碼通信讓私鑰永不觸網。熱錢包就是在線錢包,原理是將私鑰加密後存儲在伺服器上,當需要使用時再從伺服器上下載下來,並在瀏覽器端進行解密。
38.軟體錢包/硬體錢包
軟體錢包是一種計算機程序。一般而言,軟體錢包是與區塊鏈交互的程序,可以讓用戶接收、存儲和發送數字貨幣,可以存儲多個密鑰。硬體錢包是專門處理數字貨幣的智能設備。
39.空投
項目方把數字貨幣發送給各個用戶錢包地址。
40.映射
映射跟區塊鏈貨幣的發行相關,是鏈與鏈之間的映射。比如有一些區塊鏈公司,前期沒有完成鏈的開發,它就依託於以太坊發行自己的貨幣,前期貨幣的發行、交易等都在以太坊上進行操作。隨著公司的發展,公司自己的鏈開發完成了公司想要把之前在以太坊上的信息全部對應到自己的鏈上,這個過程就是映射。
41.倉位
指投資人實有投資和實際投資資金的比例
42.全倉
全部資金買入比特幣
43.減倉
把部分比特幣賣出,但不全部賣出
44.重倉
資金和比特幣相比,比特幣份額佔多
45.輕倉
資金和比特幣相比,資金份額佔多
46.空倉
把手裡所持比特幣全部賣出,全部轉為資金
47.止盈
獲得一定收益後,將所持比特幣賣出以保住盈利
48.止損
虧損到一定程度後,將所持比特幣賣出以防止虧損進一步擴大
49.牛市
價格持續上升,前景樂觀
50.熊市
價格持續下跌,前景黯淡
51.多頭(做多)
買方,認為幣價未來會上漲,買入幣,待幣價上漲後,高價賣出獲利了結
52.空頭(做空)
賣方,認為幣價未來會下跌,將手中持有的幣(或向交易平台借幣)賣出,待幣價下跌後,低價買入獲利了結
53.建倉
買入比特幣等虛擬貨幣
54.補倉
分批買入比特幣等虛擬貨幣,如:先買入1BTC,之後再買入1BTC
55.全倉
將所有資金一次性全部買入某一種虛擬幣
56.反彈
幣價下跌時,因下跌過快而價格回升調整
57.盤整(橫盤)
價格波動幅度較小,幣價穩定
58.陰跌
幣價緩慢下滑
59.跳水(瀑布)
幣價快速下跌,幅度很大
60.割肉
買入比特幣後,幣價下跌,為避免虧損擴大而賠本賣出比特幣。或借幣做空後,幣價上漲,賠本買入比特幣
61.套牢
預期幣價上漲,不料買入後幣價卻下跌;或預期幣價下跌,不料賣出後,幣價卻上漲
62.解套
買入比特幣後幣價下跌造成暫時的賬面損失,但之後幣價回升,扭虧為盈
63.踏空
因看淡後市賣出比特幣後,幣價卻一路上漲,未能及時買入,因此未能賺得利潤
64.超買
幣價持續上升到一定高度,買方力量基本用盡,幣價即將下跌
65.超賣
幣價持續下跌到一定低點,賣方力量基本用盡,幣價即將回升
66.誘多
幣價盤整已久,下跌可能性較大,空頭大多已賣出比特幣,突然空方將幣價拉高,誘使多方以為幣價將會上漲,紛紛買入,結果空方打壓幣價,使多方套牢
67.誘空
多頭買入比特幣後,故意打壓幣價,使空頭以為幣價將會下跌,紛紛拋出,結果誤入多頭的陷阱
68.什麼是NFT
NFT全稱「Non-Fungible Tokens」 即非同質化代幣,簡單來說,即區塊鏈上一種無法分割的版權證明,主要作用數字資產確權,轉移,與數字貨幣區別在於,它獨一無二,不可分割,本質上,是一種獨特的數字資產。
69.什麼是元宇宙
元宇宙是一個虛擬時空間的集合, 由一系列的增強現實(AR), 虛擬現實(VR) 和互聯網(Internet)所組成,其中數字貨幣承載著這個世界中價值轉移的功能。
70.什麼是DeFi
DeFi,全稱為Decentralized Finance,即「去中心化金融」或者「分布式金融」。「去中心化金融」,與傳統中心化金融相對,指建立在開放的去中心化網路中的各類金融領域的應用,目標是建立一個多層面的金融系統,以區塊鏈技術和密碼貨幣為基礎,重新創造並完善已有的金融體系
71.誰是中本聰?
72.比特幣和Q幣不一樣
比特幣是一種去中心化的數字資產,沒有發行主體。Q幣是由騰訊公司發行的電子貨幣,類似於電子積分,其實不是貨幣。Q幣需要有中心化的發行機構,Q幣因為騰訊公司的信用背書,才能被認可和使用。使用范圍也局限在騰訊的 游戲 和服務中,Q幣的價值完全基於人們對騰訊公司的信任。
比特幣不通過中心化機構發行,但卻能夠得到全球的廣泛認可,是因為比特幣可以自證其信,比特幣的發行和流通由全網礦工共同記賬,不需要中心機構也能確保任何人都無法竄改賬本。
73.礦機是什麼?
以比特幣為例,比特幣礦機就是通過運行大量計算爭奪記賬權從而獲得新生比特幣獎勵的專業設備,一般由挖礦晶元、散熱片和風扇組成,只執行單一的計算程序,耗電量較大。挖礦實際是礦工之間比拼算力,擁有較多算力的礦工挖到比特幣的概率更大。隨著全網算力上漲,用傳統的設備(CPU、GPU)挖到比特的難度越來越大,人們開發出專門用來挖礦的晶元。晶元是礦機最核心的零件。晶元運轉的過程會產生大量的熱,為了散熱降溫,比特幣礦機一般配有散熱片和風扇。用戶在電腦上下載比特幣挖礦軟體,用該軟體分配好每台礦機的任務,就可以開始挖礦了。每種幣的演算法不同,所需要的礦機也各不相同。
74.量化交易是什麼?
量化交易,有時候也稱自動化交易,是指以先進的數學模型替代人為的主觀判斷,極大地減少了投資者情緒波動的影響,避免在市場極度狂熱或悲觀的情況下做出非理性的投資決策。量化交易有很多種,包括跨平台搬磚、趨勢交易、對沖等。跨平台搬磚是指,當不同目標平台價差達到一定金額,在價高的平台賣出,在價低的平台買入。
75.區塊鏈資產場外交易
場外交易也叫OTC交易。用戶需要自己尋找交易對手,不通過撮合成交,成交價格由交易雙方協商確定,交易雙方可以藉助當面協商或者電話通訊等方式充分溝通。
76.時間戳是什麼?
區塊鏈通過時間戳保證每個區塊依次順序相連。時間戳使區塊鏈上每一筆數據都具有時間標記。簡單來說,時間戳證明了區塊鏈上什麼時候發生了什麼事情,且任何人無法篡改。
77.區塊鏈分叉是什麼?
在中心化系統中升級軟體十分簡單,在應用商店點擊「升級」即可。但是在區塊鏈等去中心化系統中,「升級」並不是那麼簡單,甚至可能一言不合造成區塊鏈分叉。簡單說,分叉是指區塊鏈在進行「升級」時發生了意見分歧,從而導致區塊鏈分叉。因為沒有中心化機構,比特幣等數字資產每次代碼升級都需要獲得比特幣社區的一致認可,如果比特幣社區無法達成一致,區塊鏈很可能形成分叉。
78.軟分叉和硬分叉
硬分叉,是指當比特幣代碼發生改變後,舊節點拒絕接受由新節點創造的區塊。不符合原規則的區塊將被忽略,礦工會按照原規則,在他們最後驗證的區塊之後創建新的區塊。軟分叉是指舊的節點並不會意識到比特幣代碼發生改變,並繼續接受由新節點創造的區塊。礦工們可能會在他們完全沒有理解,或者驗證過的區塊上進行工作。軟分叉和硬分叉都"向後兼容",這樣才能保證新節點可以從頭驗證區塊鏈。向後兼容是指新軟體接受由舊軟體所產生的數據或者代碼,比如說Windows 10可以運行Windows XP的應用。而軟分叉還可以"向前兼容"。
79.區塊鏈項目分類和應用
從目前主流的區塊鏈項目來看,區塊鏈項目主要為四類:第一類:幣類;第二類:平台類;第三類:應用類;第四類:資產代幣化。
80.對標美元的USDT
USDT是Tether公司推出的對標美元(USD)的代幣Tether USD。1USDT=1美元,用戶可以隨時使用USDT與USD進行1:1兌換。Tether公司執行1:1准備金保證制度,即每個USDT代幣,都會有1美元的准備金保障,對USDT價格的恆定形成支撐。某個數字資產單價是多少USDT,也就相當於是它的單價是多少美元(USD)。
81.山寨幣和競爭幣
山寨幣是指以比特幣代碼為模板,對其底層技術區塊鏈進行了一些修改的區塊鏈資產,其中有技術性創新或改進的又稱為競爭幣。因為比特幣代碼開源,導致比特幣的抄襲成本很低,甚至只需復制比特幣的代碼,修改一些參數,便可以生成一條全新的區塊鏈。
82.三大交易所
幣安:https://accounts.binancezh.ac/zh-CN
Okex: https://www.ouyi.top/
火幣:https://www.huobi.af/zh-cn
83.行情軟體
Mytoken:http://www.mytoken.com/
非小號:https://www.feixiaohao.co/
84.資訊網站
巴比特:https://www.8btc.cn
金色 財經 :http://www.jinse.com/
幣世界快訊:http://www.bishijie.com
85.區塊鏈瀏覽器
BTC:https://btc.com/
ETH:https://etherscan.io/
BCH:https://blockchair.com/bitcoin-cash/blocks
LTC:http://www.qukuai.com/search/ltc
ETC:https://gastracker.io/
86.錢包
Imtoken:https://imatoken.net/
比特派:https://bitpie.com/
87. 去中心化交易所
uniswap: https://uniswap.org
88. NFT交易所
Opensea:https://opensea.io
Super Rare:https://superrare.com/
89. 梯子
自備,購買靠譜梯子
90. 平台幣
平台發行的數字貨幣,用於抵扣手續費,交易等
91. 牛市、熊市
牛市:上漲行情
熊市:下跌行情
92. 區塊鏈1.0
基於分布式賬本的貨幣交易體系,代表為比特幣
93. 區塊鏈2.0
以太坊(智能合約)為代表的合同區塊鏈技術為2.0
94. 區塊鏈3.0
智能化物聯網時代,超出金融領域,為各種行業提供去中心化解決方案
95. 智能合約
智能合約,Smart Contract,是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議,簡單說,提前定好電子合約,一旦雙方確認,合同自動執行。
96. 什麼是通證?
通證經濟就是以Token為唯一參考標準的經濟體系,也就是說相當於通行證,你擁有Token ,就擁有權益,就擁有發言權。
大數據是生產資料,AI是新的生產力,區塊鏈是新的生產關系。大數據指無法在一定時間范圍內用常規軟體工具進行捕捉、管理和處理的數據集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。簡單理解為,大數據就是長期積累的海量數據,短期無法獲取。區塊鏈可以作為大數據的獲取方式,但無法取代大數據。大數據只是作為在區塊鏈運行的介質,沒有絕對的技術性能,所以兩者不能混淆。(生產關系簡單理解就是勞動交換和消費關系,核心在於生產力,生產力核心在於生產工具)
ICO,Initial Coin Offering, 首次公開代幣發行,就是區塊鏈數字貨幣行業中的眾籌。是2017最為熱門的話題和投資趨勢,國家9.4出台監管方案。說到ICO,人們會想到IPO,兩者有著本質不同。
99. 數字貨幣五個特徵
第一個特徵:去中心化
第二個特徵:有開源代碼
第三個特徵:有獨立的電子錢包
第四個特徵:恆量發行的
第五個特徵:可以全球流通
100.什麼叫去中心化?
沒有發行方,不屬於任何機構或國家,由互聯網網路專家設計、開發並存放於互聯網上,公開發行的幣種。
100. 什麼叫衡量(稀缺性)?
發行總量一旦設定,永久固定,不能更改,不能隨意超發,可接受全球互聯網監督。因挖掘和開釆難度雖時間數量變化,時間越長,開采難度越大,所開釆的幣就越少,因此具有稀缺性。
101. 什麼叫開源代碼?
用字母數字組成的存放在互聯網上,任何人都可以查出其設計的源代碼,所有人都可以參與,可以挖掘,全球公開化。
102. 什麼叫匿名交易? 專有錢包私密?
每個人都可以在網上注冊下載錢包,無需實名認證,完全由加密數字代碼組成,全球即時點對點發送、交易,無需藉助銀行和任何機構,非本人授權任何人都無法追蹤、查詢。
合約交易是指買賣雙方對約定未來某個時間按指定價格接收一定數量的某種資產的協議進行交易。合約交易的買賣對象是由交易所統一制定的標准化合約,交易所規定了其商品種類,交易時間,數量等標准化信息。合約代表了買賣雙方所擁有的權利和義務。
105.數字貨幣產業鏈
晶元廠家 礦機廠商 礦機代理 挖礦 出礦到交易所 散戶炒幣
106.二本是誰?
二本:數字貨幣價值投資者
投資風格:穩健
建立社群:二本雜談(高質量價投社群)
107.二本投資策略
長短結合,價投為主,不碰合約,不玩短線
合理布局,科學操作,穩健保守,掙周期錢
108.二本?
歡迎幣友,共謀發展
『肆』 關於比特幣的謎題(完結)
你可曾想過: 為什麼礦機算力越大越好?(既然是解數學題那為什麼不是拼誰的演算法厲害啊喂!) 比特幣的數量總和為什麼是2100萬? 比特幣盜竊是怎麼回事? 我不玩比特幣,就真的與比特幣無關了嗎…… 🤔️
關於大眾不再感到陌生的比特幣,背後還有許多巧妙之處。本文介紹了比特幣的基本原理和主要原則,並結合對部分技術細節的剖析,來對上述的一些疑問作出解答。全文較長,約7000字,閱讀時間約為22分鍾,建議收藏後閱讀😁
文章可以分成以下幾個部分:
* 比特幣先驗知識
-- 密碼學相關
-- 比特幣重要概念
* 交易的生命周期
* 區塊鏈的構成
* 區塊鏈的生長
-- 「挖礦」的數學本質
-- 「礦工」的收益
* 比特幣的共識機制
-- 比特幣的去中心化共識
-- 「最長鏈優先」原則
* 比特幣安全性
比特幣作為第一個去中心化的數字貨幣,其設計中運用了不少的密碼學相關知識,主要包括非對稱加密技術、哈希函數等等。理解這些密碼學知識,能幫助我們更好地理解比特幣中的一些概念及規則。
以下是比特幣的一些定義及概念解說,了解過的小夥伴們可以直接跳過~
在比特幣這個創新的支付網路中,一個交易的生命周期大概可以分為幾個階段:創建、傳播和被驗證交織、被打包進區塊記錄到區塊鏈中、獲得更多的確認。圖1對這幾個階段做出了示意。
註:
1⃣️一個支付方A在發起一個比特幣交易時,會使用自己的私鑰對交易信息的哈希值進行簽名。因此A向全網廣播的內容除了交易信息之外,還有自己的公鑰信息、對消息的簽名。其他礦工只要利用A的公鑰即可對這個交易進行驗證,判斷是否真的由A創建。
2⃣️」交易傳播和交易驗證「交替意味著 各個節點基於一定的規則獨立驗證每個交易(共識基礎1) , 一個節點只有認為這個交易有效才會把它繼續傳播出去。
比特幣的底層技術是區塊鏈。區塊鏈系統是一種分布式共識系統,區塊鏈網路中所有的參與節點將就交易的狀態達成一致。
區塊鏈到底是什麼呢?你可以把它理解成一種分布式的交易的共享賬本,以區塊為基本單位鏈接在一起。交易信息將被整理並打包記錄在區塊中。每一個區塊,包含區塊頭,以及緊跟其後的交易列表。區塊頭包含3個區塊元數據集合:前序區塊哈希(嚴格來說是前序區塊頭哈希,因為只有區塊頭被用於哈希運算)、元數據集(包括難度、時間戳、隨機數等)、一個基於加密哈希來高效概括區塊中所有交易的默克爾樹(merkle tree)。了解這個結構,將幫助我們更好地理解挖礦的數學本質。
你可能聽說過「挖礦」這個詞,或者聽說眾人爭相購買挖礦機器來發家致富。但讓人疑惑的是:都說打包區塊的本質是解數學難題,但單憑那些看似簡陋的機器嗡嗡嗡瘋狂耗費電力,就能確保自己解出比特幣難題的勝率高了嗎?比特幣技術原理中,礦工們解決的數學題,難道是一個暴力破解題?
看了一圈,發現礦工們解決的題,還真有點暴力破解的意思,每次嘗試解題的過程幾乎都是茫茫然、去碰運氣的。拼的是誰足夠幸運,也拼誰算的足夠快;算的快了么,試錯次數多,自然勝算也就大了。
解題的背景是這樣的—— 挖礦節點通過基於工作量證明演算法(Proof-of-Work,POW)的證明運算,獨立將交易匯聚到新區塊中(共識基礎2)。 當礦工從網路中接收到一個新的區塊的時候,他發現自己已經在上一輪競爭中失敗了,所以立即開始新區塊的挖礦過程。為了創建一個新的區塊,他從內存池中選擇交易來填充區塊(加入區塊的第一筆交易是一個「鑄幣交易」,3.2節會給出詳相關細節)。接下來是填充欄位來創建區塊頭(包括前序區塊的區塊頭哈希、交易的默克爾樹(Merkel樹)、時間戳、難度目標值、隨機數),然後開始計算這個新區塊的工作量證明。
這個計算的過程簡單來說是對區塊頭部進行兩次sha256運算,得到一個RESULT,如果這個RESULT滿足特定要求,這個人才能算是算對了、才有權利去記賬。滿足要求的RESULT被稱為「工作量證明」(中本聰論文中稱為「proof of work」)。
關於這個計算過程,強調以下幾點:
第一,區塊頭部,包含了前序區塊頭部的哈希、本區塊交易信息的默克爾樹、時間戳、難度目標值、隨機數等信息(見圖2)。
第二,哈希運算具有「知道y,無法推出使得h(x)=y成立的x」、「即使輸入只改變一點點,輸出也會差很多」、「利用任意長度的數據作為輸入,生成一個固定長度的確定結果」的特性。所以大家也不知道什麼樣子的輸入才能產生自己想要的結果,礦工只能不斷嘗試。
第三,前面說到,區塊頭哈希值需要滿足一個特定要求才能成為工作量證明——小於某一閾值,或者說哈希值含有給定前綴。閾值的大小求和挖礦難度有關:挖礦難度是一個動態參數,其值越大,則閾值越小,說明哈希值符合要求的概率更小,礦工每次計算能成為工作量證明的概率越小。比特幣有一個自我調節過程——通過對現有的挖礦算力情況進行估算,來對應調整挖礦難度,可以保證區塊鏈每十分鍾出一個塊,達到控制發行速度的目的。(這個過程的基本思想類似產品筆試的數據估算題,根據「一個提供、一個需要「的思路去構造一個等式,然後求解等式一邊的一個因子;想了解挖礦難度系統和調整方式的同學可以進一步查閱~)
綜合以上三點來看,為了產生工作量證明,用戶基本上會通過調整隨機數來碰運氣(因為其他欄位基本不變)、進行多次運算直至符合要求,別無他法。如此一看,隨機數就具有「幸運數字」的意味了。因此,平均來講,誰計算的能力越強(嘗試的次數越多),就更有希望打包塊。
你可能會想,礦工這么心甘情願地消耗算力去維護區塊鏈,是受到怎樣的利益驅使呢?簡單來說,礦工的收益來源有二:1、計算出工作量證明,創造一個新區塊所獲得的新幣獎勵;2、記賬礦工費。
當礦工找到工作量證明、打包一個新區塊,並把區塊傳送給他的所有對等節點。 每一個挖礦節點都獨立驗證新區塊、把合格的新區塊整合進區塊鏈(共識基礎3) ,並把這個區塊繼續傳給自己的對等節點。結果是,只有經過驗證的區塊才會在網路當中廣泛傳播,保證了誠實礦工挖出的新區塊能被區塊鏈所接納。挖礦成功的個體節點或集體節點,可以同時獲得新幣獎勵和記賬礦工費。
新幣獎勵類似於貨幣的發行,其遵循規則是,第一個四年每一個新區塊產生50btc,第二個四年每一個新區塊產生25btc,第三個四年每個新區塊產生12.5btc,如此周期指數遞減。按照等比數列求和可知,到2140年,比特幣產生的總和約為21000000(所以說比特幣數量有限,天生緊縮)。屆時,不再隨區塊的產生增加新的比特幣,礦工不再擁有第一項收益。但現實中,由於挖礦成本高昂,挖礦成功的往往是是一個礦池的所有參與者。收益被分給礦池地址,礦池按照組內算力貢獻比例來分攤收益的。
記賬礦工費又稱交易費用,以交易輸入和交易輸出之間的差值的形式存在;一個區塊的總交易費用是對加入區塊的所有交易的(交易輸入-交易輸出)求和。一般來說,礦工費越高的交易,會越快被處理。而礦工費在這里起到兩個作用,一個是獎勵礦工,另一個是防止主鏈濫用(防止大家發送交易垃圾信息,因為提出交易是有一定代價的)。
礦工的收益以什麼樣的形式被驗證呢?這里不得不提到 「鑄幣交易」 。每個計算機節點在進行工作量證明計算之前加入區塊的第一筆交易,正是「鑄幣交易」。這個交易從無到有生成比特幣,其金額是新幣獎勵與記賬礦工費的總和,被支付到挖礦礦工自己的比特幣地址。如果礦工找到了一個工作量證明使區塊有效,他就贏得了這個獎勵,因為他構造的「鑄幣交易」生效了。
關於鑄幣交易和「新幣獎勵」,之前有一個讀者問我:一個礦工把自己挖到新區塊的消息公布出去,他的工作量證明 不會被別人剽竊 嗎?
個人認為,至少「鑄幣交易」能防止這件事情發生。讓我們來重申一下計算工作量證明的過程——一個礦工E在新區塊里加入了獎賞自己的「鑄幣交易」,並利用時間戳、前序區塊頭哈希、隨機數、本區塊交易的merkle樹等信息計算出一個符合要求的工作量證明。
在這個過程中,merkle樹啥樣子,取決於包括「鑄幣交易」在內的本區塊所有交易信息。因此可以把鑄幣交易視為工作量證明的間接變數之一。那麼,即使其他人拿到了E的工作量證明,這個工作量證明也是帶有E的印記的、與獎賞E的鑄幣交易相關的,別人根本無法納為己用。
你還可以通過設想以下的場景來加深對共識基礎2「挖礦節點通過基於工作量證明演算法的證明運算,獨立將交易匯聚到新區塊中」的理解。
為什麼一個挖出新區塊的礦工不悄悄使個心眼,在創建區塊之初就把鑄幣交易的金額設成1000BTC呢?原因在於每個節點都是基於相同的規則來獨立驗證區塊的。礦工必須創建完美的、符合公共規則的、正確依據工作量證明方法的區塊;而一個無效的鑄幣交易會導致整個區塊無效,並被其他節點拒絕,永遠無法成為賬本的一部分。可以預想,為了生成這個工作量證明,礦工們已經投入了巨大的算力和電量去挖礦,如果涉嫌欺詐而被否決,其為挖礦付出成本都付諸東流。
綜上所述,礦工不能冒領他人的獎勵,而拿到獎勵的礦工也必須只能拿取符合規定的數額。
比特幣的卓越之處,在於建立了一種去中心化的自發共識。這種共識是自發產生的,是成千上萬在網路中遵循著共同規則的節點,在非同步交互中形成的,不依賴於任何中央機構的調解和干涉。
關於比特幣的4項主要共識基礎,本文在講解對應細節時有提及,下面做一個整合:
這四個過程相輔相成、互相作用,形成了自發的全網共識,促使全網節點組合出可信、公開、權威的總賬。
你可能會想,比特幣是一個去中心化的、基於大眾信任的、依靠眾人力量運轉的一個東西。萬一有一部分礦工被壞人收買了咋辦呢?「51%攻擊」指的又是什麼?比特幣交易所要求的「6個確認」又是怎麼回事?
這里首先要提到比特幣的一個規則「 最長鏈優先 」。意思是, 比特幣的賬單鏈在出現分叉的時候,每個礦工會獨立選擇長(累積了最多工作量證明)的鏈條,在上面繼續挖礦工作(共識基礎4) 。
這個原則主要涉及到兩個問題:
當有兩個礦工A和B同時挖礦成功(算出符合要求的數學答案)時,他們分別把自己計算出來的工作量證明作為下一個塊的前序區塊哈希,生成一個塊銜接到原有的鏈後面,由此出現了兩個分支。
這個時候,這兩個成功的礦工廣播了自己打包成功的消息。由於區塊鏈是一個去中心化的數據結構,區塊消息到達不同節點的時間點不一致,故不同的節點可能擁有不完全一樣的區塊鏈視圖——有的礦工會先收到A的消息,有的則先收到B的消息。為了解決這個問題,收到消息的礦工們遵循一個原則:選擇並嘗試延長最長的鏈。
因此,這兩條分支會各自成長一小段時間,直到他們的長度出現差異(不可能長度一直相同),比如說其中一條鏈的礦工們,更快地打包在支鏈後面又加上一塊。按照「最長鏈優先「的規則,較短的鏈會被拋棄,原本工作在短鏈上的礦工們都回到長鏈上工作。
換言之,分叉只是不同節點暫時的不一致現象,當新區塊被加入到其中某一分支時,最終收斂將解決這一個問題。[讀者可以思考一下,為什麼區塊鏈被設置成每十分鍾挖出來一個塊:如果時間短了,是不是就增加了分支產生的次數?如果時間長了,是不是交易結算的效率就太低了?]
雙重支付的本質其實也是區塊鏈的分叉,但這種分叉卻是「非自然惡意蓄謀」的產物。
我們假設小敏是密謀雙重支付的一方,她把自己僅有的10BTC先給小強、交換一塊黃金,待這條交易信息P被打包進區塊Q後,她從小強手中拿到了黃金。這時,小敏使了個心眼,她想偷偷抹去、篡改區塊Q上的交易信息P,「白嫖」這塊黃金。為了實現這樣的目的,根據「最長鏈優先」法則,小敏必須剔除該筆交易P後、重新進行結算工作,集中算力來形成分叉,並讓分叉以更快的增速超過並取代Q所在的主鏈。如果小敏確實能讓分叉更長,分叉就成為了主鏈,其他節點也會轉向新主鏈上繼續工作。這樣,小強付出了黃金,卻沒有收到這10個比特幣,「賠了夫人又折兵」。
在這個過程中,小敏需要和原鏈進行「抗爭」,使新分叉成為最長的主鏈,這被稱為「共識攻擊」。「共識攻擊」本質上是對下一區塊的爭奪,攻擊方越「強壯」、哈希算力越大,就越容易成功。
「共識攻擊「成功的可能性有多大呢?
大多數比特幣交易所規定,一個交易傳送到區塊鏈上後需要6個「確認」來完成驗證該筆交易。這一規定的根據是,假設意圖造假的礦工擁有10%的算力(挖礦成功概率0.1),那麼造假礦工要構造另一條偽鏈實施長度超越,必須至少成功挖礦6次。那麼原鏈被取代、被拋棄的概率約為0.1的6次方,趨近於0。你可以把比特幣理解為地質構造層,表層可能因為季節變換而有所改變,甚至可能被風颳走,但一旦深入到地下,地質層就能更加穩定、不受干擾。
而假設有一群擁有了51%算力的礦工,他們控制了一半以上的全網哈希算力,可以故意在區塊鏈中製造分叉、進行雙重支付交易 。但事實是,全網哈希算力的大量增加,個體礦工幾乎不可能控制哪怕1%的哈希算力了(但礦池帶來的算力集中化控制,存在一定的風險)。更何況,如果真有擁有如此強大算力的組織,他完全可以憑借自己強大的算力投入到挖礦中去獲取開發新區塊所獲的的比特幣獎勵,誠實挖礦比雙花更有利可圖。
盡管實際上並未出現51%攻擊的問題,但不可否認的是,算力的集中違背了比特幣去中心化這一初衷,並成為其繼續發展的一大隱患。
一個系統的安全性,往往取決於系統安全的最薄弱環節,這也就是所謂的「木桶原理「。與區塊鏈系統相關的安全性問題包括但不限於以下幾項:
(1)在區塊鏈上被廣泛使用的公鑰系統基本上是安全的,但量子演算法在理論上能夠破解公鑰系統;因此,區塊鏈的演算法安全性是相對的。
(2)區塊鏈協議本身存在邏輯缺陷,例如受到黑客攻擊的區塊鏈系統共識機制。
(3)所有數字貨幣系統高度依賴私鑰,私鑰在存儲、使用方面的安全性成為區塊鏈系統安全性中至關緊要的一環。
盡管區塊鏈是去中心化系統,但目前絕大多數數字交易所卻是中心化的,存在著人為安全漏洞及技術安全漏洞。這些數字交易所擁有存放大量加密貨幣的私鑰,這對於黑客來說無疑是最矚目的目標;只要黑客偷走了這些私鑰,就可以獲取到這些加密貨幣。
作者會繼續閱讀相關資料、不斷完善本文,目標是完成一篇通俗易懂的比特幣科普文章。:)
**本文系網上信息與個人理解的結合,如有偏差及誤讀,歡迎讀者指出。也歡迎給出關於文章結構上的指導~
『伍』 什麼是挖礦
挖礦就是利用比特幣挖礦機,就是用於賺取比特幣。
用戶用個人計算機下載軟體然後運行特定演算法,與遠方伺服器通訊後可得到相應比特幣,是獲取比特幣的方式之一。
比特幣為一種虛擬的貨幣,比特幣挖礦制度為通過計算機硬體為比特幣網路開展數學運算的過程,提供服務的礦工可以得到一筆報酬,因為網路報酬依據礦工完成的任務來計算,為此挖礦的競爭十分激烈。
挖礦實際是性能的競爭、裝備的競爭,由非常多張顯卡組成的挖礦機,哪怕只是HD6770這種中低端顯卡,「組團」之後的運算能力還是能夠超越大部分用戶的單張顯卡的。
而且這還不是最可怕的,有些挖礦機是更多這樣的顯卡陣列組成的,數十乃至過百的顯卡一起來,顯卡本身也是要錢的,算上硬體價格等各種成本,挖礦存在相當大的支出。
比特幣挖礦流程:
1、找到礦池
開始挖礦必須要有一個操作方便、產出穩定的礦池,它的作用就是為各個終端細分數據包,可以通過精密的演算法將終端計算好的數據包按照比例,支付相應數量的比特幣。
2、下載比特幣挖礦器(軟體)
其實這種挖礦器也有很多種,大家可以去官方網站下載。
3、設置挖礦軟體
GUIMiner是個綠色軟體,安裝完成後我們可以先設置下語言,以便更方便進一步設置。接下來需要對采礦器設置伺服器、用戶名、密碼、設備等。一般伺服器從BTC guild系列裡面選一個網路較好的就行,用戶名和密碼就是我們之前自己設置的。
4、比特幣挖礦開始
當我們確認都設定無誤後,點「開始挖礦」按鈕之後就開始挖比特幣了,隨之顯卡很快就會進入全速運行狀態,溫度升高、風扇轉速提高,你可以通過GPU-Z或顯卡驅動來監控狀態。
『陸』 以太坊stratum協議原理
參照比特幣的 stratum協議 和 NiceHash的stratum協議規范 編寫了一版以太坊版本的stratum協議說明.
stratum協議是目前最常用的礦機和礦池之間的TCP通訊協議。
以太坊是一個去中心化的網路架構,通過安裝Mist客戶端的節點來轉發新交易和新區塊。而礦機、礦池也同時形成了另一個網路,我們稱之為礦工網路。
礦工網路分成礦機、礦池、錢包等幾個主要部分,有時礦池軟體與錢包安裝在一起,可合稱為礦池。
礦機與礦池軟體之間的通訊協議是 stratum ,而礦池軟體與錢包之間的通訊是 bitcoinrpc 介面。
stratum是 JSON 為數據格式.
礦機啟動,首先以 mining.subscribe 方法向礦池連接,用來訂閱工作。
礦池以 mining.notify 返回訂閱號、ExtraNonce1和ExtraNonce2_size。
Client:
Server:
其中:
是 訂閱號 ;
080c是 extranonce ,Extranonce可能最大3位元組;
礦機以 mining.authorize 方法,用某個帳號和密碼登錄到礦池,密碼可空,礦池返回 true 登錄成功。該方法必須是在初始化連接之後馬上進行,否則礦機得不到礦池任務。
Client:
Server:
難度調整由礦池下發給礦機,以 mining.set_difficulty 方法調整難度, params 中是難度值。
Server:
礦機會在下一個任務時採用新難度,礦池有時會馬上下發一個新任務並且把清理任務設為true,以便礦機馬上以新難度工作。
該命令由礦池定期發給礦機,當礦機以 mining.subscribe 方法登記後,礦池應該馬上以 mining.notify 返回該任務。
Server:
任務ID : bf0488aa ;
seedhash : 。每一個任務都發送一個seedhash來支持盡可能多的礦池,這可能會很快地在貨幣之間交換。
headerhash : 。
boolean cleanjobs : true 。如果設為true,那麼礦工需要清理任務隊列,並立即開始從事新提供的任務,因為所有舊的任務分享都將導致陳舊的分享錯誤。如果是 false 則等當前任務結束才開始新任務。
礦工使用seedhash識別DAG,然後帶著headerhash,extranonce和自己的minernonce尋找低於目標的share(這是由提供的難度而產生的)。
礦機找到合法share時,就以」 mining.submit 「方法向礦池提交任務。礦池返回true即提交成功,如果失敗則error中有具體原因。
Client:
任務ID : bf0488aa
minernonce : 6a909d9bbc0f 。注意minernonce是6個位元組,因為提供的extranonce是2個位元組。如果礦池提供3位元組的extranonce,那麼minernonce必須是5位元組
Server:
一般的礦機與礦池通訊過程就如下所示:
『柒』 愛比特礦池是干嗎的礦池是什麼意思
這是用來「挖」比特幣的,人們把能得到比特幣的地方比作比特幣礦池。
比特幣是由一名刻意隱藏自己真實身份的神秘人士於2009 年1月設計出來的一種數字貨幣,很快風靡網路,大有與各種貨幣較量一番的味道。
簡單來講,比特幣是一種P2P形式的數字代碼,而不是通常人們理解的那種真實貨幣,它並不由某個特定機構去發行,而是依據其已經設計的內在演算法去獲取,因此在運行大量的運算並產生的過程,需要依賴更大更好的伺服器系統的幫助,於是,就有人專門考慮怎樣弄出最好的伺服器去「挖」得更多的比特幣。 因此,最簡單的理解,比特幣礦池就是一些專門抱團或者組隊挖比特幣的伺服器,他們把可能在其間產生比特幣的指向稱為礦池。
比特幣每10分鍾產生一個區塊,通常有上千萬人爭奪,但這個區塊最終只能歸1個人所有,而更多地人只能顆粒無收。你也許要挖很多年才有可能獲得一個區塊。
現在有人聚合大家的力量一起組隊共同去礦池挖礦,一旦參加的某人獲得了一個區塊,那麼就得將區塊中的貨幣按大家提供的運算性能來分,抱團的結果就是能為了能夠更快獲得比特幣。於是,就形成了許多針對挖比特幣的地方——愛比特礦池,目前常見的比特幣礦池有PPLNS、PPS、DGM、P2Pool等幾種。
『捌』 區塊鏈技術概念
區塊鏈技術概念
區塊鏈技術概念,現如今,區塊鏈已經成為大部分人關注的領域,很多企業也早已深入其中研究該技術情況,但是還有人對於它不是很了解,下面我分享一篇關於區塊鏈技術概念的相關信息。
區塊鏈的基本概念和工作原理
1、基本概念
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法。
區塊鏈Blockchain、是比特幣的一個重要概念,它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術。區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性防偽、和生成下一個區塊。
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
2、工作原理
區塊鏈系統由數據層、網路層、共識層、激勵層、合約層和應用層組成。 其中,數據層封裝了底層數據區塊以及相關的數據加密和時間戳等基礎數據和基本演算法;網路層則包括分布式組網機制、數據傳播機制和數據驗證機制等;共識層主要封裝網路節點的各類共識演算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、演算法和智能合約,是區塊鏈可編程特性的基礎;應用層則封裝了區塊鏈的各種應用場景和案例。該模型中,基於時間戳的鏈式區塊結構、分布式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具代表性的創新點。
區塊鏈主要解決的交易的信任和安全問題,因此它針對這個問題提出了四個技術創新:
1、分布式賬本,就是交易記賬由分布在不同地方的多個節點共同完成,而且每一個節點都記錄的是完整的賬目,因此它們都可以參與監督交易合法性,同時也可以共同為其作證。
跟傳統的分布式存儲有所不同,區塊鏈的分布式存儲的獨特性主要體現在兩個方面:一是區塊鏈每個節點都按照塊鏈式結構存儲完整的數據,傳統分布式存儲一般是將數據按照一定的規則分成多份進行存儲。二是區塊鏈每個節點存儲都是獨立的、地位等同的,依靠共識機制保證存儲的一致性,而傳統分布式存儲一般是通過中心節點往其他備份節點同步數據。 [8]
沒有任何一個節點可以單獨記錄賬本數據,從而避免了單一記賬人被控制或者被賄賂而記假賬的可能性。也由於記賬節點足夠多,理論上講除非所有的節點被破壞,否則賬目就不會丟失,從而保證了賬目數據的安全性。
2、非對稱加密和授權技術,存儲在區塊鏈上的交易信息是公開的,但是賬戶身份信息是高度加密的,只有在數據擁有者授權的情況下才能訪問到,從而保證了數據的安全和個人的隱私。
3、共識機制,就是所有記賬節點之間怎麼達成共識,去認定一個記錄的有效性,這既是認定的手段,也是防止篡改的手段。區塊鏈提出了四種不同的共識機制,適用於不同的應用場景,在效率和安全性之間取得平衡。
區塊鏈的共識機制具備「少數服從多數」以及「人人平等」的特點,其中「少數服從多數」並不完全指節點個數,也可以是計算能力、股權數或者其他的計算機可以比較的特徵量。「人人平等」是當節點滿足條件時,所有節點都有權優先提出共識結果、直接被其他節點認同後並最後有可能成為最終共識結果。以比特幣為例,採用的是工作量證明,只有在控制了全網超過51%的記賬節點的情況下,才有可能偽造出一條不存在的記錄。當加入區塊鏈的節點足夠多的時候,這基本上不可能,從而杜絕了造假的可能.
4、智能合約,智能合約是基於這些可信的不可篡改的數據,可以自動化的執行一些預先定義好的規則和條款。以保險為例,如果說每個人的信息包括醫療信息和風險發生的信息、都是真實可信的,那就很容易的在一些標准化的保險產品中,去進行自動化的理賠.
3、其它
互聯網交換的是信息,區塊鏈交換的是價值。人類歷史和互聯網歷史可以用八個字理解:分久必合合久必分,到了分久必合的時代,網路信息全部散在互聯網上面,大家要挖掘信息非常不容易,這時會出現像谷歌和臉 書等的平台,它做的唯一的事情就是把我們所有的信息重新組合了一下。互聯網時代壟斷巨頭們重組的就是信息,並不是產生自己的信息,產生的信息完全是我們個人。一旦信息重組,就會出現一個新的壟斷巨人,所以就到了分久必合的時代。現在由於區塊鏈技術產生又到了合久必分時代,又是新的多中心化,新的多中心化之後賦能產生新的價值,這些數據會在我們自己的手上,個人數據產生價值是歸自己所有,這是這個時代最最激動人心的時代。
區塊鏈的價值有哪些?低成本建立信任的機制,確立數權,解決數據的.產權。
目前區塊鏈技術不斷發展,包括現在的單鏈向多鏈發展,而且技術能夠在進一步擴展,我想未來還是可能會出現,特別是在交易等方面出現顛覆性的,特別是對現有產業的很多顛覆性的場景。
區塊鏈的本質是在不可信的網路建立可信的信息交換。
一帶一路+一鏈。區塊鏈更大的不是製造信任,而是讓信任產生無損的傳遞,整個降低社會的摩擦成本,從而提高整個效益。
現在區塊鏈本身還是初始階段,所以包括區塊鏈的信息傳遞、加密,這個過程中出現量子加密和其他加密,實際上對區塊鏈本身所採用的加密演算法攻擊現象也時有發生。包括區塊鏈也是作為一種資產的認定,數字資產的一個認定,但是現在我們很多都是用密碼演算法,或者是作為我們來解密的鑰匙,但是如果密碼忘記了,很可能你現在的資產就丟掉了,你不能夠在得到你原來的這些資產,所以在資產管理,包括信息傳遞和一些安全這些方面,應該說都還是存在著一些隱患。當然那麼從技術角度,現在我們區塊鏈本身處理的速度,或者說本身的擴展性,因為從工作機理的角度來看,是要把整個賬本要復制給所有的參與人員,所以在區塊鏈本身的運作效率和擴展性方面還是比較受限的。這些我們覺得都還是需要進一步在技術方面有進一步的發展。
區塊鏈平台這些底層技術,又形成包括區塊鏈錢包、區塊鏈瀏覽器、節點競選、礦機、礦池、開發組件、開發模塊、技術社區及項目社群等一系列的生態系統,這些生態系統的完善程度直接決定著區塊鏈底層平台的使用效率和效果。
4、蒙代爾的不可能三角
去中心化、高效、安全,不可能實現三者全部同時達到極致。
區塊鏈的本質是一種分布式記賬技術,與之相對的是中心式記賬技術,中心式記賬技術在我們目前的生活中廣泛存在。區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。
區塊鏈Blockchain、,是比特幣的一個重要概念,它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術,是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一批次比特幣網路交易的信息,用於驗證其信息的有效性防偽、和生成下一個區塊。
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
區塊鏈技術通俗的理解就是:把「物」的前、後、左、右區塊用一種技術連接成一個鏈條,但每個區塊的原始數據不可篡改,是一種物聯網范疇的、可以讓參與者信任的「各個模塊鏈動」的技術。區塊鏈技術的應用,離不開互聯道網,也離不開物聯網,是建立在二者融合互動基礎上的、但又讓參與者各自保持獨回立的去中心化、、並共同擁有這套價值鏈共建共享、的技術。
區塊鏈的特徵:去中心化、開放性、自治性、信息不可篡改,匿名性。
區塊鏈是一個能夠傳遞價值的網路,對可以傳遞價值的網路的需求是推動區塊鏈技術產生的重要原因。在對於保護帶有所有權或者其他價值的信息需求的推動下,區塊鏈出現了。區塊鏈通過公私鑰密碼學、分布式存儲等技術手段,一方面保證了帶有價值的信息的高效傳遞,另一方面保證了這些信息在傳遞的過程中不會被輕易的復制篡改。
從區塊鏈誕生的必然性來理解區塊鏈的內涵,區塊鏈是解決了中心化記賬缺點、解決了分布式一致性問題的分布式記賬技術,同時也是連接互聯網升級為保證帶有價值的信息安全高效傳遞的價值網路。
區塊鏈: 區塊鏈就像是一個全球唯一的帳簿,或者說是資料庫,記錄了網路中所有交易歷史。
以太坊虛擬機(EVM): 它讓你能在以太坊上寫出更強大的程序比特幣上也可以寫腳本程序、。它有時也用來指以太坊區塊鏈,負責執行智能合約以及一切。
節點:你可以運行節點,通過它讀寫以太坊區塊鏈,也即使用以太坊虛擬機。完全節點需要下載整個區塊鏈。輕節點仍在開發中。
礦工:挖礦,也就是處理區塊鏈上的區塊的節點。這個網頁可以看到當前活躍的一部分以太坊礦工:stats.ethdev.com。
工作量證明:礦工們總是在競爭解決一些數學問題。第一個解出答案的(算出下一個區塊)將獲得以太幣作為獎勵。然後所有節點都更新自己的區塊鏈。所有想要算出下一個區塊的礦工都有與其他節點保持同步,並且維護同一個區塊鏈的動力,因此整個網路總是能達成共識。(注意:以太坊正計劃轉向沒有礦工的權益證明系統(POS),不過那不在本文討論范圍之內。)
以太幣:縮寫ETH。一種你可以購買和使用的真正的數字貨幣。這里是可以交易以太幣的其中一家交易所的走勢圖。在寫這篇文章的時候,1個以太幣價值65美分。
Gas:在以太坊上執行程序以及保存數據都要消耗一定量的以太幣,Gas是以太幣轉換而成。這個機制用來保證效率。
DApp: 以太坊社區把基於智能合約的應用稱為去中心化的應用程序(Decentralized App)。DApp的目標是(或者應該是)讓你的智能合約有一個友好的界面,外加一些額外的東西,例如IPFS可以存儲和讀取數據的去中心化網路,不是出自以太坊團隊但有類似的精神)。DApp可以跑在一台能與以太坊節點交互的中心化伺服器上,也可以跑在任意一個以太坊平等節點上。(花一分鍾思考一下:與一般的網站不同,DApp不能跑在普通的伺服器上。他們需要提交交易到區塊鏈並且從區塊鏈而不是中心化資料庫讀取重要數據。相對於典型的用戶登錄系統,用戶有可能被表示成一個錢包地址而其它用戶數據保存在本地。許多事情都會與目前的web應用有不同架構。)
以太坊客戶端,智能合約語言
編寫和部署智能合約並不要求你運行一個以太坊節點。下面有列出基於瀏覽器的IDE和API。但如果是為了學習的話,還是應該運行一個以太坊節點,以便理解其中的基本組件,何況運行節點也不難。
運行以太坊節點可用的客戶端
以太坊有許多不同語言的客戶端實現即多種與以太坊網路交互的方法、,包括C++, Go, Python, Java, Haskell等等。為什麼需要這么多實現?不同的實現能滿足不同的需求例如Haskell實現的目標是可以被數學驗證、,能使以太坊更加安全,能豐富整個生態系統。
在寫作本文時,我使用的是Go語言實現的客戶端geth (go-ethereum),其他時候還會使用一個叫testrpc的工具, 它使用了Python客戶端pyethereum。後面的例子會用到這些工具。
關於挖礦:挖礦很有趣,有點像精心照料你的室內盆栽,同時又是一種了解整個系統的方法。雖然以太幣現在的價格可能連電費都補不齊,但以後誰知道呢。人們正在創造許多酷酷的DApp, 可能會讓以太坊越來越流行。
互動式控制台:客戶端運行起來後,你就可以同步區塊鏈,建立錢包,收發以太幣了。使用geth的一種方式是通過Javascript控制台。此外還可以使用類似cURL的命令通過JSON RPC來與客戶端交互。本文的目標是帶大家過一邊DApp開發的流程,因此這塊就不多說了。但是我們應該記住這些命令行工具是調試,配置節點,以及使用錢包的利器。
在測試網路運行節點: 如果你在正式網路運行geth客戶端,下載整個區塊鏈與網路同步會需要相當時間。你可以通過比較節點日誌中列印的最後一個塊號和stats.ethdev.com上列出的最新塊來確定是否已經同步。) 另一個問題是在正式網路上跑智能合約需要實實在在的以太幣。在測試網路上運行節點的話就沒有這個問題。此時也不需要同步整個區塊鏈,創建一個自己的私有鏈就勾了,對於開發來說更省時間。
Testrpc:用geth可以創建一個測試網路,另一種更快的創建測試網路的方法是使用testrpc. Testrpc可以在啟動時幫你創建一堆存有資金的測試賬戶。它的運行速度也更快因此更適合開發和測試。你可以從testrpc起步,然後隨著合約慢慢成型,轉移到geth創建的測試網路上 - 啟動方法很簡單,只需要指定一個networkid:geth --networkid "12345"。這里是testrpc的代碼倉庫,下文我們還會再講到它。
接下來我們來談談可用的編程語言,之後就可以開始真正的編程了。寫智能合約用的編程語言用Solidity就好。
要寫智能合約有好幾種語言可選:有點類似Javascript的Solidity, 文件擴展名是.sol. 和Python接近的Serpent, 文件名以.se結尾。還有類似Lisp的LLL。Serpent曾經流行過一段時間,但現在最流行而且最穩定的要算是Solidity了,因此用Solidity就好。聽說你喜歡Python? 用Solidity。
solc編譯器: 用Solidity寫好智能合約之後,需要用solc來編譯。它是一個來自C++客戶端實現的組件又一次,不同的實現產生互補、,這里是安裝方法。如果你不想安裝solc也可以直接使用基於瀏覽器的編譯器,例如Solidity real-time compiler或者Cosmo。後文有關編程的部分會假設你安裝了solc。
web3.js API. 當Solidity合約編譯好並且發送到網路上之後,你可以使用以太坊的web3.js JavaScript API來調用它,構建能與之交互的web應用。