Whisper API or lib?

joeydeejoeydee Member Posts: 12 ✭✭
Hi, I'm architecting a novel crowdsourcing platform (ethereum-powered obviously) and I have a couple of doubts about the scope of Whisper. Our platform will need messaging capabilities and ideally we would like to use a distributed messaging system (we don't discard XMPP federation or similar tho). We've been researching and found several possible solutions. E.g: zeromq-based, telehash DHT, or OpenPeer (WebRTC based with an overlay network).

Before we pick one and start developing I'm wondering if we will be able to use Whisper for private communications through an API, library, or something similar. Or if otherwise, it will be centered just in the DAPPS ecosystem. Our platform would be a DAO and not a DAPP (we're not targeting the etherbrowser because of added complexity) so we need a custom solution...

What is future of Whisper inside the Ethereum platform, how will it be built and where will it be used? will it be offered to us (dev community) so we can build our DAO's/DAC's comms on top of it? We'd really appreciate if you tell us more about your projected solution before we start working on overlapping functionalities.

Cheers

Comments

  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
    Whisper is currently in concept stage - there's no code or documentation at the present moment. To partially answer your question: through encryption, statistics and filtering, it aims to make an application's Internet messaging as secure as it can be, provide plausible deniability to the transmission of sensitive content and do so with considerable efficiency and scalability.

    It will be fully open source, and can operate stand alone: this way, you will be able to leverage it for your projects, that may or may not relate to ethereum/smart contracts.
  • JasperJasper Eindhoven, the NetherlandsMember Posts: 514 ✭✭✭
    edited August 2014
    Really i dont know what it is... Do think some of these things might be useful:
    1. Establishing a connection based on a pubkey; provide a pubkey, get a connection if it indicated itself as online somewhere and is responding.
    2. Filesharing(magnet links), possibly incentivized. I think this is basically the idea of swarm.
    3. 'Want data of some kind' for instance, full nodes that are not mining want Ethereum blocks. Miners are interested in both blocks and transactions. Hanging blocks creators would want transactions for that. The blocks themselves can in that case behind a magnet-link like system in that case though. Reputation systems might also have the statements simply floating around. Bitmessage-like systems might do something like this too.

      No idea how to do this. The Ethereum blocks transactions part here both have ways to stop spamming. Basically, you could only pass them along if they're valid, and you havent seen one on the same nonce. So any transactions you spam, you risk getting on a block, costing you gas. 'Generic' versions of this idea dont have this.
  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
    kuba said:

    Hi, Stephan, is there a roadmap for Whisper? Is there a project leader for this project?

    There is, but it is currently private for the most part and Gavin Wood is leading its implementation.
  • joeydeejoeydee Member Posts: 12 ✭✭
    edited August 2014

    kuba said:

    Hi, Stephan, is there a roadmap for Whisper? Is there a project leader for this project?

    There is, but it is currently private for the most part and Gavin Wood is leading its implementation.
    I have read in Gav's LinkedIn that previously he was working in VoIP/conferencing and messaging systems with a custom protocol. Is he going to go that way? Also, IMO a critical component like this should be discussed in the open (at least at high level). I think that Whisper should take a look at projects like Tox or Telehash v3...

    https://github.com/irungentoo/toxcore
    https://github.com/telehash/telehash.org/tree/v3/v3

    ... maybe pick some ideas from there and adapt them to the Ethereum context, or even contact the devs for partnerships... it'd speed up the development considerably.

    0,02
  • vaXvaX Austin, TXMember Posts: 78 ✭✭✭
    joeydee said:


    IMO a critical component like this should be discussed in the open (at least at high level).

    @joeydee‌
    "in the true spirit of enlightened discourse."
    http://insightsintoamodernworld.blogspot.de/2014/08/ethereum-collaborations.html
  • wemeetagainwemeetagain Member Posts: 30
    I'd love to see what's being discussed about Whisper, even if in a raw form..
    It would be helpful as a step toward getting some design considerations put down in hard(written) form (and thus being able to more easily reason about interacting with the network).
  • HellRazorHellRazor BerlinMember Posts: 99 ✭✭
    True all the comments, I'd like to hear more about swarm and whisper too. I know I know it is currently in the 'research' phase, but please keep us updated on the development of these components!
  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
    joeydee said:

    IMO a critical component like this should be discussed in the open (at least at high level).

    Whisper prototype is now part of AZ devel: https://github.com/ethereum/cpp-ethereum/commit/a7ce9a80f1c1badb4d9f50026669a070bd6eba7c
  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
  • vaXvaX Austin, TXMember Posts: 78 ✭✭✭
  • joeydeejoeydee Member Posts: 12 ✭✭
    edited September 2014
    Cool, the fog starts to clear...

    Cheers

    PS: Happy to see Gav is considering Telehash (it is an elegant and lightweight solution). Moved a comment (off-topic?) about IBM's wanting to use Telehash+Blockchain to this separate thread
    Post edited by joeydee on
  • wireswires Member Posts: 7
    IMO a critical component like this should be discussed in the open
    agreed, is there some sort of development mailing list where these things are discussed? I don't think the development of ethereum is very transparent at the moment
  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
    @wires we have IRC channels, forums, Skype dev channels, reddit, and god knows what else, we're 100% open source wall to wall since day one but yeah, not very transparent... *sigh*
  • wireswires Member Posts: 7
    Also, what is the motivation to add Whisper to Ethereum?
  • wireswires Member Posts: 7
    @Stephan: Transparent can mean a lot of things, pushing code to github isn't nessesarily that. I am used to there being some sort of a development mailinglist where such things are discussed and where you can chip in if you find this valuable.

    I've been following the project pretty closely for a long time (reddit, blog, skype) and I still was surprised by the Whisper and Swarm proposals. So, I guess Gavin discussed Whisper with some people? I would like to know where this place is
  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
    @wires if you are a developer, then feel free to join us on skype (add me on stephan.tual) where we also discuss the development of ethereum technologies. Skype was not 'chosen' per say, just happens that the majority consensus was that skype was the most accessible tech with voip capabilities (we also tried tox with limited results).
  • wireswires Member Posts: 7
    @Stephan_Tual‌: yes a developer; ok thanks, will do.

    (still I think a (public) mailing list makes more sense)
  • HellRazorHellRazor BerlinMember Posts: 99 ✭✭
    Get jitsi guys, at least that would conform to the open source spirit! I'm not downloading that skype malware on my box! :confused:
  • JasperJasper Eindhoven, the NetherlandsMember Posts: 514 ✭✭✭
    I know there is some truth in 'code, dont talk', but the idea in writing is just simpler to absorb and takes less time to write. So i think just writing the code misses out in terms of discussing the approach before actually going out and doing it. And chats are highly impermanent forms.

    Basically writing out your idea is non-passive openness, and probably has better results..(the lack of permanence of a current approach has to be clear, but thats being done well already.) Btw, is the web3.0 cpp-ethereum branch where this stuff is being developped?
Sign In or Register to comment.