看板 Programming 關於我們 聯絡資訊
大家好,工程師職歷近2年的7年級最末段生想和各位前輩討論一下protocol 最近因為工作關係,一會是研究unix,一會是研究blockchain的,非理工出身的我真的是 腦袋一片混亂…不過因為完全沒有理工背景,能在工作上有機會去查這些東西也是覺得滿 特別的,跟同業聊天可以裝個mania(但終究是裝的,希望可以趕快裝滿) 然後最近在關注一個叫做「ipfs」的Open Source專案(https://github.com/ipfs/ipfs) 他既是一個protocol,又是一個FileSystem,還可以是P2P,CDN等等 野望是取代http@@ (引用: If built right, it could complement or replace HTTP. ) 其中,特別想知道的是hash collision問題 http://silverwingedseraph.net/ipfs.html 脫離數學很久,而且不太看得懂英文寫的數學,有點難想像怎樣的條件下可以自由的產生 hash而不重複。(天文數字&???) 要是真的可行,網站不需要ip的世界,乍看是滿理想的。但類同比特幣,這種無法地帶能 成為主流? 但telnet的ptt也沒有消失,說真的,網路的歷史要說也不算長 (例如說:對應IoT跟行動機器而)重建一個protocol的理想,也是有那麼些說服力 另外一個想討論的是,standard uri https://github.com/ipfs/go-ipfs/issues/1678 文中引用了RFC 2718 2.1.2 Improper use of "//" following "<scheme>:" 我微弱的科技英語的解讀是,「scheme名 : slash slash 網址」 這個表現其實不符合美學 理由可能是其它回文討論提到的在「bridge unix and the web」上的問題 (上面這句收回。重讀一次覺得這邊沒有關聯...) 我沒寫過C, 沒經歷過UNIX-based OS林立的時代(最近有在讀跟我出生年份差不多的書) ARPA更是不懂 這篇希望可以看看同年代的考古學生或考古上班族 and 那年代的前輩們的見解 「新時代的main protocol的可能性」 如果是肯定的話,「它該有的模樣?」 否定的話,「人為因素或技術因素?」 以上,感謝閱讀,敬請指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.161.166.95 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1454339161.A.F36.html ※ 編輯: shoshumai (106.161.166.95), 02/01/2016 23:08:35 ※ 編輯: shoshumai (106.161.166.95), 02/01/2016 23:12:35 ※ 編輯: shoshumai (106.161.166.95), 02/01/2016 23:50:40
longlongint: hash 不需要真的不會重複 只需要這220.137.158.216 02/02 02:00
longlongint: 輩子沒遇過重複就夠了220.137.158.216 02/02 02:00
capita: 我做過幾乎一樣的研究 但你是想討論什麼? 1.171.176.23 02/02 11:00
penut85420: double hash不夠就用triple hash啊XDD 1.167.156.26 02/02 12:24
RE: capita前輩 sorry, 夾雜了個人的煩惱,隨手用自己微薄的知識寫了這篇,文章流暢度有點差 主要想問:(1)HTTP未來被取代的可能性? 因為我不想focus在我個人的煩惱, 所以說是與其要求一個結果, 我比較傾向於不同年代的 工程師的開放式討論 然後(2)進一步假設, 要是想打造一個全新的, 近未來的理想的protocol, 他會是個怎樣的protocol? 當然, (3)技術上或者人為因素ooxx的關係, http是無法取代的論點也想聽聽看 RE:longlongint前輩, penut85420前輩 hash那部分, 我的腦袋的想像是, 假設全世界用著類似的機器,(假設是有連線功能的 電燈好了, 無視使用hash的理由, 只是假設龐大數量且條件相近的機器), 在同一時間內 做類似的事情, 不會發生hash collision嗎?? P.S.我本來只是個Java工程師, 一言難盡的原因, 現在在研究這些資訊知識用詞有誤之類 的話請鞭小力一點... ※ 編輯: shoshumai (106.161.158.143), 02/02/2016 20:01:50
penut85420: 其實我對hash實作也是感到不可思議, 61.231.61.84 02/02 22:19
penut85420: 用過js跟ruby之類的總覺得很神奇,好 61.231.61.84 02/02 22:19
penut85420: 像hash一輩子用不完一樣 61.231.61.84 02/02 22:19
shoshumai: 我連高中都不是理組,怕亂用詞會有點丟106.161.166.112 02/03 00:32
shoshumai: 臉. 我的空想是,性質極度相似的機械,106.161.166.112 02/03 00:33
shoshumai: ,時間也相近時,產生hash時就算是random106.161.166.112 02/03 00:34
shoshumai: 也不會重複或有所偏向嗎?why?106.161.166.112 02/03 00:34
※ 編輯: shoshumai (106.161.166.112), 02/03/2016 00:36:58
penut85420: 即使極相似的機械,他們還是會有一個 1.167.156.26 02/03 11:46
penut85420: 獨一無二的代碼,就像mac位址一樣 1.167.156.26 02/03 11:46
Killercat: hash重複只有一個原因,樣本過大 59.124.251.135 02/05 10:34
Killercat: 但是這要大到什麼程度 你可以研究一下 59.124.251.135 02/05 10:34
Killercat: hash collision rate 59.124.251.135 02/05 10:34
Killercat: http://tinyurl.com/ou6gh9c 有表可看 59.124.251.135 02/05 10:35
Killercat: 不重複是絕無可能的 只是看樣本多大 59.124.251.135 02/05 10:37
Killercat: 造成的rate是「可接受的」 59.124.251.135 02/05 10:37
Killercat: 表中的160bit就是現行的20bytes MD5 59.124.251.135 02/05 10:39
感謝各位的分享。 我不解的是,機率是一個單純的計算結果 但hash的產生的背景真的是算式那樣單純的東西嗎? (上面這句有點難懂,但我也不知怎麼說,就是上面所說極度相似的機械) 還有一點就是,如果我們談某件事機率是0.1 但發生時也有可能是,1/10, 1/12, 1/8 會有偏差 實際上可能沒有實驗室測過天文數字級樣本 那這樣用來作為世界級分散protocol真的不會發生大問題嗎? 特別是如果ipfs可以用hash取代ip的話 某政府機關是某hash,但某hacker想出了奇招,做出一樣的hash,仿製該網頁? 但最近想想,就跟前幾例所說的相同,弄得超複雜的,也許就夠了 ※ 編輯: shoshumai (106.161.162.186), 02/05/2016 22:59:33
Killercat: 你這問題就簡單了,地球上沙子約有101.139.180.153 02/08 12:29
Killercat: 7x10^21, 也就是說,就算數量到那麼大101.139.180.153 02/08 12:29
Killercat: 現有160bit碰撞機率僅略大於百萬分之一101.139.180.153 02/08 12:30
Killercat: 而160bit不夠多 可以網上加到240bit101.139.180.153 02/08 12:31
Killercat: 反正不過30bytes,以現在網路科技來講101.139.180.153 02/08 12:31
Killercat: 實在只是個微不足道的大小101.139.180.153 02/08 12:31