當前位置:首頁 » 幣種行情 » ETH加強時間戳校驗

ETH加強時間戳校驗

發布時間: 2023-03-16 06:03:03

比特幣———一個幣值8萬多元人民幣

接觸過數字貨幣的人對比特幣都不陌生,它是數字貨幣的祖宗,如果你在2010年的時候用三美元買1萬個比特幣留到現在,那麼現在你的身價是8億多人民幣,是不是不可思議

區塊鏈技術被稱為是繼,蒸汽機,電,互聯網,之後的一個劃時代的標志,

比特幣的底層技術是什麼呢?

是區塊鏈技術,那麼區塊鏈技術又是什麼呢,舉個通俗易懂的例子,你去招商銀行存錢,存了100萬,有一天招商銀行的銀行系統被黑客攻擊了,並且把你的賬戶的錢轉走了50萬,你的存款單也丟了,這時候銀行不想把你丟了的錢補給你,你是不是要抓狂。區塊鏈就是有無數的存儲系統,而且裡面都存有相同的內容,沒有人可以修改已經生產的賬單,就像以前只有一個賬本,但是用了區塊鏈之後就有無數的記賬賬本,而且分布在各個地方。更專業一點說,區塊鏈技術是由利用塊鏈式數據結構來驗證和存儲數據,利用分布式節點共識演算法來生成和更新數據,利用密碼學的方式來保證數據傳輸和訪問的安全,利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。

但是現在是數字貨幣泛濫的年代,各種新的數字貨幣發行進行洗錢跑路,最後一地雞毛,對於目前國家提倡的區塊鏈技術和企業鏈改如果落到實地,這樣的數字貨幣還是可以持有的,我們知道只有大公司才能上市,但是所以公司都能上鏈

如果你對某個數字貨幣非常了解,並且知道它的運營情況,有沒有落地到實地幫助公司進行鏈改,技術支撐等,不然盡量不要去買。

回到BTC,BTC公鏈被稱為區塊鏈的1.0時代,採用的是POW共識機制,也就是工作量證明,你獲得多少貨幣,取決於你挖礦貢獻的有效工作,電腦性能越好,分給你的礦就越多,POW機制解決了拜占庭將軍問題,就是在互相不信任的情況下,只要多少人都信任,那麼就能保證系統的正確運作,但是也有一定的缺陷,就是處理交易的速度太慢,礦工們需要不斷的通過計算來碰撞哈希值,這是勞民傷財且效率低下的。TPS系統吞吐量(用戶並發量)7筆/秒。ETH這條公鏈被稱為區塊鏈的2.0時代,ETH提出了新的共識機制POW+POS(權益證明)簡單來說就是你持有的幣越多,你的權益就越高,因為你持有的幣越多,持有幣的時間越久,你的計算難度就會降低,挖礦會容易一些,TPS為21筆/秒。EOS被成為3.0的公鏈,DPOS共識機制(拜占庭容錯的委託權益證明)對於POS機制的加密貨幣,每個節點都可以創建區塊,並按照個人的持股比例獲得「利息」,出塊時間3秒,TPS為5000筆/秒。

一、從比特幣看區塊鏈技術

(一)比特幣(Bitcoin)是一種數字加密貨幣比特幣是一種數字加密貨幣,由中本聰(SatoshiNakamoto)2009 年1 月25 日設計上線。比特幣的產生、發行和交易機制與傳統貨幣不同。傳統貨幣的產生、發行和交易依託於中央銀行、商業銀行等中心化的二元模式;而比特幣的發行不需要中心化的金融中介,比特幣社區用戶可通過比特幣區塊鏈網路發行和管理數字加密貨幣。比特幣是以黃金模式發行,人們形象地將該過程稱為「挖礦(Mining)」,並將所有提供計算力的節點稱為「礦工(Miner)」。目前,比特幣挖礦的發行方式使每位礦工都可以從中獲取6.25 個比特幣的收益。實際上,比特幣的發行過程是求解多重哈希值解方程(Hash Function)的過程。節點挖礦獲得比特幣的過程,是通過計算機進行大量計算求出合理的哈希值來實現的。簡而言之,這個過程的主要目標是求解交易雙方的公鑰。每次求出的解都會作為下次計算的初始條件,節點在此基礎計算新結果。當一個節點解出一組之前未解出的哈希值時,系統向全網路發布,各節點查驗本地資料庫。如果各節點發現該解正確,並且資料庫中沒有此解記錄,將確認並記錄該解的合法性。當所有節點都確認並記錄完畢時,求出該解的節點便被獎勵一定數量的比特幣。作為比特幣最底層的核心技術,區塊鏈技術來源於2014 年10 月大英圖書館的一次研討會。比特幣是區塊鏈技術最成功的金融應用,它以公開賬本的形式在全網記錄所有交易信息。隨著比特幣的普及和應用,區塊鏈技術日益受到金融 科技 界的關注。

(二)區塊鏈是弱中心化的分布式賬本協議區塊鏈技術提供了一份公共的分布式安全賬本,是一種開放式的價值傳遞協議。實際上,區塊鏈是一個由使用密碼學方法相關聯產生的數據塊構成的弱中心化的資料庫,任何發生在此區塊鏈網路上的交易,均會以約定的演算法記錄到區塊鏈系統上。所有節點都保存一份完整的數據備份,包含自該區塊鏈系統形成以來的所有交易記錄。區塊鏈由一個個區塊組成。區塊是區塊鏈的基本存儲單元,記錄了10 分鍾內各節點的全部交易信息。每一個數據區塊中包含一次交易信息,用於驗證信息的有效性,並為下一個區塊的生成做准備。區塊由三部分組成:本區塊的地址、交易單和前一個區塊的地址。當區塊鏈上一個節點發起一筆交易時,該節點需要將信息向其他節點進行公告。該節點用私鑰加密信息,從而可有效防止信息偽造。由於了解 歷史 交易信息,收到信息的節點利用備份信息能夠判斷交易是否真實。各節點驗證成功後,將最後一個區塊的地址與交易信息結合,形成一個新區塊,並打上時間戳(Timestamp)連接到區塊鏈上,完成交易的全過程。由於每個區塊都擁有前一個區塊的地址,人們可以通過後一區塊地址找到前一區塊,直至初始區塊。因此,區塊鏈就是由根據時間順序相連接的區塊構成的完整交易信息鏈條。

(三)區塊鏈的特點

區塊鏈是一個全新的資料庫系統,具有弱中心化、不可篡改、包容性等特點。其中,弱中心化、不可篡改是區塊鏈技術區別於傳統技術的核心特徵。這兩個特徵使得由區塊鏈技術構建的系統能夠通過系統機制設置,實現「自信任」。

1. 弱中心化。區塊鏈系統的每個節點都保存著一份完整數據備份,能夠有效預防中央伺服器發生故障而導致的網路癱瘓和數據丟失,以及黑客對單個節點的惡意攻擊,從而保證數據的安全。除非有人能同時控制系統中超過51% 的節點,否則對於單個節點的攻擊不能影響其他節點數據的內容。

2. 不可篡改。區塊鏈系統是一個公共的總賬本,系統全部數據都公開、透明地記錄在該賬本上。所有數據通過網路共識演算法記錄,每筆基於區塊鏈交易的新信息都會向全網發布,經各個節點逐一確認、保存後,將收到的交易信息形成新區塊,確保區塊鏈系統信息不可篡改、無法作假、可以追溯。同時,區塊鏈技術使用隨機散列演算法和時間戳技術,節點在驗證時會蓋上時間戳,提供交易時間證明,保證同筆交易的唯一性。如果要修改某個區塊的交易信息,必須要完成該區塊及之後區塊的所有信息。由於修改後會造成哈希值與原來的哈希值不同,無法通過其他節點確認,將使得修改無效,大大提高了篡改信息的難度。因此,區塊鏈技術可以為交易提供可靠的信用保證。其不可篡改的特性為解決合同沖突提供了有效方案,可以應用於存儲並公證永久性記錄和需要確保信息真實性的領域。如,財產所有權的公證。

3. 包容性。區塊鏈技術以演算法為基礎,摒棄了不同國家文化和經濟差異,使各國機構可以建立統一的信用體系。此外,區塊鏈技術是對外開源和共享的:任何進入區塊鏈的機構和個人,不僅能提交記錄,還能得到完整的系統 歷史 交易記錄,並對信息所有者確權;同時,由於區塊鏈系統運行於互聯網,符合要求的任何機構和個人都能以節點的方式加入該系統。

4.溯源,公開透明。

因為區塊鏈或者說是數字貨幣涉及的知識與比應用比較多,感興趣的朋友可以點關注,我會整理和發布更多的區塊鏈和數字貨幣的知識

② 區塊鏈的六層模型是什麼

區塊鏈總共有六個層級結構,這六個層級結構自下而上是:數據層、網路層、共識層、激勵層、合約層、應用層。
一、數據層
數據層是區塊鏈六個層級結構裡面的最底層。數據層我們可以理解成資料庫,只不過對於區塊鏈來講,這個資料庫是不可篡改的、分布式的資料庫,也就是我們所謂的「分布式賬本」。
在數據層上,也就是在這個「分布式賬本」上,存放著區塊鏈上的數據信息,封裝著區塊的塊鏈式結構、非對稱加密技術、哈希演算法等技術手段,來保證數據在全網公開的情況下的安全性問題。具體的做法是:
在區塊鏈網路上,節點採用共識演算法來維持數據層(也就是這個分布式資料庫)的數據的一致性,採用密碼學中的非對稱加密和哈希演算法,來確保這個分布式資料庫的不可篡改和可追溯。
這就構成了區塊鏈技術中最底層的數據結構。但是,光有分布式資料庫還不夠,還需要讓資料庫裡面的數據信息可以共享交流,下面我們介紹數據層的上一層——網路層。
二、網路層
區塊鏈的網路系統,本質上是一個P2P(點對點)網路,點對點意味著不需要一個中間環節或者中心化伺服器來操控這個系統,網路中的所有資源和服務都是分配在各個節點手中的,信息的傳輸也是兩個節點之間直接往來就可以了。不過,需要注意的是,P2P
(點對點)並不是中本聰發明的,區塊鏈只是融合了這一技術而已。
所以,區塊鏈的網路層實際上就是一個特別強大的點對點網路系統。在這個系統上,每一個節點既可以生產信息,也可以接收信息,就好比發郵件,你既可以編寫自己的郵件,也可以收到別人給你發送的郵件。
在區塊鏈網路上,節點之間需要共同維護這條區塊鏈系統,每當一個節點創造出新的區塊後,他需要以廣播的形式通知其他節點,其他節點收到信息後對該區塊進行驗證,然後在該區塊的基礎上去創建新的區塊。這樣一來,全網便可以共同維護更新區塊鏈系統這個總賬本了。
但是,全網要依據什麼規則來維護更新區塊鏈系統這個總賬本呢,這就涉及到了所謂的「法律法規」(規則),也就是我們接下來要介紹的:共識層。
三、共識層
在區塊鏈的世界裡,共識,簡單來講就是全網要依據一個統一的、大家一致同意的規則來維護更新區塊鏈系統這個總賬本,類似於更新數據的規則。讓高度分散的節點在去中心化的區塊鏈網路中高效達成共識,是區塊鏈的核心技術之一,也是區塊鏈社區的治理機制。
目前主流的共識機制演算法有:比特幣的工作量證明(POW)、以太坊的權益證明
(POS)、EOS的委託權益證明(DPOS)等等。
我們現在介紹了數據層、網路層、共識層,這三層保證了區塊鏈上有數據、有網路,有在網路上更新數據的規則,但是天下沒有免費的午餐,如何讓節點們能夠積極踴躍地參與區塊鏈系統維護呢,這里就涉及到了激勵,也就是我們下面要介紹的:激勵層。
四、激勵層
激勵層就是所謂的挖礦機制,挖礦機制其實可以理解成激勵機制:你為區塊鏈系統做了多少貢獻,你就可以得到多少獎勵。用這種激勵機制,能夠鼓勵全網節點參與區塊鏈上的數據記錄與維護工作。
挖礦機制和共識機制其實是一個道理,共識機制我們可以理解為公司的總規章制度,而挖礦機制可以理解成,在這個總的規章制度之中,你做好了什麼能夠得到什麼獎勵,這種獎勵規則。
就好比比特幣的共識機制PoW,它的規定是多勞多得,誰能夠第一個找到正確哈希值誰就可以得到一定數量的比特幣獎勵;
而以太坊的PoS則規定了誰持幣年齡越久,誰能得到獎勵的概率就越大。
需要注意的是,激勵層一般只有公有鏈才具備,因為公有鏈必須依賴全網節點共同維護數據,所以必須有一套這樣的激勵機制,才能激勵全網節點參與區塊鏈系統的建設維護,進而保證區塊鏈系統的安全性和可靠性。
區塊鏈安全可靠了,還不夠智能對不對,下面我們將要介紹的合約層,可以讓區塊鏈系統變得更加智能。
五.合約層
合約層主要包括各種腳本、代碼、演算法機制及智能合約,是區塊鏈可編程的基礎。我們說的「智能合約」便屬於合約層這個層級上。
如果說比特幣系統不夠智能,那麼以太坊提出的「智能合約」則能夠滿足許多應用場景。合約層的原理主要是將代碼嵌入到區塊鏈系統上,用這種方式來實現能夠自定義的智能合約。這樣一來,在區塊鏈系統上,一旦觸發了智能合約的條款,系統就能夠自動執行命令。
六、應用層
最後就是應用層。應用層很簡單,顧名思義,就是區塊鏈的各種應用場景和案例,我們現在說的「區塊鏈+」就是所謂的應用層。目前已經落地的區塊鏈應用主要是搭建在
ETH、EOS等公鏈上的各類區塊鏈應用,博彩、游戲類的應用比較多,真正實用的應用還沒有出現。

③ 20TCP IP 網路協議基礎入門--IP網際協議

IP 數據報:IP 協議位於網路層,它是 TCP/IP 協議族中最為核心的協議,所有的 TCP、UDP、ICMP 及 IGMP 數據都以 IP 數據報格式傳輸。IP 協議提供的是不可靠、無連接的數據報傳送服務。

我們已經知道了 IP 協議提供的數據傳送服務是不可靠和無連接的,具體表現如下:
不可靠(unreliable):IP 協議不能保證數據報能成功地到達目的地,它僅提供傳輸服務。當發生某種錯誤時,IP 協議會丟棄該數據報。傳輸的可靠性全由上層協議來提供。
無連接(connectionless):IP 協議對每個數據報的處理是相互獨立的。這也說明,IP 數據報可以不按發送順序接收。如果發送方向接收方發送了兩個連續的數據報(先是 A,然後是 B),每個數據報可以選擇不同的路線,因此 B 可能在 A 到達之前先到達。

我們先看一下 IP 數據報的格式,其中沒有一個欄位是多餘的,學習 IP 協議就應從學習它的報文欄位意義和作用開始。

如上圖所示,普通的 IP 數據報的報頭長度 20 位元組(除非有選顫棚項欄位),各個部分的作用:
版本號:4 位,用於標明 IP 版本號,0100 表示 IPv4,0110 表示 IPv6。目前常見的是 IPv4。
首部長度:4 位,表示 IP 報頭長度,包括選項欄位。
服務類型(TOS):分別有:最小時延、最大吞吐量、最高可靠性、最小花費 4 種服務,如下圖所示。4 個標識位只能有一個被置為 1。
總長度:16 位,報頭長度加上數據部分長度,便是數據報的總長度。IP 數據報最長可達 65535 位元組。
標識:16 位,接收方根據分片中的標識欄位相不相同來判斷這些分片是不是同一個數據報的分片,從而進行分片的重組。通常每發送一份報文它的值就會加 1。
標志:3 位,用於標識數據報是否分片。其中的第 2 位是不分段(DF)位。當 DF 位被設置為 1 時,則不對數據報進行分段處理;第 3 位是分段(MF)位,除了最後一個分段的 MF 位被設置為 0 外,其他的分段的 MF 位均設置為 1。
偏移:13 位,在接收方進行數據報重組時用來標識分片的順序。
生存時間(TTL):8 位,用於設置數據報可以經過的最多的路由器個數。TTL 的初始值由源主機設置(通常為 32 或 64),每經過一個處理它的路由器,TTL 值減 1。如果一個數據報的 TTL 值被減至 0,它將被丟棄。
協議:8 位,用來標識是哪個協議向 IP 傳送數據。ICMP 為 1,IGMP 為 2,TCP 為 6,UDP 為 17,GRE 為 47,ESP 為 50。
首部校驗和:根據 IP 首部計算的校驗和碼。
源 IP 和目的 IP :數據報頭還會包含該數據報的發送方 IP 和接收方雀洞顫 IP。
選項:是數據報中的一個可變長、可選的信息,不常用,多用於安全、軍事等領域。

了解了上面的理論知識過後,我們可以使用 tcpmp 這個抓包工具來實際看一下。

-n :顯示 IP 地址而非域名地址
-t :不顯示時間戳
-x :以十六進制顯示包內內容
-c :tcpmp 將在接受到幾個數據包後退出

首先看到開頭的 192.168.42.3.3001 > 172.16.2.250.44632 代表的是源 ip 為 192.168.42.3,埠 3001,目的 ip 為 172.16.2.250,埠 44632。

然後看到 0x0000 那行:
協議版本: 0x4 表示的是協議版本為 IPv4;
首部長度: 0x5,5*4=20,表示 IP 報頭長度頃敗為 20 位元組。一個位元組通常等於 8 位,所以這里可以知道 IP 報頭為 4500 到 2a02;
TOS 服務類型:0x00,意味著是一般服務;
總長度:0x0136,換算下來為 310 位元組;
標識:0x172a;
3bit 標志 + 13bit 片偏移:0x4000;
生存時間:0x40,值為 64;
協議:0x06,代表 TCP 協議;
首部校驗和:0x88e2。

為了便於定址以及層次化構造網路,每個 IP 地址可被看作是分為兩部分,即網路號和主機號。同一個區域的所有主機有相同的網路號(即 IP 地址的前半部分相同),區域內的每個主機(包括路由器)都有一個主機號與其對應。

IP 地址被分為 A、B、C、D、E 五類:
A 類給大型網路或政府機構等;
B 類分配給中型網路、跨國企業等;
C 類分配給小型網路;
D 類用於多播;
E 類用於實驗。

各類可容納的地址數目不同,其中我們最常見的為 A、B、C 這三類。
IP 地址用 32 位二進制數字表示的時候,A、B、C 類 IP 的網路號長度分別為 8 位、16 位、24 位:

A 類地址:
A 類地址網路號范圍:1.0.0.0---127.0.0.0;
A 類 IP 地址范圍:1.0.0.0---127.255.255.255;
A 類 IP 的私有地址范圍:10.0.0.0---10.255.255.255 (所謂的私有地址就是在互聯網上不使用,而被用在區域網絡中的地址);
127.X.X.X 是保留地址,用做循環測試用的;
因為主機號有 24 位,所以一個 A 類網路號可以容納 2^24-2=16777214 個主機號。

B 類地址:
B 類地址網路號范圍:128.0.0.0---191.255.0.0;
B 類 IP 地址范圍:128.0.0.0---191.255.255.255;
B 類 IP 的私有地址范圍:172.16.0.0---172.31.255.255;
169.254.X.X 是保留地址;191.255.255.255 是廣播地址;
因為主機號有 16 位,所以一個 B 類網路號可以容納 2^16-2=65534 個主機號。

C 類地址:
C 類地址網路號范圍:192.0.0.0---223.255.255.0;
C 類 IP 地址范圍:192.0.0.0---223.255.255.255;
C 類 IP 的私有地址范圍:192.168.0.0---192.168.255.255;
因為主機號有 8 位,所以一個 C 類網路號可以容納 2^8-2=254 個主機號。

下面使用 ifconfig 命令來查看本機 ip:

思考:這是一個幾類 ip 地址?
C 類

IP 地址如果只使用 ABCDE 類來劃分,會造成大量的浪費:一個有 500 台主機的網路,無法使用 C 類地址。但如果使用一個 B 類地址,6 萬多個主機地址只有 500 個被使用,造成 IP 地址的大量浪費。
因此,可以在 ABC 類網路的基礎上,進一步劃分子網:佔用主機號的前幾個位,用於表示子網號。
這樣 IP 地址就可看作 IP = 網路號 + 子網號 + 主機號。
子網號的位數沒有硬性規定,於是我們用子網掩碼來確定一個 IP 地址中哪幾位是主機號,具體使用方法如圖:

子網掩碼中的 1 標識了 IP 地址中相應的網路號和子網號,0 標識了主機號。將 IP 地址和子網掩碼進行邏輯與運算,結果就能區分網路號和子網號。
使用 ifconfig 命令也可以查看到子網掩碼:

如果發送方與接收方直接相連(點對點)或都在一個共享網路上(乙太網),那麼 IP 數據報就能直接送達。
而大多數情況則是發送方與接收方通過若干個路由器(router)連接,那麼數據報就需要經過若干個路由器的轉發才能送達,它是怎麼選擇一個合適的路徑來"送貨"的呢?

IP 層在內存中有一個路由表(輸入命令 route -n 可以查看路由表),當收到一份數據報並進行發送時,都要對該表進行搜索:
搜索路由表,如果能找到和目的 IP 地址完全一致的主機,則將 IP 數據報發向該主機;
搜索路由表,如果匹配主機失敗,則匹配同子網的路由器(這需要子網掩碼的協助)。如果找到路由器,則將該 IP 數據報發向該路由器;
搜索路由表,如果匹配同子網路由器失敗,則匹配同網路號路由器,如果找到路由器,則將該 IP 數據報發向該路由器;
如果以上都失敗了,就搜索默認路由,如果默認路由存在,則發報;
如果都失敗了,就丟掉這個包;
接收到數據報的路由器再按照它自己的路由表繼續轉發,直到數據報被轉發到目的主機;
如果在轉發過程中,IP 數據報的 TTL(生命周期)已經被減為 0,則該 IP 數據報就被拋棄。

實驗環境中可以使用 route -n 查看路由表:

另外我們可以使用 traceroute 來追蹤路由過程。首先需要安裝一下:

接下來使用 traceroute 追蹤本機到 www.shiyanlou.com 的路由:

還有一些其他選項,比如:
設置跳數為 8

探測包個數設為 4

顯示 IP 地址,不查主機名

當你用 ifconfig 查看 IP 地址時,有時你會發現自己的 IP 地址是這樣的———192.168.X.X 或 172.16.X.X。這是 C 類網和 B 類網的私有地址,就是俗稱的內網 IP。這是因為你的路由器採用了 NAT 技術。
NAT(Network Address Translation,網路地址轉換)是 1994 年提出的。當在專用網內部的一些主機本來已經分配到了內網 IP 地址,但現在又想和網際網路上的主機通信時,NAT 技術將其內網 IP 地址轉換成全球 IP 地址,然後與網際網路連接,也就是說,內網的數台主機使用了同一個全球 IP 地址在上網。
NAT 技術實現了寬頻共享,而且有助於緩解 IP 地址空間枯竭的問題。
使用 ifconfig eth0 查看內網 ip:

我們現在使用的 IPv4 協議版本從理論上講,可以編址 1600 萬個網路、40 億台主機。但採用 A、B、C 三類編址方式後,可用的網路地址和主機地址的數目大打折扣,以至 IP 地址已於 2011 年 2 月 3 日分配完畢。
其中北美佔有 3/4,約 30 億個,而人口最多的亞洲只有不到 4 億個,中國截止 2010 年 6 月 IPv4 地址數量達到 2.5 億,落後於 4.2 億網民的需求。地址不足,嚴重地制約了中國及其他國家互聯網的應用和發展。
隨著網路技術的發展,計算機網路將進入人們的日常生活,可能身邊的每一樣東西都需要連入全球網際網路,在這樣的環境下,IPv6 應運而生。
IPv6 的地址長度是 128 位,通常將這 128 位的地址按每 16 位劃分為一個段,將每個段轉換成十六進制數字,並用冒號隔開,比如:2000:0000:0000:0000:0001:2345:6789:abcd 就是一個 IPv6 地址。
單從數量級上來說,IPv6 所擁有的地址容量是 IPv4 的約 8×10^28 倍,達到 2^128(算上全零的)個。這不但解決了網路地址資源數量的問題,同時也為除電腦外的設備連入互聯網在數量限制上掃清了障礙。
隨著 IPv4 不足,支持 IPv6 的網路迅速增長,現在全球已經有 5% 的網路使用 IPv6。

查看 IP 路由表。
子網劃分:現有兩個 C 類網,202.203.204.0 和 202.203.224.0,分別把它們平均分成 4 個和 8 個子網,寫出每個子網的起始、終結 IP 和子網掩碼。

④ 一般優化linux的內核,需要優化什麼參數

Sysctl命令及linux內核參數調整

一、Sysctl命令用來配置與顯示在/proc/sys目錄中的內核參數.如果想使參數長期保存,可以通過編輯/etc/sysctl.conf文件來實現。

命令格式:

sysctl [-n] [-e] -w variable=value

sysctl [-n] [-e] -p (default /etc/sysctl.conf)

sysctl [-n] [-e] –a

常用參數的意義:

-w 臨時改變某個指定參數的值,如

# sysctl -w net.ipv4.ip_forward=1

-a 顯示所有的系統參數

-p從指定的文件載入系統參數,默認從/etc/sysctl.conf 文件中載入,如:

# echo 1 > /proc/sys/net/ipv4/ip_forward

# sysctl -w net.ipv4.ip_forward=1

以上兩種方法都可能立即開啟路由功能,但如果系統重啟,或執行了

# service network restart

命令,所設置的值即會丟失,如果想永久保留配置,可以修改/etc/sysctl.conf文件,將 net.ipv4.ip_forward=0改為net.ipv4.ip_forward=1

二、linux內核參數調整:linux 內核參數調整有兩種方式

方法一:修改/proc下內核參數文件內容,不能使用編輯器來修改內核參數文件,理由是由於內核隨時可能更改這些文件中的任意一個,另外,這些內核參數文件都是虛擬文件,實際中不存在,因此不能使用編輯器進行編輯,而是使用echo命令,然後從命令行將輸出重定向至 /proc 下所選定的文件中。如:將 timeout_timewait 參數設置為30秒:

# echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

參數修改後立即生效,但是重啟系統後,該參數又恢復成默認值。因此,想永久更改內核參數,需要修改/etc/sysctl.conf文件

方法二.修改/etc/sysctl.conf文件。檢查sysctl.conf文件,如果已經包含需要修改的參數,則修改該參數的值,如果沒有需要修改的參數,在sysctl.conf文件中添加參數。如:

net.ipv4.tcp_fin_timeout=30

保存退出後,可以重啟機器使參數生效,如果想使參數馬上生效,也可以執行如下命令:

# sysctl -p

三、sysctl.conf 文件中參數設置及說明

proc/sys/net/core/wmem_max

最大socket寫buffer,可參考的優化值:873200

/proc/sys/net/core/rmem_max

最大socket讀buffer,可參考的優化值:873200

/proc/sys/net/ipv4/tcp_wmem

TCP寫buffer,可參考的優化值: 8192 436600 873200

/proc/sys/net/ipv4/tcp_rmem

TCP讀buffer,可參考的優化值: 32768 436600 873200

/proc/sys/net/ipv4/tcp_mem

同樣有3個值,意思是:

net.ipv4.tcp_mem[0]:低於此值,TCP沒有內存壓力.

net.ipv4.tcp_mem[1]:在此值下,進入內存壓力階段.

net.ipv4.tcp_mem[2]:高於此值,TCP拒絕分配socket.

上述內存單位是頁,而不是位元組.可參考的優化值是:786432 1048576 1572864

/proc/sys/net/core/netdev_max_backlog

進入包的最大設備隊列.默認是300,對重負載伺服器而言,該值太低,可調整到1000

/proc/sys/net/core/somaxconn

listen()的默認參數,掛起請求的最大數量.默認是128.對繁忙的伺服器,增加該值有助於網路性能.可調整到256.

/proc/sys/net/core/optmem_max

socket buffer的最大初始化值,默認10K

/proc/sys/net/ipv4/tcp_max_syn_backlog

進入SYN包的最大請求隊列.默認1024.對重負載伺服器,可調整到2048

/proc/sys/net/ipv4/tcp_retries2

TCP失敗重傳次數,默認值15,意味著重傳15次才徹底放棄.可減少到5,盡早釋放內核資源.

/proc/sys/net/ipv4/tcp_keepalive_time

/proc/sys/net/ipv4/tcp_keepalive_intvl

/proc/sys/net/ipv4/tcp_keepalive_probes

這3個參數與TCP KeepAlive有關.默認值是:

tcp_keepalive_time = 7200 seconds (2 hours)

tcp_keepalive_probes = 9

tcp_keepalive_intvl = 75 seconds

意思是如果某個TCP連接在idle 2個小時後,內核才發起probe.如果probe 9次(每次75秒)不成功,內核才徹底放棄,認為該連接已失效.對伺服器而言,顯然上述值太大. 可調整到:

/proc/sys/net/ipv4/tcp_keepalive_time 1800

/proc/sys/net/ipv4/tcp_keepalive_intvl 30

/proc/sys/net/ipv4/tcp_keepalive_probes 3

/proc/sys/net/ipv4/ip_local_port_range

指定埠范圍的一個配置,默認是32768 61000,已夠大.

net.ipv4.tcp_syncookies = 1

表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN攻擊,默認為0,表示關閉;

net.ipv4.tcp_tw_reuse = 1

表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認為0,表示關閉;

net.ipv4.tcp_tw_recycle = 1

表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉。

net.ipv4.tcp_fin_timeout = 30

表示如果套接字由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間。

net.ipv4.tcp_keepalive_time = 1200

表示當keepalive起用的時候,TCP發送keepalive消息的頻度。預設是2小時,改為20分鍾。

net.ipv4.ip_local_port_range = 1024 65000

表示用於向外連接的埠范圍。預設情況下很小:32768到61000,改為1024到65000。

net.ipv4.tcp_max_syn_backlog = 8192

表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網路連接數。

net.ipv4.tcp_max_tw_buckets = 5000

表示系統同時保持TIME_WAIT套接字的最大數量,如果超過這個數字,TIME_WAIT套接字將立刻被清除並列印警告信息。默認為 180000,改為 5000。對於Apache、Nginx等伺服器,上幾行的參數可以很好地減少TIME_WAIT套接字數量,但是對於Squid,效果卻不大。此項參數可以控制TIME_WAIT套接字的最大數量,避免Squid伺服器被大量的TIME_WAIT套接字拖死。

Linux上的NAT與iptables

談起Linux上的NAT,大多數人會跟你提到iptables。原因是因為iptables是目前在linux上實現NAT的一個非常好的介面。它通過和內核級直接操作網路包,效率和穩定性都非常高。這里簡單列舉一些NAT相關的iptables實例命令,可能對於大多數實現有多幫助。

這里說明一下,為了節省篇幅,這里把准備工作的命令略去了,僅僅列出核心步驟命令,所以如果你單單執行這些沒有實現功能的話,很可能由於准備工作沒有做好。如果你對整個命令細節感興趣的話,可以直接訪問我的《如何讓你的Linux網關更強大》系列文章,其中對於各個腳本有詳細的說明和描述。

# 案例1:實現網關的MASQUERADE

# 具體功能:內網網卡是eth1,外網eth0,使得內網指定本服務做網關可以訪問外網

EXTERNAL="eth0"

INTERNAL="eth1"

# 這一步開啟ip轉發支持,這是NAT實現的前提

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE

# 案例2:實現網關的簡單埠映射

# 具體功能:實現外網通過訪問網關的外部ip:80,可以直接達到訪問私有網路內的一台主機192.168.1.10:80效果

LOCAL_EX_IP=11.22.33.44 #設定網關的外網卡ip,對於多ip情況,參考《如何讓你的Linux網關更強大》系列文章

LOCAL_IN_IP=192.168.1.1 #設定網關的內網卡ip

INTERNAL="eth1" #設定內網卡

# 這一步開啟ip轉發支持,這是NAT實現的前提

echo 1 > /proc/sys/net/ipv4/ip_forward

# 載入需要的ip模塊,下面兩個是ftp相關的模塊,如果有其他特殊需求,也需要加進來

modprobe ip_conntrack_ftp

modprobe ip_nat_ftp

# 這一步實現目標地址指向網關外部ip:80的訪問都吧目標地址改成192.168.1.10:80

iptables -t nat -A PREROUTING -d $LOCAL_EX_IP -p tcp --dport 80 -j DNAT --to 192.168.1.10

# 這一步實現把目標地址指向192.168.1.10:80的數據包的源地址改成網關自己的本地ip,這里是192.168.1.1

iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp --dport 80 -j SNAT --to $LOCAL_IN_IP

# 在FORWARD鏈上添加到192.168.1.10:80的允許,否則不能實現轉發

iptables -A FORWARD -o $INTERNAL -d 192.168.1.10 -p tcp --dport 80 -j ACCEPT

# 通過上面重要的三句話之後,實現的效果是,通過網關的外網ip:80訪問,全部轉發到內網的192.168.1.10:80埠,實現典型的埠映射

# 特別注意,所有被轉發過的數據都是源地址是網關內網ip的數據包,所以192.168.1.10上看到的所有訪問都好像是網關發過來的一樣,而看不到外部ip

# 一個重要的思想:數據包根據「從哪裡來,回哪裡去」的策略來走,所以不必擔心回頭數據的問題

# 現在還有一個問題,網關自己訪問自己的外網ip:80,是不會被NAT到192.168.1.10的,這不是一個嚴重的問題,但讓人很不爽,解決的方法如下:

iptables -t nat -A OUTPUT -d $LOCAL_EX_IP -p tcp --dport 80 -j DNAT --to 192.168.1.10

獲取系統中的NAT信息和診斷錯誤

了解/proc目錄的意義

在Linux系統中,/proc是一個特殊的目錄,proc文件系統是一個偽文件系統,它只存在內存當中,而不佔用外存空間。它包含當前系統的一些參數(variables)和狀態(status)情況。它以文件系統的方式為訪問系統內核數據的操作提供介面

通過/proc可以了解到系統當前的一些重要信息,包括磁碟使用情況,內存使用狀況,硬體信息,網路使用情況等等,很多系統監控工具(如HotSaNIC)都通過/proc目錄獲取系統數據。

另一方面通過直接操作/proc中的參數可以實現系統內核參數的調節,比如是否允許ip轉發,syn-cookie是否打開,tcp超時時間等。

獲得參數的方式:

第一種:cat /proc/xxx/xxx,如 cat /proc/sys/net/ipv4/conf/all/rp_filter

第二種:sysctl http://xxx.xxx.xxx,如 sysctl net.ipv4.conf.all.rp_filter

改變參數的方式:

第一種:echo value > /proc/xxx/xxx,如 echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

第二種:sysctl [-w] variable=value,如 sysctl [-w] net.ipv4.conf.all.rp_filter=1

以上設定系統參數的方式只對當前系統有效,重起系統就沒了,想要保存下來,需要寫入/etc/sysctl.conf文件中

通過執行 man 5 proc可以獲得一些關於proc目錄的介紹

查看系統中的NAT情況

和NAT相關的系統變數

/proc/slabinfo:內核緩存使用情況統計信息(Kernel slab allocator statistics)

/proc/sys/net/ipv4/ip_conntrack_max:系統支持的最大ipv4連接數,默認65536(事實上這也是理論最大值)

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established 已建立的tcp連接的超時時間,默認432000,也就是5天

和NAT相關的狀態值

/proc/net/ip_conntrack:當前的前被跟蹤的連接狀況,nat翻譯表就在這里體現(對於一個網關為主要功能的Linux主機,裡面大部分信息是NAT翻譯表)

/proc/sys/net/ipv4/ip_local_port_range:本地開放埠范圍,這個范圍同樣會間接限制NAT表規模

# 1. 查看當前系統支持的最大連接數

cat /proc/sys/net/ipv4/ip_conntrack_max

# 值:默認65536,同時這個值和你的內存大小有關,如果內存128M,這個值最大8192,1G以上內存這個值都是默認65536

# 影響:這個值決定了你作為NAT網關的工作能力上限,所有區域網內通過這台網關對外的連接都將佔用一個連接,如果這個值太低,將會影響吞吐量

# 2. 查看tcp連接超時時間

cat /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

# 值:默認432000(秒),也就是5天

# 影響:這個值過大將導致一些可能已經不用的連接常駐於內存中,佔用大量鏈接資源,從而可能導致NAT ip_conntrack: table full的問題

# 建議:對於NAT負載相對本機的 NAT表大小很緊張的時候,可能需要考慮縮小這個值,以盡早清除連接,保證有可用的連接資源;如果不緊張,不必修改

# 3. 查看NAT表使用情況(判斷NAT表資源是否緊張)

# 執行下面的命令可以查看你的網關中NAT表情況

cat /proc/net/ip_conntrack

# 4. 查看本地開放埠的范圍

cat /proc/sys/net/ipv4/ip_local_port_range

# 返回兩個值,最小值和最大值

# 下面的命令幫你明確一下NAT表的規模

wc -l /proc/net/ip_conntrack

#或者

grep ip_conntrack /proc/slabinfo | grep -v expect | awk '{print $1 ',' $2;}'

# 下面的命令幫你明確可用的NAT表項,如果這個值比較大,那就說明NAT表資源不緊張

grep ip_conntrack /proc/slabinfo | grep -v expect | awk '{print $1 ',' $3;}'

# 下面的命令幫你統計NAT表中佔用埠最多的幾個ip,很有可能這些傢伙再做一些bt的事情,嗯bt的事情:-)

cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 10

# 上面這個命令有點瑕疵cut -d' ' -f10會因為命令輸出有些行缺項而造成統計偏差,下面給出一個正確的寫法:

cat /proc/net/ip_conntrack | perl -pe s/^(.*?)src/src/g | cut -d ' ' -f1 | cut -d '=' -f2 | sort | uniq -c | sort -nr | head -n 10

https://kernel.0voice.com/

⑤ 關於LINUX最基本的一些命令

Linux運維人員必會的120個命令
跟老男孩學Linux運維:核心系統命令實戰
前言
第1章 Linux命令行簡介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關機:
shutdown -h now
halt
init 0

第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結構顯示目錄下的內容 / 18
2.4mkdir:創建目錄 / 22
2.5touch:創建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內容及相關屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標准輸入轉換成命令行參數 / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴展屬性 / 73
2.19lsattr:查看文件擴展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計算和校驗文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄許可權 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設置許可權掩碼 / 86
2.26老男孩從新手成為技術大牛的心法 / 90
第3章 文件過濾及內容編輯處理命令 / 91
3.1cat:合並文件或查看文件內容 / 91
3.2tac:反向顯示文件內容 / 103
3.3more:分頁顯示文件內容 / 104
3.4less:分頁顯示文件內容 / 107
3.5head:顯示文件內容頭部 / 109
3.6tail:顯示文件內容尾部 / 111
3.7tailf:跟蹤日誌文件 / 114
3.8cut:從文本中提取一段文字並輸出 / 115
3.9split:分割文件 / 117
3.10paste:合並文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個文件的相同欄位合並 / 127
3.13uniq:去除重復行 / 129
3.14wc:統計文件的行數、單詞數或位元組數 / 131
3.15iconv:轉換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內容 / 139
3.20tr:替換或刪除字元 / 140
3.21od:按不同進制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運維的多個好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過濾工具 / 153
4.2sed:字元流編輯器 / 159
4.3awk基礎入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統信息 / 176
5.2hostname:顯示或設置系統的主機名 / 178

5.3dmesg:系統啟動異常診斷 / 179
5.4stat:顯示文件或文件系統狀態 / 181
5.5:統計磁碟空間使用情況 / 183
5.6date:顯示與設置系統時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監視命令執行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate資料庫 / 199
5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 200
第6章 文件備份與壓縮命令 / 201
6.1tar:打包備份 / 201
6.2gzip:壓縮或解壓文件 / 208
6.3zip:打包和壓縮文件 / 211
6.4unzip:解壓zip文件 / 212
6.5scp:遠程文件復制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆襲思想:新手如何高效地提問 / 220
第7章 Linux用戶管理及用戶信息查詢命令 / 222
7.1 useradd:創建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當前登錄的用戶名 / 253
7.17last:顯示用戶登錄列表 / 253
7.18lastb:顯示用戶登錄失敗的記錄 / 254
7.19lastlog:顯示所有用戶的最近登錄記錄 / 255
第8章 Linux磁碟與文件系統管理命令 / 257
8.1fdisk:磁碟分區工具 / 257
8.2partprobe:更新內核的硬碟分區表信息 / 265
8.3tune2fs:調整ext2/ext3/ext4文件系統參數 / 266
8.4parted:磁碟分區工具 / 268
8.5mkfs:創建Linux文件系統 / 272
8.6mpe2fs:導出ext2/ext3/ext4文件系統信息 / 274
8.7resize2fs:調整ext2/ext3/ext4文件系統大小 / 275
8.8fsck:檢查並修復Linux文件系統 / 278
8.9dd:轉換或復制文件 / 281
8.10mount:掛載文件系統 / 284
8.11umount:卸載文件系統 / 288
8.12df:報告文件系統磁碟空間的使用情況 / 289
8.13mkswap:創建交換分區 / 293
8.14swapon:激活交換分區 / 294
8.15swapoff:關閉交換分區 / 295
8.16sync:刷新文件系統緩沖區 / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統中各個進程的資源佔用狀況 / 313
9.8nice:調整程序運行時的優先順序 / 320
9.9renice:調整運行中的進程的優先順序 / 323
9.10nohup:用戶退出系統進程繼續工作 / 324
9.11strace:跟蹤進程的系統調用 / 325
9.12ltrace:跟蹤進程調用庫函數 / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統服務 / 335
第10章 Linux網路管理命令 / 338
10.1ifconfig:配置或顯示網路介面信息 / 338
10.2ifup:激活網路介面 / 343
ifup eth0
10.3ifdown:禁用網路介面 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網路,所有網卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統的arp緩存 / 350
10.6ip:網路配置工具 / 351
10.7netstat:查看網路狀態 / 358
10.8ss:查看網路狀態 / 362
10.9ping:測試主機之間網路的連通性 / 363
10.10traceroute:追蹤數據傳輸路由狀況 / 366
10.11arping:發送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網路工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網路探測工具和安全/埠掃描器 / 394
10.22tcpmp:監聽網路流量 / 398
第11章 Linux系統管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統的運行時間及負載 / 411
11.3free:查看系統內存信息 / 411
11.4iftop:動態顯示網路介面流量信息 / 413
11.5vmstat:虛擬內存統計 / 415
11.6mpstat:CPU信息統計 / 419
11.7iostat:I/O信息統計 / 420
11.8iotop:動態顯示磁碟I/O統計信息 / 423
11.9sar:收集系統信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統管理工具 / 434
11.13ethtool:查詢網卡參數 / 436
11.14mii-tool:管理網路介面的狀態 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統常用內置命令 / 450
12.1Linux內置命令概述 / 450
12.2Linux內置命令簡介 / 450
12.3Linux常用內置命令實例 / 452

⑥ 【NIC】如何使用 ethtool 命令管理乙太網卡

ethtool 是一個 Linux 下的網路驅動程序的診斷和調整工具,可獲取網路設備的相關信息,包括連接狀態、驅動版本、PCI 匯流排定位等等。

它可以用來:

獲取標識和診斷信息
獲取擴展的設備統計信息
控制乙太網設備的速度、雙工、自動協商和流控制
控制校驗和卸載及其他硬體卸載功能
控制 DMA 環大小及中斷控制
控制多隊列設備的接收隊列選擇
升級快閃記憶體中的固件

萬兆網卡,理論最大支持 1250MB/s 實際 能有 幾百MB /s 就不錯了,要考慮交換機的能力。

如何使用 ethtool 命令管理乙太網卡
https://zhuanlan.hu.com/p/146383216

ethtool工具使用實例
https://www.cnblogs.com/taosiyu/p/13425774.html

Linux網路命令——ifconfig、ifup、ifdown
https://blog.csdn.net/lu_embedded/article/details/53215324

ethtool(8) - Linux man page
https://linux.die.net/man/8/ethtool

ethtool : How to use ethtool command in Linux with examples
https://cmdref.net/os/linux/command/ethtool.html

ethtool - Unix, Linux Command
https://www.tutorialspoint.com/unix_commands/ethtool.htm

⑦ 區塊鏈如何保證使用安全

區塊鏈項目(尤其是公有鏈)的一個特點是開源。通過開放源代碼,來提高項目的可信性,也使更多的人可以參與進來。但源代碼的開放也使得攻擊者對於區塊鏈系統的攻擊變得更加容易。近兩年就發生多起黑客攻擊事件,近日就有匿名幣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 值重復)造成用戶丟失數百枚數字資產。第二,數字錢包中包含惡意代碼。第三,電腦、手機丟失或損壞導致的丟失資產。

應對措施主要有四個方面:

一是確保私鑰的隨機性;

二是在軟體安裝前進行散列值校驗,確保數字錢包軟體沒有被篡改過;

三是使用冷錢包;

四是對私鑰進行備份。

⑧ PF_RING和DPDK接收報文如何添加時間戳

在DPDK裡面在各種網卡驅動程序裡面找到了一些關於添加時間戳的函數,不同的拿困搏網卡驅動程序都調用了rte_timecounter_update函數和rte_ns_to_timespec函數,這個兩個函數定義在dpdk-16.07/lib/librte_eal/common/include/rte_time.h中,大尺亂概的意思是要讀取硬體的時鍾減去上一次存在結構體里消祥面的時鍾得到的差去計算時間吧

讀取當前硬體的時鍾是用了一個xxx_read_systime_cyclecounter函數(xxx是不同驅動的名字,各自定義在自己的驅動文件中)

這個截圖是 drivers/net/ixgbe/ixgbe_ethdev.c <<ixgbe_timesync_read_rx_timestamp>>

do_gettimeofday(&skb->stamp) 原形在/include/linux/time.h 中
net_timestamp 函數在/linux-2.6.32.5/net/core/dev.c

ktime_to_timeval 函數在 /linux-2.6.32.5/include/linux/ktime.h

ktime_to_ns 函數在 /linux-2.6.32.5/include/linux/ktime.h

ktime_to_ns(skb_hwtstamps(skb)->hwtstamp) 函數裡面的 skb_hwtstamps 在 /linux/skbuff.h

⑨ ethtool原理介紹和解決網卡丟包排查思路

之前記錄過處理因為LVS網卡流量負載過高導致軟中斷發生丟包的問題, RPS和RFS網卡多隊列性能調優實踐 ,對一般人來說壓力不大的情況下其實碰見的概率並不高。這次想分享的話題是比較常見伺服器網卡丟包現象排查思路,如果你是想了解點對點的丟包解決思路涉及面可能就比較廣,不妨先參考之前的文章 如何使用MTR診斷網路問題 ,對於Linux常用的網卡丟包分析工具自然是ethtool。

2020年06月22日 - 初稿

閱讀原文 - https://wsgzao.github.io/post/ethtool/

ethtool - utility for controlling network drivers and hardware

ethtool is the standard Linux utility for controlling network drivers and hardware, particularly for wired Ethernet devices. It can be used to:

Most features are dependent on support in the specific driver. See the manual page for full information.

ethtool 用於查看和修改網路設備(尤其是有線乙太網設備)的驅動參數和硬體設置。你可以根據需要更改乙太網卡的參數,包括自動協商、速度、雙工和區域網喚醒等參數。通過對乙太網卡的配置,你的計算機可以通過網路有效地進行通信。該工具提供了許多關於接駁到你的 Linux 系統的乙太網設備的信息。

接收數據包是一個復雜的過程,涉及很多底層的技術細節,但大致需要以下幾個步驟:

NIC 在接收到數據包之後,首先需要將數據同步到內核中,這中間的橋梁是 rx ring buffer 。它是由 NIC 和驅動程序共享的一片區域,事實上, rx ring buffer 存儲的並不是實際的 packet 數據,而是一個描述符,這個描述符指向了它真正的存儲地址,具體流程如下:

當驅動處理速度跟不上網卡收包速度時,驅動來不及分配緩沖區,NIC 接收到的數據包無法及時寫到 sk_buffer ,就會產生堆積,當 NIC 內部緩沖區寫滿後,就會丟棄部分數據,引起丟包。這部分丟包為 rx_fifo_errors ,在 /proc/net/dev 中體現為 fifo 欄位增長,在 ifconfig 中體現為 overruns 指標增長。

這個時候,數據包已經被轉移到了 sk_buffer 中。前文提到,這是驅動程序在內存中分配的一片緩沖區,並且是通過 DMA 寫入的,這種方式不依賴 CPU 直接將數據寫到了內存中,意味著對內核來說,其實並不知道已經有新數據到了內存中。那麼如何讓內核知道有新數據進來了呢?答案就是中斷,通過中斷告訴內核有新數據進來了,並需要進行後續處理。

提到中斷,就涉及到硬中斷和軟中斷,首先需要簡單了解一下它們的區別:

當 NIC 把數據包通過 DMA 復制到內核緩沖區 sk_buffer 後,NIC 立即發起一個硬體中斷。CPU 接收後,首先進入上半部分,網卡中斷對應的中斷處理程序是網卡驅動程序的一部分,之後由它發起軟中斷,進入下半部分,開始消費 sk_buffer 中的數據,交給內核協議棧處理。

通過中斷,能夠快速及時地響應網卡數據請求,但如果數據量大,那麼會產生大量中斷請求,CPU 大部分時間都忙於處理中斷,效率很低。為了解決這個問題,現在的內核及驅動都採用一種叫 NAPI(new API)的方式進行數據處理,其原理可以簡單理解為 中斷 + 輪詢,在數據量大時,一次中斷後通過輪詢接收一定數量包再返回,避免產生多次中斷。

(1) RX errors

表示總的收包的錯誤數量,這包括 too-long-frames 錯誤,Ring Buffer 溢出錯誤,crc 校驗錯誤,幀同步錯誤,fifo overruns 以及 missed pkg 等等。

(2) RX dropped

表示數據包已經進入了 Ring Buffer,但是由於內存不夠等系統原因,導致在拷貝到內存的過程中被丟棄。

(3) RX overruns

表示了 fifo 的 overruns,這是由於 Ring Buffer(aka Driver Queue) 傳輸的 IO 大於 kernel 能夠處理的 IO 導致的,而 Ring Buffer 則是指在發起 IRQ 請求之前的那塊 buffer。很明顯,overruns 的增大意味著數據包沒到 Ring Buffer 就被網卡物理層給丟棄了,而 CPU 無法即使的處理中斷是造成 Ring Buffer 滿的原因之一,上面那台有問題的機器就是因為 interruprs 分布的不均勻(都壓在 core0),沒有做 affinity 而造成的丟包。

(4) RX frame

表示 misaligned 的 frames。

網線上的packet首先被網卡獲取,網卡會檢查packet的CRC校驗,保證完整性,然後將packet頭去掉,得到frame。網卡會檢查MAC包內的目的MAC地址,如果和本網卡的MAC地址不一樣則丟棄(混雜模式除外)。

網卡將frame拷貝到網卡內部的FIFO緩沖區,觸發硬體中斷。(如有ring buffer的網卡,好像frame可以先存在ring buffer里再觸發軟體中斷(下篇文章將詳細解釋Linux中frame的走向),ring buffer是網卡和驅動程序共享,是設備里的內存,但是對操作系統是可見的,因為看到linux內核源碼里網卡驅動程序是使用kcalloc來分配的空間,所以ring buffer一般都有上限,另外這個ring buffer size,表示的應該是能存儲的frame的個數,而不是位元組大小。另外有些系統的 ethtool 命令 並不能改變ring parameters來設置ring buffer的大小,暫時不知道為什麼,可能是驅動不支持。)

網卡驅動程序通過硬中斷處理函數,構建sk_buff,把frame從網卡FIFO拷貝到內存skb中,接下來交給內核處理。(支持napi的網卡應該是直接放在ring buffer,不觸發硬中斷,直接使用軟中斷,拷貝ring buffer里的數據,直接輸送給上層處理,每個網卡在一次軟中斷處理過程能處理weight個frame)

過程中,網卡晶元對frame進行了MAC過濾,以減小系統負荷。(除了混雜模式)

網卡驅動程序將IP包添加14位元組的MAC頭,構成frame(暫無CRC)。Frame(暫無CRC)中含有發送端和接收端的MAC地址,由於是驅動程序創建MAC頭,所以可以隨便輸入地址,也可以進行主機偽裝。

驅動程序將frame(暫無CRC)拷貝到網卡晶元內部的緩沖區,由網卡處理。

網卡晶元將未完全完成的frame(缺CRC)再次封裝為可以發送的packet,也就是添加頭部同步信息和CRC校驗,然後丟到網線上,就完成一個IP報的發送了,所有接到網線上的網卡都可以看到該packet。

產生中斷的每個設備都有一個相應的中斷處理程序,是設備驅動程序的一部分。每個網卡都有一個中斷處理程序,用於通知網卡該中斷已經被接收了,以及把網卡緩沖區的數據包拷貝到內存中。

當網卡接收來自網路的數據包時,需要通知內核數據包到了。網卡立即發出中斷。內核通過執行網卡已注冊的中斷處理函數來做出應答。中斷處理程序開始執行,通知硬體,拷貝最新的網路數據包到內存,然後讀取網卡更多的數據包。

這些都是重要、緊迫而又與硬體相關的工作。內核通常需要快速的拷貝網路數據包到系統內存,因為網卡上接收網路數據包的緩存大小固定,而且相比系統內存也要小得多。所以上述拷貝動作一旦被延遲,必然造成網卡FIFO緩存溢出 - 進入的數據包占滿了網卡的緩存,後續的包只能被丟棄,這也應該就是ifconfig里的overrun的來源。

當網路數據包被拷貝到系統內存後,中斷的任務算是完成了,這時它把控制權交還給被系統中斷前運行的程序。

網卡的內核緩沖區,是在PC內存中,由內核控制,而網卡會有FIFO緩沖區,或者ring buffer,這應該將兩者區分開。FIFO比較小,裡面有數據便會盡量將數據存在內核緩沖中。

網卡中的緩沖區既不屬於內核空間,也不屬於用戶空間。它屬於硬體緩沖,允許網卡與操作系統之間有個緩沖;

內核緩沖區在內核空間,在內存中,用於內核程序,做為讀自或寫往硬體的數據緩沖區;

用戶緩沖區在用戶空間,在內存中,用於用戶程序,做為讀自或寫往硬體的數據緩沖區;

另外,為了加快數據的交互,可以將內核緩沖區映射到用戶空間,這樣,內核程序和用戶程序就可以同時訪問這一區間了。

對於有ring buffer的網卡,ring buffer是由驅動與網卡共享的,所以內核可以直接訪問ring buffer,一般拷貝frames的副本到自己的內核空間進行處理(deliver到上層協議,之後的一個個skb就是按skb的指針傳遞方式傳遞,直到用戶獲得數據,所以,對於ring buffer網卡,大量拷貝發生在frame從ring buffer傳遞到內核控制的計算機內存里)。

網卡工作在數據鏈路層,數據量鏈路層,會做一些校驗,封裝成幀。我們可以查看校驗是否出錯,確定傳輸是否存在問題。然後從軟體層面,是否因為緩沖區太小丟包。

一台機器經常收到丟包的報警,先看看最底層的有沒有問題:

(1) 查看工作模式是否正常

(2) 查看檢驗是否正常

Speed,Duplex,CRC 之類的都沒問題,基本可以排除物理層面的干擾。

Why rx_crc_errors incrementing in the receive counter of ethtool -S output?

Check ethtool -S output and find where are the drops and errors.

Check the numbers corresponding to rx_crc_errors .

顯示了p1p1 的介面類型,連接模式,速率等等信息,以及當前是否連接了網線(如果是網線Supported ports 就是TP,如果是光纖則顯示Fiber),這里例舉下3個重要關鍵詞

Supported ports: [ FIBRE ]
Speed: 10000Mb/s
Link detected: yes

ethtool

Counters Troubleshooting for Linux Driver

Why do I see rx_crc_errors in ethtool output?

ping請求錯誤分析

ifconfig 命令詳解

ethtool 命令詳解

ethtool 解決網卡丟包嚴重和網卡原理

⑩ 區塊鏈入門必備108知識點

作者:空林

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.三大交易所

幣安

Okex

火幣

83.行情軟體

Mytoken

非小號

CMC

84.資訊網站

巴比特

金色 財經

幣世界快訊

85.區塊鏈瀏覽器

BTC

ETH

BCH

LTC

ETC

86.錢包

Imtoken

比特派

87. 去中心化交易所

uniswap


88. NFT交易所

Opensea

Super Rare

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.空林?

歡迎幣友,共謀發展

熱點內容
區塊鏈token怎麼應用 發布:2025-07-12 02:46:34 瀏覽:106
幣信可樂礦池官網 發布:2025-07-12 02:42:08 瀏覽:225
怎樣創建一個比特幣帳號 發布:2025-07-12 02:16:13 瀏覽:205
2019年9月25幣圈 發布:2025-07-12 02:09:17 瀏覽:58
區塊鏈技術屬於互聯網嗎 發布:2025-07-12 02:01:24 瀏覽:603
去蘭州美年大體檢中心怎麼走 發布:2025-07-12 01:51:52 瀏覽:4
doge一條狗 發布:2025-07-12 01:27:23 瀏覽:665
普京以太坊普京以太坊 發布:2025-07-12 01:27:14 瀏覽:352
fabric區塊鏈共識演算法 發布:2025-07-12 01:26:31 瀏覽:590
BTC價格2019年 發布:2025-07-12 01:20:30 瀏覽:722