VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.035USD
STEEM
0.000STEEM
SBD
0.001SBD
Effective Power
5.001SP
├── Own SP
0.632SP
└── Incoming DelegationsDeleg
+4.369SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.632SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.369SP | SP |
| Effective Power | 5.001SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.001SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "1029.541432 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7114.118374 VESTS",
"sbd_balance": "0.001 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | bitdroid |
| id | 388685 |
| rank | 1,420,719 |
| reputation | 90340629 |
| created | 2017-09-28T06:40:03 |
| recovery_account | steem |
| proxy | None |
| post_count | 7 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 1 |
| last_post | 2017-10-30T12:40:33 |
| last_root_post | 2017-10-30T11:41:33 |
| last_vote_time | 2017-11-01T12:58:24 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.001 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 1029.541432 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7114.118374 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2017-10-29T13:58:33 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 388685,
"name": "bitdroid",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5DQtrE8E5Qe1xKepxVXN1u9Aabk58jqNoBMmoZuTFaWiCiPZ6k",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6s43i72khKQJAA35mm39vmGWHgjvjoZWbEF65wx96ywFrx5i5p",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6zVhKqH7TVMJ1evwJsXrY9e1sjoJcD9uCPDnpZTvE1dtZLETPG",
1
]
]
},
"memo_key": "STM89hKsXxx7MeWQ5aw6XSDmf3E55ukqmJcgyojjsXiuTniBEXM5o",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg\",\"cover_image\":\"https://wallpaperstock.net/aurora-v.2-wallpapers_19608_1920x1080.jpg\",\"name\":\"BitDroid\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg\",\"cover_image\":\"https://wallpaperstock.net/aurora-v.2-wallpapers_19608_1920x1080.jpg\",\"name\":\"BitDroid\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2017-10-29T13:58:33",
"created": "2017-09-28T06:40:03",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 7,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779055644
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779055644
},
"voting_power": 0,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.001 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "2018-02-24T09:37:48",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "1029.541432 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7114.118374 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 0,
"posting_rewards": 0,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 1,
"last_post": "2017-10-30T12:40:33",
"last_root_post": "2017-10-30T11:41:33",
"last_vote_time": "2017-11-01T12:58:24",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": 90340629,
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [
"jerrybanfield"
],
"tags_usage": [],
"guest_bloggers": [],
"rank": 1420719
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2026/05/17 22:07:24
2026/05/17 22:07:24
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 7114.118374 VESTS |
| Transaction Info | Block #106140903/Trx 56df428145486d9fce02bf66cce3b273506d70fa |
View Raw JSON Data
{
"trx_id": "56df428145486d9fce02bf66cce3b273506d70fa",
"block": 106140903,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-17T22:07:24",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "7114.118374 VESTS"
}
]
}2026/05/11 19:36:30
2026/05/11 19:36:30
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 4401.907969 VESTS |
| Transaction Info | Block #105965861/Trx 149397cf93feb905e550ec87532755f2339eb4d9 |
View Raw JSON Data
{
"trx_id": "149397cf93feb905e550ec87532755f2339eb4d9",
"block": 105965861,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-11T19:36:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "4401.907969 VESTS"
}
]
}2026/04/25 21:31:36
2026/04/25 21:31:36
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 7126.634130 VESTS |
| Transaction Info | Block #105508616/Trx a811cc4c7639ac896919f288ef826280f5922dfb |
View Raw JSON Data
{
"trx_id": "a811cc4c7639ac896919f288ef826280f5922dfb",
"block": 105508616,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-25T21:31:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "7126.634130 VESTS"
}
]
}2026/01/23 02:12:06
2026/01/23 02:12:06
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 4443.454788 VESTS |
| Transaction Info | Block #102845108/Trx b510f23659976a6bc2a86a691d00f2d657a4af72 |
View Raw JSON Data
{
"trx_id": "b510f23659976a6bc2a86a691d00f2d657a4af72",
"block": 102845108,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-23T02:12:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "4443.454788 VESTS"
}
]
}2024/12/16 21:31:48
2024/12/16 21:31:48
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 4607.673985 VESTS |
| Transaction Info | Block #91291522/Trx ad0b18a285207d00105b6cca7f2faf5bd6540776 |
View Raw JSON Data
{
"trx_id": "ad0b18a285207d00105b6cca7f2faf5bd6540776",
"block": 91291522,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-16T21:31:48",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "4607.673985 VESTS"
}
]
}2023/11/13 13:17:00
2023/11/13 13:17:00
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 4776.807517 VESTS |
| Transaction Info | Block #79845788/Trx f548871979bf5e2818a8884b13e61eab0e45d686 |
View Raw JSON Data
{
"trx_id": "f548871979bf5e2818a8884b13e61eab0e45d686",
"block": 79845788,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-13T13:17:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "4776.807517 VESTS"
}
]
}2023/09/21 19:21:45
2023/09/21 19:21:45
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 7714.086303 VESTS |
| Transaction Info | Block #78344881/Trx 773c4bee46fe8cbba1bec6d44ab9ef13d1b99c54 |
View Raw JSON Data
{
"trx_id": "773c4bee46fe8cbba1bec6d44ab9ef13d1b99c54",
"block": 78344881,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-21T19:21:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "7714.086303 VESTS"
}
]
}2022/11/03 09:25:45
2022/11/03 09:25:45
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 7935.767741 VESTS |
| Transaction Info | Block #69110544/Trx 41a73139dfcd8f0762583428dbef433825c0e189 |
View Raw JSON Data
{
"trx_id": "41a73139dfcd8f0762583428dbef433825c0e189",
"block": 69110544,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T09:25:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "7935.767741 VESTS"
}
]
}2022/01/17 08:52:45
2022/01/17 08:52:45
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 8156.300972 VESTS |
| Transaction Info | Block #60806940/Trx 6f2bb1eda96268dcc0e928ebb325076cba67c637 |
View Raw JSON Data
{
"trx_id": "6f2bb1eda96268dcc0e928ebb325076cba67c637",
"block": 60806940,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-17T08:52:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "8156.300972 VESTS"
}
]
}2021/06/13 22:52:57
2021/06/13 22:52:57
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 8340.069630 VESTS |
| Transaction Info | Block #54605424/Trx dccc655fa17c583a267f84106f9b453dba3bc64c |
View Raw JSON Data
{
"trx_id": "dccc655fa17c583a267f84106f9b453dba3bc64c",
"block": 54605424,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-13T22:52:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "8340.069630 VESTS"
}
]
}2020/12/11 09:14:30
2020/12/11 09:14:30
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 8527.491604 VESTS |
| Transaction Info | Block #49352958/Trx 9eb8fe53d507268ad6bedbece9340706388ef190 |
View Raw JSON Data
{
"trx_id": "9eb8fe53d507268ad6bedbece9340706388ef190",
"block": 49352958,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T09:14:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "8527.491604 VESTS"
}
]
}2020/12/06 02:52:00
2020/12/06 02:52:00
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49204531/Trx af12691be34aeca89d66596bbd592ae455ba7a0b |
View Raw JSON Data
{
"trx_id": "af12691be34aeca89d66596bbd592ae455ba7a0b",
"block": 49204531,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T02:52:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "1912.543513 VESTS"
}
]
}2020/12/05 10:48:57
2020/12/05 10:48:57
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 8533.858243 VESTS |
| Transaction Info | Block #49185635/Trx 223d5987bd363a51342c58f6c383b5180f027af4 |
View Raw JSON Data
{
"trx_id": "223d5987bd363a51342c58f6c383b5180f027af4",
"block": 49185635,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-05T10:48:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "8533.858243 VESTS"
}
]
}2020/11/02 11:29:42
2020/11/02 11:29:42
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48252926/Trx 05bf7c0381c7b84710860bf50f876769db0520f2 |
View Raw JSON Data
{
"trx_id": "05bf7c0381c7b84710860bf50f876769db0520f2",
"block": 48252926,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-02T11:29:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "1920.017158 VESTS"
}
]
}2020/05/09 03:47:12
2020/05/09 03:47:12
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 8736.504817 VESTS |
| Transaction Info | Block #43214747/Trx 9f1dcc7c0571792e6f2968b8712757e251cd4355 |
View Raw JSON Data
{
"trx_id": "9f1dcc7c0571792e6f2968b8712757e251cd4355",
"block": 43214747,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T03:47:12",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "8736.504817 VESTS"
}
]
}2020/05/08 07:05:54
2020/05/08 07:05:54
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43190503/Trx 65029217e4fe4f3fd3387df8f6794b408ef9527f |
View Raw JSON Data
{
"trx_id": "65029217e4fe4f3fd3387df8f6794b408ef9527f",
"block": 43190503,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T07:05:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "1953.311140 VESTS"
}
]
}2020/04/15 20:22:30
2020/04/15 20:22:30
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 8749.482236 VESTS |
| Transaction Info | Block #42561119/Trx 902d9147439bc428d3279cdd3f48d460b4e0d2d6 |
View Raw JSON Data
{
"trx_id": "902d9147439bc428d3279cdd3f48d460b4e0d2d6",
"block": 42561119,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-04-15T20:22:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "8749.482236 VESTS"
}
]
}2019/09/28 06:49:06
2019/09/28 06:49:06
| parent author | bitdroid |
| parent permlink | why-steemit-search-doesn-t-show-my-new-post |
| author | steemitboard |
| permlink | steemitboard-notify-bitdroid-20190928t064906000z |
| title | |
| body | Congratulations @bitdroid! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@bitdroid/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@bitdroid) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=bitdroid)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #36809751/Trx 242f61a3193906c57946e6a1182d2b8286726a1a |
View Raw JSON Data
{
"trx_id": "242f61a3193906c57946e6a1182d2b8286726a1a",
"block": 36809751,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-28T06:49:06",
"op": [
"comment",
{
"parent_author": "bitdroid",
"parent_permlink": "why-steemit-search-doesn-t-show-my-new-post",
"author": "steemitboard",
"permlink": "steemitboard-notify-bitdroid-20190928t064906000z",
"title": "",
"body": "Congratulations @bitdroid! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@bitdroid/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@bitdroid) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=bitdroid)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}2019/05/12 13:37:09
2019/05/12 13:37:09
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 8945.105041 VESTS |
| Transaction Info | Block #32843946/Trx 3968bd2369c60b7dfe77d4bad402a2e12fc40003 |
View Raw JSON Data
{
"trx_id": "3968bd2369c60b7dfe77d4bad402a2e12fc40003",
"block": 32843946,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-12T13:37:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "8945.105041 VESTS"
}
]
}smitopblockchain operation: transfer from savings2018/08/29 23:10:30
smitopblockchain operation: transfer from savings
2018/08/29 23:10:30
| from | smitop |
| request id | 21391 |
| to | bitdroid |
| amount | 3.333 SBD |
| memo | Hi, you're voting for the witness @jerrybanfield. That witness is inactive now, meaning they stopped producing blocks. You should stop voting for them, at https://steemit.com/~witnesses, or by pressing 'Vote for witnesses' in the Steemit sidebar (top right corner). I'm a bot. |
| Transaction Info | Block #25504935/Trx 122de48476e5350047e57085cd122faffcafe3a6 |
View Raw JSON Data
{
"trx_id": "122de48476e5350047e57085cd122faffcafe3a6",
"block": 25504935,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-29T23:10:30",
"op": [
"transfer_from_savings",
{
"from": "smitop",
"request_id": 21391,
"to": "bitdroid",
"amount": "3.333 SBD",
"memo": "Hi, you're voting for the witness @jerrybanfield. That witness is inactive now, meaning they stopped producing blocks. You should stop voting for them, at https://steemit.com/~witnesses, or by pressing 'Vote for witnesses' in the Steemit sidebar (top right corner). I'm a bot."
}
]
}smitopblockchain operation: transfer from savings2018/08/29 23:10:18
smitopblockchain operation: transfer from savings
2018/08/29 23:10:18
| from | smitop |
| request id | 20775 |
| to | bitdroid |
| amount | 3.333 SBD |
| memo | Hi, you're voting for the witness @jerrybanfield. That witness is inactive now, meaning they stopped producing blocks. You should stop voting for them, at https://steemit.com/~witnesses, or by pressing 'Vote for witnesses' in the Steemit sidebar (top right corner). I'm a bot. |
| Transaction Info | Block #25504931/Trx 331779f8366ccde3a8d48493a3af733d73a22f3f |
View Raw JSON Data
{
"trx_id": "331779f8366ccde3a8d48493a3af733d73a22f3f",
"block": 25504931,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-29T23:10:18",
"op": [
"transfer_from_savings",
{
"from": "smitop",
"request_id": 20775,
"to": "bitdroid",
"amount": "3.333 SBD",
"memo": "Hi, you're voting for the witness @jerrybanfield. That witness is inactive now, meaning they stopped producing blocks. You should stop voting for them, at https://steemit.com/~witnesses, or by pressing 'Vote for witnesses' in the Steemit sidebar (top right corner). I'm a bot."
}
]
}2018/05/16 20:08:27
2018/05/16 20:08:27
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 9144.657476 VESTS |
| Transaction Info | Block #22489670/Trx abecce6ed710166c6c31e087ff53ff89f629c78a |
View Raw JSON Data
{
"trx_id": "abecce6ed710166c6c31e087ff53ff89f629c78a",
"block": 22489670,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-16T20:08:27",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "9144.657476 VESTS"
}
]
}vadaszupvoted (100.00%) @bitdroid / jsecoin-platform-technical-analysis-and-how-to-maximize-profits2018/04/18 08:46:21
vadaszupvoted (100.00%) @bitdroid / jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2018/04/18 08:46:21
| voter | vadasz |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21670430/Trx 7eeb8edfd1135b1834e144a203e83bff4554590c |
View Raw JSON Data
{
"trx_id": "7eeb8edfd1135b1834e144a203e83bff4554590c",
"block": 21670430,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-18T08:46:21",
"op": [
"vote",
{
"voter": "vadasz",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"weight": 10000
}
]
}2018/03/14 21:05:03
2018/03/14 21:05:03
| voter | howmade |
| author | bitdroid |
| permlink | re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t124139491z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20678310/Trx 1e0709d1f72e542afb6af18fb91b3ed285941393 |
View Raw JSON Data
{
"trx_id": "1e0709d1f72e542afb6af18fb91b3ed285941393",
"block": 20678310,
"trx_in_block": 40,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-14T21:05:03",
"op": [
"vote",
{
"voter": "howmade",
"author": "bitdroid",
"permlink": "re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t124139491z",
"weight": 10000
}
]
}2018/02/24 09:37:48
2018/02/24 09:37:48
| from | refresh |
| to | bitdroid |
| amount | 0.001 SBD |
| memo | I followed you - If you follow me I be happy - RESTEEM SERVICE FOLLOW FOR NEWS |
| Transaction Info | Block #20146776/Trx 920b4b2bbc6375d9c8f646ab29314d148c67aa53 |
View Raw JSON Data
{
"trx_id": "920b4b2bbc6375d9c8f646ab29314d148c67aa53",
"block": 20146776,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-24T09:37:48",
"op": [
"transfer",
{
"from": "refresh",
"to": "bitdroid",
"amount": "0.001 SBD",
"memo": "I followed you - If you follow me I be happy - RESTEEM SERVICE FOLLOW FOR NEWS "
}
]
}2018/02/22 12:16:57
2018/02/22 12:16:57
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 29626.582477 VESTS |
| Transaction Info | Block #20092367/Trx eb908effef5f16683b982c4218b645c4e79e1e03 |
View Raw JSON Data
{
"trx_id": "eb908effef5f16683b982c4218b645c4e79e1e03",
"block": 20092367,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-22T12:16:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "29626.582477 VESTS"
}
]
}2017/11/05 13:59:54
2017/11/05 13:59:54
| voter | bitdroid |
| author | vladwulf |
| permlink | part-2-run-your-own-ethereum-node-or-create-your-own-ethereum-blockchain-series |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16957522/Trx 30a8fd530d722d4ff67c89bd86f7065b3680a9e6 |
View Raw JSON Data
{
"trx_id": "30a8fd530d722d4ff67c89bd86f7065b3680a9e6",
"block": 16957522,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-05T13:59:54",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "vladwulf",
"permlink": "part-2-run-your-own-ethereum-node-or-create-your-own-ethereum-blockchain-series",
"weight": 10000
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/11/02 10:54:15
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/11/02 10:54:15
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | @@ -10239,17 +10239,17 @@ .%0A%0A# Con -s +c lusions%0A |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/","https://platform.jsecoin.com"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16867437/Trx 10612e421d15e4c75da84204b96cd5174af80155 |
View Raw JSON Data
{
"trx_id": "10612e421d15e4c75da84204b96cd5174af80155",
"block": 16867437,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-02T10:54:15",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "@@ -10239,17 +10239,17 @@\n .%0A%0A# Con\n-s\n+c\n lusions%0A\n",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\",\"https://platform.jsecoin.com\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/11/02 10:53:51
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/11/02 10:53:51
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | @@ -10238,1632 +10238,8 @@ y.%0A%0A -As far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way:%0A%0A1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network.%0AThis also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers.%0A%0A2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here:%0A%0A%3E %7B%22blockID%22:89392,%22blockReference%22:89,%22difficulty%22:5,%22frequency%22:30000,%22hash%22:%22%22,%22input%22:%7B%22-Kxc9p2rppACO4kI9war%22:%7B%22command%22:%22mining%22,%22user1%22:16139,%22value%22:0.005%7D,%5BSNIPPED%5D,%7B%22command%22:%22mining%22,%22user1%22:22210,%22value%22:0.01%7D%7D,%22mainChain%22:true,%22nonce%22:%22*nonce*%22,%22open%22:false,%22previousHash%22:%220000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95%22,%22server%22:%22jsecoin%22,%22startTime%22:1509281189017,%22version%22:%22JSEcoin Controller v1.504%22%7D%0A%0ANote that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95%0A%0Awhich means someone else (not the miners) is actually solving the block and writing into the blockchain.%0A%0AThis does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain.%0A%0A%0A # Co |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/","https://platform.jsecoin.com"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16867429/Trx 538d65f36b3d9b99366ae8ff8ddf1d3462009113 |
View Raw JSON Data
{
"trx_id": "538d65f36b3d9b99366ae8ff8ddf1d3462009113",
"block": 16867429,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-02T10:53:51",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "@@ -10238,1632 +10238,8 @@\n y.%0A%0A\n-As far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way:%0A%0A1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network.%0AThis also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers.%0A%0A2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here:%0A%0A%3E %7B%22blockID%22:89392,%22blockReference%22:89,%22difficulty%22:5,%22frequency%22:30000,%22hash%22:%22%22,%22input%22:%7B%22-Kxc9p2rppACO4kI9war%22:%7B%22command%22:%22mining%22,%22user1%22:16139,%22value%22:0.005%7D,%5BSNIPPED%5D,%7B%22command%22:%22mining%22,%22user1%22:22210,%22value%22:0.01%7D%7D,%22mainChain%22:true,%22nonce%22:%22*nonce*%22,%22open%22:false,%22previousHash%22:%220000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95%22,%22server%22:%22jsecoin%22,%22startTime%22:1509281189017,%22version%22:%22JSEcoin Controller v1.504%22%7D%0A%0ANote that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95%0A%0Awhich means someone else (not the miners) is actually solving the block and writing into the blockchain.%0A%0AThis does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain.%0A%0A%0A\n # Co\n",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\",\"https://platform.jsecoin.com\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bitdroidvoted for witness @jerrybanfield2017/11/01 13:00:57
bitdroidvoted for witness @jerrybanfield
2017/11/01 13:00:57
| account | bitdroid |
| witness | jerrybanfield |
| approve | true |
| Transaction Info | Block #16841172/Trx 3dbea0c59c9acf830ad7b447068658fc93b493bf |
View Raw JSON Data
{
"trx_id": "3dbea0c59c9acf830ad7b447068658fc93b493bf",
"block": 16841172,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-01T13:00:57",
"op": [
"account_witness_vote",
{
"account": "bitdroid",
"witness": "jerrybanfield",
"approve": true
}
]
}bitdroidunvoted witness @jerrybanfield2017/11/01 13:00:54
bitdroidunvoted witness @jerrybanfield
2017/11/01 13:00:54
| account | bitdroid |
| witness | jerrybanfield |
| approve | false |
| Transaction Info | Block #16841171/Trx 856fd89a37354415a75330af51068376dfb9e3cf |
View Raw JSON Data
{
"trx_id": "856fd89a37354415a75330af51068376dfb9e3cf",
"block": 16841171,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-01T13:00:54",
"op": [
"account_witness_vote",
{
"account": "bitdroid",
"witness": "jerrybanfield",
"approve": false
}
]
}bitdroidvoted for witness @jerrybanfield2017/11/01 13:00:48
bitdroidvoted for witness @jerrybanfield
2017/11/01 13:00:48
| account | bitdroid |
| witness | jerrybanfield |
| approve | true |
| Transaction Info | Block #16841169/Trx d8d9a58776d5c81e4f6ac5408362cb5a5bd00800 |
View Raw JSON Data
{
"trx_id": "d8d9a58776d5c81e4f6ac5408362cb5a5bd00800",
"block": 16841169,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-01T13:00:48",
"op": [
"account_witness_vote",
{
"account": "bitdroid",
"witness": "jerrybanfield",
"approve": true
}
]
}bitdroidupvoted (100.00%) @jerrybanfield / meet-eveuncovered-402017/11/01 12:58:24
bitdroidupvoted (100.00%) @jerrybanfield / meet-eveuncovered-40
2017/11/01 12:58:24
| voter | bitdroid |
| author | jerrybanfield |
| permlink | meet-eveuncovered-40 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16841121/Trx 3111c0d67c3112e60f92db51bd381cc19a223836 |
View Raw JSON Data
{
"trx_id": "3111c0d67c3112e60f92db51bd381cc19a223836",
"block": 16841121,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-01T12:58:24",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "jerrybanfield",
"permlink": "meet-eveuncovered-40",
"weight": 10000
}
]
}2017/11/01 12:58:21
2017/11/01 12:58:21
| voter | bitdroid |
| author | jerrybanfield |
| permlink | 10-lessons-learned-losing-money-selling-shirts-on-cafepress-redbubble-and-teespring |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16841120/Trx d6531098882d99e191d5e0ff619bf8ed1e0bf672 |
View Raw JSON Data
{
"trx_id": "d6531098882d99e191d5e0ff619bf8ed1e0bf672",
"block": 16841120,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-01T12:58:21",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "jerrybanfield",
"permlink": "10-lessons-learned-losing-money-selling-shirts-on-cafepress-redbubble-and-teespring",
"weight": 10000
}
]
}2017/10/30 15:07:54
2017/10/30 15:07:54
| voter | bitdroid |
| author | bitdroid |
| permlink | re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t124139491z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16786114/Trx 4b61f7eaedf39bb1488d6531a4f1d68a69a11d15 |
View Raw JSON Data
{
"trx_id": "4b61f7eaedf39bb1488d6531a4f1d68a69a11d15",
"block": 16786114,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T15:07:54",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "bitdroid",
"permlink": "re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t124139491z",
"weight": 10000
}
]
}2017/10/30 12:40:33
2017/10/30 12:40:33
| parent author | bitdroid |
| parent permlink | why-steemit-search-doesn-t-show-my-new-post |
| author | bitdroid |
| permlink | re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t124139491z |
| title | |
| body | Well... instead of waiting for an answer from steemit support, I decided to take the matter in my hands: The solution is to submit manually your post's URL for google to index. https://www.google.com/webmasters/tools/submit-url?hl=en Once I submitted my steemit post, it indexed it immediately. Very recommended |
| json metadata | {"tags":["steemit"],"links":["https://www.google.com/webmasters/tools/submit-url?hl=en"],"app":"steemit/0.1"} |
| Transaction Info | Block #16783167/Trx d0f6171a2a12920a009cfaf4919d2bd4453fd058 |
View Raw JSON Data
{
"trx_id": "d0f6171a2a12920a009cfaf4919d2bd4453fd058",
"block": 16783167,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T12:40:33",
"op": [
"comment",
{
"parent_author": "bitdroid",
"parent_permlink": "why-steemit-search-doesn-t-show-my-new-post",
"author": "bitdroid",
"permlink": "re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t124139491z",
"title": "",
"body": "Well... instead of waiting for an answer from steemit support, I decided to take the matter in my hands:\n\nThe solution is to submit manually your post's URL for google to index.\n\nhttps://www.google.com/webmasters/tools/submit-url?hl=en\n\nOnce I submitted my steemit post, it indexed it immediately.\nVery recommended",
"json_metadata": "{\"tags\":[\"steemit\"],\"links\":[\"https://www.google.com/webmasters/tools/submit-url?hl=en\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/10/30 11:56:48
2017/10/30 11:56:48
| voter | bitdroid |
| author | tftproject |
| permlink | idf-chief-says-israel-is-becoming-like-nazi-germany-refuses-to-back-down |
| weight | -10000 (-100.00%) |
| Transaction Info | Block #16782292/Trx 58d26db2a069c23642c22dbe71496ae0c3e7f686 |
View Raw JSON Data
{
"trx_id": "58d26db2a069c23642c22dbe71496ae0c3e7f686",
"block": 16782292,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:56:48",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "tftproject",
"permlink": "idf-chief-says-israel-is-becoming-like-nazi-germany-refuses-to-back-down",
"weight": -10000
}
]
}bitdroidupvoted (100.00%) @jamin90 / re-aman619-defend-israel-and-earn-points-or-20170820t014003666z2017/10/30 11:54:48
bitdroidupvoted (100.00%) @jamin90 / re-aman619-defend-israel-and-earn-points-or-20170820t014003666z
2017/10/30 11:54:48
| voter | bitdroid |
| author | jamin90 |
| permlink | re-aman619-defend-israel-and-earn-points-or-20170820t014003666z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16782252/Trx 9d6d557f614814f6ff56e310f9b3553aacbbf541 |
View Raw JSON Data
{
"trx_id": "9d6d557f614814f6ff56e310f9b3553aacbbf541",
"block": 16782252,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:54:48",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "jamin90",
"permlink": "re-aman619-defend-israel-and-earn-points-or-20170820t014003666z",
"weight": 10000
}
]
}bitdroidupvoted (100.00%) @aman619 / defend-israel-and-earn-points-or2017/10/30 11:54:42
bitdroidupvoted (100.00%) @aman619 / defend-israel-and-earn-points-or
2017/10/30 11:54:42
| voter | bitdroid |
| author | aman619 |
| permlink | defend-israel-and-earn-points-or |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16782250/Trx ee10ffec4f5eeebc12f0523bb0aec052e8aae287 |
View Raw JSON Data
{
"trx_id": "ee10ffec4f5eeebc12f0523bb0aec052e8aae287",
"block": 16782250,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:54:42",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "aman619",
"permlink": "defend-israel-and-earn-points-or",
"weight": 10000
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/30 11:49:12
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/30 11:49:12
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | First of all, some introduction: My name is Daniel, and I'm a web applications developer and cyber security consultant with more than 15 years of experience in web and mobile technologies. Some time ago I decided to immerse myself in blockchain technologies, and new projects caught my attention, since usually they are buggy and not secure at early stages, making it easy targets for fraudsters and hackers. Today, I would like to share with you my research of JSEcoin, a cryptocurrency built for people to mine with their browsers, with the goal to provide you with a better background in order for you to decide if it's safe enough to use their platform and to understand how profitable it can be.  https://www.jsecoin.com I haven't seen any serious research on this platform, so I hope this information will be helpful for you today. I am going to make a technical analysis of their platform, explain how it works to the detail and mention the pros and cons of the program, both for webmasters and self-miners. # What is JSECoin? (The basics) JSECoin (JavaScript Embeded Cryptocurrency) is a new general purpose coin (beta platform was released on August 2017) that allows regular people and webmasters to become miners. Their main idea is to allow mining through CPU, as opposed to GPU or ASIC mining, which creates a trend for mining farms, such as the case with Bitcoin (enabling only people who are willing to make quite an investment to join the mining community) With JSEcoin, it is as easy as opening your browser and start mining. It is a great alternative to the classic advertisement model, as it does not disrupt the user experience, and it only takes a small amount of cpu from them (they claim mining takes less resources than running a video ad). They offer two modes of mining: Self-Mining and Publisher Mining **Self-Mining** With self-mining mode, the affiliate can simply login to the platform and go to the mining page. Within a few clicks, he will start mining.  Depending on the computer and browser you use, the amount of open applications and other factors , the hash-rate speed will vary. It basically will depend on how the browser distributes the resources (CPU in this case). **Publisher Mining** With the Publisher Mining, webmasters include a javascript code in their websites, which basically will load the same functionality as for self-mining but within the visitors browsers. There are many differences between these two modes, both in how they manage the mining results and in how they reward miners for their work. I tried both modes during my test period, with different results, but before jumping there, we need first to dive into some technical aspects of the platform: # JSECoin Platform: Geek talk I'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post. I would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; ) **About JSECoin blockchain technology** Hashing Algorithm: SHA256 Extracted from JSE's technical description page: https://jsecoin.com/technical/ > Cryptography > We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side. > > For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain. > > Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b > Committing to blockchain (12212) > Verified Ledger and Block (12212) Writing Out My first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria). As you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second. **If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?** Well... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?** Let's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage. If you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs). My guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but "slowing down" the algorithm by implementing other "techniques", so mining would not be easy on GPU based miners. In order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially. Still, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task. There's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands. How about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right? Anyway, don't dream about becoming a millionaire just yet: **Rewards System: Lottery** Extracted from JSE's technical description page: https://jsecoin.com/technical/ > Mining Rewards > > Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found. > > Self-mining: 720 coins / day lottery system 1 ticket per hash found. > > Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud. This is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below). There are some limits though, to avoid fraud: For Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes For publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block. I did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty. **Difficulty** When we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains. This is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain. The difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above. There is a difference between the difficulty set for self-mining and for publisher mining. It's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website. Also, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining). **Mining process** When we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps: 1. Get a new block (which is a list of transactions and some additional data, such as the previous hash) 2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes) 3. Submit the found hash to the jsecoin server. Most of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket. After submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted. Both the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently. As far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way: 1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network. This also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers. 2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here: > {"blockID":89392,"blockReference":89,"difficulty":5,"frequency":30000,"hash":"","input":{"-Kxc9p2rppACO4kI9war":{"command":"mining","user1":16139,"value":0.005},[SNIPPED],{"command":"mining","user1":22210,"value":0.01}},"mainChain":true,"nonce":"*nonce*","open":false,"previousHash":"0000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95","server":"jsecoin","startTime":1509281189017,"version":"JSEcoin Controller v1.504"} Note that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95 which means someone else (not the miners) is actually solving the block and writing into the blockchain. This does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain. # Conslusions JSE Coin seems to be a promising way to monetize our websites. Even if I'm being somewhat critical of the platform, I still think it's a nice way to make some profit, without the need to intrude the visitors with annoying ads. Their system is very easy to use and their support is great. The project itself is very serious and I think they have a good potential of real growth. ### Results of Mining Activities during my research: **Original JSE code** * Self-Mining (Average of 3500 hps): 3 to 4 JSE coins / day (mining 24hs a day). * Publisher Mining (average of 600 hps): small size website with 500 uniques a day (average of 6 hours of mining a day) = 5 JSE coins / day **Optimized Code** * Self-Mining (Average of 70.000 hps): 3 to 4 JSE coins / day (SAME as original code, due to the limit of 1 ticket per block) Publisher Mining (average of 12.000 hps): 5- 7 JSE coins / day (apparently we need more traffic to make a real difference) It's important to mention that, as self-miners, even if were to get 1 lottery ticket per block, the max daily reward would be 7.2 JSE (1440 blocks/day * 0.005 -reward/block-), although, with the current competition, is going to be hard to achieve. It is anyway, easier and mcuh more profitable than other coins (given that 1JSE = 1USD) Publishers with multiple websites and lots of traffic will probably be able to make much more. I encourage you to try, since it's very easy and should not affect your website's user experience. https://platform.jsecoin.com ### Special requests I hope you enjoyed and learned from my experience with this platform. If you have any special requests, i.e., if you like me to perform a technical review or security analysis of any coin, please comment and I will do my best to help. Also, feel free to ask any questions. I can expand in the comments section. ETH Donations: 0x22D54de630C8e97137B701842C05D284b9Ea6469 |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/","https://platform.jsecoin.com"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16782140/Trx 5664cf63a2ba6fc168a4bccb8d744b8c737b5113 |
View Raw JSON Data
{
"trx_id": "5664cf63a2ba6fc168a4bccb8d744b8c737b5113",
"block": 16782140,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:49:12",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "First of all, some introduction: My name is Daniel, and I'm a web applications developer and cyber security consultant with more than 15 years of experience in web and mobile technologies.\n\nSome time ago I decided to immerse myself in blockchain technologies, and new projects caught my attention, since usually they are buggy and not secure at early stages, making it easy targets for fraudsters and hackers.\n\nToday, I would like to share with you my research of JSEcoin, a cryptocurrency built for people to mine with their browsers, with the goal to provide you with a better background in order for you to decide if it's safe enough to use their platform and to understand how profitable it can be.\n\n\nhttps://www.jsecoin.com\n\nI haven't seen any serious research on this platform, so I hope this information will be helpful for you today.\n\nI am going to make a technical analysis of their platform, explain how it works to the detail and mention the pros and cons of the program, both for webmasters and self-miners.\n\n# What is JSECoin? (The basics)\n\nJSECoin (JavaScript Embeded Cryptocurrency) is a new general purpose coin (beta platform was released on August 2017) that allows regular people and webmasters to become miners. Their main idea is to allow mining through CPU, as opposed to GPU or ASIC mining, which creates a trend for mining farms, such as the case with Bitcoin (enabling only people who are willing to make quite an investment to join the mining community)\n\nWith JSEcoin, it is as easy as opening your browser and start mining.\n\nIt is a great alternative to the classic advertisement model, as it does not disrupt the user experience, and it only takes a small amount of cpu from them (they claim mining takes less resources than running a video ad).\n\nThey offer two modes of mining: Self-Mining and Publisher Mining\n\n**Self-Mining**\n\nWith self-mining mode, the affiliate can simply login to the platform and go to the mining page.\nWithin a few clicks, he will start mining.\n\n\n\nDepending on the computer and browser you use, the amount of open applications and other factors , the hash-rate speed will vary. It basically will depend on how the browser distributes the resources (CPU in this case).\n\n\n**Publisher Mining**\n\nWith the Publisher Mining, webmasters include a javascript code in their websites, which basically will load the same functionality as for self-mining but within the visitors browsers.\n\nThere are many differences between these two modes, both in how they manage the mining results and in how they reward miners for their work.\n\nI tried both modes during my test period, with different results, but before jumping there, we need first to dive into some technical aspects of the platform:\n\n\n# JSECoin Platform: Geek talk\n\nI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.\n\nI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )\n\n**About JSECoin blockchain technology**\n\nHashing Algorithm: SHA256 \n\nExtracted from JSE's technical description page: https://jsecoin.com/technical/\n\n> Cryptography\n> We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.\n>\n> For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.\n>\n> Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b\n> Committing to blockchain (12212)\n> Verified Ledger and Block (12212) Writing Out\n\nMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).\nAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.\n\n**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**\n\nWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**\n\nLet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.\n\nIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).\n\nMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but \"slowing down\" the algorithm by implementing other \"techniques\", so mining would not be easy on GPU based miners.\n\nIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.\n\nStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.\n\nThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.\n\nHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?\n\nAnyway, don't dream about becoming a millionaire just yet:\n\n**Rewards System: Lottery**\n\nExtracted from JSE's technical description page: https://jsecoin.com/technical/\n\n> Mining Rewards\n> \n> Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.\n> \n> Self-mining: 720 coins / day lottery system 1 ticket per hash found.\n> \n> Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.\n\nThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).\n\nThere are some limits though, to avoid fraud:\n\nFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes\n\nFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.\n\nI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.\n\n**Difficulty**\n\nWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.\n\nThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.\n\nThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.\n\nThere is a difference between the difficulty set for self-mining and for publisher mining.\nIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.\n\nAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining).\n\n**Mining process**\n\nWhen we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps:\n\n1. Get a new block (which is a list of transactions and some additional data, such as the previous hash)\n2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes)\n3. Submit the found hash to the jsecoin server.\n\nMost of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket.\n\nAfter submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted.\n\nBoth the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently.\n\nAs far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way:\n\n1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network.\nThis also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers.\n\n2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here:\n\n> {\"blockID\":89392,\"blockReference\":89,\"difficulty\":5,\"frequency\":30000,\"hash\":\"\",\"input\":{\"-Kxc9p2rppACO4kI9war\":{\"command\":\"mining\",\"user1\":16139,\"value\":0.005},[SNIPPED],{\"command\":\"mining\",\"user1\":22210,\"value\":0.01}},\"mainChain\":true,\"nonce\":\"*nonce*\",\"open\":false,\"previousHash\":\"0000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95\",\"server\":\"jsecoin\",\"startTime\":1509281189017,\"version\":\"JSEcoin Controller v1.504\"}\n\nNote that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95\n\nwhich means someone else (not the miners) is actually solving the block and writing into the blockchain.\n\nThis does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain.\n\n\n# Conslusions\n\nJSE Coin seems to be a promising way to monetize our websites.\nEven if I'm being somewhat critical of the platform, I still think it's a nice way to make some profit, without the need to intrude the visitors with annoying ads.\n\nTheir system is very easy to use and their support is great. The project itself is very serious and I think they have a good potential of real growth.\n\n### Results of Mining Activities during my research:\n\n**Original JSE code**\n* Self-Mining (Average of 3500 hps): 3 to 4 JSE coins / day (mining 24hs a day).\n* Publisher Mining (average of 600 hps): small size website with 500 uniques a day (average of 6 hours of mining a day) = 5 JSE coins / day\n\n**Optimized Code**\n* Self-Mining (Average of 70.000 hps): 3 to 4 JSE coins / day (SAME as original code, due to the limit of 1 ticket per block)\nPublisher Mining (average of 12.000 hps): 5- 7 JSE coins / day (apparently we need more traffic to make a real difference)\n\nIt's important to mention that, as self-miners, even if were to get 1 lottery ticket per block, the max daily reward would be 7.2 JSE (1440 blocks/day * 0.005 -reward/block-), although, with the current competition, is going to be hard to achieve.\nIt is anyway, easier and mcuh more profitable than other coins (given that 1JSE = 1USD)\n\nPublishers with multiple websites and lots of traffic will probably be able to make much more.\n\nI encourage you to try, since it's very easy and should not affect your website's user experience.\nhttps://platform.jsecoin.com\n\n### Special requests\n\nI hope you enjoyed and learned from my experience with this platform.\nIf you have any special requests, i.e., if you like me to perform a technical review or security analysis of any coin, please comment and I will do my best to help.\n\nAlso, feel free to ask any questions. I can expand in the comments section.\n\n\nETH Donations: 0x22D54de630C8e97137B701842C05D284b9Ea6469",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\",\"https://platform.jsecoin.com\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/30 11:48:03
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/30 11:48:03
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | @@ -2913,8 +2913,10870 @@ latform: +%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery**%0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Mining Rewards%0A%3E %0A%3E Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.%0A%3E %0A%3E Self-mining: 720 coins / day lottery system 1 ticket per hash found.%0A%3E %0A%3E Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.%0A%0AThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).%0A%0AThere are some limits though, to avoid fraud:%0A%0AFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes%0A%0AFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.%0A%0AI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.%0A%0A**Difficulty**%0A%0AWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.%0A%0AThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.%0A%0AThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.%0A%0AThere is a difference between the difficulty set for self-mining and for publisher mining.%0AIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.%0A%0AAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining).%0A%0A**Mining process**%0A%0AWhen we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps:%0A%0A1. Get a new block (which is a list of transactions and some additional data, such as the previous hash)%0A2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes)%0A3. Submit the found hash to the jsecoin server.%0A%0AMost of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket.%0A%0AAfter submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted.%0A%0ABoth the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently.%0A%0AAs far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way:%0A%0A1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network.%0AThis also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers.%0A%0A2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here:%0A%0A%3E %7B%22blockID%22:89392,%22blockReference%22:89,%22difficulty%22:5,%22frequency%22:30000,%22hash%22:%22%22,%22input%22:%7B%22-Kxc9p2rppACO4kI9war%22:%7B%22command%22:%22mining%22,%22user1%22:16139,%22value%22:0.005%7D,%5BSNIPPED%5D,%7B%22command%22:%22mining%22,%22user1%22:22210,%22value%22:0.01%7D%7D,%22mainChain%22:true,%22nonce%22:%22*nonce*%22,%22open%22:false,%22previousHash%22:%220000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95%22,%22server%22:%22jsecoin%22,%22startTime%22:1509281189017,%22version%22:%22JSEcoin Controller v1.504%22%7D%0A%0ANote that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95%0A%0Awhich means someone else (not the miners) is actually solving the block and writing into the blockchain.%0A%0AThis does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain.%0A%0A%0A# Conslusions%0A%0AJSE Coin seems to be a promising way to monetize our websites.%0AEven if I'm being somewhat critical of the platform, I still think it's a nice way to make some profit, without the need to intrude the visitors with annoying ads.%0A%0ATheir system is very easy to use and their support is great. The project itself is very serious and I think they have a good potential of real growth.%0A%0A### Results of Mining Activities during my research:%0A%0A**Original JSE code**%0A* Self-Mining (Average of 3500 hps): 3 to 4 JSE coins / day (mining 24hs a day).%0A* Publisher Mining (average of 600 hps): small size website with 500 uniques a day (average of 6 hours of mining a day) = 5 JSE coins / day%0A%0A**Optimized Code**%0A* Self-Mining (Average of 70.000 hps): 3 to 4 JSE coins / day (SAME as original code, due to the limit of 1 ticket per block)%0APublisher Mining (average of 12.000 hps): 5- 7 JSE coins / day (apparently we need more traffic to make a real difference)%0A%0AIt's important to mention that, as self-miners, even if were to get 1 lottery ticket per block, the max daily reward would be 7.2 JSE (1440 blocks/day * 0.005 -reward/block-), although, with the current competition, is going to be hard to achieve.%0AIt is anyway, easier and mcuh more profitable than other coins (given that 1JSE = 1USD)%0A%0APublishers with multiple websites and lots of traffic will probably be able to make much more.%0A%0AI encourage you to try, since it's very easy and should not affect your website's user experience.%0Ahttps://platform.jsecoin.com%0A%0A### Special requests%0A%0AI hope you enjoyed and learned from my experience with this platform.%0AIf you have any special requests, i.e., if you like me to perform a technical review or security analysis of any coin, please comment and I will do my best to help.%0A%0AAlso, feel free to ask any questions. I can expand in the comments section.%0A%0A%0AETH Donations: 0x22D54de630C8e97137B701842C05D284b9Ea6469 |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/","https://platform.jsecoin.com"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16782117/Trx fbca4fdb946f3599769644e7da2ead29d85106e4 |
View Raw JSON Data
{
"trx_id": "fbca4fdb946f3599769644e7da2ead29d85106e4",
"block": 16782117,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:48:03",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "@@ -2913,8 +2913,10870 @@\n latform:\n+%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery**%0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Mining Rewards%0A%3E %0A%3E Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.%0A%3E %0A%3E Self-mining: 720 coins / day lottery system 1 ticket per hash found.%0A%3E %0A%3E Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.%0A%0AThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).%0A%0AThere are some limits though, to avoid fraud:%0A%0AFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes%0A%0AFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.%0A%0AI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.%0A%0A**Difficulty**%0A%0AWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.%0A%0AThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.%0A%0AThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.%0A%0AThere is a difference between the difficulty set for self-mining and for publisher mining.%0AIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.%0A%0AAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining).%0A%0A**Mining process**%0A%0AWhen we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps:%0A%0A1. Get a new block (which is a list of transactions and some additional data, such as the previous hash)%0A2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes)%0A3. Submit the found hash to the jsecoin server.%0A%0AMost of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket.%0A%0AAfter submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted.%0A%0ABoth the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently.%0A%0AAs far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way:%0A%0A1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network.%0AThis also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers.%0A%0A2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here:%0A%0A%3E %7B%22blockID%22:89392,%22blockReference%22:89,%22difficulty%22:5,%22frequency%22:30000,%22hash%22:%22%22,%22input%22:%7B%22-Kxc9p2rppACO4kI9war%22:%7B%22command%22:%22mining%22,%22user1%22:16139,%22value%22:0.005%7D,%5BSNIPPED%5D,%7B%22command%22:%22mining%22,%22user1%22:22210,%22value%22:0.01%7D%7D,%22mainChain%22:true,%22nonce%22:%22*nonce*%22,%22open%22:false,%22previousHash%22:%220000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95%22,%22server%22:%22jsecoin%22,%22startTime%22:1509281189017,%22version%22:%22JSEcoin Controller v1.504%22%7D%0A%0ANote that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95%0A%0Awhich means someone else (not the miners) is actually solving the block and writing into the blockchain.%0A%0AThis does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain.%0A%0A%0A# Conslusions%0A%0AJSE Coin seems to be a promising way to monetize our websites.%0AEven if I'm being somewhat critical of the platform, I still think it's a nice way to make some profit, without the need to intrude the visitors with annoying ads.%0A%0ATheir system is very easy to use and their support is great. The project itself is very serious and I think they have a good potential of real growth.%0A%0A### Results of Mining Activities during my research:%0A%0A**Original JSE code**%0A* Self-Mining (Average of 3500 hps): 3 to 4 JSE coins / day (mining 24hs a day).%0A* Publisher Mining (average of 600 hps): small size website with 500 uniques a day (average of 6 hours of mining a day) = 5 JSE coins / day%0A%0A**Optimized Code**%0A* Self-Mining (Average of 70.000 hps): 3 to 4 JSE coins / day (SAME as original code, due to the limit of 1 ticket per block)%0APublisher Mining (average of 12.000 hps): 5- 7 JSE coins / day (apparently we need more traffic to make a real difference)%0A%0AIt's important to mention that, as self-miners, even if were to get 1 lottery ticket per block, the max daily reward would be 7.2 JSE (1440 blocks/day * 0.005 -reward/block-), although, with the current competition, is going to be hard to achieve.%0AIt is anyway, easier and mcuh more profitable than other coins (given that 1JSE = 1USD)%0A%0APublishers with multiple websites and lots of traffic will probably be able to make much more.%0A%0AI encourage you to try, since it's very easy and should not affect your website's user experience.%0Ahttps://platform.jsecoin.com%0A%0A### Special requests%0A%0AI hope you enjoyed and learned from my experience with this platform.%0AIf you have any special requests, i.e., if you like me to perform a technical review or security analysis of any coin, please comment and I will do my best to help.%0A%0AAlso, feel free to ask any questions. I can expand in the comments section.%0A%0A%0AETH Donations: 0x22D54de630C8e97137B701842C05D284b9Ea6469\n",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\",\"https://platform.jsecoin.com\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/30 11:47:57
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/30 11:47:57
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | @@ -2913,8 +2913,4159 @@ latform: +%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery** |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16782115/Trx 9954fe879dfe58265f44fd82172dde3e73ae6ec8 |
View Raw JSON Data
{
"trx_id": "9954fe879dfe58265f44fd82172dde3e73ae6ec8",
"block": 16782115,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:47:57",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "@@ -2913,8 +2913,4159 @@\n latform:\n+%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery**\n",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/30 11:47:33
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/30 11:47:33
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | @@ -2913,8 +2913,6452 @@ latform: +%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery**%0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Mining Rewards%0A%3E %0A%3E Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.%0A%3E %0A%3E Self-mining: 720 coins / day lottery system 1 ticket per hash found.%0A%3E %0A%3E Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.%0A%0AThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).%0A%0AThere are some limits though, to avoid fraud:%0A%0AFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes%0A%0AFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.%0A%0AI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.%0A%0A**Difficulty**%0A%0AWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.%0A%0AThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.%0A%0AThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.%0A%0AThere is a difference between the difficulty set for self-mining and for publisher mining.%0AIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.%0A%0AAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining). |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16782107/Trx b34aac34fd9aaf262d9b8cc7d11a590b063b3127 |
View Raw JSON Data
{
"trx_id": "b34aac34fd9aaf262d9b8cc7d11a590b063b3127",
"block": 16782107,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:47:33",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "@@ -2913,8 +2913,6452 @@\n latform:\n+%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery**%0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Mining Rewards%0A%3E %0A%3E Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.%0A%3E %0A%3E Self-mining: 720 coins / day lottery system 1 ticket per hash found.%0A%3E %0A%3E Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.%0A%0AThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).%0A%0AThere are some limits though, to avoid fraud:%0A%0AFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes%0A%0AFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.%0A%0AI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.%0A%0A**Difficulty**%0A%0AWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.%0A%0AThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.%0A%0AThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.%0A%0AThere is a difference between the difficulty set for self-mining and for publisher mining.%0AIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.%0A%0AAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining).\n",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/30 11:47:12
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/30 11:47:12
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | @@ -2913,8 +2913,7912 @@ latform: +%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery**%0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Mining Rewards%0A%3E %0A%3E Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.%0A%3E %0A%3E Self-mining: 720 coins / day lottery system 1 ticket per hash found.%0A%3E %0A%3E Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.%0A%0AThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).%0A%0AThere are some limits though, to avoid fraud:%0A%0AFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes%0A%0AFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.%0A%0AI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.%0A%0A**Difficulty**%0A%0AWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.%0A%0AThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.%0A%0AThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.%0A%0AThere is a difference between the difficulty set for self-mining and for publisher mining.%0AIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.%0A%0AAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining).%0A%0A**Mining process**%0A%0AWhen we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps:%0A%0A1. Get a new block (which is a list of transactions and some additional data, such as the previous hash)%0A2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes)%0A3. Submit the found hash to the jsecoin server.%0A%0AMost of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket.%0A%0AAfter submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted.%0A%0ABoth the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently.%0A%0AAs far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way:%0A%0A1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network.%0AThis also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers.%0A%0A2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here: |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16782100/Trx 014321551c4e1705a9de6a0914105e17a22d128d |
View Raw JSON Data
{
"trx_id": "014321551c4e1705a9de6a0914105e17a22d128d",
"block": 16782100,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:47:12",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "@@ -2913,8 +2913,7912 @@\n latform:\n+%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery**%0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Mining Rewards%0A%3E %0A%3E Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.%0A%3E %0A%3E Self-mining: 720 coins / day lottery system 1 ticket per hash found.%0A%3E %0A%3E Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.%0A%0AThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).%0A%0AThere are some limits though, to avoid fraud:%0A%0AFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes%0A%0AFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.%0A%0AI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.%0A%0A**Difficulty**%0A%0AWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.%0A%0AThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.%0A%0AThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.%0A%0AThere is a difference between the difficulty set for self-mining and for publisher mining.%0AIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.%0A%0AAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining).%0A%0A**Mining process**%0A%0AWhen we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps:%0A%0A1. Get a new block (which is a list of transactions and some additional data, such as the previous hash)%0A2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes)%0A3. Submit the found hash to the jsecoin server.%0A%0AMost of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket.%0A%0AAfter submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted.%0A%0ABoth the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently.%0A%0AAs far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way:%0A%0A1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network.%0AThis also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers.%0A%0A2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here:\n",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/30 11:46:51
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/30 11:46:51
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | @@ -2913,8 +2913,6452 @@ latform: +%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery**%0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Mining Rewards%0A%3E %0A%3E Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.%0A%3E %0A%3E Self-mining: 720 coins / day lottery system 1 ticket per hash found.%0A%3E %0A%3E Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.%0A%0AThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).%0A%0AThere are some limits though, to avoid fraud:%0A%0AFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes%0A%0AFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.%0A%0AI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.%0A%0A**Difficulty**%0A%0AWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.%0A%0AThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.%0A%0AThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.%0A%0AThere is a difference between the difficulty set for self-mining and for publisher mining.%0AIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.%0A%0AAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining). |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16782093/Trx ad3d87a77647a5c6b2f90d31d82737f6278e0118 |
View Raw JSON Data
{
"trx_id": "ad3d87a77647a5c6b2f90d31d82737f6278e0118",
"block": 16782093,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:46:51",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "@@ -2913,8 +2913,6452 @@\n latform:\n+%0A%0A%0A# JSECoin Platform: Geek talk%0A%0AI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.%0A%0AI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )%0A%0A**About JSECoin blockchain technology**%0A%0AHashing Algorithm: SHA256 %0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Cryptography%0A%3E We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.%0A%3E%0A%3E For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.%0A%3E%0A%3E Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b%0A%3E Committing to blockchain (12212)%0A%3E Verified Ledger and Block (12212) Writing Out%0A%0AMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).%0AAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.%0A%0A**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**%0A%0AWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**%0A%0ALet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.%0A%0AIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).%0A%0AMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but %22slowing down%22 the algorithm by implementing other %22techniques%22, so mining would not be easy on GPU based miners.%0A%0AIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.%0A%0AStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.%0A%0AThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.%0A%0AHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?%0A%0AAnyway, don't dream about becoming a millionaire just yet:%0A%0A**Rewards System: Lottery**%0A%0AExtracted from JSE's technical description page: https://jsecoin.com/technical/%0A%0A%3E Mining Rewards%0A%3E %0A%3E Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.%0A%3E %0A%3E Self-mining: 720 coins / day lottery system 1 ticket per hash found.%0A%3E %0A%3E Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.%0A%0AThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).%0A%0AThere are some limits though, to avoid fraud:%0A%0AFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes%0A%0AFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.%0A%0AI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.%0A%0A**Difficulty**%0A%0AWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.%0A%0AThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.%0A%0AThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.%0A%0AThere is a difference between the difficulty set for self-mining and for publisher mining.%0AIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.%0A%0AAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining).\n",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/30 11:46:27
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/30 11:46:27
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | First of all, some introduction: My name is Daniel, and I'm a web applications developer and cyber security consultant with more than 15 years of experience in web and mobile technologies. Some time ago I decided to immerse myself in blockchain technologies, and new projects caught my attention, since usually they are buggy and not secure at early stages, making it easy targets for fraudsters and hackers. Today, I would like to share with you my research of JSEcoin, a cryptocurrency built for people to mine with their browsers, with the goal to provide you with a better background in order for you to decide if it's safe enough to use their platform and to understand how profitable it can be.  https://www.jsecoin.com I haven't seen any serious research on this platform, so I hope this information will be helpful for you today. I am going to make a technical analysis of their platform, explain how it works to the detail and mention the pros and cons of the program, both for webmasters and self-miners. # What is JSECoin? (The basics) JSECoin (JavaScript Embeded Cryptocurrency) is a new general purpose coin (beta platform was released on August 2017) that allows regular people and webmasters to become miners. Their main idea is to allow mining through CPU, as opposed to GPU or ASIC mining, which creates a trend for mining farms, such as the case with Bitcoin (enabling only people who are willing to make quite an investment to join the mining community) With JSEcoin, it is as easy as opening your browser and start mining. It is a great alternative to the classic advertisement model, as it does not disrupt the user experience, and it only takes a small amount of cpu from them (they claim mining takes less resources than running a video ad). They offer two modes of mining: Self-Mining and Publisher Mining **Self-Mining** With self-mining mode, the affiliate can simply login to the platform and go to the mining page. Within a few clicks, he will start mining.  Depending on the computer and browser you use, the amount of open applications and other factors , the hash-rate speed will vary. It basically will depend on how the browser distributes the resources (CPU in this case). **Publisher Mining** With the Publisher Mining, webmasters include a javascript code in their websites, which basically will load the same functionality as for self-mining but within the visitors browsers. There are many differences between these two modes, both in how they manage the mining results and in how they reward miners for their work. I tried both modes during my test period, with different results, but before jumping there, we need first to dive into some technical aspects of the platform: |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16782085/Trx 26dfa7afcde0cba43f69ae07def8576ba4922970 |
View Raw JSON Data
{
"trx_id": "26dfa7afcde0cba43f69ae07def8576ba4922970",
"block": 16782085,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:46:27",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "First of all, some introduction: My name is Daniel, and I'm a web applications developer and cyber security consultant with more than 15 years of experience in web and mobile technologies.\n\nSome time ago I decided to immerse myself in blockchain technologies, and new projects caught my attention, since usually they are buggy and not secure at early stages, making it easy targets for fraudsters and hackers.\n\nToday, I would like to share with you my research of JSEcoin, a cryptocurrency built for people to mine with their browsers, with the goal to provide you with a better background in order for you to decide if it's safe enough to use their platform and to understand how profitable it can be.\n\n\nhttps://www.jsecoin.com\n\nI haven't seen any serious research on this platform, so I hope this information will be helpful for you today.\n\nI am going to make a technical analysis of their platform, explain how it works to the detail and mention the pros and cons of the program, both for webmasters and self-miners.\n\n# What is JSECoin? (The basics)\n\nJSECoin (JavaScript Embeded Cryptocurrency) is a new general purpose coin (beta platform was released on August 2017) that allows regular people and webmasters to become miners. Their main idea is to allow mining through CPU, as opposed to GPU or ASIC mining, which creates a trend for mining farms, such as the case with Bitcoin (enabling only people who are willing to make quite an investment to join the mining community)\n\nWith JSEcoin, it is as easy as opening your browser and start mining.\n\nIt is a great alternative to the classic advertisement model, as it does not disrupt the user experience, and it only takes a small amount of cpu from them (they claim mining takes less resources than running a video ad).\n\nThey offer two modes of mining: Self-Mining and Publisher Mining\n\n**Self-Mining**\n\nWith self-mining mode, the affiliate can simply login to the platform and go to the mining page.\nWithin a few clicks, he will start mining.\n\n\n\nDepending on the computer and browser you use, the amount of open applications and other factors , the hash-rate speed will vary. It basically will depend on how the browser distributes the resources (CPU in this case).\n\n\n**Publisher Mining**\n\nWith the Publisher Mining, webmasters include a javascript code in their websites, which basically will load the same functionality as for self-mining but within the visitors browsers.\n\nThere are many differences between these two modes, both in how they manage the mining results and in how they reward miners for their work.\n\nI tried both modes during my test period, with different results, but before jumping there, we need first to dive into some technical aspects of the platform:",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2017/10/30 11:45:30
2017/10/30 11:45:30
| voter | bitdroid |
| author | bitdroid |
| permlink | re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t114609387z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16782066/Trx fe1a4ce0b62a3ae00e4ad936675d63d180297ebd |
View Raw JSON Data
{
"trx_id": "fe1a4ce0b62a3ae00e4ad936675d63d180297ebd",
"block": 16782066,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:45:30",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "bitdroid",
"permlink": "re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t114609387z",
"weight": 10000
}
]
}2017/10/30 11:45:21
2017/10/30 11:45:21
| parent author | bitdroid |
| parent permlink | why-steemit-search-doesn-t-show-my-new-post |
| author | bitdroid |
| permlink | re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t114609387z |
| title | |
| body | @@ -100,16 +100,17 @@ bly make +s the pla |
| json metadata | {"tags":["steemit"],"app":"steemit/0.1"} |
| Transaction Info | Block #16782063/Trx b1f9ad81e008b04a6dd11976b2c6d59bf6e6ed26 |
View Raw JSON Data
{
"trx_id": "b1f9ad81e008b04a6dd11976b2c6d59bf6e6ed26",
"block": 16782063,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:45:21",
"op": [
"comment",
{
"parent_author": "bitdroid",
"parent_permlink": "why-steemit-search-doesn-t-show-my-new-post",
"author": "bitdroid",
"permlink": "re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t114609387z",
"title": "",
"body": "@@ -100,16 +100,17 @@\n bly make\n+s\n the pla\n",
"json_metadata": "{\"tags\":[\"steemit\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/10/30 11:45:03
2017/10/30 11:45:03
| parent author | bitdroid |
| parent permlink | why-steemit-search-doesn-t-show-my-new-post |
| author | bitdroid |
| permlink | re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t114609387z |
| title | |
| body | I remember when I posted yesterday that I got a **Transaction broadcast error** message. This probably make the platform not to submit my post in the sitemap, which google reads from. Is it possible to do this manually? |
| json metadata | {"tags":["steemit"],"app":"steemit/0.1"} |
| Transaction Info | Block #16782057/Trx a8e01e0537916c5ca4e1f7adb217eaa728dfe147 |
View Raw JSON Data
{
"trx_id": "a8e01e0537916c5ca4e1f7adb217eaa728dfe147",
"block": 16782057,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:45:03",
"op": [
"comment",
{
"parent_author": "bitdroid",
"parent_permlink": "why-steemit-search-doesn-t-show-my-new-post",
"author": "bitdroid",
"permlink": "re-bitdroid-why-steemit-search-doesn-t-show-my-new-post-20171030t114609387z",
"title": "",
"body": "I remember when I posted yesterday that I got a **Transaction broadcast error** message.\nThis probably make the platform not to submit my post in the sitemap, which google reads from.\n\nIs it possible to do this manually?",
"json_metadata": "{\"tags\":[\"steemit\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/10/30 11:44:27
2017/10/30 11:44:27
| voter | lawyerup |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| weight | 100 (1.00%) |
| Transaction Info | Block #16782045/Trx 53512bf667110700ca9f335e6c928ecc9967b57a |
View Raw JSON Data
{
"trx_id": "53512bf667110700ca9f335e6c928ecc9967b57a",
"block": 16782045,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:44:27",
"op": [
"vote",
{
"voter": "lawyerup",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"weight": 100
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/30 11:43:36
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/30 11:43:36
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | First of all, some introduction: My name is Daniel, and I'm a web applications developer and cyber security consultant with more than 15 years of experience in web and mobile technologies. Some time ago I decided to immerse myself in blockchain technologies, and new projects caught my attention, since usually they are buggy and not secure at early stages, making it easy targets for fraudsters and hackers. Today, I would like to share with you my research of JSEcoin, a cryptocurrency built for people to mine with their browsers, with the goal to provide you with a better background in order for you to decide if it's safe enough to use their platform and to understand how profitable it can be.  https://www.jsecoin.com I haven't seen any serious research on this platform, so I hope this information will be helpful for you today. I am going to make a technical analysis of their platform, explain how it works to the detail and mention the pros and cons of the program, both for webmasters and self-miners. # What is JSECoin? (The basics) JSECoin (JavaScript Embeded Cryptocurrency) is a new general purpose coin (beta platform was released on August 2017) that allows regular people and webmasters to become miners. Their main idea is to allow mining through CPU, as opposed to GPU or ASIC mining, which creates a trend for mining farms, such as the case with Bitcoin (enabling only people who are willing to make quite an investment to join the mining community) With JSEcoin, it is as easy as opening your browser and start mining. It is a great alternative to the classic advertisement model, as it does not disrupt the user experience, and it only takes a small amount of cpu from them (they claim mining takes less resources than running a video ad). They offer two modes of mining: Self-Mining and Publisher Mining **Self-Mining** With self-mining mode, the affiliate can simply login to the platform and go to the mining page. Within a few clicks, he will start mining.  Depending on the computer and browser you use, the amount of open applications and other factors , the hash-rate speed will vary. It basically will depend on how the browser distributes the resources (CPU in this case). **Publisher Mining** With the Publisher Mining, webmasters include a javascript code in their websites, which basically will load the same functionality as for self-mining but within the visitors browsers. There are many differences between these two modes, both in how they manage the mining results and in how they reward miners for their work. I tried both modes during my test period, with different results, but before jumping there, we need first to dive into some technical aspects of the platform: # JSECoin Platform: Geek talk I'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post. I would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; ) **About JSECoin blockchain technology** Hashing Algorithm: SHA256 Extracted from JSE's technical description page: https://jsecoin.com/technical/ > Cryptography > We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side. > > For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain. > > Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b > Committing to blockchain (12212) > Verified Ledger and Block (12212) Writing Out My first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria). As you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second. **If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?** Well... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?** Let's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage. If you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs). My guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but "slowing down" the algorithm by implementing other "techniques", so mining would not be easy on GPU based miners. In order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially. Still, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task. There's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands. How about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right? Anyway, don't dream about becoming a millionaire just yet: **Rewards System: Lottery** Extracted from JSE's technical description page: https://jsecoin.com/technical/ > Mining Rewards > > Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found. > > Self-mining: 720 coins / day lottery system 1 ticket per hash found. > > Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud. This is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below). There are some limits though, to avoid fraud: For Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes For publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block. I did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty. **Difficulty** When we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains. This is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain. The difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above. There is a difference between the difficulty set for self-mining and for publisher mining. It's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website. Also, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining). **Mining process** When we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps: 1. Get a new block (which is a list of transactions and some additional data, such as the previous hash) 2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes) 3. Submit the found hash to the jsecoin server. Most of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket. After submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted. Both the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently. As far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way: 1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network. This also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers. 2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here: > {"blockID":89392,"blockReference":89,"difficulty":5,"frequency":30000,"hash":"","input":{"-Kxc9p2rppACO4kI9war":{"command":"mining","user1":16139,"value":0.005},[SNIPPED],{"command":"mining","user1":22210,"value":0.01}},"mainChain":true,"nonce":"*nonce*","open":false,"previousHash":"0000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95","server":"jsecoin","startTime":1509281189017,"version":"JSEcoin Controller v1.504"} Note that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95 which means someone else (not the miners) is actually solving the block and writing into the blockchain. This does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain. # Conslusions JSE Coin seems to be a promising way to monetize our websites. Even if I'm being somewhat critical of the platform, I still think it's a nice way to make some profit, without the need to intrude the visitors with annoying ads. Their system is very easy to use and their support is great. The project itself is very serious and I think they have a good potential of real growth. ### Results of Mining Activities during my research: **Original JSE code** * Self-Mining (Average of 3500 hps): 3 to 4 JSE coins / day (mining 24hs a day). * Publisher Mining (average of 600 hps): small size website with 500 uniques a day (average of 6 hours of mining a day) = 5 JSE coins / day **Optimized Code** * Self-Mining (Average of 70.000 hps): 3 to 4 JSE coins / day (SAME as original code, due to the limit of 1 ticket per block) Publisher Mining (average of 12.000 hps): 5- 7 JSE coins / day (apparently we need more traffic to make a real difference) It's important to mention that, as self-miners, even if were to get 1 lottery ticket per block, the max daily reward would be 7.2 JSE (1440 blocks/day * 0.005 -reward/block-), although, with the current competition, is going to be hard to achieve. It is anyway, easier and mcuh more profitable than other coins (given that 1JSE = 1USD) Publishers with multiple websites and lots of traffic will probably be able to make much more. I encourage you to try, since it's very easy and should not affect your website's user experience. https://platform.jsecoin.com ### Special requests I hope you enjoyed and learned from my experience with this platform. If you have any special requests, i.e., if you like me to perform a technical review or security analysis of any coin, please comment and I will do my best to help. Also, feel free to ask any questions. I can expand in the comments section. ETH Donations: 0x22D54de630C8e97137B701842C05D284b9Ea6469 |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/","https://platform.jsecoin.com"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16782028/Trx cd1366b630036bdc7a3fbd0307d784472b3df53d |
View Raw JSON Data
{
"trx_id": "cd1366b630036bdc7a3fbd0307d784472b3df53d",
"block": 16782028,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:43:36",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "First of all, some introduction: My name is Daniel, and I'm a web applications developer and cyber security consultant with more than 15 years of experience in web and mobile technologies.\n\nSome time ago I decided to immerse myself in blockchain technologies, and new projects caught my attention, since usually they are buggy and not secure at early stages, making it easy targets for fraudsters and hackers.\n\nToday, I would like to share with you my research of JSEcoin, a cryptocurrency built for people to mine with their browsers, with the goal to provide you with a better background in order for you to decide if it's safe enough to use their platform and to understand how profitable it can be.\n\n\nhttps://www.jsecoin.com\n\nI haven't seen any serious research on this platform, so I hope this information will be helpful for you today.\n\nI am going to make a technical analysis of their platform, explain how it works to the detail and mention the pros and cons of the program, both for webmasters and self-miners.\n\n# What is JSECoin? (The basics)\n\nJSECoin (JavaScript Embeded Cryptocurrency) is a new general purpose coin (beta platform was released on August 2017) that allows regular people and webmasters to become miners. Their main idea is to allow mining through CPU, as opposed to GPU or ASIC mining, which creates a trend for mining farms, such as the case with Bitcoin (enabling only people who are willing to make quite an investment to join the mining community)\n\nWith JSEcoin, it is as easy as opening your browser and start mining.\n\nIt is a great alternative to the classic advertisement model, as it does not disrupt the user experience, and it only takes a small amount of cpu from them (they claim mining takes less resources than running a video ad).\n\nThey offer two modes of mining: Self-Mining and Publisher Mining\n\n**Self-Mining**\n\nWith self-mining mode, the affiliate can simply login to the platform and go to the mining page.\nWithin a few clicks, he will start mining.\n\n\n\nDepending on the computer and browser you use, the amount of open applications and other factors , the hash-rate speed will vary. It basically will depend on how the browser distributes the resources (CPU in this case).\n\n\n**Publisher Mining**\n\nWith the Publisher Mining, webmasters include a javascript code in their websites, which basically will load the same functionality as for self-mining but within the visitors browsers.\n\nThere are many differences between these two modes, both in how they manage the mining results and in how they reward miners for their work.\n\nI tried both modes during my test period, with different results, but before jumping there, we need first to dive into some technical aspects of the platform:\n\n\n# JSECoin Platform: Geek talk\n\nI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.\n\nI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )\n\n**About JSECoin blockchain technology**\n\nHashing Algorithm: SHA256 \n\nExtracted from JSE's technical description page: https://jsecoin.com/technical/\n\n> Cryptography\n> We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.\n>\n> For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.\n>\n> Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b\n> Committing to blockchain (12212)\n> Verified Ledger and Block (12212) Writing Out\n\nMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).\nAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.\n\n**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**\n\nWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**\n\nLet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.\n\nIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).\n\nMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but \"slowing down\" the algorithm by implementing other \"techniques\", so mining would not be easy on GPU based miners.\n\nIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.\n\nStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.\n\nThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.\n\nHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?\n\nAnyway, don't dream about becoming a millionaire just yet:\n\n**Rewards System: Lottery**\n\nExtracted from JSE's technical description page: https://jsecoin.com/technical/\n\n> Mining Rewards\n> \n> Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.\n> \n> Self-mining: 720 coins / day lottery system 1 ticket per hash found.\n> \n> Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.\n\nThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).\n\nThere are some limits though, to avoid fraud:\n\nFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes\n\nFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.\n\nI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.\n\n**Difficulty**\n\nWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.\n\nThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.\n\nThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.\n\nThere is a difference between the difficulty set for self-mining and for publisher mining.\nIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.\n\nAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining).\n\n**Mining process**\n\nWhen we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps:\n\n1. Get a new block (which is a list of transactions and some additional data, such as the previous hash)\n2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes)\n3. Submit the found hash to the jsecoin server.\n\nMost of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket.\n\nAfter submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted.\n\nBoth the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently.\n\nAs far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way:\n\n1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network.\nThis also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers.\n\n2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here:\n\n> {\"blockID\":89392,\"blockReference\":89,\"difficulty\":5,\"frequency\":30000,\"hash\":\"\",\"input\":{\"-Kxc9p2rppACO4kI9war\":{\"command\":\"mining\",\"user1\":16139,\"value\":0.005},[SNIPPED],{\"command\":\"mining\",\"user1\":22210,\"value\":0.01}},\"mainChain\":true,\"nonce\":\"*nonce*\",\"open\":false,\"previousHash\":\"0000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95\",\"server\":\"jsecoin\",\"startTime\":1509281189017,\"version\":\"JSEcoin Controller v1.504\"}\n\nNote that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95\n\nwhich means someone else (not the miners) is actually solving the block and writing into the blockchain.\n\nThis does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain.\n\n\n# Conslusions\n\nJSE Coin seems to be a promising way to monetize our websites.\nEven if I'm being somewhat critical of the platform, I still think it's a nice way to make some profit, without the need to intrude the visitors with annoying ads.\n\nTheir system is very easy to use and their support is great. The project itself is very serious and I think they have a good potential of real growth.\n\n### Results of Mining Activities during my research:\n\n**Original JSE code**\n* Self-Mining (Average of 3500 hps): 3 to 4 JSE coins / day (mining 24hs a day).\n* Publisher Mining (average of 600 hps): small size website with 500 uniques a day (average of 6 hours of mining a day) = 5 JSE coins / day\n\n**Optimized Code**\n* Self-Mining (Average of 70.000 hps): 3 to 4 JSE coins / day (SAME as original code, due to the limit of 1 ticket per block)\nPublisher Mining (average of 12.000 hps): 5- 7 JSE coins / day (apparently we need more traffic to make a real difference)\n\nIt's important to mention that, as self-miners, even if were to get 1 lottery ticket per block, the max daily reward would be 7.2 JSE (1440 blocks/day * 0.005 -reward/block-), although, with the current competition, is going to be hard to achieve.\nIt is anyway, easier and mcuh more profitable than other coins (given that 1JSE = 1USD)\n\nPublishers with multiple websites and lots of traffic will probably be able to make much more.\n\nI encourage you to try, since it's very easy and should not affect your website's user experience.\nhttps://platform.jsecoin.com\n\n### Special requests\n\nI hope you enjoyed and learned from my experience with this platform.\nIf you have any special requests, i.e., if you like me to perform a technical review or security analysis of any coin, please comment and I will do my best to help.\n\nAlso, feel free to ask any questions. I can expand in the comments section.\n\n\nETH Donations: 0x22D54de630C8e97137B701842C05D284b9Ea6469",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\",\"https://platform.jsecoin.com\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}marinagarraupvoted (100.00%) @bitdroid / why-steemit-search-doesn-t-show-my-new-post2017/10/30 11:42:15
marinagarraupvoted (100.00%) @bitdroid / why-steemit-search-doesn-t-show-my-new-post
2017/10/30 11:42:15
| voter | marinagarra |
| author | bitdroid |
| permlink | why-steemit-search-doesn-t-show-my-new-post |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16782001/Trx 6a5eb29c157ef08638eca54fef378919ebe6b5cc |
View Raw JSON Data
{
"trx_id": "6a5eb29c157ef08638eca54fef378919ebe6b5cc",
"block": 16782001,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:42:15",
"op": [
"vote",
{
"voter": "marinagarra",
"author": "bitdroid",
"permlink": "why-steemit-search-doesn-t-show-my-new-post",
"weight": 10000
}
]
}bitdroidpublished a new post: why-steemit-search-doesn-t-show-my-new-post2017/10/30 11:42:06
bitdroidpublished a new post: why-steemit-search-doesn-t-show-my-new-post
2017/10/30 11:42:06
| parent author | |
| parent permlink | steemit |
| author | bitdroid |
| permlink | why-steemit-search-doesn-t-show-my-new-post |
| title | Why doesn't steemit search show my new post? |
| body | I wrote a new post yesterday, and I can't find it on steemit search page. Why does this happen?  This is my post: https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| json metadata | {"tags":["steemit","bug","search","not-found"],"image":["https://steemitimages.com/DQmVWFDyqWxAaYKC3s1JQ6EANKc3zSSAdZxAoBDHtjzy7br/1.png"],"links":["https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16781998/Trx 6f6d0b9ee89052cc5fb2cf7080e380a86272059b |
View Raw JSON Data
{
"trx_id": "6f6d0b9ee89052cc5fb2cf7080e380a86272059b",
"block": 16781998,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:42:06",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "steemit",
"author": "bitdroid",
"permlink": "why-steemit-search-doesn-t-show-my-new-post",
"title": "Why doesn't steemit search show my new post?",
"body": "I wrote a new post yesterday, and I can't find it on steemit search page.\nWhy does this happen?\n\n\n\nThis is my post: https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"json_metadata": "{\"tags\":[\"steemit\",\"bug\",\"search\",\"not-found\"],\"image\":[\"https://steemitimages.com/DQmVWFDyqWxAaYKC3s1JQ6EANKc3zSSAdZxAoBDHtjzy7br/1.png\"],\"links\":[\"https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bitdroidupvoted (100.00%) @bitdroid / why-steemit-search-doesn-t-show-my-new-post2017/10/30 11:41:33
bitdroidupvoted (100.00%) @bitdroid / why-steemit-search-doesn-t-show-my-new-post
2017/10/30 11:41:33
| voter | bitdroid |
| author | bitdroid |
| permlink | why-steemit-search-doesn-t-show-my-new-post |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16781987/Trx 1ae8fa05d58a3362c7226a0e6b1f5184d46bd8c9 |
View Raw JSON Data
{
"trx_id": "1ae8fa05d58a3362c7226a0e6b1f5184d46bd8c9",
"block": 16781987,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:41:33",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "bitdroid",
"permlink": "why-steemit-search-doesn-t-show-my-new-post",
"weight": 10000
}
]
}bitdroidupdated options for why-steemit-search-doesn-t-show-my-new-post2017/10/30 11:41:33
bitdroidupdated options for why-steemit-search-doesn-t-show-my-new-post
2017/10/30 11:41:33
| author | bitdroid |
| permlink | why-steemit-search-doesn-t-show-my-new-post |
| max accepted payout | 1000000.000 SBD |
| percent steem dollars | 0 |
| allow votes | true |
| allow curation rewards | true |
| extensions | [] |
| Transaction Info | Block #16781987/Trx 1ae8fa05d58a3362c7226a0e6b1f5184d46bd8c9 |
View Raw JSON Data
{
"trx_id": "1ae8fa05d58a3362c7226a0e6b1f5184d46bd8c9",
"block": 16781987,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:41:33",
"op": [
"comment_options",
{
"author": "bitdroid",
"permlink": "why-steemit-search-doesn-t-show-my-new-post",
"max_accepted_payout": "1000000.000 SBD",
"percent_steem_dollars": 0,
"allow_votes": true,
"allow_curation_rewards": true,
"extensions": []
}
]
}bitdroidpublished a new post: why-steemit-search-doesn-t-show-my-new-post2017/10/30 11:41:33
bitdroidpublished a new post: why-steemit-search-doesn-t-show-my-new-post
2017/10/30 11:41:33
| parent author | |
| parent permlink | steemit |
| author | bitdroid |
| permlink | why-steemit-search-doesn-t-show-my-new-post |
| title | Why steemit search doesn't show my new post? |
| body | I wrote a new post yesterday, and I can't find it on steemit search page. Why does this happen?  This is my post: https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| json metadata | {"tags":["steemit","bug","search","not-found"],"image":["https://steemitimages.com/DQmVWFDyqWxAaYKC3s1JQ6EANKc3zSSAdZxAoBDHtjzy7br/1.png"],"links":["https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16781987/Trx 1ae8fa05d58a3362c7226a0e6b1f5184d46bd8c9 |
View Raw JSON Data
{
"trx_id": "1ae8fa05d58a3362c7226a0e6b1f5184d46bd8c9",
"block": 16781987,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T11:41:33",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "steemit",
"author": "bitdroid",
"permlink": "why-steemit-search-doesn-t-show-my-new-post",
"title": "Why steemit search doesn't show my new post?",
"body": "I wrote a new post yesterday, and I can't find it on steemit search page.\nWhy does this happen?\n\n\n\nThis is my post: https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"json_metadata": "{\"tags\":[\"steemit\",\"bug\",\"search\",\"not-found\"],\"image\":[\"https://steemitimages.com/DQmVWFDyqWxAaYKC3s1JQ6EANKc3zSSAdZxAoBDHtjzy7br/1.png\"],\"links\":[\"https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2017/10/30 08:13:03
2017/10/30 08:13:03
| parent author | topshelfextracts |
| parent permlink | re-topshelfextracts-my-experience-with-jse-coin-so-far-and-predictions-for-the-future-20170911t174814542z |
| author | bitdroid |
| permlink | re-topshelfextracts-re-topshelfextracts-my-experience-with-jse-coin-so-far-and-predictions-for-the-future-20171030t081411038z |
| title | |
| body | If you want to understand how to optimize hashrate, check my new post: https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits It's not gonna work with self-mining, because of the imposed limits on the platform, but it might maximize profits on websites with medium size traffic. |
| json metadata | {"tags":["jsecoin"],"links":["https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits"],"app":"steemit/0.1"} |
| Transaction Info | Block #16777818/Trx 146732e432dbe404ad6714d8dc956f8487cbdfaf |
View Raw JSON Data
{
"trx_id": "146732e432dbe404ad6714d8dc956f8487cbdfaf",
"block": 16777818,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-30T08:13:03",
"op": [
"comment",
{
"parent_author": "topshelfextracts",
"parent_permlink": "re-topshelfextracts-my-experience-with-jse-coin-so-far-and-predictions-for-the-future-20170911t174814542z",
"author": "bitdroid",
"permlink": "re-topshelfextracts-re-topshelfextracts-my-experience-with-jse-coin-so-far-and-predictions-for-the-future-20171030t081411038z",
"title": "",
"body": "If you want to understand how to optimize hashrate, check my new post:\nhttps://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits\n\nIt's not gonna work with self-mining, because of the imposed limits on the platform, but it might maximize profits on websites with medium size traffic.",
"json_metadata": "{\"tags\":[\"jsecoin\"],\"links\":[\"https://steemit.com/jsecoin/@bitdroid/jsecoin-platform-technical-analysis-and-how-to-maximize-profits\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/10/29 14:44:15
2017/10/29 14:44:15
| parent author | jacobb |
| parent permlink | re-bitdroid-re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20171005t044848840z |
| author | bitdroid |
| permlink | re-jacobb-re-bitdroid-re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20171029t144521176z |
| title | |
| body | Sorry for the late reply. You can't spend it. The client won't allow you. I finally used neowallet.cn in order to use my NEO. It's the same code as the original neo web wallet. No need to sync anything there. |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #16756845/Trx c5395b45f41c6a9f436e5a5c6ab67fb6305d1f37 |
View Raw JSON Data
{
"trx_id": "c5395b45f41c6a9f436e5a5c6ab67fb6305d1f37",
"block": 16756845,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-29T14:44:15",
"op": [
"comment",
{
"parent_author": "jacobb",
"parent_permlink": "re-bitdroid-re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20171005t044848840z",
"author": "bitdroid",
"permlink": "re-jacobb-re-bitdroid-re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20171029t144521176z",
"title": "",
"body": "Sorry for the late reply.\n\nYou can't spend it. The client won't allow you.\n\nI finally used neowallet.cn in order to use my NEO. It's the same code as the original neo web wallet.\nNo need to sync anything there.",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/10/29 14:10:57
2017/10/29 14:10:57
| voter | ohreally |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| weight | 100 (1.00%) |
| Transaction Info | Block #16756179/Trx 75762dee9b15210910274e6a7cbb048db31358dd |
View Raw JSON Data
{
"trx_id": "75762dee9b15210910274e6a7cbb048db31358dd",
"block": 16756179,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-29T14:10:57",
"op": [
"vote",
{
"voter": "ohreally",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"weight": 100
}
]
}bitdroidupdated their account properties2017/10/29 13:58:33
bitdroidupdated their account properties
2017/10/29 13:58:33
| account | bitdroid |
| memo key | STM89hKsXxx7MeWQ5aw6XSDmf3E55ukqmJcgyojjsXiuTniBEXM5o |
| json metadata | {"profile":{"profile_image":"https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg","cover_image":"https://wallpaperstock.net/aurora-v.2-wallpapers_19608_1920x1080.jpg","name":"BitDroid"}} |
| Transaction Info | Block #16755931/Trx 2dd9d4f116649f7c79648fc294fa1d6f8f0f32bb |
View Raw JSON Data
{
"trx_id": "2dd9d4f116649f7c79648fc294fa1d6f8f0f32bb",
"block": 16755931,
"trx_in_block": 28,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-29T13:58:33",
"op": [
"account_update",
{
"account": "bitdroid",
"memo_key": "STM89hKsXxx7MeWQ5aw6XSDmf3E55ukqmJcgyojjsXiuTniBEXM5o",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg\",\"cover_image\":\"https://wallpaperstock.net/aurora-v.2-wallpapers_19608_1920x1080.jpg\",\"name\":\"BitDroid\"}}"
}
]
}bitdroidupdated their account properties2017/10/29 13:56:45
bitdroidupdated their account properties
2017/10/29 13:56:45
| account | bitdroid |
| memo key | STM89hKsXxx7MeWQ5aw6XSDmf3E55ukqmJcgyojjsXiuTniBEXM5o |
| json metadata | {"profile":{"profile_image":"https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg","cover_image":"https://www.google.co.il/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwjir5jv_ZXXAhXKJlAKHaB7CuQQjRwIBw&url=https%3A%2F%2Fwallpaperstock.net%2Faurora-v.2-wallpapers_w19608.html&psig=AOvVaw2zQjgvwpia0cY2VmrdJNM9&ust=1509371691339682","name":"BitDroid"}} |
| Transaction Info | Block #16755895/Trx 51c96cb5d7e78581cc000574d9a5987fa285d628 |
View Raw JSON Data
{
"trx_id": "51c96cb5d7e78581cc000574d9a5987fa285d628",
"block": 16755895,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-29T13:56:45",
"op": [
"account_update",
{
"account": "bitdroid",
"memo_key": "STM89hKsXxx7MeWQ5aw6XSDmf3E55ukqmJcgyojjsXiuTniBEXM5o",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg\",\"cover_image\":\"https://www.google.co.il/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwjir5jv_ZXXAhXKJlAKHaB7CuQQjRwIBw&url=https%3A%2F%2Fwallpaperstock.net%2Faurora-v.2-wallpapers_w19608.html&psig=AOvVaw2zQjgvwpia0cY2VmrdJNM9&ust=1509371691339682\",\"name\":\"BitDroid\"}}"
}
]
}bitdroidupvoted (100.00%) @bitdroid / jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/29 13:54:24
bitdroidupvoted (100.00%) @bitdroid / jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/29 13:54:24
| voter | bitdroid |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| weight | 10000 (100.00%) |
| Transaction Info | Block #16755848/Trx 0452a4174ef9c43b50ad4a79f7e811d3c0880cff |
View Raw JSON Data
{
"trx_id": "0452a4174ef9c43b50ad4a79f7e811d3c0880cff",
"block": 16755848,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-29T13:54:24",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"weight": 10000
}
]
}bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits2017/10/29 13:47:57
bitdroidpublished a new post: jsecoin-platform-technical-analysis-and-how-to-maximize-profits
2017/10/29 13:47:57
| parent author | |
| parent permlink | jsecoin |
| author | bitdroid |
| permlink | jsecoin-platform-technical-analysis-and-how-to-maximize-profits |
| title | JSECoin: Platform Technical Analysis and how to maximize profits |
| body | First of all, some introduction: My name is Daniel, and I'm a web applications developer and cyber security consultant with more than 15 years of experience in web and mobile technologies. Some time ago I decided to immerse myself in blockchain technologies, and new projects caught my attention, since usually they are buggy and not secure at early stages, making it easy targets for fraudsters and hackers. Today, I would like to share with you my research of JSEcoin, a cryptocurrency built for people to mine with their browsers, with the goal to provide you with a better background in order for you to decide if it's safe enough to use their platform and to understand how profitable it can be.  https://www.jsecoin.com I haven't seen any serious research on this platform, so I hope this information will be helpful for you today. I am going to make a technical analysis of their platform, explain how it works to the detail and mention the pros and cons of the program, both for webmasters and self-miners. # What is JSECoin? (The basics) JSECoin (JavaScript Embeded Cryptocurrency) is a new general purpose coin (beta platform was released on August 2017) that allows regular people and webmasters to become miners. Their main idea is to allow mining through CPU, as opposed to GPU or ASIC mining, which creates a trend for mining farms, such as the case with Bitcoin (enabling only people who are willing to make quite an investment to join the mining community) With JSEcoin, it is as easy as opening your browser and start mining. It is a great alternative to the classic advertisement model, as it does not disrupt the user experience, and it only takes a small amount of cpu from them (they claim mining takes less resources than running a video ad). They offer two modes of mining: Self-Mining and Publisher Mining **Self-Mining** With self-mining mode, the affiliate can simply login to the platform and go to the mining page. Within a few clicks, he will start mining.  Depending on the computer and browser you use, the amount of open applications and other factors , the hash-rate speed will vary. It basically will depend on how the browser distributes the resources (CPU in this case). **Publisher Mining** With the Publisher Mining, webmasters include a javascript code in their websites, which basically will load the same functionality as for self-mining but within the visitors browsers. There are many differences between these two modes, both in how they manage the mining results and in how they reward miners for their work. I tried both modes during my test period, with different results, but before jumping there, we need first to dive into some technical aspects of the platform: # JSECoin Platform: Geek talk I'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post. I would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; ) **About JSECoin blockchain technology** Hashing Algorithm: SHA256 Extracted from JSE's technical description page: https://jsecoin.com/technical/ > Cryptography > We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side. > > For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain. > > Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b > Committing to blockchain (12212) > Verified Ledger and Block (12212) Writing Out My first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria). As you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second. **If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?** Well... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?** Let's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage. If you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs). My guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but "slowing down" the algorithm by implementing other "techniques", so mining would not be easy on GPU based miners. In order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially. Still, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task. There's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands. How about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right? Anyway, don't dream about becoming a millionaire just yet: **Rewards System: Lottery** Extracted from JSE's technical description page: https://jsecoin.com/technical/ > Mining Rewards > > Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found. > > Self-mining: 720 coins / day lottery system 1 ticket per hash found. > > Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud. This is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below). There are some limits though, to avoid fraud: For Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes For publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block. I did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty. **Difficulty** When we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains. This is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain. The difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above. There is a difference between the difficulty set for self-mining and for publisher mining. It's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website. Also, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining). **Mining process** When we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps: 1. Get a new block (which is a list of transactions and some additional data, such as the previous hash) 2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes) 3. Submit the found hash to the jsecoin server. Most of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket. After submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted. Both the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently. As far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way: 1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network. This also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers. 2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here: > {"blockID":89392,"blockReference":89,"difficulty":5,"frequency":30000,"hash":"","input":{"-Kxc9p2rppACO4kI9war":{"command":"mining","user1":16139,"value":0.005},[SNIPPED],{"command":"mining","user1":22210,"value":0.01}},"mainChain":true,"nonce":"*nonce*","open":false,"previousHash":"0000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95","server":"jsecoin","startTime":1509281189017,"version":"JSEcoin Controller v1.504"} Note that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95 which means someone else (not the miners) is actually solving the block and writing into the blockchain. This does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain. # Conslusions JSE Coin seems to be a promising way to monetize our websites. Even if I'm being somewhat critical of the platform, I still think it's a nice way to make some profit, without the need to intrude the visitors with annoying ads. Their system is very easy to use and their support is great. The project itself is very serious and I think they have a good potential of real growth. ### Results of Mining Activities during my research: **Original JSE code** * Self-Mining (Average of 3500 hps): 3 to 4 JSE coins / day (mining 24hs a day). * Publisher Mining (average of 600 hps): small size website with 500 uniques a day (average of 6 hours of mining a day) = 5 JSE coins / day **Optimized Code** * Self-Mining (Average of 70.000 hps): 3 to 4 JSE coins / day (SAME as original code, due to the limit of 1 ticket per block) Publisher Mining (average of 12.000 hps): 5- 7 JSE coins / day (apparently we need more traffic to make a real difference) It's important to mention that, as self-miners, even if were to get 1 lottery ticket per block, the max daily reward would be 7.2 JSE (1440 blocks/day * 0.005 -reward/block-), although, with the current competition, is going to be hard to achieve. It is anyway, easier and mcuh more profitable than other coins (given that 1JSE = 1USD) Publishers with multiple websites and lots of traffic will probably be able to make much more. I encourage you to try, since it's very easy and should not affect your website's user experience. https://platform.jsecoin.com ### Special requests I hope you enjoyed and learned from my experience with this platform. If you have any special requests, i.e., if you like me to perform a technical review or security analysis of any coin, please comment and I will do my best to help. Also, feel free to ask any questions. I can expand in the comments section. ETH Donations: 0x22D54de630C8e97137B701842C05D284b9Ea6469 |
| json metadata | {"tags":["jsecoin","profit","browser","mining"],"image":["https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png","https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png"],"links":["https://www.jsecoin.com","https://jsecoin.com/technical/","https://platform.jsecoin.com"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #16755719/Trx 59076f126c9f9e6e6f9277abe4640639e23e563a |
View Raw JSON Data
{
"trx_id": "59076f126c9f9e6e6f9277abe4640639e23e563a",
"block": 16755719,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-29T13:47:57",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "jsecoin",
"author": "bitdroid",
"permlink": "jsecoin-platform-technical-analysis-and-how-to-maximize-profits",
"title": "JSECoin: Platform Technical Analysis and how to maximize profits",
"body": "First of all, some introduction: My name is Daniel, and I'm a web applications developer and cyber security consultant with more than 15 years of experience in web and mobile technologies.\n\nSome time ago I decided to immerse myself in blockchain technologies, and new projects caught my attention, since usually they are buggy and not secure at early stages, making it easy targets for fraudsters and hackers.\n\nToday, I would like to share with you my research of JSEcoin, a cryptocurrency built for people to mine with their browsers, with the goal to provide you with a better background in order for you to decide if it's safe enough to use their platform and to understand how profitable it can be.\n\n\nhttps://www.jsecoin.com\n\nI haven't seen any serious research on this platform, so I hope this information will be helpful for you today.\n\nI am going to make a technical analysis of their platform, explain how it works to the detail and mention the pros and cons of the program, both for webmasters and self-miners.\n\n# What is JSECoin? (The basics)\n\nJSECoin (JavaScript Embeded Cryptocurrency) is a new general purpose coin (beta platform was released on August 2017) that allows regular people and webmasters to become miners. Their main idea is to allow mining through CPU, as opposed to GPU or ASIC mining, which creates a trend for mining farms, such as the case with Bitcoin (enabling only people who are willing to make quite an investment to join the mining community)\n\nWith JSEcoin, it is as easy as opening your browser and start mining.\n\nIt is a great alternative to the classic advertisement model, as it does not disrupt the user experience, and it only takes a small amount of cpu from them (they claim mining takes less resources than running a video ad).\n\nThey offer two modes of mining: Self-Mining and Publisher Mining\n\n**Self-Mining**\n\nWith self-mining mode, the affiliate can simply login to the platform and go to the mining page.\nWithin a few clicks, he will start mining.\n\n\n\nDepending on the computer and browser you use, the amount of open applications and other factors , the hash-rate speed will vary. It basically will depend on how the browser distributes the resources (CPU in this case).\n\n\n**Publisher Mining**\n\nWith the Publisher Mining, webmasters include a javascript code in their websites, which basically will load the same functionality as for self-mining but within the visitors browsers.\n\nThere are many differences between these two modes, both in how they manage the mining results and in how they reward miners for their work.\n\nI tried both modes during my test period, with different results, but before jumping there, we need first to dive into some technical aspects of the platform:\n\n\n# JSECoin Platform: Geek talk\n\nI'm not going to explain how the blockchain technology works. That's a topic that deserves an exclusive post.\n\nI would like to mention some interesting technical aspects of the platform, to understand how it really works in the back-end, so you will have a good perspective on what happens when you mine -and what you can do to optimize profits ; )\n\n**About JSECoin blockchain technology**\n\nHashing Algorithm: SHA256 \n\nExtracted from JSE's technical description page: https://jsecoin.com/technical/\n\n> Cryptography\n> We have secp256k1 elliptical curve ECDSA working both server side and client side in the browser. This allows users to digitally sign their transactions within the browser and verify them either server side or client side.\n>\n> For hashing we use the standard SHA256 algorithm. When available we use the browsers Crypto.Subtle API as this offers near native performance. On older browsers there is a fallback SHA256 function. The SHA256 algorithm takes data of any length or size and produces a unique code string for it which is always the same length. When searching for hashes we change the data by just one digit and it calculates a completely different string of alphanumeric letters. Our miners do this calculation over and over again looking for the lowest possible value string which will have leading zeros. Below you can see some actual server console logging data which shows a completed hash being written to the blockchain.\n>\n> Solved block 12212 Hash: 00000090ca96abe1b5b050eb23da924bfe435708afb2288f560b3eb8668d921b\n> Committing to blockchain (12212)\n> Verified Ledger and Block (12212) Writing Out\n\nMy first remark here is about the implementation of SHA256 hashing algorithm for finding a solution to a block (a hash that meets a specific criteria).\nAs you may know, SHA256 is quite a fast algorithm for hashing. It is used in many cryptocurrencies, including Bitcoin, which can be mined with GPUs and ASICs at hash-rates of millions per second.\n\n**If that's the case, why do we get only a few thousand hashes-per-second (as shown in the screenshot above)?**\n\nWell... first of all, the javascript code implemented for mining is using the CPU, in order to perform the calculations, so there's no parallelization in place. But ... **who said the mining calculations need to be performed within the browser?**\n\nLet's say an affiliate would like to implement a self-mining custom code, not in the browser, but in a mining rig (with GPU capabilities). The fact that jsecoin uses SHA256, would theoretically enable him to multiply the hash-rate by millions, leaving other self-miners in complete disadvantage.\n\nIf you are familiar with Monero (XRM), which is also designed to mine with CPU , you know they implement the Cryptonight algorithm, which is super-slow in comparison to SHA256, allowing an estimated maximum hash-rate of of 100-120 hps (of high end CPUs).\n\nMy guess is that cryptonight was too slow for the JSEcoin project and, thus, the team decided to use SHA256 but \"slowing down\" the algorithm by implementing other \"techniques\", so mining would not be easy on GPU based miners.\n\nIn order to avoid these scenarios the JSEcoin team implemented some coding traps, such as the need to perform a string replacement before each hashing attempt, slowing down performance substantially.\n\nStill, it doesn't rule out the possibility to increment the hash-rate: In my attempts to raise the hash-rate, I managed to optimize the code in order to obtain about 35.000 hps (running on CPU, single process). Running on multiple cores, one would multiply the hash-rate, and building a custom code for GPU processing would take it to between 100-300K hps, but its not an easy task.\n\nThere's even the possibility of implementing WebGL (javascript's API to use GPU) in order to perform publisher mining, optimizing the visitor's hash-rate by the thousands.\n\nHow about that? taking into consideration that the average hash-rate for website-mining would be about 500-1000hps, it's quite an advantage, right?\n\nAnyway, don't dream about becoming a millionaire just yet:\n\n**Rewards System: Lottery**\n\nExtracted from JSE's technical description page: https://jsecoin.com/technical/\n\n> Mining Rewards\n> \n> Publisher Mining: 1440 coins / day, lottery system, tickets are distributed for unique visitors, page views and hashes found.\n> \n> Self-mining: 720 coins / day lottery system 1 ticket per hash found.\n> \n> Note. Per block ticket limits are placed on the lottery to ensure a fair distribution and to combat mining-fraud.\n\nThis is the system in place to distribute rewards for mining. Basically, you participate in a lottery every 30 seconds (block time), and you get a ticket to participate if you find a hash (more about found hashes in Difficulty, below).\n\nThere are some limits though, to avoid fraud:\n\nFor Self-mining only 1 hash per block is granted. This means you participate in a lottery with only 1 ticket, even if you found 50 hashes\n\nFor publisher mining, one ticket per unique visitor per block is granted, meaning you will be granted as many tickets as unique visitors (that solved a hash) you will have for that block.\n\nI did some additional digging and, as of today, there are between 500 and 1000 self-miners constantly mining, making it quite competitive with the current difficulty.\n\n**Difficulty**\n\nWhen we talk about mining and solving/finding hashes, we are talking about the Proof of work system, which is implemented in many blockchains.\n\nThis is the way blockchains create a consensus system, where only one miner gets to define which block is written onto the ledger after some hard work (mining), and where all the rest can easily validate the block. This is used to address some issues, such as the double-spending problem and other types of attacks on the blockchain.\n\nThe difficulty is used in order to set the estimated amount of time it should take to solve a block (to find a hash matching N amount of leading zeroes), as shown in the quoted text above.\n\nThere is a difference between the difficulty set for self-mining and for publisher mining.\nIt's easier for self-miners to find hashes for a block than for a visitor of a publisher's website, although the publisher will have more tickets if he has enough traffic in his website.\n\nAlso, the publishers have twice the amount of coins they can get as reward (1440 daily, as opposed to 720 for self-mining).\n\n**Mining process**\n\nWhen we start mining, either with self-mining or publisher-mining modes, the browser will load a javascript file that will follow these steps:\n\n1. Get a new block (which is a list of transactions and some additional data, such as the previous hash)\n2. Run hashing calculation to find solutions (hashes with N amount of leading zeroes)\n3. Submit the found hash to the jsecoin server.\n\nMost of the work load happens in step 2, as explained above, but I want to mention the importance of step 3, which is when we deliver the result that will grant us a ticket.\n\nAfter submitting a found hash to JSE server, it will be processed and a loterry ticket will be granted.\n\nBoth the self-miners and publishers send the request to the same method, but they validate whether you are one or the other, and also they check if your hash matches the block consistently.\n\nAs far as I understood, when using the platform for mining, I cannot say for sure it's real mining. Here are two facts that make me think this way:\n\n1. All miners connect to only one JSEcoin server (to get block and submit). That's the only node they connect to, making it work more as a mining pool than a real mining network.\nThis also has security implications, since this makes the JSEcoin server a single point of failure, should it be compromised by attackers.\n\n2. When miners get a new block (step 1), the previous hash parameter has, usually, 6 leading zeroes, as shown here:\n\n> {\"blockID\":89392,\"blockReference\":89,\"difficulty\":5,\"frequency\":30000,\"hash\":\"\",\"input\":{\"-Kxc9p2rppACO4kI9war\":{\"command\":\"mining\",\"user1\":16139,\"value\":0.005},[SNIPPED],{\"command\":\"mining\",\"user1\":22210,\"value\":0.01}},\"mainChain\":true,\"nonce\":\"*nonce*\",\"open\":false,\"previousHash\":\"0000001b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95\",\"server\":\"jsecoin\",\"startTime\":1509281189017,\"version\":\"JSEcoin Controller v1.504\"}\n\nNote that the value of previousHash has 6 leading zeroes (more than the current publisher mining difficulty of 5): **000000**1b6ffb89e653e75c6d5432e0af25994f9775a023171ad1e62cea609b95\n\nwhich means someone else (not the miners) is actually solving the block and writing into the blockchain.\n\nThis does not influence the reward system whatsoever, but it gives us the hint that the lottery is a system that is not really built on the blockchain, but works in a parallel way, making the whole JSEcoin platform a gambling portal and for which our mining work is not really used to secure the blockchain.\n\n\n# Conslusions\n\nJSE Coin seems to be a promising way to monetize our websites.\nEven if I'm being somewhat critical of the platform, I still think it's a nice way to make some profit, without the need to intrude the visitors with annoying ads.\n\nTheir system is very easy to use and their support is great. The project itself is very serious and I think they have a good potential of real growth.\n\n### Results of Mining Activities during my research:\n\n**Original JSE code**\n* Self-Mining (Average of 3500 hps): 3 to 4 JSE coins / day (mining 24hs a day).\n* Publisher Mining (average of 600 hps): small size website with 500 uniques a day (average of 6 hours of mining a day) = 5 JSE coins / day\n\n**Optimized Code**\n* Self-Mining (Average of 70.000 hps): 3 to 4 JSE coins / day (SAME as original code, due to the limit of 1 ticket per block)\nPublisher Mining (average of 12.000 hps): 5- 7 JSE coins / day (apparently we need more traffic to make a real difference)\n\nIt's important to mention that, as self-miners, even if were to get 1 lottery ticket per block, the max daily reward would be 7.2 JSE (1440 blocks/day * 0.005 -reward/block-), although, with the current competition, is going to be hard to achieve.\nIt is anyway, easier and mcuh more profitable than other coins (given that 1JSE = 1USD)\n\nPublishers with multiple websites and lots of traffic will probably be able to make much more.\n\nI encourage you to try, since it's very easy and should not affect your website's user experience.\nhttps://platform.jsecoin.com\n\n### Special requests\n\nI hope you enjoyed and learned from my experience with this platform.\nIf you have any special requests, i.e., if you like me to perform a technical review or security analysis of any coin, please comment and I will do my best to help.\n\nAlso, feel free to ask any questions. I can expand in the comments section.\n\n\nETH Donations: 0x22D54de630C8e97137B701842C05D284b9Ea6469",
"json_metadata": "{\"tags\":[\"jsecoin\",\"profit\",\"browser\",\"mining\"],\"image\":[\"https://steemitimages.com/DQmWy4QJvatxeXYE3zXA1dFewrn6wnGZSetRPtSXTGyJqm8/JSEcoi.png\",\"https://steemitimages.com/DQmYiUhTNoKFm4SYbUffNesiMyMSt4r792SrPoWNBLvTDH6/1.png\"],\"links\":[\"https://www.jsecoin.com\",\"https://jsecoin.com/technical/\",\"https://platform.jsecoin.com\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2017/10/13 16:01:30
2017/10/13 16:01:30
| delegator | steem |
| delegatee | bitdroid |
| vesting shares | 29831.458568 VESTS |
| Transaction Info | Block #16298216/Trx 68825f70289a6528bd6bfdb413926a702ab74beb |
View Raw JSON Data
{
"trx_id": "68825f70289a6528bd6bfdb413926a702ab74beb",
"block": 16298216,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-13T16:01:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bitdroid",
"vesting_shares": "29831.458568 VESTS"
}
]
}2017/10/05 04:48:57
2017/10/05 04:48:57
| parent author | bitdroid |
| parent permlink | re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20170928t064557371z |
| author | jacobb |
| permlink | re-bitdroid-re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20171005t044848840z |
| title | |
| body | I wish mine would to. I wonder can you still spend from it if its showing zero balance? |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #16054498/Trx ca651e934ca06a4c9e4ee64df966e5dd482524c2 |
View Raw JSON Data
{
"trx_id": "ca651e934ca06a4c9e4ee64df966e5dd482524c2",
"block": 16054498,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-05T04:48:57",
"op": [
"comment",
{
"parent_author": "bitdroid",
"parent_permlink": "re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20170928t064557371z",
"author": "jacobb",
"permlink": "re-bitdroid-re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20171005t044848840z",
"title": "",
"body": "I wish mine would to. I wonder can you still spend from it if its showing zero balance?",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}bitdroidfollowed @jerrybanfield2017/09/28 06:51:21
bitdroidfollowed @jerrybanfield
2017/09/28 06:51:21
| required auths | [] |
| required posting auths | ["bitdroid"] |
| id | follow |
| json | ["follow",{"follower":"bitdroid","following":"jerrybanfield","what":["blog"]}] |
| Transaction Info | Block #15855512/Trx 587cea1b504bee24c79794e2dd9360ef7b13636c |
View Raw JSON Data
{
"trx_id": "587cea1b504bee24c79794e2dd9360ef7b13636c",
"block": 15855512,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-09-28T06:51:21",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"bitdroid"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"bitdroid\",\"following\":\"jerrybanfield\",\"what\":[\"blog\"]}]"
}
]
}2017/09/28 06:49:57
2017/09/28 06:49:57
| voter | bitdroid |
| author | bitdroid |
| permlink | re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20170928t064557371z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #15855484/Trx 2d894f278396cc64c361a656f9935da26fc6b706 |
View Raw JSON Data
{
"trx_id": "2d894f278396cc64c361a656f9935da26fc6b706",
"block": 15855484,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-09-28T06:49:57",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "bitdroid",
"permlink": "re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20170928t064557371z",
"weight": 10000
}
]
}2017/09/28 06:49:48
2017/09/28 06:49:48
| parent author | guppyken |
| parent permlink | neo-antshares-wallet-does-not-show-your-balance-this-may-help |
| author | bitdroid |
| permlink | re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20170928t064557371z |
| title | |
| body | I just moved to NEO GUI wallet. It is fully synced. I imported my private key and I still don't see any balance. I do see my NEO coins in neo-explorer.org but not in the neo wallet. Did anyone manage to solve this issue? |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #15855481/Trx 219d1bb082584843239d542001493fd51d5f5e86 |
View Raw JSON Data
{
"trx_id": "219d1bb082584843239d542001493fd51d5f5e86",
"block": 15855481,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-09-28T06:49:48",
"op": [
"comment",
{
"parent_author": "guppyken",
"parent_permlink": "neo-antshares-wallet-does-not-show-your-balance-this-may-help",
"author": "bitdroid",
"permlink": "re-guppyken-neo-antshares-wallet-does-not-show-your-balance-this-may-help-20170928t064557371z",
"title": "",
"body": "I just moved to NEO GUI wallet. It is fully synced.\nI imported my private key and I still don't see any balance.\nI do see my NEO coins in neo-explorer.org but not in the neo wallet.\n\nDid anyone manage to solve this issue?",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}bitdroidupvoted (100.00%) @guppyken / neo-antshares-wallet-does-not-show-your-balance-this-may-help2017/09/28 06:46:42
bitdroidupvoted (100.00%) @guppyken / neo-antshares-wallet-does-not-show-your-balance-this-may-help
2017/09/28 06:46:42
| voter | bitdroid |
| author | guppyken |
| permlink | neo-antshares-wallet-does-not-show-your-balance-this-may-help |
| weight | 10000 (100.00%) |
| Transaction Info | Block #15855419/Trx 6e54121b00831775c109c4775280a5e4a3b24bcb |
View Raw JSON Data
{
"trx_id": "6e54121b00831775c109c4775280a5e4a3b24bcb",
"block": 15855419,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-09-28T06:46:42",
"op": [
"vote",
{
"voter": "bitdroid",
"author": "guppyken",
"permlink": "neo-antshares-wallet-does-not-show-your-balance-this-may-help",
"weight": 10000
}
]
}2017/09/28 06:40:03
2017/09/28 06:40:03
| fee | 0.500 STEEM |
| delegation | 57000.000000 VESTS |
| creator | steem |
| new account name | bitdroid |
| owner | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM5DQtrE8E5Qe1xKepxVXN1u9Aabk58jqNoBMmoZuTFaWiCiPZ6k",1]]} |
| active | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM6s43i72khKQJAA35mm39vmGWHgjvjoZWbEF65wx96ywFrx5i5p",1]]} |
| posting | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM6zVhKqH7TVMJ1evwJsXrY9e1sjoJcD9uCPDnpZTvE1dtZLETPG",1]]} |
| memo key | STM89hKsXxx7MeWQ5aw6XSDmf3E55ukqmJcgyojjsXiuTniBEXM5o |
| json metadata | |
| extensions | [] |
| Transaction Info | Block #15855286/Trx 42f848c5cb1b5224ed7672c3c7ecca3a63c19207 |
View Raw JSON Data
{
"trx_id": "42f848c5cb1b5224ed7672c3c7ecca3a63c19207",
"block": 15855286,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-09-28T06:40:03",
"op": [
"account_create_with_delegation",
{
"fee": "0.500 STEEM",
"delegation": "57000.000000 VESTS",
"creator": "steem",
"new_account_name": "bitdroid",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5DQtrE8E5Qe1xKepxVXN1u9Aabk58jqNoBMmoZuTFaWiCiPZ6k",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6s43i72khKQJAA35mm39vmGWHgjvjoZWbEF65wx96ywFrx5i5p",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6zVhKqH7TVMJ1evwJsXrY9e1sjoJcD9uCPDnpZTvE1dtZLETPG",
1
]
]
},
"memo_key": "STM89hKsXxx7MeWQ5aw6XSDmf3E55ukqmJcgyojjsXiuTniBEXM5o",
"json_metadata": "",
"extensions": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779055644
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779055644
},
"rc_account": {
"account": "bitdroid",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779055644
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg","cover_image":"https://wallpaperstock.net/aurora-v.2-wallpapers_19608_1920x1080.jpg","name":"BitDroid"} |
| JSON METADATA | |
| profile | {"profile_image":"https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg","cover_image":"https://wallpaperstock.net/aurora-v.2-wallpapers_19608_1920x1080.jpg","name":"BitDroid"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg",
"cover_image": "https://wallpaperstock.net/aurora-v.2-wallpapers_19608_1920x1080.jpg",
"name": "BitDroid"
}
},
"json_metadata": {
"profile": {
"profile_image": "https://img0.etsystatic.com/119/1/12536029/il_340x270.927495636_dm7f.jpg",
"cover_image": "https://wallpaperstock.net/aurora-v.2-wallpapers_19608_1920x1080.jpg",
"name": "BitDroid"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM5DQtrE8E5Qe1xKepxVXN1u9Aabk58jqNoBMmoZuTFaWiCiPZ6k1/1
Active
Single Signature
Public Keys
STM6s43i72khKQJAA35mm39vmGWHgjvjoZWbEF65wx96ywFrx5i5p1/1
Posting
Single Signature
Public Keys
STM6zVhKqH7TVMJ1evwJsXrY9e1sjoJcD9uCPDnpZTvE1dtZLETPG1/1
Memo
STM89hKsXxx7MeWQ5aw6XSDmf3E55ukqmJcgyojjsXiuTniBEXM5o
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5DQtrE8E5Qe1xKepxVXN1u9Aabk58jqNoBMmoZuTFaWiCiPZ6k",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6s43i72khKQJAA35mm39vmGWHgjvjoZWbEF65wx96ywFrx5i5p",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6zVhKqH7TVMJ1evwJsXrY9e1sjoJcD9uCPDnpZTvE1dtZLETPG",
1
]
]
},
"memo": "STM89hKsXxx7MeWQ5aw6XSDmf3E55ukqmJcgyojjsXiuTniBEXM5o"
}Witness Votes
1 / 30
[ "jerrybanfield" ]