辅导CS 711课程程序、 写作Python,c/c++,Java程序

” 辅导CS 711课程程序、 写作Python,c/c++,Java程序CS 711 1 radu/2020Assignment 4 v1Assignment 4 requires one project and one brief essay.ProjectAn implementation of the synchronous EIG-based Byzantine agreement algorithm,working on the complete graph.The project shall consist of a single source file, containing definitions for Node and forArcs, an adapted version of our previous Arcs (not part of the algorithm).In the submitted version, your own standard output stream (Console.Out) must fullyconform to the sample output described below. This is very important for ourautomarker.The appendix contains Snapshots with our visual Byzantine demo running a samplescenario.EssaySelect and critically review any interesting paper(s) which discuss(es) one of thefollowing topics (your choice):o Byzantine algorithms and blockchains.o Authenticated Byzantine algorithms.o Asynchronous Byzantine algorithms.o Practical Byzantine algorithms (less costly).Your review should be structured and formatted as a short conference paper, wellarguedand supported by additional evidence, e.g. references/citations. It must adhereto a strict page limit, up to 3 pages (without references).Note: Such topics appear under various names, such as: Byzantine / distributed / faulttolerantgenerals / algorithm / agreement / consensus / protocol not all for the sameproblem, but many are. E.g. just from the Dijkstra prize list: 2001, 2005, 2007, 2010,2015, 2017 ( httpss://en.wikipedia.org/wiki/Dijkstra_Prize)If needed, please dont hesitate to check with us about the suitability of your selectedtopic / papers.CS 711 2 radu/2020 辅导CS 711课程作业、 写作Python,c/c++Arcs reads the config file from stdin, e.g.:4 2 0 // N L V01 0 1 0 0 1 1 011 011 011 011 // P V F script2 0 0 // P V F4 1 03 1 0There are N+1 lines in total, where N = # of process nodes, N in 1..9. End -of-linecomments are optional and Here indicate the meaning of each value: N = # of processnodes; L = # of EIG levels; V0 (well known); P = process number (1..N); V = initial choice; F= failure flag (0: loyal, 1: faulty).Each faulty process line P continues with a script indicating the messages that thatprocess P is expected to send. Conceptually, there are LN blocks of values, in order:o S=1: N blocks of length 1o S=2: N blocks of length N-1o S=3: N blocks of length N-2o o S=L: N blocks of length N-L+1For each given level S, the N blocks are to be sent to processes 1, 2, , N, in this order.Each block represents the level S-1 values that need to be sent, in left-to-right order(considering an ordered EIG tree) – more precisely, what values that faulty processclaims to have recorded at level S-1.Faulty-script conventions (similar to our demo):o legal sequence digits are 0, 1, 2, 3o 0 and 1 indicate the two values exchanged by loyal participantso 2 indicates null, missing/corrupt messages to be replaced by v0o 3 indicates that the faulty participant sends the correct value at this positiono illegal characters are assumed to be 2o missing characters are assumed to a repeat of the last preceding digit (0, 1, 2, 3)o internal faulty script spaces are optional and only relevant for readabilityo extra characters are discardedCS 711 3 radu/2020For example, the following faulty scripts are equivalent:0 0 0 1 011 021 112 2220001 0110211122000101102111xxxxxxxxxxxxxxxxxxWorkflowThere are 2L+1 steps, numbered S = 0, 1, 2, , 2L. Step S = 0 is the initialisation; steps S= 1, 2, , L are the top-down messaging rounds; steps S = L+1, L+2, , 2L are thebottom-up evaluation.S=0: Arcs sends init Messages to each of the N processes, in order P = 1, 2, , N. Eachinit message contains N, P, V, V0, L. For a faulty node, the message also includes therequired faulty script. Process P sets its EIG root (level 0) value to V, and then prints thisvalue in the format: [0 P V]. Finally, its responds by sending its level S=1 messages toArcs.S=1, 2, L-1: Arcs sends all due level S messages to each of the N processes, in order P =1, 2, , N. Process P fills its level S top-down values, and then prints these, in left-torightorder, in the format [S P values], separating sibling groups by single spaces. Finally,it responds by sending its level S+1 messages to Arcs. Note that each sibling group hasN+1-S values.S=L. Same as above, but we are at the leaves level, where there are no more messagesto send. Conceptually, top-down values become bottom-up values. Processes respondwith empty messages.S=L+1, L+2, , 2L. Arcs send empty messages to each of the N processes, in order P =1, 2, , N. Process P Evaluates its level 2L-bottom-up values, using the same format asabove.Obviously, for S=2L, processes Print their final decisions, in the format [S P V].CS 711 4 radu/2020Sample printout corresponding to the above config file (N=4, etc):NotesYou are free to select actual message format that suits you best. Important is to design acredible simulation, where all Contacts between nodes is realised via messages gatheredand forwarded by Arcs.Please dont hesitate to ask if you need clarifications. Thanks!Submit electronically:(1) Your programs, as single source file, to the COMPSCI automarker, and(2) Your essay as PDF, to Canvas.Deadline: Monday 12 October, 2020, 23:00.Do not leave it for the last Minute, please. Remember that you can resubmit and, bydefault, we only consider your last submission.Late submissions will incur penalties, 0.25% off for each hour late, for up to eight days.如有需要,请加QQ:99515681 或邮箱:99515681@qq.com

添加老师微信回复‘’官网 辅导‘’获取专业老师帮助,或点击联系老师1对1在线指导