{"id":361490,"date":"2017-01-20T00:00:48","date_gmt":"2017-01-20T08:00:48","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-research-item&#038;p=361490"},"modified":"2017-02-03T13:41:32","modified_gmt":"2017-02-03T21:41:32","slug":"dr-tla-series-byzantine-paxos","status":"publish","type":"msr-video","link":"https:\/\/www.microsoft.com\/en-us\/research\/video\/dr-tla-series-byzantine-paxos\/","title":{"rendered":"Dr. TLA+ Series &#8211; Byzantine Paxos"},"content":{"rendered":"<p>In this lecture we will discuss how to tolerate Byzantine faults in achieving consensus. We illustrate through refining Paxos step by step. This should be most fun to those who have become familiar with Paxos-based distributed consensus through the Series. Enough background of Paxos will be covered so the lecture requires no Paxos expertise.    We will also explain how Byzantine Paxos is connected with the Practical Byzantine Fault Tolerance (PBFT) protocol, proposed by Castro and Liskov in 1999 to tolerate f byzantine failures with 3f+1 replicas.    &#8211; Paper and Spec  &#8211; Byzantizing Paxos by Refinement (<a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/research.microsoft.com\/en-us\/um\/people\/lamport\/tla\/byzsimple.pdf\">http:\/\/research.microsoft.com\/en-us\/um\/people\/lamport\/tla\/byzsimple.pdf<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>)  &#8211; Practical Byzantine Fault Tolerance (<a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/pmg.csail.mit.edu\/papers\/osdi99.pdf\">http:\/\/pmg.csail.mit.edu\/papers\/osdi99.pdf<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>)  &#8211; Byzantine Paxos TLA+ specification (<a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/research.microsoft.com\/en-us\/um\/people\/lamport\/tla\/byzpaxos.html\">http:\/\/research.microsoft.com\/en-us\/um\/people\/lamport\/tla\/byzpaxos.html<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this lecture we will discuss how to tolerate Byzantine faults in achieving consensus. We illustrate through refining Paxos step by step. This should be most fun to those who have become familiar with Paxos-based distributed consensus through the Series. Enough background of Paxos will be covered so the lecture requires no Paxos expertise. We [&hellip;]<\/p>\n","protected":false},"featured_media":361550,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr_hide_image_in_river":0,"footnotes":""},"research-area":[13560],"msr-video-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-session-type":[],"msr-impact-theme":[],"msr-pillar":[],"msr-episode":[],"msr-research-theme":[],"class_list":["post-361490","msr-video","type-msr-video","status-publish","has-post-thumbnail","hentry","msr-research-area-programming-languages-software-engineering","msr-locale-en_us"],"msr_download_urls":"","msr_external_url":"https:\/\/youtu.be\/XnfAZHkyOy4","msr_secondary_video_url":"","msr_video_file":"","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/361490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-video"}],"version-history":[{"count":0,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/361490\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/361550"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=361490"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=361490"},{"taxonomy":"msr-video-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video-type?post=361490"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=361490"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=361490"},{"taxonomy":"msr-session-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-session-type?post=361490"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=361490"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=361490"},{"taxonomy":"msr-episode","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-episode?post=361490"},{"taxonomy":"msr-research-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-theme?post=361490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}