<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mr./Ms. Days (MMDays) - 網路, 資訊, 觀察, 生活MMDays &#8211; 程式</title>
	<atom:link href="http://mmdays.com/tag/%e7%a8%8b%e5%bc%8f/feed/" rel="self" type="application/rss+xml" />
	<link>http://mmdays.com</link>
	<description>網路, 產業, 資訊, 觀察, 生活, 電影, 技術, 新知, 科技, 媒體, 趨勢, Web 2.0</description>
	<lastBuildDate>Thu, 24 May 2012 16:59:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Click*3續觀察 : 圖形驗證與網路分工</title>
		<link>http://mmdays.com/2007/06/28/clickclickclick_2/</link>
		<comments>http://mmdays.com/2007/06/28/clickclickclick_2/#comments</comments>
		<pubDate>Thu, 28 Jun 2007 04:13:25 +0000</pubDate>
		<dc:creator>Mr. Friday</dc:creator>
				<category><![CDATA[Mr. Friday]]></category>
		<category><![CDATA[娛樂]]></category>
		<category><![CDATA[專欄]]></category>
		<category><![CDATA[程式設計]]></category>
		<category><![CDATA[電玩]]></category>
		<category><![CDATA[clickclickclick]]></category>
		<category><![CDATA[大戰]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[駭客]]></category>

		<guid isPermaLink="false">http://mmdays.com/2007/06/28/clickclickclick_2/</guid>
		<description><![CDATA[隨著ClickClickClick網站Game 6的開打, 為了爭取自己國家能在排行榜上獲得冠軍, 台灣與日本兩個科技強國各自召集了大量鄉民投入這場"戰爭", 更吸引了眾多網路駭客開發破解程式來灌自己國家的票, 這當中的技術演進之快, 網路攻防戰之精采, 還有鄉民24小時全天候持續不斷的熱情投入, 在我的印象當中, 應該還真的是前無古人, 想不出有哪個活動可堪比擬, 諸位看官應該要鼓掌致意一下才是!

(註: 駭客hacker是褒意, 指電腦技術高超的人, cracker才是專門去破壞別人網站的作亂份子)]]></description>
			<content:encoded><![CDATA[<p><strong>Posted by <a href="http://mmdays.wordpress.com/tag/mr-friday/"><font color="#0000ff">Mr. Friday</font></a></strong></p>
<p>前情提要: 看不懂我這一篇在寫什麼的, 請先參照這篇: <a href="http://mmdays.wordpress.com/2007/06/20/clickclickclick/">ClickClickClick的中忍考試 : 民族主義與網路安全?</a></p>
<p>這幾天, 台灣, 日本與德國的網路好不平靜, 為什麼? 因為點點點大戰啊 ! XD</p>
<p><img src="http://mmdays.files.wordpress.com/2007/06/windowslivewriterclick3-1410bclick-game-6-thumb.jpg" style="border-width: 0pt" border="0" height="497" width="497" /></p>
<p>(網友Hollowcorpse繪)</p>
<p>隨著ClickClickClick網站Game 6的開打, 為了爭取自己國家能在排行榜上獲得冠軍, 台灣與日本兩個科技強國各自召集了大量鄉民投入這場&#8221;戰爭&#8221;, 更吸引了眾多網路駭客開發破解程式來灌自己國家的票, 這當中的技術演進之快, 網路攻防戰之精采, 還有鄉民24小時全天候持續不斷的熱情投入, 在我的印象當中, 應該還真的是前無古人, 想不出有哪個活動可堪比擬, 諸位看官應該要鼓掌致意一下才是!</p>
<p>(註: 駭客hacker是褒意, 指電腦技術高超的人, cracker才是專門去破壞別人網站的作亂份子)</p>
<p>接下來呢, 我們再來看看這幾天之內, Click*3上的技術攻防戰又有哪些新變化, 以及這些又給我們什麼啟發.</p>
<p><span id="more-4453"></span></p>
<p>還記得上回我在技術方面講到圖形驗證碼的問題嗎? 圖形驗證碼是網路上常用來防止機器灌票的一種方法. 在這系列比賽中, 日本人是率先做出自動灌票程式的國家. 前一篇文章有提到</p>
<blockquote><p>那麼, 這麼厲害的圖形驗證碼為啥卻被日本破解了呢? 說來也不能說日本是真正破解了驗證碼的機制, 而應該說日本是集眾人之力蒐集”考古題”來應答. 怎麼說呢? 其實Click*3是可以每開一次網頁就隨機生出一張圖形驗證碼來考大家, 然而因為網站流量太高, 這樣做太浪費網站資源, 所以Click*3就跟其他網站一樣, 先在本地端生出了一大堆圖片, 然後每當一個網友開網頁, 就隨機從圖庫中抽一張來考人.也因為這樣, 所以<strong>日本方面有人傾網友之力, 蒐集了幾乎所有出現過的圖形驗證碼和答案, 再依此為根據做了一個”自動應答機”…</strong>有了這個工具, 電腦就可以一直開著讓他灌票下去, 完全全自動!</p></blockquote>
<p>原理知道以後就好辦. 跟隨著日本的腳步, 台灣沒多久也立刻做了一個功能差不多的自動灌票程式, 也就是α (alpha; 俗稱阿法)系列, 能夠自動判讀圖形驗證碼的程式; 不過沒多久, Click*3的德國官方維護工程師Ian就立刻換了一批新圖片,  然而因為台日兩地網友太多, 新圖片出來沒多久就又立刻&#8221;考古題蒐集完畢&#8221;, 各種灌票程式依然肆虐著, 於是到最後, Ian使用了釜底抽薪的方法, 那就是</p>
<p><strong><font color="#ff0000">隨機產生驗證碼, 讓這些仰賴考古題作答的自動灌票程式通通失效.</font></strong></p>
<p>此招一出日本台灣鄉民立刻唉唉叫, 因為這代表自動灌票機沒用了, 遇到驗證碼大家還是得自己動手輸入. 其實呢, 這是一招七傷拳 : 不但傷到敵人, 也傷到自己. 各位想想看, 光是台灣日本, 每分鐘就有成千上萬的網友進行投票, 而Click*3每遇到一個網友就要動態生出一張圖片, 這當中所耗費的CPU與記憶體的量是相當驚人的, 這也難怪Ian (Click*3官網維護者) 的主機後來三不五時就會BUSY或當機一下, 導致網友怨聲四起.</p>
<p>(何謂圖形驗證碼? <a href="http://mmdays.wordpress.com/2007/06/20/clickclickclick/">這篇的後半段</a>有介紹)</p>
<p><img src="http://mmdays.files.wordpress.com/2007/06/windowslivewriterclick3-1410bclick-game-6-2-thumb.jpg" style="border-width: 0pt" border="0" height="480" width="480" /></p>
<p>(網友Hollowcorpse繪)</p>
<p>關於圖形驗證碼在這場網路大戰中的角色, vgod的&#8221;<a href="http://blog.vgod.tw/2007/06/24/clickclickclick%e8%88%87%e4%ba%ba%e5%8a%9b%e8%b3%87%e6%ba%90%e5%88%a9%e7%94%a8/">clickclickclick與人力資源運用</a>&#8220;一文倒是提供了一點非常好的建議:</p>
<blockquote><p>身為human computation的研究者，看到這麼多人在瘋狂地解CAPTCHA，實在很想建議clickclickclick.com趕快把驗證圖換成<a href="http://blog.vgod.tw/go.php?http://recaptcha.net/">reCAPTCHA</a>(請參考<a href="http://blog.vgod.tw/go.php?http://blog.vgod.tw/2007/05/30/recaptcha/">我之前的介紹</a>）。這樣一來能把產生驗證圖對主機帶來的負擔全部轉給reCAPTCHA去煩惱，二來還能集合這些熱血鄉民們的力量，讓大家在愛國之餘還能為這個世界順便做一點貢獻</p></blockquote>
<p><strike>CAPTCHA就是圖形驗證碼的英文名</strike>. CAPTCHA的全名是&#8221;<strong>C</strong>ompletely <strong>A</strong>utomated <strong>P</strong>ublic <a href="http://en.wikipedia.org/wiki/Turing_test" title="Turing test"><strong>T</strong>uring test</a> to tell <strong>C</strong>omputers and <strong>H</strong>umans <strong>A</strong>part&#8221;, 也就是專門用來判斷使用者是人類還是電腦的機制, 而圖形驗證碼正是當中最常被用到的方法. 那<a href="http://recaptcha.net/">reCAPTCHA</a>又是什麼東西呢? 其實<a href="http://recaptcha.net/">reCAPTCHA</a>是圖形驗證碼原創者Luis von Ahn的新作, 一樣是圖形驗證碼的延伸. 就他的觀察, 現在網友每天會輸入6千萬次的圖形驗證碼, 如果平均解一張圖形驗證碼要10秒鐘的話, 那全世界人類每天總共會花去總計150000小時的時間在解圖形驗證碼上. 他想到的是, 把這些功夫用在對人類有益的事情上, 那就是: 書籍的數位化.</p>
<p>書籍的數位化是近幾年常被討論的話題. 但是我們都知道, 電腦的流行也不過就這幾十年間的事情, 但是書籍的歷史卻可以往回追溯幾千年. 如果要一一輸入電腦實在是很耗時, 所以就有人發展了OCR (Optical Charater Reconition)技術, 可以把掃描機讀到的圖案轉換為文字. 可惜的是, OCR概念雖好, 但是它的圖形辨識能力仍然不盡理想, 舉例來說:</p>
<p><img src="http://recaptcha.net/images/sample-ocr.gif" height="110" width="495" /></p>
<p>第一行是從書本掃下來的字: &#8220;This aged portion of society were distinguished from&#8221;</p>
<p>第二行是OCR自動判讀結果: &#8220;niis  aged pntkm   at society were distinguished frow&#8221;</p>
<p>很明顯有將近一半的字判讀錯誤. 這些被劃紅線的字還需要人工手動重新輸入, 仍然是很浪費時間. 所以Luis von Ahn想到一個好方法, 那就把這些機器判讀不出來的字作成圖形驗證碼給網友辨識如何? 於是就看到我們的reCAPTCHA了:</p>
<p><img src="http://mmdays.files.wordpress.com/2007/06/windowslivewriterclick3-1410brecaptcha-thumb.jpg" style="border-width: 0pt" border="0" height="194" width="340" /></p>
<p>這當中有兩個從書本上掃描下來的字, 它們都是機器判讀失敗的字句. 網友要做的就是把你看到的字母輸進下面那個對話框就可以了. 等等, 既然這兩個字都是機器判讀失敗的字句, 那電腦怎麼知道網友輸入的答案是對還是錯呢? 其實, 電腦已經知道其中一個字(不一定是左邊或右邊) 的正確答案了. 如果網友輸入的那個字是正確的, 那麼電腦會假設另外一個字也是正確的, 並判定網友通過驗證碼.</p>
<p>有的人會問說, 如果我故意把左邊的字打對, 右邊的字打錯, reCAPTCHA還是有一半的機率會讓我通過驗證碼啊, 那這樣是不是會影響到網站的運作, 或是書籍的數位化正確度呢? 這個答案倒是不必太擔心, 因為:</p>
<ol>
<li>對reCAPTCHA來說, 他不會只採信一個網友的答案, 也就是每個新字繪重複出現在不同網友的圖形驗證碼好幾次, 然後reCAPTCHA再採信最多人輸入的答案, 因此單一網友的輸入錯誤並不會影響整體翻譯.</li>
<li>對於一般使用圖形驗證碼的blog或程式而言, 它的功用就是拿來確定輸入答案的是真人而不是程式, 而reCAPTHCA已經做到這點了.</li>
</ol>
<p>reCAPTCHA的概念很好, 有效地轉換網友花在圖形驗證碼的功夫為書籍的數位化, 值得大家大力推廣. 另外, vgod推薦Click*3改採reCAPTCHA來當認證圖的原因還有一點:</p>
<p>因為reCAPTCHA官網提供頻寬, 幫你生驗證碼, 所以Ian (Click*3官網維護者)可以不必再為圖形驗證碼被破解或是流量太大系統不穩所擔心, 各位網友也可以更順暢的連上Click*3官網, 還能幫忙達成書籍的數位化, 豈不是一舉數得? <strong><font color="#ff0000">趕快找個人去建議Ian把圖案換成reCAPTCHA吧 XD !</font></strong> 另外, reCAPTCHA也提供程式碼, 給自己架站的網友使用, 有興趣的人可以到<a href="http://recaptcha.net/whyrecaptcha.html">reCAPTCHA官網</a>看看.</p>
<p>好, 再回到Click*3比賽現場. 自從Ian改採隨機產生圖形驗證碼後, 各國網友一陣哀鴻遍野. 不過, 難道你以為網友的灌票程式開發就此終結了嗎? 不! 除了持續的除臭蟲, 協助被Ban IP的網友換ip外, 還有人想出了<strong><font color="#ff0000">以P2P方式接力解圖形驗證碼的方法!</font></strong> 曾經研究P2P技術一陣子的我, 也不禁要說這些網友的創意真是太有趣了! 據說這個idea也是來自於日本, 而台灣則有代號為θ 的外掛程式沿用了這個概念. (θ 為α灌票程式的外掛模組, 須配合.Net架構安裝.)</p>
<p>所謂的P2P接力解圖形驗證碼是怎麼回事呢? 這個外掛程式把參加的網友分為兩種, 一種稱為&#8221;打字兵&#8221;, 工作就是專門接收別人電腦裡出現的圖形驗證碼, 然後不斷的幫忙解答; 另外一類的網友稱為&#8221;攻擊兵&#8221;, 電腦開著一直灌票, 遇到圖形驗證碼就丟給打字兵去解決, 也是變相的全自動灌票程式. 另外, 這程式還有以下特點:</p>
<ol>
<li>由於有些網友之前灌票太兇被Click*3 ban IP, 這些網友可以改參加打字兵的工作, 一樣能為比賽貢獻;</li>
<li>為了怕打字兵一直打字很無聊, 作者還另外做了第二個外掛Enigma, 讓人一邊打字一邊玩<strong>俄 羅 斯 方 塊 !</strong></li>
</ol>
<p>如果θ 配合起前面reCAPTCHA的程式, 到時候Click*3的活動最後可能會變成集網友之力接力完成線上翻譯書籍! 真是意想不到吧!</p>
<p>可惜目前θ 還是必須仰賴一個中心的server, 負責媒合打字兵與攻擊兵&#8230;(白話來說, 好像104網站之於企業&amp;求職者的角色). 以程式設計師的角度, 這應該可以改成完全P2P的程式, 少掉中心server (可減輕網站負載), 讓打字與攻擊兵自行尋找對方. 不過程式的改寫以及媒合機制的設計, 顯然還需要一段時間的開發.</p>
<p>看到這裡有沒有覺得這個遊戲所激起的技術戰, 從自動灌票, 圖形驗證, 甚至還最新的引入了P2P的概念, 整個很有趣呢? 其實我覺得更有趣的, 是整個活動裡面網友自發性的工作分配, 這本身就隱含了P2P的意念: 網友自發性的組成程式開發班(一開始的ward被尊稱為元帥), 外交班, 應援班, 戰情回報班, 甚至攻擊兵與打字兵; 這當中都不是由特定網友發號施令, 而是網友相互推舉與腦力激盪而成; 不管從哪個角度來看, 網友的分工與向心力都非常的讓人敬佩. 以前曾在管理學課本中讀到什麼要讓組織決策去中心化(de-centralize), 就應該要更有效的讓員工互相溝通, 增進員工的知識, 加強員工對公司整體營運目標的認同&#8230;等等 . 本來以為這些東西只會在企業營運中見到, 沒想到在Click*3的活動裡面, 卻明顯可見到這樣的脈絡, 實在是太讓人驚訝了!</p>
<p>這篇文章完成時, Game 6已經結束了, 而且還正在台日纏鬥不休之際突然完結, 讓許多網友傻眼(尤其是台灣剛剛被日本追過沒多久就結束比賽, 實在&#8230;)</p>
<p>附上網友DongROD對於Click*3以及維護者Ian畫的抱怨圖:</p>
<p><img src="http://mmdays.files.wordpress.com/2007/06/windowslivewriterclick3-1410babian-ian-thumb2.jpg" style="border-width: 0pt" border="0" height="384" width="504" /><br/>
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><a href="http://plurktop.mmdays.com/replurkdetail/?link=fb90dd2cfc151ceee20aefebde57067f" title="看看其他人討論內容" target="_blank"><img src="http://plurktop.mmdays.com/images/replurk_1.png" style="border:0"></a></td>
</tr>
<tr>
<td><a href="http://plurk.com/?qulaifier=shares&#038;status=http%3A%2F%2Fmmdays.com%2F2007%2F06%2F28%2Fclickclickclick_2%2F+%28Click%2A3%E7%BA%8C%E8%A7%80%E5%AF%9F+%3A+%E5%9C%96%E5%BD%A2%E9%A9%97%E8%AD%89%E8%88%87%E7%B6%B2%E8%B7%AF%E5%88%86%E5%B7%A5%29+-+%E8%BD%89%E5%99%97%E6%8E%92%E8%A1%8C%E6%A6%9C+http%3A%2F%2Fplurktop.mmdays.com%2Freplurk" title="推到噗浪" target="_blank"><img style="border:0" src="http://plurktop.mmdays.com/images/replurk_2.png" /></a></td>
</tr>
</table>
</div>
<p><br/><a href="http://www.facebook.com/MMDays" target="_blank">加入MMDays在facebook的粉絲團 隨時閱讀最新文章</a><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://mmdays.com/2007/06/28/clickclickclick_2/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
	</channel>
</rss>

