學習論文:
題目:Solving the liar detection problem using the four-qubit singlet state
作者:Ad´an Cabelloc
首先,先了解一下拜占庭問題
拜占庭位於如今的土耳其的伊斯坦布林,是東羅馬帝國的首都。由於當時拜占庭羅馬帝國國土遼闊,為了達到防禦目的,每個軍隊都分隔很遠,將軍與將軍之間只能靠信差傳訊息。在戰爭的時候,拜占庭軍隊內所有將軍和副官必須達成一致的共識,決定是否有贏的機會才去攻打敵人的陣營。但是,在軍隊內有可能存有叛徒和敵軍的間諜,左右將軍們的決定又擾亂整體軍隊的秩序。在進行共識時,結果並不代表大多數人的意見。這時候,在已知有成員謀反的情況下,其餘忠誠的將軍在不受叛徒的影響下如何達成一致的協議,拜占庭問題就此形成。
歸根結底是:一致性問題
正式提出:
題目:The Byzantine Generals Problem 年份:1982 來源:ACM Transactions on Programming Languages and Systems 作者:LESLIE LAMPORT, ROBERT SHOSTAK, and MARSHALL PEAS
題目:The Byzantine Generals Problem
年份:1982
來源:ACM Transactions on Programming Languages and Systems
作者:LESLIE LAMPORT, ROBERT SHOSTAK, and MARSHALL PEAS
事實上,在拜占庭三個將軍中出現一個叛徒,並且叛徒可以任意偽造訊息的情況下,只要叛徒頭腦清醒,他就始終無法被發現,甚至還能造成整個系統的信任危機。
理論上的證明,可以參考另一篇論文Reaching agreement in the presence of faults。目前,我們只需要理解在三個將軍的情況下,只要叛徒策略得當,從忠誠的將軍視角看其他兩個將軍的行為並無差異。並且理論上來講,忠誠的將軍們也就無法辨別出到底誰是叛徒。
根據這一結論進一步推導可以得出一個更通用的結論,如果存在 m 個叛徒將軍,那麼當將軍總數小於或等於 3m 時(n <= 3m,m代表叛徒將軍個數),叛徒便無法被發現,整個系統的一致性也就無法達成。
當忠臣的個數為 2m + 1 時,他們可以容忍 m 個叛徒產生的破壞。
所以,BA問題是不可解的!
目前已經有了不少成熟的解決方案,比如:Raft、Paxos、ZAB 、PBFT等演算法
參考[2]
可解,除非:
BA問題:拜占庭問題
DBA問題:可檢測的拜占庭問題
現在,將問題再進一步簡化,暫不需要考慮整個投票的過程,只需要考慮一個將軍向其他三個將軍各傳送了一條命令,忠誠將軍能否對這個命令達成一致的情況,為了區分傳送命令的將將軍和接收訊息的將軍,我們將傳送命令的將軍稱為司令,將接收命令的將軍稱為將軍
1、B和C是對稱的,意思是?
A是傳送者,B和C都是接收者,角色一致。
2、$l_a$和$l_{AB}$和$m_{AB}$有什麼關係?
3、如何證明資料是一致的?
4、按何種規則測量四量子?
本文主要研究內容:使用量子技術去解決拜占庭問題,即在三將軍中找出叛徒或者忠誠的將軍協商一致,保證戰爭不會失敗。
主要分為三部分:
1、拜占庭問題的介紹
2、協議的設計過程
3、協議第一步中列表是如何生成和分發的?
4、如何製備這個四量子位元態?
下面介紹拜占庭問題
我們提出了一種新的量子協議來解決三方之間的可檢測拜占庭協議(也稱為可檢測廣播),並解決了可檢測的測謊問題。該協議是由四量子位元糾纏態【four-qubit entangled state】的性質提出的,並且協議的經典部分比以前的方案更簡單。此外,我們還給出了一個利用四光子糾纏【four-photon entanglement】實現該協議的實驗方案。
分散式計算的一個基本目標是在一些分散式程式失敗的情況下實現協調。這需要無故障元件【nonfaulty components】達成一個協議。處理這些任務的問題被抽象地表述為拜占庭將軍問題,也被稱為拜占庭協定(BA)。
拜占庭軍隊有三個師,每個師都由自己的將軍指揮,正在圍攻一座敵城。三個將軍A、B和C只能通過信使相互通訊(即通過成對認證的無差錯經典通道)。他們必須制定一個共同的行動計劃,要麼是0,要麼是1(例如,進攻或撤退)。A將軍決定製定一個計劃,並想將該計劃傳遞給B將軍和C將軍,通過將訊息mAB (0或者1)傳送給B,將訊息mAC (0或者1)傳送給C,然後,B通過向C傳送訊息mBC來將計劃傳送給C,而C通過向B傳送訊息mCB來將計劃傳送給B。然而,其中一位將軍(包括A)可能是叛徒,試圖阻止忠誠的將軍們將計劃達成一致。BA問題是設計一個協議,其中(i):所有忠誠的將軍都遵循相同的計劃,以及(ii):如果A是忠誠的,那麼每個忠誠的將軍都遵循A決定的計劃。從忠誠的C從A和B收到不同訊息的角度來看,BA問題等同於測謊問題【liar detection problem】,其中C的任務是確定誰在撒謊,A還是B。
BA問題已被證明是不可解的,除非每個將軍都擁有一個其他將軍不知道數字列表,該列表但與其他將軍的名單列表有關聯。因此,解決BA問題可以歸結為解決這些列表的生成和安全分發問題。因此,解決BA問題可以歸結為解決這些列表的生成和安全分發問題。量子協議使人們能夠測試分發的安全性;然而,在發生攻擊的情況下,沒有安全的祕密列表是可用的,並且整個通訊必須中止。所以,在這種情況下,稱為可檢測的拜占庭協議(DBA)或可檢測廣播的BA問題可以被解決。在DBA問題中,條件(i)和(ii)被放寬,使得(i)中所有忠誠的將軍要麼執行相同的行動,要麼全部放棄;(ii)中如果A是忠誠的,那麼每個忠誠的將軍要麼服從A的命令,要麼放棄。因此,我們可以定義用於解決“可檢測的測謊問題”議,在該協議中,忠誠的C從A和B接收不同訊息的可能結果是檢測誰在撒謊或者誰在放棄。
兩個特定糾纏態的性質為解決DBA問題提出了兩種不同的方法。第一種方法的靈感來自於三量子單重態【three-qutrit singlet state】性,它基於六個數字組合的列表[4],這樣的列表也可以使用兩個量子金鑰分發協議來分發[7]。第二種方法是根據四量位元糾纏態【four-qubit entangled state】的性質提出的,它基於四個數字組合的列表[6]。
在這篇論文中,我們介紹了一種解決DBA問題的新協議。它使用的列表比文獻[4,7]中的列表更簡單,使用效率也比文獻[6]中的更高。與文獻[7]相比,它允許同時生成所有列表。此外,我們還給出了第一個用於DBA的量子協議的實驗演示,以及通過四光子糾纏【four-photon entanglement】來檢測說謊者
該協議由兩部分組成。第一部分的目標是利用特定的四光子偏振糾纏態的特性來生成和分發三個列表,A的lA、B的lB和C的lC,並檢查該分發的安全性。一旦各方有了這些清單,在該議定的第二部分,他們就通過一對經典通道使用它們,以達成協議【圖一】。中止選項將僅在分發部件中使用。此後,該協議啟用完全BA。
圖片說明:可檢測拜占庭協議的量子協議
三位將軍A(總司令)、B和C通過兩兩認證的無差錯經典通道連線。在協議的第一部分,在狀態下準備的四個量子位元被分配給各方,並且在經過一次傳輸【classical discussion】之後,要麼(a)方案:每個將軍都得到一個列表li,要麼(b)方案:所有忠誠的將軍都同意放棄。如果選擇(a)方案,則在協議的第二部分中,A向B(C)傳送訊息mAB(mAC)和一個列表lAB(lAC),並且B(C)向C(B)傳送訊息mBC(mCB)和列表lBC(lCB)
詳細點說,列表lA,lB,lC 有以下屬性:
(1)這三個列表具有相同的長度L。lA的元素是隨機的三進位制(即0、1或2)。lB和lC的元素是隨機位元(即0或1)。
(2)在這裡列表中的第j個元素,我們找到組合000(即)、111、201、210,每種概率相同。
(3)除了可以從自己的列表和屬性(1)和(2)中推測外,每一方都不能知道其他方的列表。
第一部分的結果可能是:(a)所有參與方都同意他們有正確的清單,並且可以開始協議中的第二部分,或者(b)同意終止它。
為了簡化對協議第二部分的討論,請注意B和C的角色是對稱的,因此我們所說的關於B的所有內容都適用於C,反之亦然。協議部分如下:
(i)當A傳送mAB時,此訊息必須附帶其他資料,這些資料必須與訊息本身相關,同時在任何時候只有A知道。為此,A還向B傳送一個列表lAB,即值mAB出現在lA中的所有位置。在那之後,如果A是忠誠的,B會遵循自己的計劃。
例如:如果A是忠誠的,那麼訊息是,A的列表是,然後A也必須傳送。
當B接收到mAB和lAB時,只可能發生以下兩種情況之一:
(ia)如果lAB是適當的長度【根據(1)的屬性,大約為L/3】,並且mAB、lAB和lB確實滿足(2),則我們將說資料(即mAB、lAB和lB)是一致的。如果資料一致,則B將遵循mAB計劃,除非C在協議的下一步中能證明A是叛徒【見(2)】。
(ib)若mAB、lAB和lB是不一致的,那麼B就能確定A是叛徒,B不會遵循任何計劃,直到他在下一步協議中與C達成協議【見(2)】
例如:若B收到資訊以及列表,這時B的列表是IB= 那麼B收到的資料是不一致的。這些資料之所以是不一致的,是因為IA在位置5和6上沒有0。
(ii)、訊息mBC不僅可以是1或0,還可以是,意為“我收到了不一致的資料”。若訊息是1或0,則必須伴隨其他的資料來證明訊息mBC 是與B從A那收到的訊息是相同的,即B的訊息只有在mBC=mAB的情況下才能從A中獲得。為此,B必須向C傳送一個列表IBC,該列表和B從A那收到的列表IAB相同。
當C收到mBC和IBC時,他已經有了mAC和IAC了,然後下面的六種情況可能會發生:
(iia)、若mAC,IAC和IC是一致的,mBC,IBC和IC也是一致的,以及mAC=mBC,那麼C會按計劃mAC=mBC行事。
(iib)、若mAC,IAC和IC是一致的,mBC,IBC和IC也是一致的,但是C從A和B收到相互衝突的資訊(0或1),然後C能確定A是叛徒,B是忠誠的,因為A是唯一可以向B和C傳送一致資料的人。由於B和C的角色是對稱的,所以B也能確定A是叛徒,C是忠誠的。然後C和B將遵循先前確定的計劃,例如0。
(iic)、若mAC,IAC和IC是一致的,C收到,然後C將遵循mAC計劃。請注意,在這種情況下,B沒有辦法讓相信C的,因為他實際上從A那裡收到了不一致的資訊。因此,遵循mAC計劃(即使A是叛徒)是與另一個忠誠的一方達成協議的唯一選擇。
(iid)、若mAC,IAC和IC是一致的,但mBC,IBC和IC是不一致的,然後C確定B是叛徒,A是忠誠的。然後C將遵循mAC計劃。
(iie)、若mAC,IAC和IC是不一致的,但mBC,IBC和IC是一致的,那麼A就是叛徒。然後,與 (iic)情況一樣,他們將遵循mBC計劃。
(iif)若mAC,IAC和IC是不一致的,C收到,這意味著C和B都知道A是叛徒。那麼C和B將遵循先前決定的方案0。
下面介紹第一步中的列表是如何生成和分發的:
具有屬性(1)、(2)和(3)的列表的生成和分發是通過在各方之間分配的某一特定狀態下準備的四個量子位元來實現,然後對四個量子位元進行區域性單量子位元測量,然後測試(使用成對的經典通道)這些測量結果是否顯示出所需的相關性。
在我們的協議中使用的是四量子位元態:
在最近的實驗[10,11]中觀察到了這種狀態。該協議利用了這種態的兩個性質,即1:四個量子位元()的同一麼正變換下是不變的,其中U是作用在一個量子位元上的任何麼正運算;2:是四個量子位元上的投影測量結果之間顯示出完美的關聯【影響】。具體地說,如果A測量量子位元(a)和(b),B測量量子位元(c),以及C測量量子位元(d),並且它們都在相同的基礎上測量,那麼:如果量子位元(a)和(b)上的測量結果都是1 (A將記錄為單個0)-這將以概率1/3出現,則量子位元(c)上的測量結果一定是0 (B將記錄為0),並且量子位元(d)上的測量結果一定是0(C將記錄為0);如果量子位元(a)和(b)的測量結果都為0 (A將記錄為單個1),則量子位元(c)的測量結果必須為1 (B將記錄為1),而量子位元(d)的測量結果必須為1 (C將記錄為1)。最後,如果量子位元(a)和(b)的測量結果為0和1,或者1和0 (A將記錄為單個2),則量子位元(c)和(d)的測量結果可以是0和1,或者1和0。
該協議的分發和測試部分包括以下步驟:
(1)、一個源在狀態下發射大量的四量子位元系統【four-qubit systems】,對於每個四量子位元系統j,量子位元(a)和(b)被髮送到A,量子位元(c)被髮送到B,量子位元(d)被髮送到C。
(2)、於每個四量子位元系統j,三方中的每一方在兩組投影測量基中隨機選擇,即他們中的每一個要麼在中測,要麼在中測,並用他的結果製作一張清單。為了提取結果【the correlated fourfold coincidences】,他們執行以下操作。
下面沒看太懂!
在前三分之一的實驗中,C告訴A和B無論何時用這些基檢測它們的量子位元 (50%的情況下,A先檢測,在另外50%的情況下,B先檢測)。然後,C告訴A和B哪些事件應該被拒絕;
在第二個三分之一的實驗中,C和B互換角色;
在後三分之一的實驗中,A和B互換角色。通過互換角色,他們確保沒有一個將軍能在不被發現的情況下偽造部分協議。在這一步之後,每一方都有一個列表。這些列表【list】的長度都是一樣。A有一個三進位制列表lA,並且B和C中的每一個分別具有列表lB和lC。
(3) 、C從他的列表lC中隨機選擇一個位置Kc ,要求A和B通過成對的經典通道告知他們在相同位置Kc上的結果,如果各方都在相同的基下測量,則他們的結果一定是有關係的,在此步驟後,各方丟棄列表中用於測試的條目。
(4)、各方交換他們的角色;即,B從他的列表中隨機選擇一個新位置kB,並重復步驟(3),然後A選擇新位置kA,等等。C重新開始該過程,直到執行了大量測試。
協議的這一部分只有兩種可能的結果:取決於觀測到的量子誤差率(QER)【定義為錯誤的測量事件與所有的測量事件的比率】,然後忠誠的將軍決定放棄或使用列表lA、lB和lC來達成協議。
下面介紹如何製備這個四量子位元態!
以下省略,看不懂!
表1:部分列表lA、lB和lC是通過實驗獲得的。斜體數字是在理想情況下不應該出現的事件:
為了生成這些列表,各方在17小時內進行了48 184次測量。為了提取每個時間視窗中的【fourfold coincidences】,每一方在檢測到光子時都會詢問其他方。在刪除那些沒有註冊光子的條目後,他們獲得了列表具有12043個條目的列表lA、lB和lC,該列表包含3000個bits或trits,QER為5.47%。對於協議的第一部分,每一方都從他的列表中隨機選擇了1000個條目。為了檢查他們的結果是否完全相關,每一方都計算那些選出的完全相關的條目的QER。A的QER為3.32%,B為4.64%,C為5.40%(QER取決於隨機選擇的子集)。對於協議的第二部分,各方使用各自列表中剩餘的相關條目。表1中顯示了這些列表的子集。
總之,我們引入了一種新的量子協議來解決容錯分散式計算和資料庫複製中的一個基本問題。我們的協議使用更簡單的列表,或者比以前的協議更有效地使用它們,並且允許同時生成所有列表。此外,我們還首次提出了通過四量子位元糾纏來檢測DBA和說謊者的量子協議。雖然同樣的問題可以通過連線多個量子金鑰分發協議來解決,但我們的結果表明,在現有技術下,需要更微妙形式的糾纏的更具體、更優的量子解決方案是可行的。
1、拜占庭將軍:分散式領域的幽靈
2、漫畫:什麼是拜占庭將軍問題?
3、原文:Solving the liar detection problem using the four-qubit singlet state