Skip to content

Instantly share code, notes, and snippets.

View jtremback's full-sized avatar

Jehan jtremback

  • Bay Area
View GitHub Profile

The blog post: https://blog.cosmos.network/sifchain-announces-peggy-cosmos-ethereum-cross-chain-bridge-eeb46a8f91db contains several factual inaccuracies that we would like to see corrected.

Inaccuracies

1. Incorrect use of "Proof of Authority"

The post incorrectly claims that Althea's Peggy uses "Proof of Authority" and that a "select set of pre-ordained validators" control the bridge. This is simply wrong. Peggy processes transactions signed by the current validator set on the Cosmos chain. The only entities that a user of Peggy must trust are the Cosmos validators. Using the terms "select set of pre-ordained validators" and "proof of authority" gives readers of this blog post a false impression of how Peggy works. If Peggy is "Proof of Authority", then the Cosmos Hub is also "Proof of Authority".

2. Misquoting our documentation about the inherent tradeoffs of Proof of Stake

http://localhost:1317/distribution/delegators/cosmos1000ya26q2cmh399q4c5aaacd9lmmdqp92z6l7q/rewards
{"error":"ABCIQuery: Post http://localhost:26657: EOF"}
node.log
I[2020-02-20|16:13:20.749] Starting ABCI with Tendermint module=main
I[2020-02-20|16:13:21.079] Starting BlockchainReactor module=blockchain impl=BlockchainReactor
I[2020-02-20|16:13:21.079] Starting BlockPool module=blockchain impl=BlockPool
E[2020-02-20|16:13:22.080] Dialing failed module=pex [email protected]:26656 err="dial tcp 52.88.65.242:26656: i/o timeout" attempts=0
E[2020-02-20|16:13:22.092] Dialing failed module=pex [email protected]:33228 err="dial tcp 3.89.83.150:33228: i/o timeout" attempts=0
E[2020-02-20|16:13:22.092] Dialing failed module=pex [email protected]:266
2018-01-26 00:14:16 TRACE [tunnel_manager] They replied HTTP/1.0 200 OK
Server: tiny-http (Rust)
Date: Fri, 26 Jan 2018 00:14:16 GMT
Content-Type: text/plain; charset=utf8
Content-Length: 117
{"ip_address":"2001::3","eth_address":"0xb794f5ea0ba39494ce839613fffba74279579268","mac_address":"12-34-56-78-90-ab"}
2018-01-26 00:14:16 TRACE [tunnel_manager] Saying hello to: "http://[fe80::4c9e:d1ff:fe0d:8c9b%br-2-1]:4876/hello"
2018-01-26 00:14:16 TRACE [althea_kernel_interface] Got index: 2
2018-01-26 00:14:16 TRACE [tunnel_manager] They replied HTTP/1.0 200 OK
018-01-26 00:14:34 TRACE [payment_controller] payment of Uint256 295560 received from V6(2001::3): PaymentTx { to: Identity { ip_address: V6(2001::2), eth_address: EthAddress 0xb794f5ea0ba39494ce839613fffba74279579268, mac_address: MacAddress("12:34:56:78:90:ab") }, from: Identity { ip_address: V6(2001::3), eth_address: EthAddress 0xb794f5ea0ba39494ce839613fffba74279579268, mac_address: MacAddress("12:34:56:78:90:ab") }, amount: Uint256 295560 }
2018-01-26 00:14:34 TRACE [payment_controller] current balance: Int256 -3933594
2018-01-26 00:14:34 TRACE [payment_controller] Sending bounty hunter update: BountyUpdate { from: Identity { ip_address: V6(2001::2), eth_address: EthAddress 0xb794f5ea0ba39494ce839613fffba74279579268, mac_address: MacAddress("12:34:56:78:90:ab") }, balance: Int256 -3933594, tx: PaymentTx { to: Identity { ip_address: V6(2001::2), eth_address: EthAddress 0xb794f5ea0ba39494ce839613fffba74279579268, mac_address: MacAddress("12:34:56:78:90:ab") }, from: Identity { ip_address: V6(2001::3), eth_
2018-01-25 06:37:54 TRACE [rita] Starting
2018-01-25 06:37:54 TRACE [rita] Starting with Identity: Identity { ip_address: V6(2001::2), eth_address: EthAddress 0xb794f5ea0ba39494ce839613fffba74279579268, mac_address: MacAddress("12:34:56:78:90:ab") }
2018-01-25 06:37:54 DEBUG [tiny_http] Server listening on [::]:4876
2018-01-25 06:37:54 TRACE [althea_kernel_interface] Command ip ["neighbor"] returned: Output { status: ExitStatus(ExitStatus(0)), stdout: "", stderr: "" }
2018-01-25 06:37:54 TRACE [althea_kernel_interface::get_neighbors_linux] Got Output { status: ExitStatus(ExitStatus(0)), stdout: "", stderr: "" } from `ip neighbor`
2018-01-25 06:37:54 TRACE [althea_kernel_interface::get_neighbors_linux] Got neighbors []
2018-01-25 06:37:54 INFO [rita] got neighbors: []
2018-01-25 06:37:54 TRACE [traffic_watcher] Getting routes
2018-01-25 06:37:54 DEBUG [tiny_http] Running accept thread
2018-01-25 06:37:54 TRACE [babel_monitor] Got from babel dump: local price 10
#!bash
set -eux
cd "$1" || exit
# git remote rm origin
CONTENTS="$(ls) .gitignore"
mkdir -p "$1"
git mv -- $CONTENTS "$1/."
git commit -m "Prepare $1 to merge into $2"
cd "../$2" || exit
2017-12-16 03:24:02 TRACE [rita] Starting
2017-12-16 03:24:02 TRACE [rita] Connected to babel at [::1]:8080
2017-12-16 03:24:02 TRACE [rita] Getting neighbors
2017-12-16 03:24:02 TRACE [althea_kernel_interface] Command ip ["neighbor"] returned: Output { status: ExitStatus(ExitStatus(0)), stdout: "", stderr: "" }
2017-12-16 03:24:02 TRACE [althea_kernel_interface] Got Output { status: ExitStatus(ExitStatus(0)), stdout: "", stderr: "" } from `ip neighbor`
2017-12-16 03:24:02 TRACE [althea_kernel_interface] Got neighbors []
2017-12-16 03:24:02 INFO [rita] Got neighbors: []
2017-12-16 03:24:02 TRACE [rita] Getting routes
2017-12-16 03:24:02 TRACE [babel_monitor] Got from babel dump: local price 10
add interface br-2-1 up true ipv6 fe80::a852:c3ff:fe18:cd79
#[macro_use]
extern crate jsonrpc_client_core;
extern crate jsonrpc_client_http;
use jsonrpc_client_http::{HttpTransport, Error};
#[macro_use]
extern crate serde_derive;
#[derive(Serialize, Deserialize, Debug)]
extern crate jsonrpc_core;
extern crate jsonrpc_http_server;
use jsonrpc_core::*;
use jsonrpc_http_server::*;
#[macro_use]
extern crate serde_derive;
extern crate serde;
/* 1 step process
type route = { destination, neighbor, metric: number }
type destination = { pastUsage: number }
type neighbor = { pastAccuracy: number }
for each route
probabilities[route] = destination.pastUsage * metric * neighbor.pastAccuracy
selectedRoute = selectRoute(probabilities)