Whisper API or lib?

joeydeejoeydee Posts: 12Member ✭✭
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, EnglandPosts: 1,282Member, Moderator 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 NetherlandsPosts: 514Member ✭✭✭
    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, EnglandPosts: 1,282Member, Moderator 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 Posts: 12Member ✭✭
    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, TXPosts: 78Member ✭✭✭
    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 Posts: 30Member
    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 BerlinPosts: 99Member ✭✭
    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, EnglandPosts: 1,282Member, Moderator 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, EnglandPosts: 1,282Member, Moderator mod
  • vaXvaX Austin, TXPosts: 78Member ✭✭✭
  • joeydeejoeydee Posts: 12Member ✭✭
    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 Posts: 7Member
    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, EnglandPosts: 1,282Member, Moderator 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 Posts: 7Member
    Also, what is the motivation to add Whisper to Ethereum?
  • wireswires Posts: 7Member
    @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, EnglandPosts: 1,282Member, Moderator 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 Posts: 7Member
    @Stephan_Tual‌: yes a developer; ok thanks, will do.

    (still I think a (public) mailing list makes more sense)
  • HellRazorHellRazor BerlinPosts: 99Member ✭✭
    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 NetherlandsPosts: 514Member ✭✭✭
    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.