A. Geth實現以太賬戶之間轉賬
1、打開控制台
F:\Geth>geth --datadir "data" console
2、查看目前所擁有的賬戶列表
> eth.accounts
[""]
3、新建賬戶
> personal.newAccount('123456')
""
4、查看目前所擁有的賬戶列表
> eth.accounts
["", "
efed9a8240"]
5、查看賬戶余額
> eth.getBalance(eth.accounts[0])
665000000000000000000
> eth.getBalance(eth.accounts[1])
0
6、定義變數
> var acc1=eth.accounts[0]
undefined
> acc1
""
> var acc2=eth.accounts[1]
undefined
> acc2
""
7、轉賬
> eth.sendTransaction({from: acc1 , to: acc2, value: web3.toWei(10,"ether")})
Error: authentication needed: password or unlock
at web3.js:3143:20
at web3.js:6347:15
at web3.js:5081:36
at <anonymous>:1:1
(賬戶被鎖報錯)
8、解鎖賬戶
> personal.unlockAccount(acc1,"123456")
true
9、轉賬
> eth.sendTransaction({from: acc1 , to: acc2, value: web3.toWei(10,"ether")})
INFO [11-14|14:34:24.526] Setting new local account address=0xF4f
INFO [11-14|14:34:24.551] Submitted transaction fullhash=0x98
recipient=0x1DfA2
"0x98"
10、查看賬戶余額
> eth.getBalance(acc1)
665000000000000000000
> eth.getBalance(acc2)
0
11、挖礦
>miner.start(1);admin.sleepBlocks(20);miner.stop();
12、挖礦結束查看賬戶余額
> eth.getBalance(acc2)
10000000000000000000
(歡迎打賞,一分也是愛)
B. 2018TPC必火,全解析
TPC 誕生背景:
TPC的誕生區別於現有模式,一般模式是先開發區塊鏈應用並在區塊鏈中產生,用來在區塊鏈中作為記賬單位而存在。然後依據應用的發展再炒高的價值。
顯然,目前所有區塊鏈都是這樣的現狀。而目前在所有可以用互聯網技術服務的行業中基本處於飽和或壟斷狀態,所以目前區塊鏈技術在真實的應用當中比較難落地,因為目前區塊鏈整體行業處於萌芽狀態中,對很多事物仍然處於探索之中。所以目前形勢,區塊鏈應該是一個重商業運營的技術服務,而非重技術服務輕商業運營。
緬甸銀行業現狀與支付系統的可行性
緬甸目前13家外資銀行,本土銀行24家,2016年央行對所有銀行全部實現電算化,這對支付行業的外部環境是一個非常好的喜訊。緬甸6000萬人口,有3000+萬智能手機,卻沒有本土的APP,在這之前外部環境與第三方支付不在,所以基於互聯網的創業基本都失敗了。正是因為如此,第三方支付才能夠成為緬甸的新經濟基石。
緬甸3000+萬智能手機用戶,僅以仰光為例,每年600+億美金的消費額度,線上消費更是難以估量,未來5億的投放量,從0.14美金來看,如果線下市場佔有率為10%就有60億美金的流通,還未包含線上,其上漲空間甚至超過20倍。Grab在緬甸投資5億美金就是緬甸移動互聯網市場最好的寫照。當第三方支付用戶達到500萬用戶的時候,其資本估值將達到幾十億美金以上。
TPC
TPC基於以太坊智能合約,TPC就是以太坊的一條側鏈,同時也是主鏈,而後續的所有基於金融、理財、基金等等的開發與探索將都依託TPC進行,其後的所有開發將都是TPC的側鏈。TPC目前可以在imToken等以太坊錢包均可以進行收發,並預留未來開發介面:
其token完整版:
[ { "constant": true, "inputs": [], "name": "name", "outputs": [ { "name": "", "type": "string", "value": "TPC" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "name": "", "type": "uint256", "value": "10000000000000" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "name": "", "type": "uint8", "value": "4" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256", "value": "0" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address", "value": "" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "name": "", "type": "string", "value": "TPC" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" } ], "name": "transfer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "frozenAccount", "outputs": [ { "name": "", "type": "bool", "value": false } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "target", "type": "address" }, { "name": "freeze", "type": "bool" } ], "name": "freezeAccount", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "name": "tokenName", "type": "string", "index": 0, "typeShort": "string", "bits": "", "displayName": "token Name", "template": "elements_input_string", "value": "TPC" }, { "name": "tokenSymbol", "type": "string", "index": 1, "typeShort": "string", "bits": "", "displayName": "token Symbol", "template": "elements_input_string", "value": "TPC" }, { "name": "decimalUnits", "type": "uint8", "index": 2, "typeShort": "uint", "bits": "8", "displayName": "decimal Units", "template": "elements_input_uint", "value": "4" }, { "name": "initialSupply", "type": "uint256", "index": 3, "typeShort": "uint", "bits": "256", "displayName": "initial Supply", "template": "elements_input_uint", "value": "10000000000000" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "target", "type": "address" }, { "indexed": false, "name": "frozen", "type": "bool" } ], "name": "FrozenFunds", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" } ]
完整內容會發布在GitHub中。
TPC選擇以太坊是因為以太坊是一個成熟的開發平台,在區塊鏈應用中可以節省大量時間,並為後續開發降低難度。獨自開發私有鏈需要大量技術人員進行迭代更新,其維護成本、應用成本、使用成本、時間成本、開發成本、價值成本不成比例,因為TPC是為商業模式而誕生。最大限度去挖掘商業價值。
TPC 的未來
緬甸銀行業的落後並不能阻擋TPC的布局,TPC將優先進駐銀行,商場,通過已有錢包進行收發。第三方支付平台已經進入最後調試階段,上線後再與之打通,成為必要的支付方式。TPC通過智能合約為銀行、保險、數據分析、基金、現貨、期貨等金融行業提供數據解決方案,並共享信用數據,同時作為獎勵為數據進行獎勵支出。因為本身TPC就是智能合約,通過其介面的開放可以為未來所有的金融產業做數據支持。而TPC的未來會成為理財產品,其覆蓋人群將會超過1500萬人,未來的價值空間將會呈現一個幾何式的增長。價格也會隨之而爆發。
TPC 總量
總量為10億,其中5億作為政府基金存在逐步釋放到市場進行流通,而後5億將逐步用於支付市場的流通。
TPC 商業價值
TPC最大的價值在於打通與第三方支付與理財應用的信用數據。通過嵌入在第三方支付體系當中可以使TPC進行用於線上、線下支付,打通最重要的流通環節,因為之所以有價格就是因為其價值,而其價值背後就是流通屬性。當有流通後就會產生買賣需求,所以才會有不同的價格走向。如果不能解決的流通性,那麼就是空氣幣,TPC的商業價值就在於用商業思維解決區塊鏈--應用的閉環模式。在TPC中,三者相對獨立而又結合。但公開、透明、安全。
這就好比比特幣一樣,比特幣之所以在2010年之前默默無聞不是因為沒人知道,做極客的那一小撮人很早就知道了比特幣的存在,但是他不具備流通屬性而一直不值錢,2010年那個程序員拿1000個比特幣換了一個披薩的新聞還不時被我們作為笑話,其實這就是背後流通性的不暢導致的。2011年絲綢之路的誕生2年時間150億美金的交易額全部來自比特幣,才讓比特幣成為了眾人皆知。可以說絲綢之路是讓沉睡的比特幣覺醒的一劑猛葯。
TPC 的商業生態
第三方支付 - 電商生態 - 游戲生態 - 社交生態
第三方支付相當於一個承接TPC的平台,因為緬甸目前沒有第三方支付,所以第三方支付在實際運作中會成為類似支付寶或者paypal的應用,那支付寶或paypal的價值因為第三方支付支付平台的誕生只是商業生態中的第一步,正是因為支付平台的誕生,TPC才可以進行流通。而第三方支付平台的出現才可以解決目前緬甸沒有電商、社交、游戲等等APP的局面,之前非常多的人都在緬甸建立電商、分類信息、游戲等平台,但是都倒閉了。其最重要的原因就是沒有第三方支付平台,第三方支付平台可成為緬甸線上、線下的一個新支付通道。當第三方支付平台的建立之後,所有其他公司的應用都會將其作為一種支付渠道接入,而TPC作為一種貨幣基金就會充分成為流通需求而出現。
TPC 為什麼依託以太坊而不是獨自開發
1.以太坊開發平台成熟,穩定
2.開發難度低,使用方便,面向人群更廣
TPC 運營團隊
丁林,CEO,緬籍華僑,主導投資Grandland以及一系列投資方案,累計投資超過7000萬美金。貌明,COO,緬籍華僑,原telenor緬甸高級經理,運營、執行能力強勢。負責整體運營與市場銷售。還有之前負責市場運營、市場調研員、文化分析員等大量優秀夥伴。
開發團隊由新加坡鄭憶安擔任主研,精通JAVA與nodejs,10年開發經驗,並且由來自中國、捷克的團隊一起進行技術探索。TPC研究室為其提供基礎支持。
TPC 分配方案
8%-----用於私募,早期投資者和對TPC前景看好的會員。
12%——ICO公募眾籌投資者,戰略投資夥伴。
10%——研究室基金,對技術的探索和未來應用落地
5%——-市場推廣,宣傳分發,戰略合作
15%——-商業落地部署,商業合作,市場開拓
50%——存放政府,根據市場逐步釋放
市場流通少,價值又可以落地實現。價格一定會幾何級增長
如果用一句話講 TPC
存在於第三方支付之中,未來覆蓋與使用人群會在千萬級以上,而現在能接近千萬級的只有比特幣,以太坊。
C. 什麼是ZK-Rollup(零知識匯總)
ZK-Rollup(零知識匯總)基於zero-knowledge proof(零知識證明),在發往主鏈的交易包里包含了一個對應的零知識證明,主鏈上的rollup(匯總)智能合約只需驗證這個零知識證明。
這個零知識證明不會透露任何交易細節,但能通過與智能合約不斷交互,證明上鏈的所有數據的有效性和真實性。
優點:
l高度的去中心化
l隱私性好:零知識證明不會透露任何交易細節
l上鏈效率高:一次性提交多筆操作的結果,節約時間和gas fee
l驗證效率高:無需等待期,快速完成資產取出動作
l安全性極高:zk技術保證了提交給主鏈的數據真實有效,同時主鏈可隨時還原側鏈發生的交易細節(即擁有主鏈的數據可用性),因此擁有以太坊級別的安全性
缺點:
l技術開發難度大
l難兼容不同智能合約
l需要大量運算
代表項目:
l路印:成熟的zk技術運用,獲得4500萬美元私募,當前市值超8億美元
lZKSync:旨在為以太坊帶來 Visa 級別、每秒數千筆交易的吞吐量
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
D. 匿名幣被 *** 點名,強制下架的背後因素
加密貨幣世界中,匿名幣算是比較少被提起的幣種。但是在近期,韓國交易所Korbit率先下架DASH,Monero與Zcash三大匿名幣,日本的Coincheck也同步執行,原因為何?
首先,我們要先了解「匿名幣」與「加密貨幣」之間的差異。
加密貨幣(Cryptocurrency)的重要定義有幾點,「分散式系統」、「不可更改性」、「匿名性」。
分散式系統:意指資料庫的存在形式是散布在世界各個角落的,這不會因為某個中央化的資料庫損毀,而造成資料流失。不可更改性:代表著交易後的紀錄無法被竄改,這與系統本身所特有的共識機制有關系。匿名性:代表交易的雙方無法被直接辨別。筆者又粗略將加密貨幣分為兩類,「一般加密貨幣」與「匿名幣」,以下介紹:
所謂「匿名」,就字面上直觀解釋為「不 *** 實姓名或沒有名字」,前者通常會有別稱或代號,後者則什麼資訊都沒有。同樣的,在加密貨幣的世界裡,依照匿名的程度(匿名性),也可使貨幣被區分為兩種,「一般加密貨幣」與「匿名幣」:
交易上不使用真實姓名,即「一般加密貨幣」交易上完全不使用任何名字,即「匿名幣」
第一種方式,是所謂的「半匿名」英文稱為「Pseudonymous」
第二種方式,「匿名」,英文用做「Anonymous」
要解釋第一種方式,「半匿名」,我們拿最具代表性的「比特幣」來做事例:
比特幣的起始,來自於中本聰的論文,其中,簿記賬的觀念呈現在整個區塊鏈的紀錄當中。白話來說,就是在比特幣的交易行為中,除了交易者的真名無法取得,其他資訊都是公開的,任何人都可以追溯其交易紀錄,比如交易金額、交易時間等等。這就像是你在PTT、Dcard上面有自己的帳號,鄉民們可以藉由IP位置發現到這個人是不是在校園中使用,但是沒有人曉得帳號後面的人長什麼樣貌。
同理推斷,「比特幣」的「半匿名」特性,就像是你知道附近屋子(錢包位址)裡面有多少錢、與哪些錢包在做交易、交易金額、交易次數等資訊,但是不知道屋主(擁有者)是誰。而且依照此特性,可以推斷出錢包擁有者大概的輪廓。這樣的「半匿名」特性,一旦有部分資訊被他人掌握的時候,便有機會藉著相關線索找到錢包擁有者。
正是這樣的「半匿名」特性,讓 *** 監管「一般加密貨幣」的期望成為可能。所以當使用者要注冊、使用加密貨幣交易所的時候,相關帳號都要通過要KYC(KnowYourCustomer)認證。
「半匿名」特性的好處是,交易紀錄公開,並且交易的安全性與公正性由「礦工」認證完成,所以雙方不得有任何異議外,如果沒有任何線索可以連結錢包位址與使用者真實身份,那麼「匿名性」是沒問題的。但是,每個人都查得到你的錢包位址,等於有機會辨別你的實際財富狀況,一旦被辨別出錢包與使用者的相關性,會產生很多現實生活中的安全性問題。想像一下,日常生活中,你會希望每筆交易都被親朋好友知道嗎?想想看你刷信用卡購物之後,爸媽叫你過去跟他對帳的時候吧!
所以,「比特幣」這類加密貨幣的匿名性,只存在於你的錢包位址並未被第三方知道、從未與法幣有所連結的時候。只要知道了錢包位址,再加上KYC的幫助,就有辦法找到使用者本人。
事實真的是如此嗎?我們來看看區塊鏈上的交易紀錄實例:
1.筆者隨意找了一個錢包位址「」
2.於區塊鏈上查詢此錢包
區塊鏈透露了一些資訊,像是這個錢包總共有5筆交易,目前擁有0.7881枚比特幣,總共擁有過29.8411枚比特幣。交易紀錄顯示,最早這錢包出現在2018/01/14日,並由「」錢包匯入,這代表了這兩個錢包之間一定有某種連結。blockchain.info/address/3.發現到此錢包的交易紀錄
此用戶付款給「」錢包三次,總共支出28枚左右的比特幣4.有心人士即可透過相關資訊,去推斷此錢包使用者的真實身份
當擁有這樣的交易紀錄,配上國際反洗錢法所推行的KYC之後,就有辦法執行後續的各種行動;像是「征稅」。同樣的道理,在「以太坊」「萊特幣」等相關數位貨幣上面的交易紀錄也一樣透明。若要拿這類容易被追溯的數位貨幣來進行各種地下經濟作業,實在是沒有什麼道理。
有些人會認為當原有的錢包位址和個人資訊被曝光後,只要換了一個錢包(即錢包位址)就沒事了,但實際上,若新舊錢包之間有資金轉換時,資訊一樣會存在於區塊鏈上,也一樣會被溯源。因此,即便擁有多個錢包,也必需要保證錢包與錢包之間不能出現交易,否則相關性就會被定義出來。況且,管理多個錢包的時候,記帳成本其實相當高呢。
題外話,加密貨幣的交易可藉由各類加密貨幣或法幣來完成,若以法幣進行交易,即進入了 *** 所掌控的金融系統,因此筆者曾聽聞有些人為了反追蹤(想避稅或降低價差等因素)而不想透過加密貨幣服務商做交易,反而採取線下面交等方式,但這其實很危險的,不但被騙時無從追溯,可能還有人身安全的問題。想像一下電影中的黑市交易情節,一邊交貨一邊給錢,而且是很多的錢,在缺乏第三方的保護下,若是被騙可能只是某一方拿到錢拔腿就跑,但如果是起沖突,雙方就開始火拚!哇,這也太 *** 了。
回到正題,比特幣的匿名性不夠強,不記名的「匿名幣」就擁有了真實的應用情境與需求。
以公司法人與公司法人之間的交易做比喻,「一般加密貨幣」如同公司間的所有的交易資訊都被看得清清楚楚。想像一下,鴻海與旗下供應商的每筆訂單交易紀錄都公開的時候,對企業本身和對「股市」帶來的影響該有多 *** ?再看看「匿名幣」,就像是你聽聞科技業的大小企業間分分秒秒都有交易在跑,但是你看不到企業名、交易金額、交易時間等等,但你身為第三方,只看得到一些無關痛癢的認證紀錄。
由此可見,匿名幣隱去「錢包位址」與「交易金額」這兩項要素的特性,除了一般需求外,同時符合地下經濟的需求,因為除了交易雙方,其餘人士都無法得知詳細內容。這正是「匿名幣」,會被特別點名出來的主要因素。
至於「匿名幣」是否如上述的那麼神奇?我們以Monero的區塊鏈當作範例:
1.隨意選去任一區塊鏈交易紀錄
區塊鏈的公開資訊,僅有「FormBlock」、「Fee」、「Size」、「Mixin」,你要是沒有PaymentID的金匙,根本什麼也看不出來。2.無法得知交易金額與錢包位址
Input與Output的交易金額總數都顯示為0,外人什麼都無法得知。統整上述使用「匿名幣」的需求動機:
需要達到現在銀行體系提供給我們的隱私保護級別,降低資訊被披露所帶來的風險。需要超越現有金融體系所帶給我們的隱私保護級別。但是「匿名幣」的使用動機,以 *** 監管的角度來說,是件難以處理的事情。筆者認為,這正是「匿名幣」被要求下架之因素,因為沒辦法管,所以只能降低其流動性。
「匿名幣」的後續還有太多可以了解的部分,有興趣的讀者可以前往筆者網志「林小狗研究室」與筆者一同做更多的學習與研究。如果比較不了解加密貨幣的讀者,可以先前往閱讀「數位貨幣懶人包」系列文章或是留下您的資訊,以供後續與各位更新。
筆者整理出幾個為提升「匿名性」常見的方法,供讀者進一步查詢。
StealthaddressesMix(混幣)RingCT(環形簽名)Zero-knowledgeSuccinctNon-(zk-SNARKs)(零知識證明)Tor未來還有很多主題可供探討,筆者先舉列幾個題目,有興趣的讀者可以留言給我。
匿名幣在「匿名性」程度上的差異「隱私保護技術」的方法論現在有哪些匿名幣存在於世上?匿名幣中有礦工的存在嗎?
E. 7.9 用vsftpd 配置基於IP的虛擬FTP 伺服器
配置虛擬IP 地址
建立虛擬FTP 的伺服器目錄並設置適當的許可權
建立虛擬FTP 的伺服器的xinetd 配置文件
建立虛擬FTP 的伺服器的主配置文件
配置獨立啟動的虛擬FTP 的伺服器要有單獨的主配置文件,即原主機的主配置文件和虛擬主機的配置文件不能重名。
⑴查看本機現有的IP 地址
# ifconfig |grep -1 eth0
eth0 Link encap:Ethernet HWaddr 00:50:56:C7:22:DF
inet addr:192.168.1.222 Bcast:192.168.1.255 Mask:255.255.255.0
//可以看出本機的第一個網路介面eth0 的IP 為192.168.1.222
⑵下面配置一個虛擬網路介面eth0:1
# ifconfig eth0:1 192.168.1.234 up
⑶下面建立虛擬FTP 的伺服器目錄
# mkdir -p /var/ftp2/pub
//確保目錄具有如下的許可權
# ll -d /var/ftp2
drwxr-xr-x 3 root root 4096 3 月12 03:00 /var/ftp2
# ll -d /var/ftp2/pub
drwxr-xr-x 2 root root 4096 3 月12 03:00 /var/ftp2/pub
⑷在下載目錄中生成測試文件
# echo "hello">/var/ftp2/pub/test_file
⑸下面創建此虛擬伺服器的匿名用戶所映射的本地用戶ftp2
# useradd -d /var/ftp2 -M ftp2
⑹ 修改原獨立運行伺服器的配置文件/etc/vsftpd/vsftpd.conf
# vi /etc/ vsftpd/vsftpd.conf
// 添加listen = 192.168.1.222
// 將原FTP 服務綁定到eth0 介面,之後保存退出vi
⑺ 生成新的虛擬FTP 伺服器的配置文件/etc/vsftpd/vsftpd2.conf
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
⑻ 更改新的配置文件/etc/vsftpd/vsftpd2.conf
# vi /etc/vsftpd/vsftpd2.conf
//在此文件添加
//listen_address= 192.168.1.234
//將虛擬FTP 服務綁定到eth0:1 介面
⑼ 修改如下的配置語句行:
// ftpd_banner=This FTP server is anonymous only.
//修改為:
// ftpd_banner=This is the alternative FTP site.
⑽添加如下的配置語句:
// ftp_username=ftp2
//使此虛擬伺服器的匿名用戶映射到本地用戶ftp2
//這樣匿名用戶登錄後才能進入本地用戶ftp2 的/var/ftp2 目錄
//修改後,保存退出vi
⑾ 重啟伺服器:
service vsftpd restart
啟動虛擬FTP伺服器
Vsftpd /etc/vsftpd/vsftpd2.conf