<h2>2018.08 report</h2>
<p>We reverted a code change done in January to improve the broadcast reliability. As it turned out that change had the opposite effect for unknown reasons.<br>
The default BitcoinJ policy was to broadcast to half of the connected nodes and wait to hear back from the half of those. As 12 nodes was default connection target, it was broadcast to 6 nodes and waited to hear back from 3. As we have less nodes (8-9) as default connection target we changed the polity to broadcast to all and wait to hear back from only 2. There was one bug that we waited in fact only for one node to hear back - but even that often did not happen. It seems BitcoinJ has some weird side effect that if we broadcast to more nodes the likelihood to hear back is lower, which is very counter intuitive. After longer testing with different settings we reverted to the original policy so we broadcast to 50% and then wait for 50% of those, so with 8 connections we broadcast to 4 nodes and wait for 2 nodes. This change was shipped with 0.8.0 and hopefully reduces the bugs with failed transactions broadcasts.</p>
<p>/cc <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="355763961" data-permission-text="Issue title is private" data-url="https://github.com/bisq-network/compensation/issues/112" href="https://github.com/bisq-network/compensation/issues/112">bisq-network/compensation#112</a></p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/bisq-network/roles/issues/8#issuecomment-417477088">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AkpZth2AFOb2W77COGDnFi4Fa9X5Kt0mks5uWFzUgaJpZM4PL2hj">mute the thread</a>.<img src="https://github.com/notifications/beacon/AkpZtgmpXKZmhBagR3O4vtj27nmqqHwSks5uWFzUgaJpZM4PL2hj.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/bisq-network/roles","title":"bisq-network/roles","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/bisq-network/roles"}},"updates":{"snippets":[{"icon":"PERSON","message":"@ManfredKarrer in #8: ## 2018.08 report\r\n\r\nWe reverted a code change done in January to improve the broadcast reliability. As it turned out that change had the opposite effect for unknown reasons. \r\nThe default BitcoinJ policy was to broadcast to half of the connected nodes and wait to hear back from the half of those. As 12 nodes was default connection target, it was broadcast to 6 nodes and waited to hear back from 3. As we have less nodes (8-9) as default connection target we changed the polity to broadcast to all and wait to hear back from only 2. There was one bug that we waited in fact only for one node to hear back - but even that often did not happen. It seems BitcoinJ has some weird side effect that if we broadcast to more nodes the likelihood to hear back is lower, which is very counter intuitive. After longer testing with different settings we reverted to the original policy so we broadcast to 50% and then wait for 50% of those, so with 8 connections we broadcast to 4 nodes and wait for 2 nodes. This change was shipped with 0.8.0 and hopefully reduces the bugs with failed transactions broadcasts.\r\n\r\n/cc bisq-network/compensation#112"}],"action":{"name":"View Issue","url":"https://github.com/bisq-network/roles/issues/8#issuecomment-417477088"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/bisq-network/roles/issues/8#issuecomment-417477088",
"url": "https://github.com/bisq-network/roles/issues/8#issuecomment-417477088",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [bisq-network/roles] Bisq Bitcoinj Fork Maintainer (#8)",
"sections": [
{
"text": "",
"activityTitle": "**Manfred Karrer**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@ManfredKarrer",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"bisq-network/roles\",\n\"issueId\": 8,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close issue",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueClose\",\n\"repositoryFullName\": \"bisq-network/roles\",\n\"issueId\": 8\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/bisq-network/roles/issues/8#issuecomment-417477088"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 254765155\n}"
}
],
"themeColor": "26292E"
}
]</script>