以太坊時間戳
Ⅰ 區塊鏈如何保證使用安全
區塊鏈項目(尤其是公有鏈)的一個特點是開源。通過開放源代碼,來提高項目的可信性,也使更多的人可以參與進來。但源代碼的開放也使得攻擊者對於區塊鏈系統的攻擊變得更加容易。近兩年就發生多起黑客攻擊事件,近日就有匿名幣Verge(XVG)再次遭到攻擊,攻擊者鎖定了XVG代碼中的某個漏洞,該漏洞允許惡意礦工在區塊上添加虛假的時間戳,隨後快速挖出新塊,短短的幾個小時內謀取了近價值175萬美元的數字貨幣。雖然隨後攻擊就被成功制止,然而沒人能夠保證未來攻擊者是否會再次出擊。
當然,區塊鏈開發者們也可以採取一些措施
一是使用專業的代碼審計服務,
二是了解安全編碼規范,防患於未然。
密碼演算法的安全性
隨著量子計算機的發展將會給現在使用的密碼體系帶來重大的安全威脅。區塊鏈主要依賴橢圓曲線公鑰加密演算法生成數字簽名來安全地交易,目前最常用的ECDSA、RSA、DSA 等在理論上都不能承受量子攻擊,將會存在較大的風險,越來越多的研究人員開始關注能夠抵抗量子攻擊的密碼演算法。
當然,除了改變演算法,還有一個方法可以提升一定的安全性:
參考比特幣對於公鑰地址的處理方式,降低公鑰泄露所帶來的潛在的風險。作為用戶,尤其是比特幣用戶,每次交易後的余額都採用新的地址進行存儲,確保有比特幣資金存儲的地址的公鑰不外泄。
共識機制的安全性
當前的共識機制有工作量證明(Proof of Work,PoW)、權益證明(Proof of Stake,PoS)、授權權益證明(Delegated Proof of Stake,DPoS)、實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)等。
PoW 面臨51%攻擊問題。由於PoW 依賴於算力,當攻擊者具備算力優勢時,找到新的區塊的概率將會大於其他節點,這時其具備了撤銷已經發生的交易的能力。需要說明的是,即便在這種情況下,攻擊者也只能修改自己的交易而不能修改其他用戶的交易(攻擊者沒有其他用戶的私鑰)。
在PoS 中,攻擊者在持有超過51%的Token 量時才能夠攻擊成功,這相對於PoW 中的51%算力來說,更加困難。
在PBFT 中,惡意節點小於總節點的1/3 時系統是安全的。總的來說,任何共識機制都有其成立的條件,作為攻擊者,還需要考慮的是,一旦攻擊成功,將會造成該系統的價值歸零,這時攻擊者除了破壞之外,並沒有得到其他有價值的回報。
對於區塊鏈項目的設計者而言,應該了解清楚各個共識機制的優劣,從而選擇出合適的共識機制或者根據場景需要,設計新的共識機制。
智能合約的安全性
智能合約具備運行成本低、人為干預風險小等優勢,但如果智能合約的設計存在問題,將有可能帶來較大的損失。2016 年6 月,以太坊最大眾籌項目The DAO 被攻擊,黑客獲得超過350 萬個以太幣,後來導致以太坊分叉為ETH 和ETC。
對此提出的措施有兩個方面:
一是對智能合約進行安全審計,
二是遵循智能合約安全開發原則。
智能合約的安全開發原則有:對可能的錯誤有所准備,確保代碼能夠正確的處理出現的bug 和漏洞;謹慎發布智能合約,做好功能測試與安全測試,充分考慮邊界;保持智能合約的簡潔;關注區塊鏈威脅情報,並及時檢查更新;清楚區塊鏈的特性,如謹慎調用外部合約等。
數字錢包的安全性
數字錢包主要存在三方面的安全隱患:第一,設計缺陷。2014 年底,某簽報因一個嚴重的隨機數問題(R 值重復)造成用戶丟失數百枚數字資產。第二,數字錢包中包含惡意代碼。第三,電腦、手機丟失或損壞導致的丟失資產。
應對措施主要有四個方面:
一是確保私鑰的隨機性;
二是在軟體安裝前進行散列值校驗,確保數字錢包軟體沒有被篡改過;
三是使用冷錢包;
四是對私鑰進行備份。
Ⅱ 為什麼UUID是無序的,不是包含時間戳生成的
UUID(Universally Unique Identifier)全局唯一標識符,是指在一台機器上生成的數字,它保證對在
同一時空中的所有機器都是唯一的。按照開放軟體基金會(OSF)制定的標准計算,用到了乙太網卡地址
、納秒級時間、晶元ID碼和許多可能的數字。由以下幾部分的組合:當前日期和時間(UUID的第一個部
分與時間有關,如果你在生成一個UUID之後,過幾秒又生成一個UUID,則第一個部分不同,其餘相同)
,時鍾序列,全局唯一的IEEE機器識別號(如果有網卡,從網卡獲得,沒有網卡以其他方式獲得),
UUID的唯一缺陷在於生成的結果串會比較長。
Ⅲ 區塊鏈是什麼意思
區塊鏈是一個信息技術領域的術語。
從本質上講,它是一個共享資料庫,存儲於其中的數據或信息,具有「不可偽造」「全程留痕」「可以追溯」「公開透明」「集體維護」等特徵。基於這些特徵,區塊鏈技術奠定了堅實的「信任」基礎,創造了可靠的「合作」機制,具有廣闊的運用前景。
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。
區塊鏈的起源
區塊鏈起源於比特幣,2008年11月1日,一位自稱中本聰(Satoshi Nakamoto)的人發表了《比特幣:一種點對點的電子現金系統》一文,闡述了基於P2P網路技術、加密技術、時間戳技術、區塊鏈技術等的電子現金系統的構架理念,這標志著比特幣的誕生。
兩個月後理論步入實踐,2009年1月3日第一個序號為0的創世區塊誕生。幾天後2009年1月9日出現序號為1的區塊,並與序號為0的創世區塊相連接形成了鏈,標志著區塊鏈的誕生。
Ⅳ 幣圈內的一些專業術語是什麼
1、Blockchain——區塊鏈
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密貨幣演算法等計算機技術的新型應用模式。是一個共享的分布式賬本,其中交易通過附加塊永久記錄。
2、Block——區塊
在比特幣網路中,數據會以文件的形式被永久記錄,我們稱這些文件為區塊。一個區塊是一些或所有最新比特幣交易的記錄集,且未被其他先前的區塊記錄。
3、Node——節點
由區塊鏈網路的參與者操作的分類帳的副本。
4、去中心化
去中心化是一種現象或結構,必須在擁有眾多節點的系統中或在擁有眾多個體的群中才能出現或存在。節點與節點之間的影響,會通過網路而形成非線性因果關系。
5、共識機制
共識機制是通過特殊節點的投票,在很短的時間內完成對交易的驗證和確認;對一筆交易,如果利益不相乾的若干個節點能夠達成共識,我們就可以認為全網對此也能夠達成共識。
6、Pow——工作量證明
Proofof Work,是指獲得多少貨幣,取決於你挖礦貢獻的工作量,電腦性能越好,分給你的礦就會越多。
7、PoS——權益證明
Proofof Stake,根據你持有貨幣的量和時間進行利息分配的制度,在POS模式下,你的「挖礦」收益正比於你的幣齡,而與電腦的計算性能無關。
8、智能合約
智能合約是一種旨在以信息化方式傳播、驗證或執行合約的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。
9、時間戳
時間戳是指字元串或編碼信息用於辨識記錄下來的時間日期。國際標准為ISO 8601。
10、圖靈完備
圖靈完成是指機器執行任何其他可編程計算機能夠執行計算的能力。
11、Dapp——去中心化應用
是一種開源的應用程序,自動運行,將其數據存儲在區塊鏈上,以加密貨幣令牌的形式激勵,並以顯示有價值證明的協議進行操作。
12、DAO——去中心化自治組織
可以認為是在沒有任何人為干預的情況下運行的公司,並將一切形式的控制交給一套不可破壞的業務規則。
13、PrivateKey——私鑰
私鑰是一串數據,它是允許你訪問特定錢包中的令牌。它們作為加密貨幣,除了地址的所有者之外,都被隱藏。
14、PublicKey——公鑰
是和私鑰成對出現的,公鑰可以算出幣的地址,因此可以作為擁有這個幣地址的憑證。
15、礦機
嘗試創建區塊並將其添加到區塊鏈上的計算設備或者軟體。在一個區塊鏈網路中,當一個新的有效區塊被創建時,系統一般會自動給予區塊創建者(礦機)一定數量的代幣,作為獎勵。
16、礦池
是一個全自動的挖礦平台,使得礦機們能夠貢獻各自的算力一起挖礦以創建區塊,獲得區塊獎勵,並根據算力貢獻比例分配利潤(即礦機接入礦池—提供算力—獲得收益)。
17、公有鏈
完全開放的區塊鏈,是指任何人都可讀取的、任何人都能發送交易且交易能獲得有效確認的、全世界的人都可以參與系統維護工作,任何人都可以通過交易或挖礦讀取和寫入數據。
18、私有鏈
寫入許可權僅面向某個組織或者特定少數對象的區塊鏈。讀取許可權可以對外開放,或者進行任意程度地限制。
19、聯盟鏈
共識機制由指定若干機構共同控制的區塊鏈。
20、側鏈
楔入式側鏈技術(pegged sidechains),它將實現比特幣和其他數字資產在多個區塊鏈間的轉移,這就意味著用戶們在使用他們已有資產的情況下,就可以訪問新的加密貨幣系統。
21、跨鏈技術
跨鏈技術可以理解為連接各區塊鏈的橋梁,其主要應用是實現各區塊鏈之間的Atom交易、資產轉換、區塊鏈內部信息互通,或解決Oracle的問題等。
22、硬分叉
區塊鏈發生永久性分歧,在新共識規則發布後,部分沒有升級的節點無法驗證已經升級的節點生產的區塊,通常硬分叉就會發生。
23、軟分叉
當新共識規則發布後,沒有升級的節點會因為不知道新共識規則下,而生產不合法的區塊,就會產生臨時性分叉。
24、Hash——哈希值
一般翻譯做」散列」,也有直接音譯為」哈希」的。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。
25、主鏈
主鏈一詞源於主網(,相對於測試網),即正式上線的、獨立的區塊鏈網路。
對幣圈「行話」還不了解的小夥伴,趕快來學習一下:
1、法幣是什麼?
法幣是法定貨幣,是由國家和政府發行的,只有政府信用來做擔保,如人民幣、美元等等。
2、token是什麼?
token,通常翻譯成通證。Token是區塊鏈中的重要概念之一,它更廣為人知的名字是「代幣」,但在專業的「鏈圈」人看來,它更准確的翻譯是「通證」,代表的是區塊鏈上的一種權益證明,而非貨幣。
Token的三個要素
一是數字權益證明,通證必須是以數字形式存在的權益憑證,代表一種權利、一種固有和內在的價值;
二是加密貨幣,通證的真實性、防篡改性、保護隱私等能力由加密貨幣學予以保障;
三是能夠在一個網路中流動,從而隨時隨地可以驗證。
3、建倉是什麼?
幣圈建倉也叫開倉,是指交易者新買入或新賣出一定數量的數字貨幣。
4、梭哈是什麼?
幣圈梭哈就是指把本金全部投入。
5、空投是什麼?
空投是目前一種十分流行的加密貨幣營銷方式。為了讓潛在投資者和熱衷加密貨幣的人獲得代幣相關信息,代幣團隊會經常性地進行空投。
6、鎖倉是什麼?
鎖倉一般是指投資者在買賣合約後,當市場出現與自己操作相反的走勢時,開立與原先持倉相反的新倉,又稱對鎖、鎖單,甚至美其名曰蝴蝶雙飛。
7、糖果是什麼?
幣圈糖果即各種數字貨幣剛發行處在ICO時免費發放給用戶的數字幣,是虛擬幣項目發行方對項目本身的一種造勢和宣傳。
8、破發是什麼?
破指的是跌破,發指的是數字貨幣的發行價格。幣圈破發是指某種數字貨幣跌破了發行的價格。
9、私募是什麼?
幣圈私募是一種投資加密貨幣項目的方式,也是加密貨幣項目創始人為平台運作募集資金的最好方式。
10、K線圖怎麼看?
K線圖(Candlestick Charts)又稱蠟燭圖、日本線、陰陽線、棒線、紅黑線等,常用說法是「K線」。它是以每個分析周期的開盤價、最高價、最低價和收盤價繪制而成。
11、對沖是什麼?
一般對沖是同時進行兩筆行情相關、方向相反、數量相當、盈虧相抵的交易。在期貨合約市場,買入相同數量方向不同的頭寸,當方向確定後,平倉掉反方向頭寸,保留正方向獲取盈利。
12、頭寸是什麼?
頭寸是一種市場約定,承諾買賣合約的最初部位,買進合約者是多頭,處於盼漲部位;賣出合約為空頭,處於盼跌部位。
13、利好是什麼?
利好:指幣種獲得主流媒體關注,或者某項技術應用有突破性進展,有利於刺激價格上漲的消息,都稱為利好。
14、利空是什麼?
利空:促使幣價下跌的消息,如比特幣技術問題,央行打壓等。
15、反彈是什麼?
幣價在下跌趨勢中因下跌過快而回升的價格調整現象。回升幅度小於下跌幅度。
16、杠桿是什麼?
杠桿交易,顧名思義,就是利用小額的資金來進行數倍於原始金額的投資,以期望獲取相對投資標的物波動的數倍收益率,抑或虧損。
Ⅳ 以太坊是如何挖礦的
以太坊的代幣是通過采礦過程中產生的,每塊采礦率為 5 個以太幣。以太坊的采礦過程幾乎與比特幣相同,對於每一筆交易,礦工都可以使用計算機通過散列函數運行該塊的唯一標題元數據,反復,快速地猜出答案,直到其中一人獲勝。
許多新用戶認為,采礦的唯一目的是以不需要中央發行人的方式生成醚(參見我們的指南「 什麼是以太? 」)。這是真的。以太坊的代幣是通過采礦過程中產生的,每塊采礦率為 5 個以太幣。但是,采礦還有至少同樣重要的作用。通常,銀行負責保持交易的准確記錄。他們確保資金不是憑空創造的,用戶不會多次欺騙和花錢。不過,區塊鏈引入了一種全新的記錄保存方式,整個網路而不是中介,驗證交易並將其添加到公共分類賬。
Ethereum Mining
盡管「無信任」或「信任最小化」貨幣體系是目標,但仍有人需要確保財務記錄的安全,確保沒有人作弊。采礦是使分散記錄成為可能的創新之一。礦工們在防止欺詐行為(特別是醚的雙重支出)方面達成了關於交易歷史的共識 – 這是一個有趣的問題,在分散化的貨幣未在工作區塊鏈之前解決。雖然以太坊正在研究其他方法來就交易的有效性達成共識,但采礦目前將平台保持在一起。
挖礦如何工作
今天,以太坊的采礦過程幾乎與比特幣相同。對於每一筆交易,礦工都可以使用計算機反復,快速地猜出答案,直到其中一人獲勝。更具體地說,礦工將通過散列函數(它將返回一個固定長度,亂序的數字和字母串,它看起來是隨機的)運行該塊的唯一標題元數據(包括時間戳和軟體版本),只改變』nonce 值』 ,這會影響結果散列值。
如果礦工發現與當前目標相匹配的散列,礦工將被授予乙醚並在整個網路上廣播該塊,以便每個節點驗證並添加到他們自己的分類賬副本中。如果礦工 B 找到散列,礦工 A 將停止對當前塊的工作,並為下一個塊重復該過程。礦工很難在這場比賽中作弊。沒有辦法偽造這項工作,並拿出正確的謎題答案。這就是為什麼解謎方法被稱為「工作證明」。
另一方面,其他人幾乎沒有時間驗證散列值是否正確,這正是每個節點所做的。大約每 12-15 秒,一名礦工發現一塊石塊。如果礦工開始比這更快或更慢地解決謎題,演算法會自動重新調整問題的難度,以便礦工回彈到大約 12 秒鍾的解決時間。
礦工們隨機賺取這些乙醚,他們的盈利能力取決於運氣和他們投入的計算能力。以太坊使用的具體工作量驗證演算法被稱為』ethash』,旨在需要更多的內存,使得使用昂貴的 ASIC 難以開采 – 特殊的采礦晶元,現在是唯一可以盈利的比特幣開采方式。
從某種意義上講,ethash 可能已經成功實現了這一目的,因為專用 ASIC 不可用於以太坊(至少目前還沒有)。此外,由於以太坊旨在從工作證明挖掘轉變為「股權證明」(我們將在下面討論),購買 ASIC 可能不是一個明智的選擇,因為它可能無法長久證明有用。
轉移到股權證明
不過,以太坊可能永遠不需要礦工。開發人員計劃放棄工作證明,即網路當前使用的演算法來確定哪些交易是有效的,並保護其免受篡改,以支持股權證明,網路由代幣所有者擔保。如果並且當該演算法推出時,股權證明可以成為實現分布式共識的一種手段,而該共識使用更少的資源。
Ⅵ 以太坊架構是怎麼樣的
以太坊最上層的是DApp。它通過Web3.js和智能合約層進行交換。所有的智能合約都運行在EVM(以太坊虛擬機)上,並會用到RPC的調用。在EVM和RPC下面是以太坊的四大核心內容,包括:blockChain, 共識演算法,挖礦以及網路層。除了DApp外,其他的所有部分都在以太坊的客戶端里,目前最流行的以太坊客戶端就是Geth(Go-Ethereum)
Ⅶ 數字貨幣還在做嗎
比特幣的發行是根據區塊高度來規定的,也就是距離創世第0號區塊,現在挖到了第幾號,比特幣的總量上限就應該是多少。過了這個村就沒這個店,如果礦工挖到一個區塊,卻沒有領取這個區塊的獎勵,那這些比特幣就等於被永久銷毀了。
coinbase交易就是「憑空」生成比特幣的特殊交易,只有礦工可以寫這種交易,生成比特幣的數量受到規則限制(每21萬個區塊減半一次的新幣+本區塊的交易手續費)。
但是,規則並沒有規定礦工必須頂格把所有能拿走的獎勵全部拿走,可以選擇不拿。
所以,以前就發生過一個對接了RSK側鏈的礦池搞出bug,忘記領走獎勵的情況,白白佔了一個區塊的坑,等同於銷毀了對應數額的比特幣,讓比特幣總量永久性地減小了一點點。
另外,要花掉一筆比特幣,只需要指定交易ID和輸出序號。
如果礦工在多個區塊重復寫入了一模一樣的多筆coinbase交易,交易ID當然也是重復的,比特幣軟體處理這種情況時,只以第一次為准。
所以這種情況也是白白佔了一個區塊的坑,永久銷毀了對應數額的比特幣。
我印象里這好像還是個安全漏洞,所以後來的新版比特幣軟體把這種寫入重復coinbase交易的行為也禁止了。但是一直到現在也沒有禁止礦工不領取自己應得的獎勵。
一般來說,幣是私鑰控制的,把幣轉到任何人都不知道私鑰的地址上,就等於被銷毀了。
如果主人的安全工作做得很好,私鑰沒有泄露、也不可被猜解,但是他自己不慎弄丟了私鑰,那就等於把他擁有的所有幣銷毀了。
只有一些特殊的情況需要有意銷毀幣。
一是不可逆地兌換成另一種幣,比如依附於比特幣的合約幣XCP,還有依附於BCH的蟲洞現金WHC,就是這種情況。
二是為了存證、在鏈上保存數據,比如時間戳:panbiao.com/2013/08/
以及當初以太坊創始團隊的眾籌:zhuanlan.hu.com/p/29
私鑰本質上就是一個很大的數字,誰知道這個數字,誰就可以控制對應地址上的幣。所以私鑰一定要用靠譜的隨機數生成,否則就可能被猜解、盜幣。
對比特幣來說,地址是公鑰的哈希,沒辦法判斷一個地址到底有沒有對應的公鑰和私鑰(即使知道公鑰也無法知道對應的私鑰),所以即使明擺著是「燒毀」幣的地址,系統也不禁止轉入。
嚴格來說,鎖住幣的是一小段程序(腳本),這段程序就是把輸入當做公鑰和數字簽名,先檢查公鑰哈希是否一致,再檢查數字簽名是否有效,有效就驗證通過,允許轉賬;否則就判斷交易非法、拒絕打包進鏈。
解釋、執行這段程序的就是全節點軟體。可以說是全節點的軟體代碼具體定義了一個幣。
不過現在的狀況很尷尬,絕大多數礦工都不跑全節點,只有少數幾個礦池在跑。絕大多數用戶也不跑全節點,即使是跑了全節點,也只能執行驗證,沒有算力、不能出塊。