【我的區塊鏈之路】- 區塊鏈中的一些疑惑

Hi,好久不見了,大家!!最近本人由於比較忙,而且在研究Ethereum的源碼,所以,最近連續十多二十天沒有更新寫新博客了!但是,本人保證往後,每個月都不少於4篇關於區塊鏈相關的文章更新~那麼,本篇文章主要是想說一下,本人在學習區塊鏈的時候的一些疑惑點,【請原諒作者有點水~】也希望在座的各路大神們可以指點一二!

【疑惑】這個總會不定時更新...

【1】假設有比特幣節點A目前想確認自己本地的BlockChain上的某個Block目前是屬於finality 時間【就是後面跟着 >= 6個Block】且已被全網51%節點所同步?(全網的節點逐個來告訴節點A說某個Block目前是否在自己的本地記載??)

 

【2】因爲網絡可能會延遲,假設南北半球可能某些礦工本地記錄的BlockChain可能會不一樣,在比特幣中如果某個Block的獎勵已經發放給挖出它的礦工,並且該礦工把這些獎勵花銷出去了(假設這個礦工全部的餘額就是這個區塊的獎勵),如:礦工A 把這筆獎勵都花給了B賬戶,這時候突然發現礦工挖出來的區塊不是在主鏈【在叔叔鏈上】上的,這時候叔叔鏈上的區塊會被作廢,且裏頭的交易會被回滾,那麼請問礦工A剛剛花出去的錢算不算花出去了?(會被回滾?)那麼,如果回滾的話B賬戶的餘額會因此減少A打過來的錢麼?

 

【3】在以太坊中,如果兩個人在創建賬戶時,輸入的密碼一致,那麼請問,他們生成該賬戶的私鑰一樣麼?

答案:不會,以太坊的私鑰生成和設置的密碼(passphrase)沒有丁點關係,密碼是爲了把私鑰進行 加密放置 本地的keystore中,以便下次 Unlock 操作時從本地的keystore中解密加載私鑰至內存中。如果把私鑰導入別的終端(如:錢包)那麼對於該終端需要另外設置密碼(及Unlock用的密碼也就是加解密keystore中私鑰的密碼),故密碼只是對私鑰做加解密用的。

 

【4】比特幣中,有某筆交易 X 由於網絡延遲原因,先被廣播到了(1) 礦工節點,被打包包含在了區塊A中並且上了鏈,然後在這時候才因爲網絡延遲到達了 (2)礦工節點,被打包含在了區塊D中且也上了鏈,這樣紙是可以的麼?如果可以,那麼是否 假設目前的鏈是 A <- B <- C <- D <- E 中,其中區塊A 和區塊D 分別包含了同一筆交易 X ,可以這樣紙?

 

【5】在ETH中,我挖出了一個Block 那麼這筆獎勵是什麼時候到賬?因爲這個Block 剛開始的時候可能是認爲是最長連上的,但是可能後面變成了在側鏈上成爲了叔叔快(不排除網絡延遲同步區塊造成的),因爲主鏈上的塊獎勵和叔叔塊獎勵是不一樣的獎勵,那麼總得有一個好的時機來給礦工獎勵,而避免出現這種尷尬的情景!

 

【6】在ETH中,如何獲取具備波動性質的GasPrice,是實時獲取市場價算的?還是根據前幾個區塊的數據算的?

 

【7】在ETH中,我是如何區別 ETH轉賬、合約創建、調用合約、提交數據上鍊等這幾類交易類型的?

 

【8】solidity中,address(0) == address(0x00) == 0   ==  非法的零地址 (可做銷燬用的零地址麼)??

 

【9】我看到有的合約裏有 address  A = address(...) 這是什麼意思?有這種寫法??

 

【10】區塊鏈上的時間如何保證一致性,就是我如何保證各個節點的本地時間是相差不大的?

答案:區塊鏈上無法保證時間的一致性,區塊鏈上不能用時間來做校驗或者業務相關的參數,不然極可能引起數據的不一致性!

【11】智能合約中的library是如何部署的?且在一個本地合約中如何引用已經部署到鏈上的library?

答案:library的部署和contract的部署一致!通過 call   delegatecall  等底層調用函數 可以實現,合約調合約, 合約調 庫 的使用。

 

【12】以太坊的私鑰賬戶在使用的時候總需要過段時間再次Unlock 一次,這樣做的目的是什麼樣的安全目的?是否可以說下具體的安全場景?

 

 

【13】如何根據交易哈希定位在哪一個區塊裏呢

答案:比特幣提供了一種叫做布隆過濾器(Bloom filter)的功能,節點會在通信鏈路上建立一個這樣的過濾器,限制只接受含有目標地址的交易,從而能過濾掉大量不相關的數據,減少客戶端不必要的下載量。比如,SPV節點會收到少於1KB的有關區塊頭和Merkle路徑的數據,其數據量只約佔一個完整區塊(目前大約1MB)的千分之一。


【14】還是對於以太坊的賬戶(可以認爲是 私鑰)每個一段時間就會被鎖定,要是用的話還需要Unlock,很多地方說是出自安全方面的顧慮才把加載到內存中私鑰相關的信息都kill掉了,在需要使用的時候再次Unlock,疑惑是,到底出自什麼樣的安全顧慮呢,比如?

 

 

【15】如何增加TPS?

答案:這個問題的答案很開放,提高中心化 如 EOS, ETH的分片等;側鏈技術;閃電網絡;DAG及HashGraph等

 

【16】以太坊和比特幣如何保證雙花問題?以太坊和交易相關的nonce值怎麼個更新時機?

 

 

以上,就是小弟我的一些疑問,希望能有大神路過解答下哈~ 順便寫上題號~謝謝了大神們!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章