Skip to content

Conversation

@Romulus10
Copy link
Contributor

@Romulus10 Romulus10 commented Dec 17, 2021

Project Abstract

Fennel Labs and Whiteflag Foundation aim to improve the ways that organizations communicate with each other in calamitous situations and austere environments where coordination and deconfliction is vital.

This grant proposal describes the first step of a long-term plan to develop Fennel Protocol, a Substrate chain that will provide the Polkadot ecosystem with the Whiteflag Protocol specification, an open standard for a neutral and trusted messaging network based on blockchain technology.

For which grant level are you applying?

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $50,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for > $100k Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied, renamed ( project_name.md) and updated.
  • A BTC or Ethereum (DAI/USDT) address for the payment of the milestones is provided inside the application.
  • I have read and acknowledged the terms and conditions.
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted.

@CLAassistant
Copy link

CLAassistant commented Dec 17, 2021

CLA assistant check
All committers have signed the CLA.

@semuelle
Copy link
Member

Thank you for the application, Sean. We will look into it as soon as possible.

@Noc2 Noc2 self-assigned this Dec 27, 2021
Copy link
Contributor

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the application, the interesting call and sorry for the late reply here.
The Whiteflag Protocol seems not really actively maintained or used by anyone. Are there any other similar protocols? Did you create the Whiteflag Protocol yourself or do you know who is behind it? There isn’t a lot of information about the foundation here: https://www.whiteflagprotocol.org/foundation/ The copyright says 2018 and the website has no contact, address or anything similar. The faq says the following ”It utilizes existing public blockchains with which Whiteflag applications interface.”. Was Whiteflag already implemented for another blockchain?

@Noc2 Noc2 added the changes requested The team needs to clarify a few things first. label Dec 27, 2021
@Romulus10
Copy link
Contributor Author

Romulus10 commented Dec 27, 2021

Thank you for your review, @Noc2. In response to your comments and questions:

The Whiteflag Protocol seems not really actively maintained or used by anyone.

The purpose of Whiteflag Protocol is to be a neutral, unaffiliated protocol standard, which partially explains the lack of explicit affiliations on the Whiteflag website.
The Whiteflag team is actively carrying out research on Whiteflag Protocol. They have and are carrying out operational validation in the field as well as planning pilots. We will cooperate with them to help expand this protocol within the Polkadot ecosystem and to help the Web 3 Foundation achieve its mission of “nurturing cutting-edge applications for decentralized web software protocols.” In short, this grant proposal is the first step of a greater ecosystem effort.
Fennel Protocol's adoption of Whiteflag as an application would be the first full public-domain implementation. There has been activity on their NodeJS and Java API reference implementations, but the public specification itself has remained fairly unchanged. There are Bitcoin and Ethereum proofs of concept.

Are there any other similar protocols?

We have two responses to this question.
First, Whiteflag Protocol is unique in the blockchain space. Whiteflag Protocol leverages blockchain technology to create a decentralized approach to communication, semiotics, and critical decision making. This grant proposal brings something unique to the Polkadot ecosystem,

Secondly, in order for Whiteflag to function it needs external provisions for key and highly adaptable identity management. Fennel Protocol’s core functionality provides these mechanisms in a way specifically designed for applications like Whiteflag. The major stand-out features of Fennel Protocol on this front are outlined in our application, but in short:
Fennel Protocol provides for mutable identity references rooted in Substrate identities. Identity “components”, in this case keys, can be added, revoked, and updated as necessary. Fennel Protocol also allows for key sharing, key signing, and trusted entity management in a decentralized environment that avoids the pitfalls and frustrations of working with identities hosted on traditional key servers. This means that a signature on a key can be immediately public to all users, so you don’t have to go through the song-and-dance of finding the right server, hoping the server hasn’t gone defunct, downloading the key, making sure it’s the right key for the right person, signing the key, publishing your signature, and getting the other person to download your signature and include it in their key. On Fennel, keys are retrievable from decentralized storage, and the entire trust chain is immutably attached to the owner’s identity.

Did you create the Whiteflag Protocol yourself or do you know who is behind it?

We did not create the Whiteflag Protocol communication specification ourselves. Whiteflag Protocol was founded by Timo Schless, who is a cyberdefense and cryptography expert (https://www.linkedin.com/in/tsppnv/); and Michael Kolenbrander, who is a blockchain architect (https://www.linkedin.com/in/michael-kolenbrander-541599133/).

We first met and started working with the Whiteflag team during the 2020 Odyssey Hackathon in the Conflict Prevention track; the Whiteflag Foundation was one of the Dutch conflict prevention stakeholders (alongside others like the Dutch Ministry of Foreign Affairs and Dutch Ministry of Defense). We are in frequent contact with the Whiteflag team and have established a long term research and development relationship. The Whiteflag and Fennel team aim to grow and advance our research within the Web 3.0 Foundation research community, as well as the greater Polkadot ecosystem.

Not a lot of information about the foundation

The Whiteflag Foundation is working on updating their website and launching a revitalized organizational structure.

Was Whiteflag already implemented for another blockchain?

Yes. Whiteflag has been implemented on two other blockchains: Bitcoin and Ethereum. Fennel Protocol would put in some heavy work on adoption for Whiteflag. Through this initiative, Whiteflag Protocol would gain a Polkadot implementation as well as a firm basis for further adoption in the greater blockchain space.

@CorruptedAesthetic contributed to this reply as well.

@ts5746
Copy link

ts5746 commented Dec 28, 2021

Please allow me to clarify some of the questions regarding Whiteflag on behalf of the Whiteflag Foundation.

Did you create the Whiteflag Protocol yourself or do you know who is behind it?

The protocol is a co-creation of the Royal Netherlands Air Force and Capgemini, and has been released into the public domain. Because maintaining, promoting and supporting the protocol is not the core business of both these organisations, the Whiteflag Foundation has been established for that purpose. Given the very specific context of Whiteflag (armed conflicts) most interaction is conducted directly with humanitarian and (non-)governmental organisations. For your information, there are some public references to Whiteflag available:

Are there any other similar protocols?

We are not aware of any technology that provides similar functionality.

The faq says the following ”It utilizes existing public blockchains with which Whiteflag applications interface.”. Was Whiteflag already implemented for another blockchain?

An early Whiteflag proof-of-concept used Bitcoin. For further development, verification and validation, a Whiteflag REST API has been created as a reference implementation to test Whiteflag. It uses Ethereum, and has recently extended to support Bitcoin as well. More importantly, a key design principle of Whiteflag is that it is blockchain agnostic, i.e. Whiteflag requires an underlying blockchain but it does not prescribe a specific blockchain. Depending on user's requirements, purpose, audiences, etc. Whiteflag may be used on different blockchains.

The Whiteflag Protocol seems not really actively maintained or used by anyone.

The protocol is currently considered to be at Technology Readiness Level (TRL) 5: it has been validated in a relevant environment through a validation test with a number of non-governmental and government organisations on Ethereum Rinkeby as the underlying blockchain. However, Whiteflag is a low level technology that requires further horizontal integration with other technologies (e.g. the Fennel Protocol, decentralized identity technologies, etc.) and vertical integration (in existing or new software end-user applications) to mature and demonstrate higher TRLs. To that end we are, among other things, developing a Java library, are preparing to create an end-user application for TRL 6/7 demonstration, and we will support Fennel Labs with their efforts.

Furthermore, it is important to understand that the context for which the protocol has been developed (conflicts and disasters) does not allow fast and large scale adoption into existing information systems, but requires a thorough approach. Therefore, current efforts focus primarily on conceptual work to understand technical and operational implications and risks, while expanding the ecosystem and establishing a scalable basis for further growth. Most of the current conceptual work is done behind the scenes with a number of other organisations. This recent article gives a good impression of the ongoing efforts: Developing a Trusted Human-AI Network for Humanitarian Benefit.

Copy link
Contributor

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the very detailed reply. I’m happy to support the project and will share it with the rest of the team.

@Noc2 Noc2 added ready for review The project is ready to be reviewed by the committee members. and removed changes requested The team needs to clarify a few things first. labels Dec 28, 2021
Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the application. I know very little about war time communications and I'm sure every government has their own requirements. But the protocol seems well-thought-out and it seems to me like you are very keen to work on it. I'm willing to approve it, I just have two quick questions about the latter deliverables:

| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will publish an **article** overviewing using Fennel Protocol in applications for secure off-chain data-centric messaging and secure on-chain signal mechanisms. |
| 1. | Peer Retrieval | We will construct a Substrate-resident method for applications exposing the same services to identify and locate one another through on-chain signals. |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain this a bit more? It sounds like this is for different Whiteflag instances to find one another? What would be the purpose of that?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is for applications using the Whiteflag protocol to find one another. For example, if you've got two different platforms using Fennel's Whiteflag mechanism, the peer retrieval functionality lets them identify each other and create private, off-chain channels between themselves using only publicly-available information.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain how this works? What are these on-chain signals, and how does one find them?

Copy link
Contributor Author

@Romulus10 Romulus10 Dec 29, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Signals on Fennel Protocol are an abstraction for calls to a set of extrinsics that interact with on-chain storage and events to broadcast and query finite pieces of information. In this case, an application that wants to use them will have already set up an identity on the Fennel Protocol network, then will use those extrinsics to store a public announcement (the stored material is what we're referring to as a signal) that it's the identity for a particular application that implements a service or protocol. From there, given that identity and the chain-parallel mechanisms I mention in the other section you commented on, another application or service can query storage (through another extrinsic included in this deliverable) and identify others implementing the protocol they need to communicate with and negotiate a direct connection without exposing their IP address to the entire network.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should also comment that when we say "signal", there are Fennel-specific signals and Whiteflag signals. I've described Fennel-specific in the last comment. The Whiteflag signals are implemented identically, but are intended for more human-level communication (reporting natural disasters,sending information to other groups) as opposed to the service-level communication we see in Fennel signals.

| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will publish an **article** overviewing using Fennel Protocol in applications for secure off-chain data-centric messaging and secure on-chain signal mechanisms. |
| 1. | Peer Retrieval | We will construct a Substrate-resident method for applications exposing the same services to identify and locate one another through on-chain signals. |
| 2. | Encrypted Channels for IP Information | A set of off-chain workers and a parallel, scalable server will be constructed allowing for encrypted channels to be created, used, and collapsed to exchange small amounts of sensitive information such as service endpoint IP addresses. |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What kind of endpoints are we talking about here? Are these channels part of the Whiteflag protocol? In the specification, it sounds more like the parachain is the communication channel.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are Whiteflag-parallel. The chain's communication channel allows placement of Whiteflag-specific signals for public, transparent markers, then these encrypted channels allow for more detailed communication that occurs off-chain. Consider that there's some disaster occurring in a vulnerable area - for example, a war zone, where you need to keep evacuation instructions private. You can place Whiteflag signals and use Fennel's encrypted channels and identity mechanisms to create hidden communication paths for sensitive information like that.

@Romulus10
Copy link
Contributor Author

Thank you for your response @semuelle - please let me know if there's any more clarifying we can do on these points.

@semuelle
Copy link
Member

Thanks for the info. One more thing: the Paper.pdf link seems dead, could you update that?

@Romulus10
Copy link
Contributor Author

Thanks for the info. One more thing: the Paper.pdf link seems dead, could you update that?

Sorry about that - we'd temporarily made that document private. The link should work again.

Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update. You are addressing a fairly difficult problem, and I have some doubts about blockchain solving it. But I'm happy to support this grant and find out.

@CorruptedAesthetic
Copy link

Thank you for your feedback and support @Noc2 @semuelle

We look forward to starting this initiative and cooperating with our research colleagues from the Whiteflag Foundation and Web3 Foundation.

@Noc2 Noc2 merged commit f1285b9 into w3f:master Jan 6, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Jan 6, 2022

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at [email protected] and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

@CorruptedAesthetic
Copy link

@BenWhiteJam Thank you for your support. We look forward to kick starting this initiative and accomplishing the three milestones.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready for review The project is ready to be reviewed by the committee members.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants