BOSAGORA
Published in

BOSAGORA

Wrapping up Stoa and Validator Development

Dev. Team Sprint 30 Update

Functionality Implementations

The current block height of the Stoa is required #183 (Stoa, Enhancement)

This Stoa enhancement made it so the height of a block is necessary in order for blocks to be received by Stoa.

Refuse Enrollments if the public key is already present #1310 (BOA-SDK, Research)

This enhancement gave our BOA-SDK the ability to refuse any enrollment that would lead to the same public key being enrolled twice (despite the two UTXOs). The goal was to prevent mishaps, as this is the scenario that was originally envisioned. In the future, we can relax this limitation if there’s a good use case for it (e.g. increasing liquidity).

Merge common code (data structures) between SDK and Stoa #180 (Stoa, Refactor)

This refactoring was to clean up the following duplication between both Stoa and the BOA-SDK and to have Stoa depend on part of the SDK:

Implement getUTXOs endpoint in Stoa #194 (Stoa, Feature)

For our web wallet development, we need an API endpoint that returns the UTXOs for a given PublicKey.

Example:

UTXO[] getUTXOs (PublicKey key);

The return result would be an array of UTXOs:

PublicKey key = …;

UTXO[] utxos = getUTXOs(key);

for (utxo; utxos)

print(utxo);

The UTXO structure itself should contain:

  • unlock_height
  • type (payment / freeze)
  • amount

Define and implement time locks on transactions #243 (Payment Channel, Feature)

This feature is a smaller part of our Basic Execution Engine that is a part of our Flash Layer. Hash locks may or may not be added to this in the future.

Ongoing Development

  • Implement inbound connection banning support in vibe.d #202
  • Agora accepts genesis blocks with no enrollments #1361
  • Agora keeps sending pre-images to Stoa #1322
  • Implement proof of concept of Eltoo #1267
  • Agora sometimes emits a socket error #1362
  • Agora emits `Invalid Memory Operation` exception and crashes #1367
  • Design & implement slashing rules for missing pre-images #1076
  • Schnorr multi-signature of blocks #1319
  • Use a smarter format for JSON binary serialization #1382
  • Client connection to node blocks node internal communication #312
  • `combineCandidates()` should assert all the candidates are valid #1253
  • Enrollments are susceptible to replay attacks #1297
  • Upgrade LDC in Alpine Linux package #80
  • Flash layer research & development #1266
  • Agora crashes on too large input #1278
  • Implement a TCP, binary-based interconnection protocol #203

Functionality Implementations

#183 Stoa의 현재 블록 높이 필요 (Stoa, Enhancement)

Stoa에서 블록을 받기 위해서는 블록의 높이가 필요하여, 이를 위해 행해진 Stoa 강화입니다.

#1310 공개 키가 이미 존재할 경우 등록 거부 (BOA-SDK, Research)

이 기술 향상으로 BOA-SDK는 동일한 공개 키가 두 번 등록되는 것을 판별하여 거부하는 능력이 생겼습니다. (두 개의 UTXO임에도 불구하고). 이 기능을 향상한 이유는 중복 등록 등의 불상사를 예방하기 위함입니다. 향후, 유동성 증가 등 특수 목적에 따라 이러한 제한을 조금 느슨하게 설정할 수 있습니다.

#180 SDK와 Stoa (Stoa, Refactor) 간의 공통 코드(데이터 구조) 병합

이 리팩터링은 Stoa와 BOA-SDK 사이의 중복을 코드를 정리하고, Stoa를 SDK의 일부에 의존하기 위함이었습니다.

#194 getStoa의 UTXO 종점을 Stoa에 입력 (Stoa, Feature)

웹 월렛 개발을 위해 우리는 주어진 PublicKey에 대한 UTXO를 반환하는 API Endpoint가 필요합니다.

예:

UTXO[] getUTXO(공개키);

반환 결과는 일련의 UTXO가 될 것입니다.

PublicKey key = …;

UTXO[] utxos = getUTXOs(key);

for (utxo; utxos)

print(utxo);

The UTXO structure itself should contain:

  • unlock_height
  • type (payment / freeze)
  • amount

#243 거래의 Time-lock 정의 및 구현 (결제 채널, 기능)

이는 플래시 계층의 한 부분인 기본 실행 엔진의 일부 기능입니다. 향후, Hash Lock은 여기에 추가되거나, 추가되지 않을 수도 있습니다.

Ongoing Development

  • #202 vibe.d에서 인바운드 연결 금지 지원 구현
  • #1361 아고라에서 등록 없이 제네시스 블록 수용
  • #1322 아고라는 스토아로 프리이미지를 지속적으로 발송
  • #1267 Eltoo의 개념 증명(proof of concept) 구현
  • #1362 아고라는 종종 소켓 에러를 방출
  • #1367 아고라는 ‘무효한 메모리 운영’ 예외를 생성하고 충돌
  • #1076 사라진 프리이미지를 위한 슬래싱 규칙 설계 및 구현
  • #131 블록의 쉬노르 다중 서명
  • #1382 JSON 이진 직렬화를 위해 더 스마트한 형식 사용
  • #312 노드 블록에 대한 클라이언트 연결 노드 내부 통신
  • #1253 ‘combineCandidates()’는 모든 후보자가 유효하다고 주장해야 함
  • #1297 등록은 공격을 다시 재생하기 쉬움
  • #80 알파인 리눅스 패키지에서 LDC 업그레이드
  • #1266 플래시 레이어 조사 및 개발
  • #1278 과대한 입력량이 발생하면 아고라는 충돌함
  • #203 TCP, 이진 기반 상호작용 프로토콜 구현

--

--

--

Contribute to making a better world with blockchain technology as a project enabler

Recommended from Medium

How I built an image proxy server to anonymise images in twenty minutes

Raspberry Pi for Beginners (Mac+PC)

Depth First Search for dummies ( CP questions included )

DogeMax | $DMX⚡️

Minimum Changes To Make Alternating Binary String

Everything you need to know about how websites work?

Creating a Spawn Manager for AI Characters in Unity 2021

Building awesome deployment pipelines with gitlab

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
BOSAGORA

BOSAGORA

BOA

More from Medium

Successful MetaCity Summit, awarded in Blockchain Platform sector, partnership with CROWDY and Pist…

Serenity Shield — A Higher Standard

Breaking: ALTO Crypto IRA Announces Lower Fees!