ostore.agree
Class ThresholdByzantine
java.lang.Object
|
+--ostore.agree.ThresholdByzantine
- All Implemented Interfaces:
- AgreementStageIF, EventHandlerIF, ProfilableIF, SingleThreadedEventHandlerIF
- public class ThresholdByzantine
- extends Object
- implements SingleThreadedEventHandlerIF, EventHandlerIF, AgreementStageIF, ProfilableIF
Byzantine agreement using an RSA-based threshold signature scheme. This
algorithm was originally modelled on that by Castro-Liskov, but contains
several important changes. Most importantly, the results of agreements
are signed, allowing offline verification later.
Interaction with the client of this stage (currently, FakeInner) is
as follows:
Client Replica.inner Replica.agree General.agree General.inner
| | | | |
| xReqMsg | | | |
|------------->| AgreeInit | | |
| |---------------->| | |
| | | | xReqMsg |
|---------------------------------------------------------------->|
| | | | |
| | | | AgreeInit |
| | | |<--------------|
| | | | |
| | | Preprepare | |
| | |<---------------| |
| | | | |
| | | Prepare | |
| | |--------------->| |
| | | | |
| | | Commit | |
| | |<---------------| |
| | |--------------->| |
| | AgreeExeReq | | AgreeExeReq |
| |<----------------| |-------------->|
| | | | |
| | AgreeExeResp | | AgreeExeResp |
| |---------------->| |<--------------|
| | | Result | |
| | |<---------------| |
| | |--------------->| |
| | AgreeSuccess | | AgreeSuccess |
| |<----------------| |-------------->|
| xRespMsg | | | |
|<-------------| | | |
| | | | |
| | | | |
- Version:
- $Id: ThresholdByzantine.java,v 1.39 2004/05/13 19:20:47 hweather Exp $
- Author:
- Sean C. Rhea
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ThresholdByzantine
public ThresholdByzantine()
member_count
public int member_count(SecureHash ring_id)
- Description copied from interface:
AgreementStageIF
- How many people are participating in the agreement process.
- Specified by:
member_count
in interface AgreementStageIF
- Returns:
- how many people are participating in the agreement process
member_number
public int member_number(SecureHash ring_id)
- Description copied from interface:
AgreementStageIF
- Which of the participants are we?
- Specified by:
member_number
in interface AgreementStageIF
- Returns:
- which participant we are in the agreement process, from
0
to member_count () - 1
.
init
public void init(ConfigDataIF config)
throws Exception
- Specified by:
init
in interface EventHandlerIF
Exception
destroy
public void destroy()
throws Exception
- Specified by:
destroy
in interface EventHandlerIF
Exception
profileSize
public int profileSize()
- Specified by:
profileSize
in interface ProfilableIF
handleEvent
public void handleEvent(QueueElementIF item)
throws EventHandlerException
- Specified by:
handleEvent
in interface EventHandlerIF
EventHandlerException
handleEvents
public void handleEvents(QueueElementIF[] items)
throws EventHandlerException
- Specified by:
handleEvents
in interface EventHandlerIF
EventHandlerException