System Overview - pinocchio61/Architecture GitHub Wiki

Certifying Speech Authenticity

Data61 is an Australian government research organization. Our team’s mission is to create a solution for Data61 to certify speech authenticity by utilizing blockchain technologies. The goal of the project is to further the reputation of Data61 in the blockchain area among the academic fields and scholars.

Our project verifies speech authenticity for public speaking events. To do this, we have an attendee upload a speaker’s audio file and have other attendees verify that the audio file is accurate and not modified from its original form based on the blockchain technology. This audio file is tied to a specific event in our system. A visitor to our system is able to search content, knowing that the content has not been tampered with or taken out of context.

Context Diagram

ContextDiagram

Functionality

Event organizer

  • As an event organizer, I need to register an account on the Pinocchio platform in order to host events where event contents can later be authenticated via crowdsourcing
  • As an event organizer, I can create and publish an event page so that I can invite attendees to join the event

Attendee

  • As an attendee, I can register for an event so that I can attend that event in the future
  • As an attendee(uploader), I can upload the audio file recorded in the event so that it will be verified
  • As an attendee(uploader), I can edit the auto-generated transcript to ensure the transcript is consistent with the file
  • As an attendee(verifier), I can vote for other unverified files uploaded by attendees

Visitor

  • As a visitor, I can check the authenticity of any speech available on Pinocchio
  • As a visitor, I can search for media files based on keywords or a sentence to see the full transcripts so the visitor can better understand the context

Use Case UseCase

Where the Smart Contract/Blockchain Fits in

After identifying what business processes should be on-chain or off-chain, a use case diagram is created to capture the main logic in the smart contract.

Constraints

  • Blockchain must be the underlying technology
  • Access to a limited budget

Quality Attributes

Security

  • Priority: High
  • Stimulus: Attackers want to change the voting results
  • Source: Malicious users
  • Environment: Online (normal operation)
  • Artifacts: Produced or consumed data in the system
  • Response: The system maintains an audit trail or it is impossible to corrupt the data
  • Response measure: In all cases, the voting data cannot be changed

Modifiability

  • Priority: High
  • Stimulus: New and improved auto-transcription component
  • Source: Client
  • Environment: Development
  • Artifacts: System
  • Response: New component is integrated and operational
  • Response Measure: It will take “10” (one sprint) person-days of efforts

Performance

  • Priority: Medium
  • Stimulus: The search query for the context of a quote
  • Source: Visitor
  • Environment: Online (normal operation)
  • Artifacts: System
  • Response: Search results will appear
  • Response measure: Latency: Maximum time to return an acceptable result should not be more than 8 seconds under normal load

Extensibility (New Framework)

  • Priority: High
  • Stimulus: The developer wants to add a new plug-in to execute speech-to-text, difference establishment and difference resolution
  • Source: Developers
  • Environment: Development time
  • Artifacts: Programs
  • Response: The new plugin can function properly in the framework
  • Response measure: It takes X developers X days to integrate a new plugin.